Releases: getyoti/yoti-java-sdk
Releases · getyoti/yoti-java-sdk
v3.2.0
v3.1.0
v3.0.0
Changes
Use of ServiceLocator
- The use of the
ServiceLocator
class has been dropped in order to simplify the development process of the SDK. - The
yoti-sdk-api
andyoti-sdk-impl
modules have been merged, with theyoti-sdk-impl
module then being removed.
Builders
All builders have now been in-lined into their respective classes, and the use of factories has been dropped (they are no longer neccessary due to the removal of the use of ServiceLocator
). Example below:
YotiClient client = YotiClientBuilder.newInstance().build() // OLD
YotiClient client = YotiClient.builder().build() // NEW
v2.12.0
v2.11.0
Added
Doc Scan
- Support for supplementary documents
- Allow retrieval of frame for an ID document page
- Support for retrieval of document ID photo from an ID document
- Sandbox support for setting document ID photo for ID document
- Sandbox support for configuring in-session feedback
v2.10.0
Added
Doc Scan
- Support for ID document comparison checks
- Sandbox support has also been added for setting expectations for ID document comparison checks
- Ability to block the collection of bio-metric consent
- Allow the configuration of the
manual_check
value for requested Document Authenticity checks
v2.9.0
Added
- Support for Yoti Doc Scan Sandbox
- New client
DocScanSandboxClient
which can be used to set the response configuration for a given session, or default response for an application.
- New client
Doc Scan Sandbox Example
import com.yoti.api.client.sandbox.docs.DocScanSandboxClient;
import com.yoti.api.client.sandbox.docs.request.check.report.SandboxRecommendation;
import com.yoti.api.client.sandbox.docs.request.check.report.SandboxBreakdown;
import com.yoti.api.client.sandbox.docs.request.check.SandboxDocumentAuthenticityCheck;
import com.yoti.api.client.sandbox.docs.request.check.SandboxDocumentTextDataCheck;
import com.yoti.api.client.sandbox.docs.request.check.SandboxDocumentFaceMatchCheck;
import com.yoti.api.client.sandbox.docs.request.check.SandboxLivenessCheck;
import com.yoti.api.client.sandbox.docs.request.ResponseConfig;
import com.yoti.api.client.sandbox.docs.request.SandboxCheckReports;
import com.yoti.api.client.sandbox.docs.request.SandboxTaskResults;
import com.yoti.api.client.sandbox.docs.request.task.SandboxDocumentTextDataExtractionTask;
HashMap documentFields = new HashMap<>();
documentFields.put("full_name", "firstValue");
documentFields.put("nationality", "GBR");
documentFields.put("date_of_birth", "1986-06-01");
documentFields.put("document_number", "123456789");
SandboxDocumentFilter documentFilter = SandboxDocumentFilter.builder()
.withCountryCode("GBR")
.withDocumentType("PASSPORT")
.build();
ResponseConfig responseConfig = ResponseConfig.builder()
.withCheckReports(
SandboxCheckReports.builder()
.withAsyncReportDelay(10)
.withDocumentAuthenticityCheck(
SandboxDocumentAuthenticityCheck.builder()
.withBreakdown(
SandboxBreakdown.builder()
.withSubCheck("security_features")
.withResult("NOT_AVAILABLE")
.withDetail("some_detail", "some_detail_value")
.build()
)
.withRecommendation(
SandboxRecommendation.builder()
.withValue("NOT_AVAILABLE")
.withReason("PICTURE_TOO_DARK")
.withRecoverySuggestion("BETTER_LIGHTING")
.build()
)
.withDocumentFilter(documentFilter)
.build()
)
.withDocumentFaceMatchCheck(
SandboxDocumentFaceMatchCheck.builder()
.withBreakdown(
SandboxBreakdown.builder()
.withSubCheck("security_features")
.withResult("PASS")
.build()
)
.withRecommendation(
SandboxRecommendation.builder()
.withValue("APPROVE")
.build()
)
.withDocumentFilter(documentFilter)
.build()
)
.withDocumentTextDataCheck(
SandboxDocumentTextDataCheck.builder()
.withBreakdown(
SandboxBreakdown.builder()
.withSubCheck("document_in_date")
.withResult("PASS")
.build()
)
.withRecommendation(
SandboxRecommendation.builder()
.withValue("APPROVE")
.build()
)
.withDocumentFilter(documentFilter)
.withDocumentFields(documentFields)
.build()
)
.withLivenessCheck(
SandboxLivenessCheck.forZoomLiveness()
.withBreakdown(
SandboxBreakdown.builder()
.withSubCheck("security_features")
.withResult("PASS")
.build()
)
.withRecommendation(
SandboxRecommendation.builder()
.withValue("APPROVE")
.build()
)
.build()
)
.build()
)
.withTaskResults(
SandboxTaskResults.builder()
.withDocumentTextDataExtractionTask(
SandboxDocumentTextDataExtractionTask.builder()
.withDocumentFields(documentFields)
.withDocumentFilter(documentFilter)
.build()
)
.build()
)
.build();
DocScanSandboxClient client = DocScanSandboxClient.builder()
.withSdkId("SANDBOX_CLIENT_SDK_ID")
.withKeyPair(keyPairSource)
.build();
client.configureSessionResponse(sessionId, responseConfig);
v2.8.0
Added
Doc Scan
- Support for multiple documents - relying businesses can now add required documents when creating a session.
- Added methods to certain response classes that filter checks, resources e.g.
getAuthenticityChecks()
- Added an example project for using the Java SDK with Doc Scan
v2.7.1
v2.7.0
Added
- Support for Yoti Doc Scan
- The new
DocScanClient
can be used for communication with Yoti Doc Scan API's to facilitate the following operations:- Session creation, retrieval and deletion
.createSession(SessionSpec sessionSpec) : CreateSessionResult
.getSession(String sessionId) : GetSessionResult
.deleteSession(String sessionId) : void
- Media retrieval and deletion
.getMediaContent(String sessionId, String mediaId) : Media
.deleteMediaContent(String sessionId, String mediaId) : void
- Session creation, retrieval and deletion
- The new
Deprecated
YotiClientBuilder.forApplication(String applicationId)
in favour of.withClientSdkId(String sdkId)
(Application ID is now SDK ID within Yoti Hub)