Skip to content

Releases: getyoti/yoti-java-sdk

v3.2.0

05 May 10:48
Compare
Choose a tag to compare

Added

  • Support for WATCHLIST_ADVANCED_CA check in Doc Scan

v3.1.0

29 Apr 15:49
Compare
Choose a tag to compare

Added

  • Support for WATCHLIST_SCREENING check in Doc Scan

v3.0.0

01 Mar 15:25
Compare
Choose a tag to compare

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 and yoti-sdk-impl modules have been merged, with the yoti-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

15 Dec 12:21
Compare
Choose a tag to compare

Added

Doc Scan

  • Ability to add custom privacy policy URL in sdk_config
  • Add new auth type to allow for Bearer authentication in notifications
  • Add support for Third Party Identity checks in Doc Scan sessions

v2.11.0

27 Oct 14:34
Compare
Choose a tag to compare

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

30 Sep 13:40
Compare
Choose a tag to compare

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

28 May 13:15
ba97dd9
Compare
Choose a tag to compare

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.

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

18 May 11:32
6e4fe69
Compare
Choose a tag to compare

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

07 Apr 14:15
b0687fa
Compare
Choose a tag to compare

Fixed

  • Fixed a bug in ThirdPartyAttributeContent extension, whereby the timezone offset on supplied expiry date was being ignored when being converted into UTC date string.

v2.7.0

18 Feb 15:43
4c53f6a
Compare
Choose a tag to compare

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

Deprecated

  • YotiClientBuilder.forApplication(String applicationId) in favour of .withClientSdkId(String sdkId) (Application ID is now SDK ID within Yoti Hub)