Describes what is the next step to perform by the server to continue the journey workflow.
1. Double Sided Scan
Start the journey using ‘submitDocumentConstructingWithBlock’ method
- Add addDocument image – the extracted image
- Add setJourneyID – journey ID will be generated automatically if it is empty.
- Add setCredentials – username, password, urlPrefix and area(IDSEnterpriseAuthenticationArea)
- Add setDocumentSource – Identity (IDSEnterpriseDocumentTypeIdentity)
When the upload has completed, check the response paramater requiredAction if its value is NONE, then the journey is complete. If the requiredAction is SCANBACKSIDE, follow the same procedure by just attaching the JourneyID of the initial request (you can also find the JourneyID in the IDSEnterpriseResponse object).
2. Triple Scan
Start the journey using ‘submitDocumentConstructingWithBlock’ method
- Add addDocument image – the extracted image
- Add setJourneyID – journey ID will be generated automatically if it is empty.
- Add setCredentials – username, password, urlPrefix and area(IDSEnterpriseAuthenticationArea)
- Add setDocumentSource – Identity (IDSEnterpriseDocumentTypeIdentity)
When the upload has completed, check the response paramater requiredAction if its value is NONE then the journey is completed. If the requiredAction is SECONDSCAN or THIRDSCAN, you need to repeat the same requiredAction.
3. Face match
Once the document upload has completed, check the response parameter requiredAction, if its value is CAPTURESELFIE, the native iOS camera or Document Scanner with selfie type should be used in order to capture the selfie image.
Continue the journey using ‘submitDocumentConstructingWithBlock’ method
- Add addSelfieImage – the selfie image
- Add setJourneyID – journey ID from initial request.
- Add setCredentials – username, password, urlPrefix and area(IDSEnterpriseAuthenticationArea)
- Add setDocumentSource – Identity (IDSEnterpriseDocumentTypeIdentity)
The face match result is part of the response inside authenticationResultDetails and possible values are (*Referred from IEOS API Documentation):
- Passed: A selfie was provided, a portrait photo was located on the document and the face match result was true.
- Failed: A selfie was provided, a portrait photo was located on the document and the face match result was false.
- Undetermined: A selfie was provided, a portrait photo was located on the document and the face match result was null.
- Required: The Face match option was enabled and a selfie was not provided.
- Skipped: The Face match option was disabled and one of these conditions was met:
- A selfie was not provided
- The document wasn’t a recognized ID document
- A portrait photo was not located on the document
4. Liveness
If liveness is enabled, the backend will return required action as LIVENESS.
You can then initialise IDSLivenessViewController with configuration. To parse the configuration from the backend you can use a IDSLivenessMapper bridge class, where you can pass IDSEnterpriseResponse and get IDSLivenessConfig.
Once liveness is running it will return a face match image in the receivedFaceImage: delegate method. Take that image and send it as a selfie image.
Example Usage:
[IDSEnterpriseService submitDocumentConstructingWithBlock:^(IDSEnterpriseSendRequest * _Nonnull request) {
[request setCredentials:self.credentials];
[request setDocumentSource:IDSEnterpriseDocumentTypeIdentity];
// Check if selfie sending
if (self.scanningPhase == ScanningPhaseSelfie || self.scanningPhase == ScanningPhaseLiveness) {
[request addSelfieImage:image];
} else {
[request addDocument:image];
}
// Set proper source if it's address document
if (self.scanningPhase == ScanningPhaseAddressDocument) {
[request setDocumentSource:IDSEnterpriseDocumentTypeUtility];
}
// Set journeyID if we following the journey
if (self.lastDocumentScanResponse) {
[request setJourneyID:self.lastDocumentScanResponse.journeyID];
}
} progress:nil
completion:^(IDSEnterpriseResponse * _Nullable response, NSError * _Nullable error) {
if (error) {
[self handleError:error];
} else {
[self handleServerResponse:response];
}
}];
After liveness is complete, the delegate method didFinishLiveness:withResult: will be called. You should then take the result, map it to IDSEnterpriseRequestLiveness (using the bridge mapper).
Warning: Do not forget to set journeyID of the request to map the result to the ongoing journey.
Finally, submit the request using the following method:
[IDSEnterpriseService submitLivenessResult:request credentials:credentials progress:nil completion:^(IDSEnterpriseResponse * _Nullable response, NSError * _Nullable error){}];
Concept of IEOS Driven On-boarding Journeys
As part of GBG IDscan enterprise on-boarding suite, mobile journey capture service supports end-to-end customer on-boarding journeys.
The on-boarding journey includes the following steps:
- Front Document Scan
- Back Document Scan
- Proof of address A4 4Scan
- Selfie Scan or Liveness
- Triple Scan/Rescan
The set of journey actions will depend on your backend server configurations. To access any given journey, you need a Journey ID.
These are the confirmed and supported required actions from the backend:
- Front Side (Initial scan)
- INITIAL (Send initial front of the document to get next action)
- FRONTSIDE:SECONDSCAN
- FRONTSIDE:THIRDSCAN
- BACK Side scan actions
- BACKSIDE
- BACKSIDE:SECONDSCAN
- BACKSIDE:THIRDSCAN
- CAPTURESELFIE scan actions
- SELFIE
- SELFIE:SECONDSCAN
- SELFIE:THIRDSCAN
- Liveness scan actions
- LIVENESS (Face Match upload required)
- LIVENESS (Liveness result upload required)
- ADDRESSDOCUMENT scan actions
- ADDRESSDOCUMENT
- ADDRESSDOCUMENT:SECONDSCAN
- ADDRESSDOCUMENT:THIRDSCAN
- Journey Finished action
- NONE
NOTE: Please contact your Technical Account Manager about your specific journey and actions available to you on supportcase@idscan.com