Releases: getyoti/yoti-java-sdk
Releases · getyoti/yoti-java-sdk
v4.0.0
Changes
Breaking Changes
- The Identity Profile requirements as part of session creation are now strongly typed, with associated builders making it easier to request Identity Profile as part of a session.
- Instead of using a
Map<String, Object>, you will now need to use theIdentityProfileRequirementsPayloadand associated buillder class (accessible viaIdentityProfileRequirementsPayload.builder()
- Instead of using a
- Some constructors that were incorrectly public, have now been made private (these have associated builders available)
Added
- Support for Yoti Authentication tokens for backend authentication
- A new
yoti-sdk-authmodule is available for API generation of authentication tokens, which can be used as a replacement for Yoti Signed Requests - The
DocScanClient.Buildercan now be configured to be used with an authentication token, rather than a PEM file.
- A new
- Support for fetching
ShareCodeResourceas part of a session- These can be found on the
GetSessionResultalong with their associated media and tasks.
- These can be found on the
- The
capture_typeproperty is now exposed forStaticLivenessResourceResponse - The
processproperty is now exposed for breakdowns on theBreakdownResponseclass
v3.12.0
Changes
IDV Sandbox
- Add support for new report_template property for checks in the IDV sandbox
- Add support for the following checks in the IDV sandbox:
- FACE_COMPARISON
- SYNECTICS_IDENTITY_FRAUD
- THIRD_PARTY_IDENTITY_FRAUD_1
- WATCHLIST_SCREENING
- WATCHLIST_ADVANCED_CA
Digital Identity
- Added new
fetchMatchmethod to theDigitalIdentityClientto allow integrators to find out if a particular phone number or email has a Digital ID (i.e. Yoti Account)
v3.11.0
v3.10.0
Changes
IDV Client
Added
- Ability to fetch Text Extraction task recommendation
- Allow the Brand ID to be set at session creation
- Allow the biometric consent flow to be set at session creation
- Allow expanded document fields to be requested at session creation
- Ability to configure client dark mode options at session creation
- Support for retrieving and deleting tracked devices for a given session
- Helper methods for finding resources that were used in a check
IDV Sandbox Client
Added
- Support for static liveness checks
- Support for configuring a response delay for synchronous checks
v3.9.0
v3.8.0
New Feature
Support of Digital Identity share service
Yoti Digital ID is now being upgraded!
We have a new API that is improving the sharing flow, for both end-users and integrators like you.
- share is now session based (must create a share session on the server, using the SDK)
- share session details (status, progress) can be fetched anytime
- can subscribe to share session events notification
- share data can be retrieved anytime until expiration of the receipt
This comes as a replacement of the Dynamic Sharing and Profile services combination.
⚠️ You must use the new browser client to fully integrate this new version with your front-end
📖 How to
Here are some snippets of basic use cases.
Create a Digital Identity Client:
DigitalIdentityClient client = DigitalIdentityClient.builder()
.withClientSdkId(clientSdkId) // Your Yoti Client SDK ID
.withKeyPairSource(pemKey) // The content of your Yoti .pem key
.build();Create a share session:
Policy policy = Policy.builder()
.withFullName()
.withEmail()
// any other methods supported
.build();
/*
OR with a IdentityProfileRequirements
Map<String, Object> scheme = new HashMap<>();
scheme.put("type", "RTW");
Map<String, Object> identityProfile = new HashMap<>();
identityProfile.put("trust_framework", "UK_TFIDA");
identityProfile.put("scheme", scheme);
.withIdentityProfile(identityProfile)
*/
Map<String, Object> subject = new HashMap<>();
subject.put("subject_id", "this is a new share");
ShareSessionNotification notification = ShareSessionNotification.builder(URI.create("https://service.com/yoti-notifications"))
.withHeader("X-CUSTOM", "custom")
.withMethod("GET")
.withVerifyTls(true)
.build();
ShareSessionRequest shareSessionRequest = ShareSessionRequest.builder()
.withRedirectUri(URI.create("/profile"))
.withPolicy(policy)
.withSubject(subject)
.withNotification(notification)
// .withExtension(ExtensionBuilderByType)
.build();
ShareSession shareSession = client.createShareSession(shareSessionRequest);
// shareSession.getId()
// shareSession.getStatus()
// shareSession.getExpiry()Get the receipt of a share session:
ShareSession session = client.fetchShareSession(sessionId);
String receiptId = session.getReceiptId();
Receipt receipt = client.fetchShareReceipt(receiptId);
// Checking error
receipt.getError();
// Assuming no error, getting profile
Optional<HumanProfile> profile = receipt.getProfile();
// profile.getSelfie()
// profile.getFullName()
// profile.getFamilyName()
// profile.getGivenNames()
// profile.getDateOfBirth()
// profile.getGender()
// profile.getNationality()
// profile.getPhoneNumber()
// profile.getEmailAddress()
// profile.getPostalAddress()
// profile.getStructuredPostalAddress()
// profile.getDocumentDetails()
// profile.getDocumentImages()
// profile.getIdentityProfileReport()Demo
Share v2 demo available, when running the Java Spring Boot example project, at https://localhost:8443/v2/digital-identity-share
v3.7.0
Added
- Support for non-latin documents
- Identity Profile Preview
- Applicant Profile resource from a relying business
- Applicant Profile Resources on GET /session
- Import Token support
- Allow Relying Business to configure user price of IBV session
- Support for IBV checks
- Support for Synectics Identity Fraud check
v3.6.0
Added
- Ability to specific attempts configuration for ID Document Text Extraction Tasks
- Ability to allow/disallow non-latin documents for resource requirements at session creation
- Support for Static Liveness Check
- Support for Face Comparison Check
- Ability to allow/disallow expired documents for resource requirements at session creation
v3.5.1
Profile
Demo available, when running the Java Spring Boot example project, at https://localhost:8443/dbs-check
Added
ErrorDetails getter in ActivityFailureException
ErrorDetails exError = ex.errorDetails();
exError.getCode();
exError.getDescription();
Fixed
- typo in DBS check example project when setting subject_id to the subject objet
v3.5.0
Profile
Demo available, when running the Java Spring Boot example project, at https://localhost:8443/dbs-check
Added
- Error code and description is returned from the failed share in the following format
Error[code='REASON_CODE', description='REASON_DESCRIPTION']