iOS SDK Introduction
This document introduces the IDentity iOS SDK within the IDmission product suite. Developers, project managers and QA testers should reference this document for information on configuration and use of the IDentity SDK on the iOS platform. IDmission recommends reading this entire document as an implementation guide to fully understand the IDentity SDK functionality and its respective capabilities.
This document details processes and procedures for embedding the IDentity SDK into your host application and utilizing its current features. For additional IDentity SDK support, please contact our Customer Support team at support@idmission.com or submit a service request via the My IDentity Portal.
Download latest SDK packages from below location
SDK Zip URL (All Feature)
SDK Zip URL (Full SDK Without CardIO)
SDK Zip URL (IDValidation, Face Matching & CardIO)
SDK Zip URL (IDValidation & Face Matching Without Models)
SDK Zip URL (IDValidation & Face Matching)
SDK Zip URL (Face Matching)
Download latest SDK packages with XCFramework (Device+Simulator) from below location
SDK Zip URL (All Feature XCFramework)
SDK Zip URL (Full SDK Without CardIO XCFramework)
SDK Zip URL (IDValidation & Face Matching XCFramework)
Overview and Key Features
Overview
The SDK is a comprehensive toolkit that enables the use of any combination of factors of identity to complete digital transformation goals. The goal of this SDK is to offer seamless integration into an existing digital paradigm where the end-to-end customer experience is still owned and managed in-house.
The main features supported in this SDK are:
- ID Capture and Scanning with OCR
- Biometric Capture and Verification for:
- Face (with Liveness detection)
- Voice
- Fingerprint
- Customer
- Enrollment
- Search
- Verification
- Employee
- Enrollment
- Search
- Verification
Note: When using the SDK, you do not need to create a request for XML; it is automatically generated by the SDK based on the function that you are calling.
Service IDs
Each of these features are available through various Service IDs. A full list of current available services is provided in the following table. The most commonly used Services from this list are included in Sequence Diagrams Section of this document.
Service ID
Service ID |
Service Description | Included Features |
---|---|---|
10 | ID Validation + Face Match | Capturing ID document(s), validate the ID and extract data from it. Additionally, capture a selfie and match it against the photo on the ID. |
20 | ID Validation Only | Capturing ID document(s), validate the ID and extract data from it. |
50 | ID Validation + Face Match w/Customer Enrollment | Capturing ID document(s), validate that ID and extract data from it. Additionally, capture a selfie of the customer and match it against the photo on the ID, then enroll all captured biometrics with the customer if the match is positive. |
55 | ID Validation + Face Match w/Employee Enrollment | Capturing ID document(s), validate the ID and extract data from it. Additionally, capture a selfie of the employee and match it against the photo on the ID, then enroll all captured biometrics with the employee if the match is positive. |
70 | Customer Update | Capture of any new/updated customer data to update the previously enrolled customer record. |
75 | Employee Update | Capture of any new/updated customer data to update the previously enrolled employee record. |
105 | Customer Verification | Capture of biometric data to verify against a previously enrolled customer. |
106 | Customer Verification with Host Only | Capture of biometric data to verify against a previously enrolled customer with Host. |
155 | ID Validation + Video Match | Capturing ID document(s), validate the ID and extract data from it. Additionally, capture a video stream and use it to match the face against the ID. |
156 | Video Id | Capturing Selfie, ID Document & Voice. Additionally Record the Video. |
160 | ID Validation + Video Match w/Customer Enrollment | Capturing ID document(s) for a customer, validate the ID and extract data from it. Additionally, capture a video stream and use it to match the face against the ID, then enroll all captured biometrics with the customer. |
165 | ID Validation + Video Match w/Employee Enrollment | Capturing ID document(s) for an employee, validate the ID and extract data from it. Additionally, capture a video stream and use it to match the face against the ID, then enroll all captured biometrics with the employee. |
175 | Customer Enrollment w/ Biometrics | Capture customer data and biometrics and enroll into the customer database. No ID documents are captured. |
180 | Employee Enrollment w/Biometrics | Capture employee data and biometrics and enroll into the employee database. No ID documents are captured. |
185 | Identify Customer with Biometrics | Capture biometric data for a Customer (face, fingerprint, voice or iris) and search the customer DB to see if its already enrolled. |
186 | Customer Search | Capture customer data (non-biometric) to search against previously enrolled customers in the database. If a match is found, the data associated with that customer is returned. |
190 | Identify Employee with Biometrics | Capture biometric data for a Customer (face, fingerprint, voice or iris) and search the customer DB to see if its already enrolled. |
191 | Employee Search | Capture employee data (non-biometric) to search against previously enrolled employees in the database. If a match is found, the data associated with that employee is returned. |
305 | Employee Verification | Capture of biometric data to verify against a previously enrolled employee. |
500 | Video Conference | Initiate a video conference session with a back-office operator that will be recorded for audit purposes. |
505 | IDV + Video Conference Match | Capturing ID document(s), validate the ID and extract data from it. Additionally, initiate a video conference session with a back-office operator that will be recorded for audit purposes. A photo image from the video conference will be extracted and used to match the face against the ID. |
510 | IDV + Video Conference Match + Customer Enrollment | Capturing ID document(s) for a customer, validate the ID and extract data from it. Additionally, initiate a video conference session with a back-office operator that will be recorded for audit purposes. A photo image from the video conference will be extracted and used to match the face against the ID, then enroll all captured biometrics with the customer. |
515 | IDV + Video Conference Match + Employee Enrollment | Capturing ID document(s) for an employee, validate the ID and extract data from it. Additionally, initiate a video conference session with a back-office operator that will be recorded for audit purposes. A photo image from the video conference will be extracted and used to match the face against the ID, then enroll all captured biometrics with the employee. |
620 | ID Data Extraction | Capturing ID document(s) and using ONLY the barcode, MRZ or QR code to extract data to pre-populate data into an application or online form. |
660 | Offline Liveness Detection | Capturing a selfie to detect liveness without having to send the images to the server. A short video is captured of an individual and used to check for liveness. |
ID Validation Manual Review
For each of the services above that support ID Validation, an optional request can be made through this SDK for a manual review to be performed in the event the ID does not pass our automated system checks. There is an additional fee for this service if performed. There is also an additional POST API Request that contains the results of that manual review once completed. You will have to provide a URL where that information will be posted to. The details for requesting this manual review can be found in the sections that outline how to call the function for processing images and the POST API Request Details.
Minimum Requirements and Initial Setup
The minimum requirements to integrate the SDK are:
- Xcode 14.1 or higher
- iOS 13.0 or higher
- Active internet connection
Initial Setup
- Create iOS Project
- Select a appropriate .framework file & drag and drop As per your business requirement & SDK you want to integrate in you project
- To integrate Full SDK : Drag & drop
AppItFramework.framework
file into your project. - To integrate ID_Face_Without_CardIO SDK : Drag & drop
AppItFramework_WithoutCardIO.framework
file into your project. - To integrate ID_Face_CardIO SDK : Drag & drop
AppItFramework_IdFaceCardIO.framework
file into your project. - To integrate ID_Face SDK : Drag & drop
AppItFramework_IdFace.framework
file into your project. - To integrate ID_Face_Without_Models SDK : Drag & drop
AppItFramework_IdFace_Without_Models.framework
file into your project. - To integrate Face SDK : Drag & drop
AppItFramework_Face.framework
file into your project. - Select your project target in project navigatore and navigate to General tab.
- In General tab, under the “Frameworks, Libraries, and Embedded Content” option find the entry for respective framework file.
- If duplicate entry is generated for respective framework file under the “Frameworks, Libraries, and Embedded Content” then remove it.
- Select
Embed & Sign
for Embed option. - For Objective-C : imports the framework which you selected for your requirement in above step
- For Swift : imports the framework which you selected for your requirement in above step
- Add following Dependencies as per the framework you selected for your business requirement
- Add
use_frameworks
in podfile & from command line trigger thepod install
command - Add following flag & permission in to info.plist file of the project
- Add
NSAppTransportSecurity
&NSAllowsArbitraryLoads
nodes in - Add following permissions in info.plist
- Privacy - Camera Usage Description
- Privacy - Location When In Use Usage Description
- Privacy - Microphone Usage Description
- Privacy - Photo Library Usage Description
#import <AppItFramework/AppItSDK.h> or
#import <AppItFramework_WithoutCardIO/AppItSDK.h> or
#import <AppItFramework_IdFaceCardIO/AppItSDK.h> or
#import <AppItFramework_IdFace/AppItSDK.h> or
#import <AppItFramework_IdFace_Without_Models/AppItSDK.h> or
#import <AppItFramework_Face/AppItSDK.h> or
@interface YourViewController : UIViewController<AppItSDKResponse>
import AppItFramework or
import AppItFramework_WithoutCardIO or
import AppItFramework_IdFaceCardIO or
import AppItFramework_IdFace or
import AppItFramework_IdFace_Without_Models or
import AppItFramework_Face or
class YourViewController : UIViewController, AppItSDKResponse
AppItFramework | AppItFramework_WithoutCardIO | AppItFramework_IdFaceCardIO | AppItFramework_IdFace | AppItFramework_IdFace_Without_Models | AppItFramework_Face |
---|---|---|---|---|---|
pod 'WebRTC' pod 'CocoaLumberjack' pod 'SocketRocket' pod 'IdmEncryption', '8.0.0' pod 'TensorFlowLiteObjC', '2.7.0' pod 'GoogleMLKit/FaceDetection', '0.64.0' pod 'GoogleMLKit/TextRecognition', '0.64.0' |
pod 'WebRTC' pod 'CocoaLumberjack' pod 'SocketRocket' pod 'IdmEncryption', '8.0.0' pod 'TensorFlowLiteObjC', '2.7.0' pod 'GoogleMLKit/FaceDetection', '0.64.0' pod 'GoogleMLKit/TextRecognition', '0.64.0' |
pod 'WebRTC' pod 'CocoaLumberjack' pod 'SocketRocket' pod 'IdmEncryption', '8.0.0' pod 'TensorFlowLiteObjC', '2.7.0' pod 'GoogleMLKit/FaceDetection', '0.64.0' pod 'GoogleMLKit/TextRecognition', '0.64.0' |
pod 'IdmEncryption', '8.0.0' pod 'TensorFlowLiteObjC', '2.7.0' pod 'GoogleMLKit/FaceDetection', '0.64.0' pod 'GoogleMLKit/TextRecognition', '0.64.0' |
pod 'IdmEncryption', '8.0.0' pod 'TensorFlowLiteObjC', '2.7.0' pod 'GoogleMLKit/FaceDetection', '0.64.0' pod 'GoogleMLKit/TextRecognition', '0.64.0' |
pod 'IdmEncryption', '8.0.0' pod 'TensorFlowLiteObjC', '2.7.0' pod 'GoogleMLKit/FaceDetection', '0.64.0' |
Please refer to the Callback Instructions section of this document for available callback methods.
Initializing the SDK
To create an instance for the SDK, set the following variables:
[AppitSDK initializeAppItSDK:(id)instance url:(NSString*)url loginId:(NSString*)loginId password:(NSString*)password merchantID:(NSString*)merchantID productID:(NSString*)productID productName:(NSString*)productName Language:(NSString*)Language];
[AppitSDK initializeAppItSDK:(id)instance url:(NSString*)url loginId:(NSString*)loginId password:(NSString*)password merchantID:(NSString*)merchantID productID:(NSString*)productID productName:(NSString*)productName Language:(NSString*)Language enableGPS:(bool)enableGPS];
This is the swift method:
AppItSDK.initializeAppItSDK(instance: Any!, url: String!, loginId: String!, password: String!, merchantID: String!, productID: String!, productName: String!, language: String!, enableGPS: Bool)
Note: On the following table, all parameters are mandatory except Language and EnableGPS:
Parameter | Type | Default | Range | Description |
---|---|---|---|---|
instance | Self | - | Instance of NSObject which implements “AppItSDKResponse” protocol. It is used for receiving SDK callbacks. | |
url | NSString | - | IDmission Server URL | |
loginID | NSString | - | Your Login ID | |
password | NSString | - | Your Login Password | |
merchantID | NSString | - | Your Merchant ID | |
productID | NSString | - | Your Product ID | |
productName | NSString | - | Your Product Name | |
Language | NSString | en | en, es, my, fr, ar, th, km, bn, id, vi, ta, hi, zh_hk, zh_cn, ur | Language code, English(en), Spanish(es), Burmese(my), French(fr), Arebic(ar), Thai(th), Khmer(km), Bengali(bn), Indonesia/Bahasa(id), Vietnamese(vi), Tamil(ta), Hindi(hi), Chienes Traditional(zh_hk), Chienes Simplified(zh_cn), Urdu(ur) supported |
EnableGPS | bool | Enable/Disable GPS fetching |
Initializing Labels
[AppitSDK initializeLabels:(NSMutableDictionary*)englishLabels spanishLabels:(NSMutableDictionary*)spanishLabels];
Label Parameters
Parameter | Type | Default | Description |
---|---|---|---|
englishLabels | NSMutableDictionary | Blank Dictionary | You can add following key with your own message in value to display on UI, this dictionary is for changing English labels:"align_document_img_capture" |
spanishLabels | NSMutableDictionary | Blank Dictionary | The SpanishLabels dictionary is the same keys as the EnglishLabels (previous example). |
Label definitions
Label key |
Used for | Label default value |
---|---|---|
align_document_img_capture |
For aligning the ID/Document in the frame. | Align document inside the green corners and wait, we'll take the photo for you. |
subject_is_too_dark_img_capture |
For letting user know the low light while ID/Document capture. | It's too dark to take a good image. Find a place with better lighting. |
out_of_focus_img_capture |
For letting user know out of focus while ID/Document capture. | Tap screen to focus or move camera closer/away |
too_much_glare_img_capture |
For letting user know of too much glare while ID/Document capture. | Too much light, move document away from direct light |
subject_is_too_dark_fc_detect |
For letting user know the low light while Live face capture. | It's too dark to take a good image. Find a place with better lighting. |
out_of_focus_fc_detect |
For letting user know out of focus while Live face capture. | Tap screen to focus or move camera closer/away |
move_camera_closer_to_your_face |
For letting user know if face is too far behind while Live face capture. | Move camera closer to face and look towards light. |
camera_movement_fc_detect |
For letting user know to keep face steady and smile while Live face capture. | Hold camera steady. |
keep_face_steady |
For letting user know to keep face steady and smile while Live face capture. | Keep your face steady |
face_detected |
For letting user know Live face is captured. | Face detected |
light |
For letting user know Light %. (only visible in debug mode) | Light % |
focus |
For letting user know Focus %. (only visible in debug mode) | Focus % |
glare |
For letting user know glare %. (only visible in debug mode) | Glare % |
page_title_image_capture |
For setting title text for ID/Document capture. | Capturing identification |
page_title_face_detection |
For setting title text for Live face capture. | Detecting face |
camera_error |
For letting the user know an error has occurred when trying to engage the camera | Unable to start the camera, please restart the device. |
look_straight |
For letting the user know to look into the camera if their eyes are looking elsewhere. | Please look straight into the phone |
page_title_image_capture |
For setting title text for ID/Document capture. | Capturing identification |
page_title_face_detection |
For setting title text for Live face capture. | Detecting face |
barcode_detected_error_message |
For informing the user that the barcode has not been detected. | Barcode is not detected please try again |
capturing_id_scanbarcode |
For prompting the user to scan the barcode. | Scan Barcode |
capturing_id_scanbarcode_msg |
For prompting the user to align the barcode inside the rectangle. | Align barcode inside the rectangle and wait. |
id_capture_instruction |
For instructing the user on how to hold ID for ID/Document capture. | Hold your ID straight and steady in front of the camera so the entire image is in view. Avoid excessive backlighting and glare. |
align_id_and_mrz_inside_rectangle |
For prompting the user to align the ID and MRZ inside the rectangle. | Align document and MRZ inside rectangle |
align_barcode_inside_rectangle |
For prompting the user to align the barcode inside the rectangle. | Align BARCODE inside rectangle |
barcode_mrz_not_found |
For informing the user that the barcode or MRZ was not found. | BARCODE or MRZ not found for the selected id. |
capturing_id_scanbarcode_pdf_417_msg |
For prompting the user to align the PDF 417 barcode inside the rectangle. | Align PDF 417 barcode inside the rectangle and wait. |
move_id_closer |
For prompting the user to move the ID closer to the camera. | Move ID closer |
move_id_away |
For prompting the user to move the ID further away from the camera. | Move ID away |
align_document_inside_rectangle |
For prompting the user to align the document inside the rectangle. | Align document inside rectangle. |
id_capture_preview_header |
The header of the ID capture screen after capture is complete. | Check readability |
id_capture_preview_message |
The footer message of the ID capture screen after capture is complete. | Verify to ensure complete ID is visible with edges and there is no glare or blurred text |
barcode_error_message |
For informing the user that the barcode has not been detected. | Barcode is not detected please try again |
mrz_error_message |
For informing the user that the MRZ has not been detected. | MRZ is not detected please try again |
barcode_mrz_error_message |
For informing the user that the MRZ or the barcode has not been detected. | MRZ or Barcode is not detected please try again |
id_capture_success_message |
For informing the user that the ID capture is successful. | Success |
id_capture_instruction_continue |
Button label on the ID capture instruction screen | Continue |
video_recording_max_time_val_msg |
While recording video | Max recording time should be greater than 0 |
video_recording_min_time_val_msg |
While recording video | Video recording min time(%@) |
video_recording_max_time_validation_msg |
While recording video | Max recording time should be greater than Min recording time |
face_mask_detected |
While Capturing face | Face Mask Detected |
minimum_selfie_camera_requirement |
While Capturing Face | Need minimum %@ MegaPixel Selfie Camera! |
mrz_not_detected |
While Capturing ID | MRZ Not Detected |
mrz_detected_not_valid |
While Capturing ID | Make sure all text on id is visible |
Customizing the User Interface
To customize the UI component position on ID capture and face detection screen, please use the following method and customize UI for all the features in one call.
Sample UI configuration JSON is available on the following URL: Sample UI customization call
This is the swift method:
AppItSDK.customizeUserInterface(uiconfiguration: NSMutableDictionary!)
The supported JSON, with description, can be found below:
Single Call UI Customization
{
"id_capture_front": {
"id_outline_color": "FFFFFF",
"id_outline_color_alpha": "1",
"id_detected_id_outline_color": "6EB24C",
"id_detected_id_outline_color_alpha": "1",
"id_outside_outline_color": "FFFFFF",
"id_outside_outline_color_aplha": "1",
"id_detected_id_outside_outline_color": "FFFFFF",
"id_detected_id_outside_outline_color_alpha": "40",
"id_back_button_color": "FFAD36",
"id_back_button_color_alpha": "1",
"id_retry_button_color": "606060",
"id_retry_button_color_alpha": "1",
"id_retry_button_border_color": "FFFFFF",
"id_retry_button_border_color_alpha": "1",
"id_retry_button_text": "",
"id_retry_button_text_color": "FFFFFF",
"id_retry_button_text_color_alpha": "1",
"id_retry_button_text_size": "20",
"id_confirm_button_color": "606060",
"id_confirm_button_color_alpha": "1",
"id_confirm_button_border_color": "FFFFFF",
"id_confirm_button_border_color_alpha": "1",
"id_confirm_button_text": "",
"id_confirm_button_text_color": "FFFFFF",
"id_confirm_button_text_color_alpha": "1",
"id_confirm_button_text_size": "20","id_instruction_button_color": "606060",
"id_instruction_button_alpha": "1",
"id_instruction_button_txt_color": "FFFFFF",
"id_instruction_button_txt_alpha": "1",
"id_label_text_color": "606060",
"id_label_text_alpha": "1",
"id_label_text_type": "Default",
"id_label_text_style": "Normal",
"id_label_text_size": "",
"id_header_text_label_color": "FFFFFF",
"id_header_text_label_alpha": "1",
"id_header_text_type": "Default",
"id_header_text_style": "Normal",
"id_header_text_label_size": "",
"id_capture_border_style": "Thick",
"id_title_img_bitmap_base64": "",
"id_instruction_img_resource_id": "",
"id_title_label_alignment": "Top",
"id_hint_message_alignment": "Center",
"id_title_image_alignment": "Bottom",
"id_hide_id_title_label": "N",
"id_hide_id_hint_message": "N",
"id_hide_id_title_image": "N",
"id_show_instruction": "N",
"id_enable_label_shadow": "N",
"id_capture_button_color": "FFFFFF",
"id_capture_button_alpha": "1",
"id_capture_background_color": "FFFFFF",
"id_capture_background_color_alpha": "40",
"id_capture_success_message_color": "33CC33",
"id_capture_success_message_color_alpha": "1",
"id_dummy_image_color": "5CBAEA",
"id_dummy_image_color_alpha": "1",
"id_preview_screen": "ENABLE",
"labels": {
"light": "Light",
"focus": "Focus",
"align_document_img_capture": "Align document inside the corners and wait, we'll take the photo for you.",
"subject_is_too_dark_img_capture": "It's too dark to take a good image. Find a place with better lighting.",
"out_of_focus_img_capture": "Tap screen to focus or move camera closer/away",
"too_much_glare_img_capture": "Too much light, move document away from direct light",
"page_title_image_capture": "Capture Front",
"capturing_id_scanbarcode":"Scan Barcode",
"capturing_id_scanbarcode_msg":"Align barcode inside the rectangle and wait.",
"id_capture_instruction":"Hold your ID straight and steady in front of the camera so the entire image is in view. Avoid excessive backlighting and glare.",
"glare":"Glare",
"align_id_and_mrz_inside_rectangle":"Align document and MRZ inside rectangle",
"align_barcode_inside_rectangle":"Align BARCODE inside rectangle",
"mrz_not_detected":"MRZ Not Detected",
"mrz_detected_not_valid":"Make sure all text on id is visible",
"barcode_mrz_not_found":"BARCODE or MRZ not found for the selected id.",
"barcode_detected_error_message":"Barcode is not detected please try again",
"capturing_id_scanbarcode_pdf_417_msg":"Align PDF 417 barcode inside the rectangle and wait.",
"capturing_id_scanbarcode_pdf417_msg":"Align PDF 417 barcode inside the rectangle and wait.",
"move_id_closer":"Move ID closer",
"move_id_away":"Move ID away",
"align_document_inside_rectangle":"Align document inside rectangle.",
"id_capture_preview_header":"Check readability",
"id_capture_preview_message":"Verify to ensure complete ID is visible with edges and there is no glare or blurred text",
"barcode_error_message":"Barcode is not detected please try again",
"mrz_error_message":"MRZ is not detected please try again",
"barcode_mrz_error_message":"Barcode or MRZ is not detected please try again",
"id_capture_success_message": "Success",
"id_capture_instruction_continue": "Continue"
}
},
"id_capture_back": {
"id_outline_color": "FFFFFF",
"id_outline_color_alpha": "1",
"id_detected_id_outline_color": "6EB24C",
"id_detected_id_outline_color_alpha": "1",
"id_outside_outline_color": "FFFFFF",
"id_outside_outline_color_aplha": "1",
"id_detected_id_outside_outline_color": "FFFFFF",
"id_detected_id_outside_outline_color_alpha": "40",
"id_back_button_color": "FFAD36",
"id_back_button_color_alpha": "1",
"id_retry_button_color": "606060",
"id_retry_button_color_alpha": "1",
"id_retry_button_border_color": "FFFFFF",
"id_retry_button_border_color_alpha": "1",
"id_retry_button_text": "",
"id_retry_button_text_color": "FFFFFF",
"id_retry_button_text_color_alpha": "1",
"id_retry_button_text_size": "20",
"id_confirm_button_color": "606060",
"id_confirm_button_color_alpha": "1",
"id_confirm_button_border_color": "FFFFFF",
"id_confirm_button_border_color_alpha": "1",
"id_confirm_button_text": "",
"id_confirm_button_text_color": "FFFFFF",
"id_confirm_button_text_color_alpha": "1",
"id_confirm_button_text_size": "20",
"id_instruction_button_color": "606060",
"id_instruction_button_alpha": "1",
"id_instruction_button_txt_color": "FFFFFF",
"id_instruction_button_txt_alpha": "1",
"id_label_text_color": "606060",
"id_label_text_alpha": "1",
"id_label_text_type": "Default",
"id_label_text_style": "Normal",
"id_label_text_size": "",
"id_header_text_label_color": "FFFFFF",
"id_header_text_label_alpha": "1",
"id_header_text_type": "Default",
"id_header_text_style": "Normal",
"id_header_text_label_size": "",
"id_capture_border_style": "Thick",
"id_title_img_bitmap_base64": "",
"id_instruction_img_resource_id": "",
"id_title_label_alignment": "Top",
"id_hint_message_alignment": "Center",
"id_title_image_alignment": "Bottom",
"id_hide_id_title_label": "N",
"id_hide_id_hint_message": "N",
"id_hide_id_title_image": "N",
"id_show_instruction": "N",
"id_enable_label_shadow": "N",
"id_capture_button_color": "FFFFFF",
"id_capture_button_alpha": "1",
"id_capture_background_color": "FFFFFF",
"id_capture_background_color_alpha": "40",
"id_capture_success_message_color": "33CC33",
"id_capture_success_message_color_alpha": "1",
"id_dummy_image_color": "5CBAEA",
"id_dummy_image_color_alpha": "1",
"id_preview_screen": "ENABLE",
"labels": {
"light": "Light",
"focus": "Focus",
"align_document_img_capture": "Align document inside the corners and wait, we'll take the photo for you.",
"subject_is_too_dark_img_capture": "It's too dark to take a good image. Find a place with better lighting.",
"out_of_focus_img_capture": "Tap screen to focus or move camera closer/away",
"too_much_glare_img_capture": "Too much light, move document away from direct light",
"page_title_image_capture": "Capture Back",
"capturing_id_scanbarcode":"Scan Barcode",
"capturing_id_scanbarcode_msg":"Align barcode inside the rectangle and wait.",
"id_capture_instruction":"Hold your ID straight and steady in front of the camera so the entire image is in view. Avoid excessive backlighting and glare.",
"glare":"Glare",
"align_id_and_mrz_inside_rectangle":"Align document and MRZ inside rectangle",
"align_barcode_inside_rectangle":"Align BARCODE inside rectangle",
"mrz_not_detected":"MRZ Not Detected",
"mrz_detected_not_valid":"Make sure all text on id is visible",
"barcode_mrz_not_found":"BARCODE or MRZ not found for the selected id.",
"barcode_detected_error_message":"Barcode is not detected please try again",
"capturing_id_scanbarcode_pdf_417_msg":"Align PDF 417 barcode inside the rectangle and wait.",
"capturing_id_scanbarcode_pdf417_msg":"Align PDF 417 barcode inside the rectangle and wait.",
"move_id_closer":"Move ID closer",
"move_id_away":"Move ID away",
"align_document_inside_rectangle":"Align document inside rectangle.",
"id_capture_preview_header":"Check readability",
"id_capture_preview_message":"Verify to ensure complete ID is visible with edges and there is no glare or blurred text",
"barcode_error_message":"Barcode is not detected please try again",
"mrz_error_message":"MRZ is not detected please try again",
"barcode_mrz_error_message":"Barcode or MRZ is not detected please try again",
"id_capture_success_message": "Success",
"id_capture_instruction_continue": "Continue"
}
},
"secondary_id_capture_front": {
"id_outline_color": "FFFFFF",
"id_outline_color_alpha": "1",
"id_detected_id_outline_color": "6EB24C",
"id_detected_id_outline_color_alpha": "1",
"id_outside_outline_color": "FFFFFF",
"id_outside_outline_color_aplha": "1",
"id_detected_id_outside_outline_color": "FFFFFF",
"id_detected_id_outside_outline_color_alpha": "40",
"id_back_button_color": "FFAD36",
"id_back_button_color_alpha": "1",
"id_retry_button_color": "606060",
"id_retry_button_color_alpha": "1",
"id_retry_button_border_color": "FFFFFF",
"id_retry_button_border_color_alpha": "1",
"id_retry_button_text": "",
"id_retry_button_text_color": "FFFFFF",
"id_retry_button_text_color_alpha": "1",
"id_retry_button_text_size": "20",
"id_confirm_button_color": "606060",
"id_confirm_button_color_alpha": "1",
"id_confirm_button_border_color": "FFFFFF",
"id_confirm_button_border_color_alpha": "1",
"id_confirm_button_text": "",
"id_confirm_button_text_color": "FFFFFF",
"id_confirm_button_text_color_alpha": "1",
"id_confirm_button_text_size": "20",
"id_instruction_button_color": "606060",
"id_instruction_button_alpha": "1",
"id_instruction_button_txt_color": "FFFFFF",
"id_instruction_button_txt_alpha": "1",
"id_label_text_color": "606060",
"id_label_text_alpha": "1",
"id_label_text_type": "Default",
"id_label_text_style": "Normal",
"id_label_text_size": "",
"id_header_text_label_color": "FFFFFF",
"id_header_text_label_alpha": "1",
"id_header_text_type": "Default",
"id_header_text_style": "Normal",
"id_header_text_label_size": "",
"id_capture_border_style": "Thick",
"id_title_img_bitmap_base64": "",
"id_instruction_img_resource_id": "",
"id_title_label_alignment": "Top",
"id_hint_message_alignment": "Center",
"id_title_image_alignment": "Bottom",
"id_hide_id_title_label": "N",
"id_hide_id_hint_message": "N",
"id_hide_id_title_image": "N",
"id_show_instruction": "N",
"id_enable_label_shadow": "N",
"id_capture_button_color": "FFFFFF",
"id_capture_button_alpha": "1",
"id_capture_background_color": "FFFFFF",
"id_capture_background_color_alpha": "40",
"id_capture_success_message_color": "33CC33",
"id_capture_success_message_color_alpha": "1",
"id_dummy_image_color": "5CBAEA",
"id_dummy_image_color_alpha": "1",
"id_preview_screen": "ENABLE",
"labels": {
"light": "Light",
"focus": "Focus",
"align_document_img_capture": "Align document inside the corners and wait, we'll take the photo for you.",
"subject_is_too_dark_img_capture": "It's too dark to take a good image. Find a place with better lighting.",
"out_of_focus_img_capture": "Tap screen to focus or move camera closer/away",
"too_much_glare_img_capture": "Too much light, move document away from direct light",
"page_title_image_capture": "Capturing Front",
"capturing_id_scanbarcode":"Scan Barcode",
"capturing_id_scanbarcode_msg":"Align barcode inside the rectangle and wait.",
"id_capture_instruction":"Hold your ID straight and steady in front of the camera so the entire image is in view. Avoid excessive backlighting and glare.",
"glare":"Glare",
"align_id_and_mrz_inside_rectangle":"Align document and MRZ inside rectangle",
"align_barcode_inside_rectangle":"Align BARCODE inside rectangle",
"mrz_not_detected":"MRZ Not Detected",
"mrz_detected_not_valid":"Make sure all text on id is visible",
"barcode_mrz_not_found":"BARCODE or MRZ not found for the selected id.",
"barcode_detected_error_message":"Barcode is not detected please try again",
"capturing_id_scanbarcode_pdf_417_msg":"Align PDF 417 barcode inside the rectangle and wait.",
"capturing_id_scanbarcode_pdf417_msg":"Align PDF 417 barcode inside the rectangle and wait.",
"move_id_closer":"Move ID closer",
"move_id_away":"Move ID away",
"align_document_inside_rectangle":"Align document inside rectangle.",
"id_capture_preview_header":"Check readability",
"id_capture_preview_message":"Verify to ensure complete ID is visible with edges and there is no glare or blurred text",
"barcode_error_message":"Barcode is not detected please try again",
"mrz_error_message":"MRZ is not detected please try again",
"barcode_mrz_error_message":"Barcode or MRZ is not detected please try again",
"id_capture_success_message": "Success",
"id_capture_instruction_continue": "Continue"
}
},
"secondary_id_capture_back": {
"id_outline_color": "FFFFFF",
"id_outline_color_alpha": "1",
"id_detected_id_outline_color": "6EB24C",
"id_detected_id_outline_color_alpha": "1",
"id_outside_outline_color": "FFFFFF",
"id_outside_outline_color_aplha": "1",
"id_detected_id_outside_outline_color": "FFFFFF",
"id_detected_id_outside_outline_color_alpha": "40",
"id_back_button_color": "FFAD36",
"id_back_button_color_alpha": "1",
"id_retry_button_color": "606060",
"id_retry_button_color_alpha": "1",
"id_retry_button_border_color": "FFFFFF",
"id_retry_button_border_color_alpha": "1",
"id_retry_button_text": "",
"id_retry_button_text_color": "FFFFFF",
"id_retry_button_text_color_alpha": "1",
"id_retry_button_text_size": "20",
"id_confirm_button_color": "606060",
"id_confirm_button_color_alpha": "1",
"id_confirm_button_border_color": "FFFFFF",
"id_confirm_button_border_color_alpha": "1",
"id_confirm_button_text": "",
"id_confirm_button_text_color": "FFFFFF",
"id_confirm_button_text_color_alpha": "1",
"id_confirm_button_text_size": "20",
"id_instruction_button_color": "606060",
"id_instruction_button_alpha": "1",
"id_instruction_button_txt_color": "FFFFFF",
"id_instruction_button_txt_alpha": "1",
"id_label_text_color": "606060",
"id_label_text_alpha": "1",
"id_label_text_type": "Default",
"id_label_text_style": "Normal",
"id_label_text_size": "",
"id_header_text_label_color": "FFFFFF",
"id_header_text_label_alpha": "1",
"id_header_text_type": "Default",
"id_header_text_style": "Normal",
"id_header_text_label_size": "",
"id_capture_border_style": "Thick",
"id_title_img_bitmap_base64": "",
"id_instruction_img_resource_id": "",
"id_title_label_alignment": "Top",
"id_hint_message_alignment": "Center",
"id_title_image_alignment": "Bottom",
"id_hide_id_title_label": "N",
"id_hide_id_hint_message": "N",
"id_hide_id_title_image": "N",
"id_show_instruction": "N",
"id_enable_label_shadow": "N",
"id_capture_button_color": "FFFFFF",
"id_capture_button_alpha": "1",
"id_capture_background_color": "FFFFFF",
"id_capture_background_color_alpha": "40",
"id_capture_success_message_color": "33CC33",
"id_capture_success_message_color_alpha": "1",
"id_dummy_image_color": "5CBAEA",
"id_dummy_image_color_alpha": "1",
"id_preview_screen": "ENABLE",
"labels": {
"light": "Light",
"focus": "Focus",
"align_document_img_capture": "Align document inside the corners and wait, we'll take the photo for you.",
"subject_is_too_dark_img_capture": "It's too dark to take a good image. Find a place with better lighting.",
"out_of_focus_img_capture": "Tap screen to focus or move camera closer/away",
"too_much_glare_img_capture": "Too much light, move document away from direct light",
"page_title_image_capture": "Capturing Back",
"capturing_id_scanbarcode":"Scan Barcode",
"capturing_id_scanbarcode_msg":"Align barcode inside the rectangle and wait.",
"id_capture_instruction":"Hold your ID straight and steady in front of the camera so the entire image is in view. Avoid excessive backlighting and glare.",
"glare":"Glare",
"align_id_and_mrz_inside_rectangle":"Align document and MRZ inside rectangle",
"align_barcode_inside_rectangle":"Align BARCODE inside rectangle",
"mrz_not_detected":"MRZ Not Detected",
"mrz_detected_not_valid":"Make sure all text on id is visible",
"barcode_mrz_not_found":"BARCODE or MRZ not found for the selected id.",
"barcode_detected_error_message":"Barcode is not detected please try again",
"capturing_id_scanbarcode_pdf_417_msg":"Align PDF 417 barcode inside the rectangle and wait.",
"capturing_id_scanbarcode_pdf417_msg":"Align PDF 417 barcode inside the rectangle and wait.",
"move_id_closer":"Move ID closer",
"move_id_away":"Move ID away",
"align_document_inside_rectangle":"Align document inside rectangle.",
"id_capture_preview_header":"Check readability",
"id_capture_preview_message":"Verify to ensure complete ID is visible with edges and there is no glare or blurred text",
"barcode_error_message":"Barcode is not detected please try again",
"mrz_error_message":"MRZ is not detected please try again",
"barcode_mrz_error_message":"Barcode or MRZ is not detected please try again",
"id_capture_success_message": "Success",
"id_capture_instruction_continue": "Continue"
}
},
"document_capture": {
"id_outline_color": "FFFFFF",
"id_outline_color_alpha": "1",
"id_detected_id_outline_color": "6EB24C",
"id_detected_id_outline_color_alpha": "1",
"id_outside_outline_color": "FFFFFF",
"id_outside_outline_color_aplha": "1",
"id_detected_id_outside_outline_color": "FFFFFF",
"id_detected_id_outside_outline_color_alpha": "40",
"id_back_button_color": "FFAD36",
"id_back_button_color_alpha": "1",
"id_retry_button_color": "606060",
"id_retry_button_color_alpha": "1",
"id_retry_button_border_color": "FFFFFF",
"id_retry_button_border_color_alpha": "1",
"id_retry_button_text": "",
"id_retry_button_text_color": "FFFFFF",
"id_retry_button_text_color_alpha": "1",
"id_retry_button_text_size": "20",
"id_confirm_button_color": "606060",
"id_confirm_button_color_alpha": "1",
"id_confirm_button_border_color": "FFFFFF",
"id_confirm_button_border_color_alpha": "1",
"id_confirm_button_text": "",
"id_confirm_button_text_color": "FFFFFF",
"id_confirm_button_text_color_alpha": "1",
"id_confirm_button_text_size": "20",
"id_instruction_button_color": "606060",
"id_instruction_button_alpha": "1",
"id_instruction_button_txt_color": "FFFFFF",
"id_instruction_button_txt_alpha": "1",
"id_label_text_color": "606060",
"id_label_text_alpha": "1",
"id_label_text_type": "Default",
"id_label_text_style": "Normal",
"id_label_text_size": "",
"id_header_text_label_color": "FFFFFF",
"id_header_text_label_alpha": "1",
"id_header_text_type": "Default",
"id_header_text_style": "Normal",
"id_header_text_label_size": "",
"id_capture_border_style": "Thick",
"id_title_img_bitmap_base64": "",
"id_instruction_img_resource_id": "",
"id_title_label_alignment": "Top",
"id_hint_message_alignment": "Center",
"id_title_image_alignment": "Bottom",
"id_hide_id_title_label": "N",
"id_hide_id_hint_message": "N",
"id_hide_id_title_image": "N",
"id_show_instruction": "N",
"id_enable_label_shadow": "N",
"id_capture_button_color": "FFFFFF",
"id_capture_button_alpha": "1",
"id_capture_background_color": "FFFFFF",
"id_capture_background_color_alpha": "40",
"id_capture_success_message_color": "33CC33",
"id_capture_success_message_color_alpha": "1",
"id_dummy_image_color": "5CBAEA",
"id_dummy_image_color_alpha": "1",
"id_preview_screen": "ENABLE",
"labels": {
"light": "Light",
"focus": "Focus",
"align_document_img_capture": "Align document inside the corners and wait, we'll take the photo for you.",
"subject_is_too_dark_img_capture": "It's too dark to take a good image. Find a place with better lighting.",
"out_of_focus_img_capture": "Tap screen to focus or move camera closer/away",
"too_much_glare_img_capture": "Too much light, move document away from direct light",
"page_title_image_capture": "Capture Document",
"capturing_id_scanbarcode":"Scan Barcode",
"capturing_id_scanbarcode_msg":"Align barcode inside the rectangle and wait.",
"id_capture_instruction":"Hold your ID straight and steady in front of the camera so the entire image is in view. Avoid excessive backlighting and glare.",
"glare":"Glare",
"align_id_and_mrz_inside_rectangle":"Align document and MRZ inside rectangle",
"align_barcode_inside_rectangle":"Align BARCODE inside rectangle",
"mrz_not_detected":"MRZ Not Detected",
"mrz_detected_not_valid":"Make sure all text on id is visible",
"barcode_mrz_not_found":"BARCODE or MRZ not found for the selected id.",
"barcode_detected_error_message":"Barcode is not detected please try again",
"capturing_id_scanbarcode_pdf_417_msg":"Align PDF 417 barcode inside the rectangle and wait.",
"capturing_id_scanbarcode_pdf417_msg":"Align PDF 417 barcode inside the rectangle and wait.",
"move_id_closer":"Move ID closer",
"move_id_away":"Move ID away",
"align_document_inside_rectangle":"Align document inside rectangle.",
"id_capture_preview_header":"Check readability",
"id_capture_preview_message":"Verify to ensure complete ID is visible with edges and there is no glare or blurred text",
"barcode_error_message":"Barcode is not detected please try again",
"mrz_error_message":"MRZ is not detected please try again",
"barcode_mrz_error_message":"Barcode or MRZ is not detected please try again",
"id_capture_success_message": "Success",
"id_capture_instruction_continue": "Continue"
}
},
"snippet_capture": {
"id_outline_color": "FFFFFF",
"id_outline_color_alpha": "1",
"id_detected_id_outline_color": "6EB24C",
"id_detected_id_outline_color_alpha": "1",
"id_outside_outline_color": "FFFFFF",
"id_outside_outline_color_aplha": "1",
"id_detected_id_outside_outline_color": "FFFFFF",
"id_detected_id_outside_outline_color_alpha": "40",
"id_back_button_color": "FFAD36",
"id_back_button_color_alpha": "1",
"id_retry_button_color": "606060",
"id_retry_button_color_alpha": "1",
"id_retry_button_border_color": "FFFFFF",
"id_retry_button_border_color_alpha": "1",
"id_retry_button_text": "",
"id_retry_button_text_color": "FFFFFF",
"id_retry_button_text_color_alpha": "1",
"id_retry_button_text_size": "20",
"id_confirm_button_color": "606060",
"id_confirm_button_color_alpha": "1",
"id_confirm_button_border_color": "FFFFFF",
"id_confirm_button_border_color_alpha": "1",
"id_confirm_button_text": "",
"id_confirm_button_text_color": "FFFFFF",
"id_confirm_button_text_color_alpha": "1",
"id_confirm_button_text_size": "20",
"id_instruction_button_color": "606060",
"id_instruction_button_alpha": "1",
"id_instruction_button_txt_color": "FFFFFF",
"id_instruction_button_txt_alpha": "1",
"id_label_text_color": "606060",
"id_label_text_alpha": "1",
"id_label_text_type": "Default",
"id_label_text_style": "Normal",
"id_label_text_size": "",
"id_header_text_label_color": "FFFFFF",
"id_header_text_label_alpha": "1",
"id_header_text_type": "Default",
"id_header_text_style": "Normal",
"id_header_text_label_size": "",
"id_capture_border_style": "Thick",
"id_title_img_bitmap_base64": "",
"id_instruction_img_resource_id": "",
"id_title_label_alignment": "Top",
"id_hint_message_alignment": "Center",
"id_title_image_alignment": "Bottom",
"id_hide_id_title_label": "N",
"id_hide_id_hint_message": "N",
"id_hide_id_title_image": "N",
"id_show_instruction": "N",
"id_enable_label_shadow": "N",
"id_capture_button_color": "FFFFFF",
"id_capture_button_alpha": "1",
"id_capture_background_color": "FFFFFF",
"id_capture_background_color_alpha": "40",
"id_capture_success_message_color": "33CC33",
"id_capture_success_message_color_alpha": "1",
"id_dummy_image_color": "5CBAEA",
"id_dummy_image_color_alpha": "1",
"labels": {
"light": "Light",
"focus": "Focus",
"align_document_img_capture": "Align document inside the corners and wait, we'll take the photo for you.",
"subject_is_too_dark_img_capture": "It's too dark to take a good image. Find a place with better lighting.",
"out_of_focus_img_capture": "Tap screen to focus or move camera closer/away",
"too_much_glare_img_capture": "Too much light, move document away from direct light",
"page_title_image_capture": "Capture Snippet",
"capturing_id_scanbarcode":"Scan Barcode",
"capturing_id_scanbarcode_msg":"Align barcode inside the rectangle and wait.",
"id_capture_instruction":"Hold your ID straight and steady in front of the camera so the entire image is in view. Avoid excessive backlighting and glare.",
"glare":"Glare",
"align_id_and_mrz_inside_rectangle":"Align document and MRZ inside rectangle",
"align_barcode_inside_rectangle":"Align BARCODE inside rectangle",
"mrz_not_detected":"MRZ Not Detected",
"mrz_detected_not_valid":"Make sure all text on id is visible",
"barcode_mrz_not_found":"BARCODE or MRZ not found for the selected id.",
"barcode_detected_error_message":"Barcode is not detected please try again",
"capturing_id_scanbarcode_pdf_417_msg":"Align PDF 417 barcode inside the rectangle and wait.",
"capturing_id_scanbarcode_pdf417_msg":"Align PDF 417 barcode inside the rectangle and wait.",
"move_id_closer":"Move ID closer",
"move_id_away":"Move ID away",
"align_document_inside_rectangle":"Align document inside rectangle.",
"id_capture_preview_header":"Check readability",
"id_capture_preview_message":"Verify to ensure complete ID is visible with edges and there is no glare or blurred text",
"barcode_error_message":"Barcode is not detected please try again",
"mrz_error_message":"MRZ is not detected please try again",
"barcode_mrz_error_message":"Barcode or MRZ is not detected please try again",
"id_capture_success_message": "Success",
"id_capture_instruction_continue": "Continue"
}
},
"face_capture": {
"fd_outline_color": "FF0000",
"fd_outline_color_alpha": "1",
"fd_detected_face_outline_color": "6EB24C",
"fd_detected_face_outline_color_alpha": "1",
"fd_outside_face_outline_color": "FFFFFF",
"fd_outside_face_outline_color_alpha": "1",
"fd_passive_outside_face_outline_color": "FFFFFF",
"fd_passive_outside_face_outline_color_alpha": "1",
"fd_detected_outside_face_outline_color": "FFFFFF",
"fd_detected_outside_face_outline_color_alpha": "1",
"fd_back_button_color": "FFAD36",
"fd_back_button_color_alpha": "1",
"fd_retry_button_color": "606060",
"fd_retry_button_color_alpha": "1",
"fd_retry_button_border_color": "FFFFFF",
"fd_retry_button_border_color_alpha": "1",
"fd_retry_button_text": "",
"fd_retry_button_text_color": "FFFFFF",
"fd_retry_button_text_color_alpha": "1",
"fd_retry_button_text_size": "20",
"fd_confirm_button_color": "606060",
"fd_confirm_button_color_alpha": "1",
"fd_confirm_button_border_color": "FFFFFF",
"fd_confirm_button_border_color_alpha": "1",
"fd_confirm_button_text": "",
"fd_confirm_button_text_color": "FFFFFF",
"fd_confirm_button_text_color_alpha": "1",
"fd_confirm_button_text_size":
"fd_instruction_button_color": "606060",
"fd_instruction_button_alpha": "1",
"fd_instruction_button_txt_color": "FFFFFF",
"fd_instruction_button_txt_alpha": "1",
"fd_capture_button_color": "696969",
"fd_capture_button_color_alpha": "1",
"fd_label_text_color": "909090",
"fd_label_text_alpha": "1",
"fd_label_text_type": "Default",
"fd_label_text_style": "Normal",
"fd_label_text_size": "",
"fd_header_text_label_color": "909090",
"fd_header_text_label_alpha": "1",
"fd_header_text_type": "Default",
"fd_header_text_style": "Normal",
"fd_header_text_label_size": "",
"fd_title_img_bitmap_base64": "",
"fd_instruction_img_resource_id": "",
"fd_face_contours": "Zero",
"fd_face_title_label_on_top": "N",
"fd_face_hint_message_on_top": "Y",
"fd_face_hint_icon_on_top": "Y",
"fd_title_image_on_top": "Y",
"fd_hide_face_title_lable": "N",
"fd_hide_face_hint_message": "N",
"fd_hide_face_hint_icon": "N",
"fd_hide_title_image": "N",
"fd_show_custom_ui":"N",
"fd_image_bundle_id":"",
"fd_face_outline_image_id":"",
"fd_outside_face_outline_image_id":"",
"fd_face_outline_progress_images":"",
"fd_face_outline_progress_images_delay":"500",
"fd_face_turn_arrow_list":"",
"fd_toggle_camera_button_icon":"",
"fd_show_preview_screen":"Y",
"fd_show_instruction_screen":"Y",
"fd_enable_label_shadow": "N",
"fd_instruction_preview_background_color": "FFFFFF",
"fd_instruction_preview_background_color_alpha": "1",
"fd_capture_success_message_color": "33CC33",
"fd_capture_success_message_color_alpha": "1",
"fd_dummy_image_color": "5CBAEA",
"fd_dummy_image_color_alpha": "1",
"fd_preview_screen": "ENABLE",
"labels": {
"too_much_glare_face_capture": "Too much light, move face away from direct light",
"light": "Light",
"focus": "Focus",
"smile": "Smile",
"out_of_focus_fc_detect": "Tap screen to focus or move camera closer/away",
"subject_is_too_dark_fc_detect": "It's too dark to take a good image. Find a place with better lighting.",
"move_camera_closer_to_your_face": "Move camera closer to face and look towards light.",
"camera_movement_fc_detect": "Hold camera steady.",
"smile_please": "Hold camera steady and smile please.",
"face_detected": "Face detected",
"keep_face_steady": "Keep your face steady",
"page_title_face_detection": "Detecting face",
"camera_error": "Unable to start the camera, please restart the device.",
"turn_left": "Turn your head left",
"turn_right": "Turn your head right",
"move_up": "Move your head up",
"move_down": "Move your head down",
"look_straight": "Please look straight into the phone",
"face_detection_instruction":"Take an interactive selfie.\nDo not wear GLASSES or HAT.\nDo not have LIGHT behind you.\nWhen you see turn arrow, please TURN your head slowly.",
"passive_face_detection_instruction":"Before taking a selfie, remove your glasses and/or hat and avoid excessive backlighting.\nTo capture your selfie automatically, frame your face inside the oval and position your device at eye level while looking directly into the camera.",
"fd_too_much_ligth_error":"Excessive backlighting detected. Please reduce backlighting to proceed",
"fd_look_straight_msg":"Look straight into the camera",
"fd_face_model_downloading":"Please wait...\nRequired components are being downloaded",
"fd_frame_face_inside":"Frame your face inside the oval and look directly into the camera.",
"fd_too_dark_error":"Excessive darkness detected. Please reduce darkness to proceed.",
"face_capture_preview_message":"Verify your eyes are open and there is no excessive light in the background.",
"face_capture_preview_header":"Detect face preview",
"live_face_not_detected_msg":"Live face is not detected.please try again",
"face_capture_success_msg": "Success",
"face_capture_instruction_continue": "Continue",
"move_face_closer": "Move closer",
"move_face_away": "Move back",
"move_head_up": "Move head up",
"move_head_down": "Move head down",
"face_mask_detected": "Face Mask Detected"
}
},
"camera_finger_capture": {
"cfc_indexfinger_threshold": "100",
"cfc_middlefinger_threshold": "100",
"cfc_ringfinger_threshold": "100",
"cfc_babyfinger_threshold": "70",
"cfc_indexfinger_min_threshold": "70",
"cfc_middlefinger_min_threshold": "70",
"cfc_ringfinger_min_threshold": "70",
"cfc_babyfinger_min_threshold": "40",
"cfc_image_width": "500",
"cfc_aggressiveness_factor": "1",
"cfc_zoom_camera": "2",
"cfc_ridge_width": "45",
"cfc_process_indexfinger": "Y",
"cfc_process_middlefinger": "Y",
"cfc_process_ringfinger": "Y",
"cfc_process_babyfinger": "Y",
"cfc_label_text_type": "Default",
"cfc_label_text_style": "Default",
"cfc_label_text_color": "FFFFFF",
"cfc_label_text_color_alpha": "1",
"cfc_show_instruction_screen": "Y",
"cfc_instruction_button_color": "FFFFFF",
"cfc_instruction_button_alpha": "1",
"cfc_instruction_button_txt_color": "487D95",
"cfc_instruction_button_txt_alpha": "1",
"labels": {
"camera_finger_capture_title": "Capture Fingerprint"
"move_closer": "Move closer"
"move_away": "Move away"
"incorrect_hand": "Incorrect hand"
"hold_steady": "Hold Steady"
"capturing_detail": "Capturing Detail"
"finger_too_close": "Too close"
"finger_too_far": "Too far"
}
},
"barcode_scan_capture": {
"barcode_capture_portrait": "N",
"barcode_max_image_size": "512",
"labels": {
"barcode_scan_text_message": "Barcode Scan"
}
},
"signature_capture": {
"signature_text_color": "000000",
"signature_text_color_alpha": "1",
"signature_capture_background": "N",
"signature_capture_portrait": "N",
"Enable_Digital_Signature": "Y",
"labels": {
"signature_title_label_message": "Sign"
}
},
"voice_recording": {
"voice_button_color": "FFFFFF",
"voice_button_color_alpha": "1",
"voice_background_color": "F2F7FA",
"voice_background_color_alpha": "1",
"voice_title_label_on_top": "Y",
"voice_display_position": "Center",
"voice_auto_play": "Y",
"voice_text_label_color": "000000",
"voice_text_label_color_alpha": "1",
"voice_title_label_color": "FFFFFF",
"voice_title_label_color_alpha": "1",
"voice_title_label_size": "12",
"voice_text_label_size": "12",
"voice_counter_label_size": "50",
"labels": {
"voice_title_label_message": "",
"voice_start": "Start",
"voice_play": "Play",
"voice_pause": "Pause",
"voice_stop": "Stop",
"voice_delete": "Delete",
"voice_save": "Save",
"voice_retry": "Retry",
"voice_resume": "Resume",
"voice_record": "Record",
"voice_recording": "Recording"
}
}
}
Custom ID Configurations
ID Front/Back/Doc./Snippet Config |
Description |
---|---|
id_show_instruction |
To display the instruction screen. |
id_outline_color id_outline_color_alpha |
ID capture outline (border) color and transparency configuration. Color is hex string (e.g. FFFFFF). Alpha value is (1 to 100 where bigger value means more transparency). Note: Above color and Alpha value definition is same for another color/alpha as well |
id_detected_id_outline_color id_detected_id_outline_color_alpha |
Outline (Border) color and transparency to be shown when ID is detected. |
id_outside_outline_color id_outside_outline_color_aplha |
Background color and transparency of ID capture screen. |
id_detected_id_outside_outline_color id_detected_id_outside_outline_color_alpha |
Background color and transparency to be shown when ID is detected. |
id_back_button_color id_back_button_color_alpha |
Back/Exit button color and transparency (ID capture) |
id_retry_button_color id_retry_button_color_alpha |
Retry button color and transparency (Preview screen) |
id_retry_button_border_color id_retry_button_border_color_alpha |
Retry button border color and transparency (Preview screen) |
id_confirm_button_color id_confirm_button_color_alpha |
Confirm/Done button color and transparency (Preview screen) |
id_confirm_button_background_color id_confirm_button_background_color_alpha |
Confirm/Done background color and transparency (Preview screen) |
id_instruction_button_color id_instruction_button_alpha |
Continue button color and transparency (Instruction screen) |
id_instruction_button_txt_color id_instruction_button_txt_alpha |
Continue button text color and transparency (Instruction screen) |
id_label_text_color id_label_text_alpha |
Color and Transparency of all the labels on instruction, ID capture, and preview screen. |
id_label_text_typeface_type |
We support the following values for label text style: DEFAULT, DEFAULT_BOLD, SANS_SARIF, SERIF, MONOSPACE |
id_label_text_style |
We support the following values for label text style: Default, Helvetica, Helvetica Bold, Helvetica Bold Oblique, Helvetica Light, Helvetica Light Oblique, Helvetica Neue, Helvetica Neue Bold, Helvetica Neue Bold Italic, Helvetica Neue Condensed Black, Helvetica Neue Condensed Bold, Helvetica Neue Italic, Helvetica Neue Light, Helvetica Neue Light Italic, Helvetica Neue Medium, Helvetica Neue Medium Italic, Helvetica Neue Thin, Helvetica Neue Thin Italic, Helvetica Neue UltraLight, Helvetica Neue UltraLight Italic, Helvetica Oblique |
id_label_text_size |
Label text size. |
id_header_text_label_color id_header_text_label_alpha |
Color and Transparency of header text on ID capture screen |
id_header_text_style |
We support the following values for label text style: Default, Helvetica, Helvetica Bold, Helvetica Bold Oblique, Helvetica Light, Helvetica Light Oblique, Helvetica Neue, Helvetica Neue Bold, Helvetica Neue Bold Italic, Helvetica Neue Condensed Black, Helvetica Neue Condensed Bold, Helvetica Neue Italic, Helvetica Neue Light, Helvetica Neue Light Italic, Helvetica Neue Medium, Helvetica Neue Medium Italic, Helvetica Neue Thin, Helvetica Neue Thin Italic, Helvetica Neue UltraLight, Helvetica Neue UltraLight Italic, Helvetica Oblique |
id_header_text_label_size |
Header text size. |
id_capture_border_style |
ID Capture border style supports the following values: Thick, Thin |
id_title_img_bitmap_base64 |
If you would like to show custom title image/logo on ID capture screen, you can add base64 string of bitmap image here. |
id_instruction_img_resource_id |
If you would like to show custom instruction image, pass the image resource ID here. |
id_title_label_alignment |
ID title label (String) position can be configured using following configuration: Top, Center, Bottom |
id_hint_message_alignment |
ID capture hint/instruction message (String) position can be configured using following configuration: Top, Center, Bottom |
id_title_image_alignment |
ID title image position can be configured using following configuration: Top, Center, Bottom |
id_hide_id_title_label |
Hide id title label (Y/N) |
id_hide_id_hint_message |
Hide id hint/instruction label (Y/N) |
id_hide_id_title_image |
Hide id title image (Y/N) |
labels |
Currently, the following labels are shown on ID-Capture screen: light focus glare align_document_img_capture subject_is_too_dark_img_capture out_of_focus_img_capture too_much_glare_img_capture page_title_image_capture page_title_face_detection barcode_detected_error_message capturing_id_scanbarcode capturing_id_scanbarcode_msg id_capture_instruction align_id_and_mrz_inside_rectangle align_barcode_inside_rectangle barcode_mrz_not_found capturing_id_scanbarcode_pdf_417_msg move_id_closer move_id_away align_document_inside_rectangle id_capture_preview_header id_capture_preview_message barcode_error_message mrz_error_message barcode_mrz_error_message id_capture_success_message id_capture_instruction_continue The ID-Capture screen can be customized with your own custom message. |
Custom Face Capture Configurations
Face capture config |
Description |
---|---|
fd_show_preview_screen |
To display the preview screen after capturing face. |
fd_show_instruction_screen |
To display the instruction screen. |
fd_outline_color fd_outline_color_alpha |
Face capture outline (face shape outline) color and transparency configuration. - Color is hex string (e.g. FFFFFF). - Alpha value is (1 to 100 where bigger value means more transparency).
|
fd_detected_face_outline_color fd_detected_face_outline_color_alpha |
Outline (Border) color and transparency to be shown when face is detected. |
fd_outside_face_outline_color fd_outside_face_outline_color_alpha |
Background color and transparency of face capture screen. |
fd_detected_outside_face_outline_color fd_detected_outside_face_outline_color_alpha |
Background color and transparency to be shown when face is detected. |
fd_back_button_color fd_back_button_color_alpha |
Back/Exit button color and transparency (Face capture) |
fd_retry_button_color fd_retry_button_color_alpha |
Retry button color and transparency (Preview screen) |
fd_retry_button_border_color fd_retry_button_border_color_alpha |
Retry button border color and transparency (Preview screen) |
fd_confirm_button_color fd_confirm_button_color_alpha |
Confirm/Done button color and transparency (Preview screen) |
fd_confirm_button_background_color fd_confirm_button_background_color_alpha |
Confirm/Done background color and transparency (Preview screen) |
fd_instruction_button_color fd_instruction_button_alpha |
Continue button color and transparency (Instruction screen) |
fd_instruction_button_txt_color fd_instruction_button_txt_alpha |
Continue button text color and transparency (Instruction screen) |
fd_label_text_color fd_label_text_alpha |
Color and Transparency of all the labels on instruction, face-capture and preview screen. |
fd_label_text_style |
Following values are supported for label typeface style. Default, Helvetica, Helvetica Bold, Helvetica Bold Oblique, Helvetica Light, Helvetica Light Oblique, Helvetica Neue, Helvetica Neue Bold, Helvetica Neue Bold Italic, Helvetica Neue Condensed Black, Helvetica Neue Condensed Bold, Helvetica Neue Italic, Helvetica Neue Light, Helvetica Neue Light Italic, Helvetica Neue Medium, Helvetica Neue Medium Italic, Helvetica Neue Thin, Helvetica Neue Thin Italic, Helvetica Neue UltraLight, Helvetica Neue UltraLight Italic, Helvetica Oblique |
fd_label_text_size |
Label text size. |
fd_header_text_label_color fd_header_text_label_alpha |
Color and Transparency of header text on face capture screen |
fd_header_text_typeface_style |
Following values are supported for label typeface style. Default, Helvetica, Helvetica Bold, Helvetica Bold Oblique, Helvetica Light, Helvetica Light Oblique, Helvetica Neue, Helvetica Neue Bold, Helvetica Neue Bold Italic, Helvetica Neue Condensed Black, Helvetica Neue Condensed Bold, Helvetica Neue Italic, Helvetica Neue Light, Helvetica Neue Light Italic, Helvetica Neue Medium, Helvetica Neue Medium Italic, Helvetica Neue Thin, Helvetica Neue Thin Italic, Helvetica Neue UltraLight, Helvetica Neue UltraLight Italic, Helvetica Oblique |
fd_header_text_label_size |
Header text size. |
fd_title_img_bitmap_base64 |
If you would like to show custom title image/logo on face capture screen you can add base64 string of bitmap image here. |
fd_instruction_img_resource_id |
If you would like to show custom instruction image pass image resource ID here. |
fd_face_contours |
Face contours count can be customized using following configurations: Low, Medium, ALL, Zero |
fd_face_title_label_on_top |
Face title label on top (Y/N) |
fd_face_hint_message_on_top |
Face hint/instruction message on top (Y/N) |
fd_title_image_on_top |
Face title image on top (Y/N) |
fd_hide_face_title_lable |
Hide face title label (Y/N) |
fd_hide_face_hint_message |
Hide face hint / instruction label (Y/N) |
fd_hide_title_image |
Hide face title image (Y/N) |
fd_show_custom_ui |
In case you want to show your own custom overlay over face detection screen, you can pass your custom image and show it. First you need to pass (Y/N) in this parameter, based on your choice to show custom overlay or not. We have predefined image sizes for overlay images, please check it on the following URL: You can create similar size transparent PNG overlay image and pass it. |
fd_image_bundle_id |
You need to pass bundle id of your app so that SDK can pick image from your bundle. |
fd_face_outline_image_id |
Image name (without .PNG extension) for overlay border image. |
fd_outside_face_outline_image_id |
Image name (without .PNG extension) for overlay background image. |
fd_face_outline_progress_images |
In case you want to show animation/.gif on face detection screen you need to pass the comma separated list of image name (without .PNG extension) in this parameter. |
fd_face_outline_progress_images_delay |
You can customize .gif image delay here. |
fd_face_turn_arrow_list |
In case you want to customize face turn arrow you need to pass four comma separated image name (without .PNG extension) First image will be used as left arrow and second image will be used as top arrow and so on from left to bottom. |
fd_toggle_camera_button_icon |
You can customize toggle camera icon by passing image name (without .PNG extension) here. |
fd_passive_text_hint_label_size |
You can customize passive face hint label text size |
fd_instruction_button_txt_size |
You can customize instruction button text size |
fd_capture_preview_info_color |
You can customize preview info color |
fd_capture_preview_info_size |
You can customize preview info text size |
fd_preview_background_color |
You can customize preview background color |
labels |
Currently following labels are shown on Face Capture screen, that can be customized with your own custom message. light |
Custom Camera Fingerprint Capture Configurations
Camera fingerprint capture config |
Description |
---|---|
cfc_label_text_style |
We support the following values for label typeface style: Default, Helvetica, Helvetica Bold, Helvetica Bold Oblique, Helvetica Light, Helvetica Light Oblique, Helvetica Neue, Helvetica Neue Bold, Helvetica Neue Bold Italic, Helvetica Neue Condensed Black, Helvetica Neue Condensed Bold, Helvetica Neue Italic, Helvetica Neue Light, Helvetica Neue Light Italic, Helvetica Neue Medium, Helvetica Neue Medium Italic, Helvetica Neue Thin, Helvetica Neue Thin Italic, Helvetica Neue UltraLight, Helvetica Neue UltraLight Italic, Helvetica Oblique |
cfc_label_text_color cfc_label_text_color_alpha |
Color and Transparency of label text on instruction screen. |
cfc_instruction_button_color cfc_instruction_button_alpha |
Color and Transparency of instruction screen continue button. |
cfc_instruction_button_txt_color cfc_instruction_button_txt_alpha |
Color and Transparency of instruction screen continue button text. |
id_enable_label_shadow |
Enable/Disable label shadow |
id_capture_button_color id_capture_button_alpha |
Color and Transparency of ID capture button. |
labels |
Currently following labels are shown on FingerPrint Capture screen, that can be customized with your own custom message. camera_finger_capture_title |
Custom Signature Capture Configurations
Signature Capture | Description |
---|---|
signature_text_color signature_text_color_alpha |
Title label color signature capture screen |
labels |
Currently following labels are shown on Signature Capture screen, that can be customized with your own custom message. signature_title_label_message |
Custom Voice Recording Configurations
Voice Recording | Description color |
---|---|
voice_button_color voice_button_color_alpha |
Button color of voice recording screen |
voice_background_color voice_background_color_alpha |
Background color of voice recording screen |
voice_title_label_on_top |
Title position |
voice_display_position |
Voice recording pop up position |
voice_auto_play |
Record voice automatically when function is called or take user action (button press) |
voice_recording_time |
Max recording time |
voice_text_label_color voice_text_label_color_alpha |
Label color on voice recording screen |
voice_title_label_color voice_title_label_color_alpha |
Title label color on voice recording screen |
voice_title_label_size voice_text_label_size |
Title label size |
voice_counter_label_size |
Voice recording counter label size |
labels |
Currently following labels are shown while Voice Capture screen, that can be customized with your own custom message. voice_title_label_message |
Sequence Diagrams
Now that the basic setup and customization is understood, use the sequence diagrams in this section to setup and utilize the most commonly used services through the SDK. In SDK Main Functions, Additional SDK Features, and Callback Instructions Sections, each of the functions within these diagrams are explained in detail.
ID Validation Only (Service ID 20)
This diagram depicts Service ID 20 where the initiating application needs to utilize the SDK features to capture the front and back of the ID document, then send it the IDmission server for validation. The response from the server will include the validation result as well as data extracted from the ID documents.
Figure 1: ID Validation Only sequence diagram
ID Validation + Face Match (Service ID 10)
This diagram depicts Service ID 10 where the initiating application needs to utilize the SDK features to capture the front and back of the ID document, capture a selfie and then send it the IDmission server for validation and biometric matching. The response from the server will include the validation results as well as data extracted from the ID documents.
Figure 2: ID Validation + Face Match sequence diagram
ID Validation + Face Match w/Customer Enrollment (Service ID 50)
This diagram depicts Service ID 50 where the initiating application needs to utilize the SDK features to capture the front and back of the ID document, capture a selfie and basic customer details. Additionally, other biometrics can be captured to subsequently use in future verification service. All of this information will be sent to the IDmission server for validation and biometric matching. The response from the server will include the validation results as well as data extracted from the ID documents and a unique assigned customer code.
Figure 3: ID Validation + Face Match w/ Customer Enrollment sequence diagram
Customer Enrollment with Biometrics (Service ID 175)
This diagram depicts Service ID 175 where the initiating application wants to enroll a customer and their biometrics (i.e., face, fingerprint, or voice – all three are shown but only one is required) but does not require the collection and validation of ID documents.
Figure 4: Customer enrollment with biometrics sequence diagram
Customer Verification (Service ID 105)
This diagram depicts Service ID 105 where the initiating application will send a unique identifier for the customer along with captured biometrics. This information will be used to verify the customer against previously enrolled biometrics. The response from the server will include the verification result.
Figure 5: Customer verification sequence diagram
Customer Update (Service ID 70)
This diagram depicts Service ID 70 where the initiating application wants to update the information for a previously enrolled customer.
Figure 6: Customer update sequence diagram
SDK Main Functions
The following sections describe each of the function calls that are used in each service. Many of these functions are mandatory for a specific service, but others can be optionally included as required by the initiating application.
ID Capture
To capture an image, use the following calls. First call will launch camera in portrait mode by default. This function is used for the following Service IDs: 10, 20, 50, 55, 155, 160, 165, 505, 510, 515.
The following method is released in SDK version 6.2.6.4 and it is recommended to use this method going forward.
To capture ‘Front’ ID Image use the following APIs:
[AppItSDK captureFrontImage:(id)instance additionalDictionary:(NSMutableDictionary*)additionalDictionary uiConfigDictionary:(NSMutableDictionary*)uiConfigDictionary]
This is the swift method:
AppItSDK.captureFrontImage(instance: Any!, additionalDictionary: NSMutableDictionary!, uiConfigDictionary: NSMutableDictionary!)
To capture ‘Back’ ID Image use the following APIs:
[AppItSDK captureBackImage:(id)instance additionalDictionary:(NSMutableDictionary*)additionalDictionary configDictionary:(NSMutableDictionary*)configDictionary]
This is the swift method:
AppItSDK.captureBackImage(instance: Any!, additionalDictionary: NSMutableDictionary!, uiConfigDictionary: NSMutableDictionary!)
Image Capture Parameters (6.2.6.4 and above)
Parameter | Type | Description |
---|---|---|
instance | Self | Instance of NSObject which implements “AppItSDKResponse” protocol. It is used for receiving SDK callbacks. |
configDictionary | NSMutableDictionary | /*** We can use following config JSON to pass all the configuration parameter; if no value is sent, it will use default value; all the values should be sent as String***/ Note: For customizing UI use “customizeUserInterface” method with JSON string.{id_capture_portrait : "Y", /***supported parameter Y/N ***/ id_light_threshold : "70", id_min_focus : "12", id_max_focus : "35", id_glare_percentage : "5", id_enable_capture_button_time : "60", id_max_image_size : "500", id_image_height : "1170", id_image_width : "830", id_capture_enable : "N", /***supported parameter Y/N ***/ id_generic_doc_fieldname : "" } /***Pass the below parameter to enable barcode scanning from given id type***/ country_code: "", // 3-character ISO country code (mandatory parameter) id_type: "" // Refer to ID Type table (mandatory parameter) barcode_scan: "N", /***supported parameter Y/N ***/ state_code: "", // 2-character ISO state code Note: country_code and id_type are mandatory parameters. |
Live Face Detection
This set of functions is used to detect live face and capture an image of the face. These functions are used for the following Service IDs: 10, 50, 55, 105, 185, 190, 305.
The following method is released in SDK version 6.2.6.2 and it is recommended to use this method going forward.
To capture ‘Selfie’ Image use the following APIs:
[AppItSDK detectFace:(id)instance faceCaptureConfig:(NSMutableDictionary*)faceCaptureConfig additionalDataDictionary:(NSMutableDictionary*)additionalDataDictionary]
This is the swift method:
AppItSDK.detectFace(instance: Any!>, faceCaptureConfig: NSMutableDictionary!, uiConfigDictionary: NSMutableDictionary!)
Live Face Parameters
Parameter | Type | Description |
---|---|---|
Instance | Self | Instance of NSObject which implements “AppItSDKResponse” protocol. It is used for receiving SDK callbacks. |
commonConfigJSON | NSMutableDictionary | /*** We can use following config JSON to pass all the configuration parameter; if no value is sent, it will use default value; all the values should be sent as String ***/ Note: For customizing UI use “customizeUserInterface” method with JSON string. {fd_light_threshold : "60", fd_focus_threshold : "15", fd_detection_threshold : "20", fd_max_image_size : "500", fd_launch_front_camera : "Y", fd_toggle_camera : "N", fd_enable_passive_face_detection : "Y" } |
Processing Images with Parameters and Additional Data
This function is used to process the image(s) and retrieve data. Also, additional data is sent in JSON format. You can also include parameter settings to request a manual review of images by the IDmission back-office review team, or to bypass certain features that are built into the solution. This function is used for the following Service ID: 20.
[AppItSDK processImage:(id)instance countryCode:(NSString*)countryCode stateCode:(NSString*)stateCode idType:(NSString*)idType, additionalDictionary:(NSMutableDictionary*)additionalDictionary];
[AppItSDK processImage:(id)instance countryCode:(NSString*)countryCode stateCode:(NSString*)stateCode idType:(NSString*)idType, additionalDictionary:(NSMutableDictionary*)additionalDictionary, isFinalSubmit :(bool)isFinalSubmit];
[AppItSDK processImage:(id)instance countryCode:(NSString*)countryCode stateCode:(NSString*)stateCode idType:(NSString*)idType, additionalDictionary:(NSMutableDictionary*)additionalDictionary, isFinalSubmit :(bool)isFinalSubmit clearFormKey :(bool)clearFormKey];
[AppItSDK processImage:(id)instance countryCode:(NSString*)countryCode stateCode:(NSString*)stateCode idType:(NSString*)idType additionalDictionary:(NSMutableDictionary*)additionalDictionary finalSubmit:(bool)finalSubmit clearFormKey:(bool)clearFormKey employeeDictionary:(NSMutableDictionary*)employeeDictionary];
This is the swift method:
AppItSDK.processImage(instance: Any!, countryCode: String!, stateCode: String!, idType: String!, additionalDictionary: NSMutableDictionary!, finalSubmit: Bool, clearFormKey: Bool, employeeDictionary: NSMutableDictionary!)
The captured image data will be sent to the server for processing.
Processing Images Parameters
Parameter | Type | Description |
---|---|---|
instance | Self | Instance of NSObject which implements “AppItSDKResponse” protocol. It is used for receiving SDK callbacks. |
countryCode | String | 3-character ISO country code |
stateCode | String | 2-character ISO state code |
idType | String | Refer to Table ID Type |
additionalDictionary | MutableDictionary | Dictionary Object may contain following elements; those with a double // are mandatory. Please refer to the Additional Dictionary Element at the end of this document for details regarding each of these elements: {"Service_ID": "",//Mandatory "Manual_Review_Required" : "" "Bypass_Age_Validation" : "" "Bypass_Name_Matching" : "" "Deduplication_Required" : "" "Deduplication_Synchronous" : "" "Deduplication_Manual_Review_Required" : "" "ID_Back_Image_Required" : "" "POST_Data_API_Required" : "" "Send_Input_Images_in_POST" : "" "Send_Processed_Images_in_POST" : "" "Need_Immediate_Response" : "" "Capture_Secondary_ID" : "" "Verify_Data_With_Host" : "" "Detect_Liveness" : "" "Unique_Customer_Number": "", "Old_Client_Customer_Number": "", "Customer_Name": "", "Customer_Type": "", "Customer_Phone": "", "Customer_Email": "", "Unique_Merchant_Number": "" "Unique_Employee_Number": "", "Unique_Employee_Code": "", "Gender": "", "Address_Line_1": "", "Address_Line_2": "", "Country": "", "State": "", "City": "", "Postal_Code": "", "Customer_Attribute": "", "AddressLine1": "", "AddressLine2": "", "Customer_Gender": "", "AgentCountry": "", "Encrypted_Data": "", "PreviousFormId": "", } Note: When performing a service that includes customer enrollment, the Unique_Customer_Number is mandatory. |
employeeDictionary | MutableDictionary | Dictionary Object may contain following elements; those with a double // are mandatory. {"Employee_Code":"", /Conditional "Employee_Type":"", /Conditional "Login_ID": "", "Employee_Email": "",/Conditional "Employee_Name": "",/Conditional "Employee_Mobile_Number": "", "Employee_ID_Number":"", "Employee_Gender":"", "Employee_Email":"", "Employee_Gender":"", "Employee_AddressLine1":"", "Employee_AddressLine2":"", "Employee_City":"", "Employee_State":"", "Employee_Country":"", } Note: When performing a service that includes employee enrollment the Employee_Code, Employee_Type, Employee_Email, and Employee_Name elements are all mandatory. |
isFinalSubmit | Boolean | Set TRUE to execute submit request. |
clearFormKey | Boolean | Clear form key once operation is executed successfully |
ID Types
ID Type Key | ID Type Value | ID Back Required |
---|---|---|
Passport | PP | N |
National ID | NID | Y |
Residence Card | RID | Y |
Driving License | DL | Y |
Photo ID | PID | Y |
Voters ID Card | VID | Y |
Tax ID Card | TID | Y |
Work Visa Permit | WV | Y |
Student Visa Permit | SV | Y |
Military Police Government ID | GID | Y |
Boat Ship ID Card | BID | Y |
Others | OTH | Y |
Global Entry Card | GE | Y |
Passport Card | PPC | Y |
By default, all of the ID Types from various countries that IDmission accepts are made available to you through this SDK. If you want to limit the ID Types you accept, you can do so by limiting the selections within your initiating application. The list of all supported ID types is available on the IDmission website. If you find that there is an ID Type that is not supported, please contact our support team to request one to be added.
Process Image and Facial Biometric Verification with Additional Data
This is an overloaded API to process the image and match the face image. Also, additional data will be sent in JSON format. These functions are used for the following Service IDs: 10, 50, 55, 155, 160, 165, 505, 510, 515.
[AppItSDK processImageAndMatchFace:(id)instance countryCode:(NSString*)countryCode stateCode:(NSString*)stateCode idType:(NSString*)idType faceImageType:(NSString*)faceImageType, additionalDictionary:(NSMutableDictionary*)additionalDictionary];
[AppItSDK processImageAndMatchFace:(id)instance countryCode:(NSString*)countryCode stateCode:(NSString*)stateCode idType:(NSString*)idType faceImageType:(NSString*)faceImageType, additionalDictionary:(NSMutableDictionary*)additionalDictionary, isFinalSubmit :(bool)isFinalSubmit];
[AppItSDK processImageAndMatchFace:(id)instance countryCode:(NSString*)countryCode stateCode:(NSString*)stateCode idType:(NSString*)idType faceImageType:(NSString*)faceImageType, additionalDictionary:(NSMutableDictionary*)additionalDictionary isFinalSubmit :(bool)isFinalSubmit clearFormKey :(bool)clearFormKey];
This is the swift method:
AppItSDK.processImageAndMatchFace(instance: Any!, countryCode: String!, stateCode: String!, idType: String!, faceImageType: String!, additionalDictionary: NSMutableDictionary!, finalSubmit: Bool, clearFormKey: Bool, employeeDictionary: NSMutableDictionary!)
The captured image data will be sent to the server for processing.
Process Image and Facial Biometric Verification Parameters
Parameter | Type | Description |
---|---|---|
instance | Self | Instance of NSObject which implements “AppItSDKResponse” protocol. It is used for receiving SDK callbacks. |
idType | Enum | Refer to ID Type table mentioned above |
countryCode | String | 3-character ISO country code |
stateCode | String | Refer to States table mentioned above |
faceImageType | String | FACE_IMAGE PROCESSED_FACE_IMAGE |
additionalDictionary | MutableDictionary | Dictionary Object may contain following elements; those with a double // are mandatory. Please refer to the Additional Dictionary Element at the end of this document for details regarding each of these elements: {"Service_ID": "",//Mandatory "Manual_Review_Required" : "" "Bypass_Age_Validation" : "" "Bypass_Name_Matching" : "" "Deduplication_Required" : "" "Deduplication_Synchronous" : "" "Deduplication_Manual_Review_Required" : "" "ID_Back_Image_Required" : "" "POST_Data_API_Required" : "" "Send_Input_Images_in_POST" : "" "Send_Processed_Images_in_POST" : "" "Need_Immediate_Response" : "" "Capture_Secondary_ID" : "" "Verify_Data_With_Host" : "" "Detect_Liveness" : "" "Unique_Customer_Number": "", /Conditional "Old_Client_Customer_Number": "", /Conditional "Customer_Name": "", "Customer_Type": "", "Customer_Phone": "", "Customer_Email": "", "Unique_Merchant_Number": "", "Unique_Employee_Number": "", "Unique_Employee_Code": "", "Gender": "", "Address_Line_1": "", "Address_Line_2": "", "Country": "", "State": "", "City": "", "Postal_Code": "", "Customer_Attribute": "", "AddressLine1": "", "AddressLine2": "", "Customer_Gender": "", "AgentCountry": "", "Encrypted_Data": "", "PreviousFormId": "", } Note: When performing a service that includes customer enrollment, the Unique_Customer_Number is mandatory. |
employeeDictionary | MutableDictionary | Dictionary Object may contain following elements; those with a double // are mandatory. {"Employee_Code":"", "Employee_Type":"", "Login_ID": "", "Employee_Email": "", "Employee_Name":"", "Employee_Mobile_Number":"", "Employee_ID_Number":"", "Employee_Gender ":"", "Employee_Email ":"", "Employee_Gender ":"", "Employee_AddressLine1 ":"", "Employee_AddressLine2 ":"", "Employee_City":"", "Employee_State":"", "Employee_Country":"", } Note: When performing a service that includes employee enrollment the Employee_Code, Employee_Type, Employee_Email, and Employee_Name elements are all mandatory. |
isFinalSubmit | Boolean | Set TRUE to execute submit request. |
clearFormKey | Boolean | Clear form key once operation is executed successfully |
Auto Image Capture and Live Face Capture must be performed prior to this call. The captured image data will be sent to server for processing.
Customer Enrollment with Biometrics and Additional Data
To enroll a customer with their biometrics (fingerprint, face, or voice). Also, additional data will be sent in JSON format. This function is used for Service ID: 175.
Objective-C
1.Face API :
[AppItSDK detectFace:(id)instance faceCaptureConfig:(NSMutableDictionary*)uiConfigDictionary];
Face Response :
-(void)faceDetectionResponse:(NSMutableDictionary*)result;
2.Voice API :
[AppItSDK startVoiceRecording:(id)instance recordingTime:(int)recordingTime additionalDictionary:(NSMutableDictionary*)additionalDictionary]
Voice Response :
-(void)voiceRecordingResponse:(NSMutableDictionary* _Nonnull) result;
3.FingerPrint API :
[AppItSDK captureFourFingerprint:(id)instance cameraFingerCaptureConfig:(NSMutableDictionary*)cameraFingerCaptureConfig]
FingerPrint Response :
-(void)fourFingerprintDetectionResponse : (NSMutableDictionary* _Nonnull) result;
4.Generic API :
[AppItSDK genericApiCall:self genericDataDictionary:dictionary];
Generic Response :
-(void)genericApiCallResponse : (NSMutableDictionary * _Nonnull)result;
Swift
- Face API :
AppItSDK.detectFace(instance: Any, faceCaptureConfig:NSMutableDictionary)
Face Response :
func faceDetectionResponse(_ result: NSMutableDictionary) { }
2.Voice API :
AppItSDK.startVoiceRecording(instance: Any, recordingTime: int, additionalDictionary: NSMutableDictionary?)
Voice Response :
func voiceRecordingResponse(_ result: NSMutableDictionary) { }
3.FingerPrint API :
AppItSDK.captureFourFingerprint(instance: Any, cameraFingerCaptureConfig:NSMutableDictionary)
FingerPrint Response :
func fourFingerprintDetectionResponse(_ result: NSMutableDictionary) { }
4.Generic API :
AppItSDK.genericApiCall(instance: Any, genericDataDictionary: NSMutableDictionary)
Generic Response :
func genericApiCall(_ result: NSMutableDictionary) { }
Process Image and Facial Biometric Verification Parameters
Parameter | Type | Description |
---|---|---|
Instance | Self | Instance of NSObject which implements “AppItSDKResponse” protocol. It is used for receiving SDK callbacks. |
additionalDictionary | NSMutableDictionary | Dictionary Object may contain following elements; those with a double // are mandatory. Please refer to the Additional Dictionary Element at the end of this document for details regarding each of these elements: { "Service_ID": "",// "Unique_Customer_Number": "", // "Customer_Name": "", "Customer_Type": "", "Customer_Phone": "", "Customer_Email": "", "Gender": "", "Address_Line_1": "", "Address_Line_2": "", "Country": "", "State": "", "City": "", "Postal_Code": "", "POST_Data_API_Required" : "" "Send_Input_Images_in_POST" : "" "Send_Processed_Images_in_POST" : "" "Need_Immediate_Response" : "" "Deduplication_Required" : "" "Deduplication_Synchronous" : "" "Deduplication_Manual_Review_Required" : "" } |
isFinalSubmit | Boolean | Set TRUE to execute submit request. |
clearFormKey | Boolean | Clear form key once operation is executed successfully |
Employee Enrollment with Biometrics and Additional Data
To enroll an employee with their biometrics (Voice, face, fp). Also, additional data will be sent in JSON format. This function is used for Service ID: 180.
[AppItSDK createEmployee:(id)instance employeeDictionary:(NSMutableDictionary*)employeeDictionary additionalDictionary:(NSMutableDictionary*)additionalDictionary finalSubmit:(bool)finalSubmit];
This is the swift method:
AppItSDK.createEmployee(instance: Any!, employeeDictionary: NSMutableDictionary!, additionalDictionary: NSMutableDictionary!, finalSubmit: Bool)
Employee Enrollment with Biometrics Parameters
Parameter | Type | Description |
---|---|---|
Instance | Self | Instance of NSObject which implements “AppItSDKResponse” protocol. It is used for receiving SDK callbacks. |
additionalDictionary | NSMutableDictionary | Dictionary Object may contain following elements; those with a double Asterix** are mandatory. {"Service_ID": "",**// "Unique_Employee_Code": "", "POST_Data_API_Required" : "" "Send_Input_Images_in_POST" : "" "Send_Processed_Images_in_POST" : "" "Need_Immediate_Response" : "" } |
employeeDictionary | MutableDictionary | Dictionary Object may contain following elements; those with a double // are mandatory. Please refer to the Additional Dictionary Element at the end of this document for details regarding each of these elements: {"Employee_Code":"", /Conditional "Employee_Type":"", /Conditional "Login_ID": "", "Employee_Email": "", /Conditional "Employee_Name":"", /Conditional "Employee_Mobile_Number":"", "Employee_ID_Number":"", " Employee_Gender ":"", "Employee_Email ":"", " Employee_Gender ":"", " Employee_AddressLine1 ":"", " Employee_AddressLine2 ":"", " Employee_City":"", "Employee_State":"", "Employee_Country":"", } When performing a service that includes employee enrollment the Employee_Code, Employee_Type, Employee_Email, and Employee_Name elements are all mandatory. |
isFinalSubmit | Boolean | Set TRUE to execute submit request. |
clearFormKey | Boolean | Clear form key once operation is executed successfully |
Customer Update
Used to update a previously enrolled customer. This function is used for Service ID: 70.
[AppItSDK updateCustomer:(id)instance faceImageType:(NSString*)faceImageType additionalDictionary:(NSMutableDictionary*)additionalDictionary]
This is the swift method:
AppItSDK.updateCustomer(instance: Any!>, faceImageType: String!, additionalDictionary: NSMutableDictionary!)
Customer Update Parameters
Parameter | Type | Description |
---|---|---|
faceImageType | String | Key name: FACEPROCESSED_FACE OVAL_FACE |
additionalDictionary | NSMutableDictionary | Dictionary Object may contain following elements; those with a double // are mandatory. {"Service_ID": "",//Mandatory "Unique_Customer_Number": "", /Conditional "Old_Client_Customer_Number": "", // "Customer_Name": "", "Customer_Type": "", "Customer_Phone": "", "Customer_Email": "", "Gender": "", "Address_Line_1": "", "Address_Line_2": "", "Country": "", "State": "", "City": "", "Postal_Code": "", } |
isFinalSubmit | Boolean | Set TRUE to execute submit request. |
clearFormKey | Boolean | Clear form key once operation is executed successfully |
Employee Update
Used to update a previously enrolled employee. This function is used for Service ID: 75
[AppItSDK createEmployee:(id)instance
employeeDictionary:(NSMutableDictionary*)employeeDictionary
additionalDictionary:(NSMutableDictionary*)additionalDictionary
finalSubmit:(bool)finalSubmit];
This is the swift method:
AppItSDK.createEmployee(instance: Any!, employeeDictionary: NSMutableDictionary!, additionalDictionary: NSMutableDictionary!, finalSubmit: Bool)
Employee Update Parameters
Parameter | Type | Description |
---|---|---|
faceImageType | String | Keyname: FACE PROCESSED_FACE OVAL_FACE |
additionalDictionary | NSMutableDictionary | Dictionary Object may contain following elements; those with a double // are mandatory. { "Service_ID": "",**//
} |
employeeDictionary | MutableDictionary | Dictionary Object may contain following elements; those with a double // are mandatory. { |
isFinalSubmit | Boolean | Set TRUE to execute submit request. |
clearFormKey | Boolean | Clear form key once operation is executed successfully. |
Customer Verification
Used to verify a customer using biometrics. This function is used for Service ID: 105. (For verifying customer face image or FP, there must be a capture first).
[AppItSDK verifyCustomer:(id)instance biometricType:(NSString*)biometricType];
[AppItSDK verifyCustomer:(id)instance biometricType:(NSString*)biometricType additionalDictionary:(NSMutableDictionary*)additionalDictionary];
This is the swift method:
AppItSDK.verifyCustomer(instance: Any!, biometricType: String!, additionalDictionary: NSMutableDictionary!)
Customer Verification Parameters
Parameter | Type | Range | Description |
---|---|---|---|
activityContext | Context | Context | |
biometricType | String | FACE FP VOICE 4F |
Include the ranges that are required to be verified. |
additionalDictionary | NSMutableDictionary | Dictionary Object may contain following elements; those with a double // are mandatory. {"Service_ID": "",//Mandatory "Unique_Customer_Number": "", // "Old_Client_Customer_Number": "", "Customer_Name": "", "Customer_Type": "", "Customer_Phone": "", "Customer_Email": "", "Gender": "", "Address_Line_1": "", "Address_Line_2": "", "Country": "", "State": "", "City": "", "Postal_Code": "", } |
|
isFinalSubmit | Boolean | Set TRUE to execute submit request | |
clearFormKey | Boolean | Clear form key once operation is executed successfully |
Employee Verification
Used to verify an employee using biometrics. This function is used for Service ID: 305.
[AppItSDK verifyEmployee:(id)instance employeeCode:(NSString*)employeeCode additionalDictionary:(NSMutableDictionary*)additionalDictionary finalSubmit:(bool)finalSubmit];
This is the swift method:
AppItSDK.verifyEmployee(instance: Any!, employeeCode: String!, additionalDictionary: NSMutableDictionary!, finalSubmit: Bool, clearFormKey: Bool)
Employee Verification Parameters
Parameter | Type | Default | Range | Description |
---|---|---|---|---|
instance | Self | Instance of NSObject which implements “AppItSDKResponse” protocol. It is used for receiving SDK callbacks. | ||
employeeCode | String | null | Unique code of employee | |
additionalDictionary | NSMutableDictionary | Additional mandatory data keys: "Service_ID": "", |
||
biometricType | String | FACE VOICE 4F |
Include the ranges that are required to be verified. | |
isFinalSubmit | Boolean | Set TRUE to execute submit request | ||
clearFormKey | Boolean | Clear form key once operation is executed successfully |
Customer Search
Used to search a customer with or without biometrics. This function is used for service ID 185 (biometric) and 186 (non-biometric).
[AppItSDK genericApiCall:(id)instance genericDataDictionary:(NSMutableDictionary *)genericDataDictionary]
Customer Search Parameter
Parameter | Type | Description |
---|---|---|
genericDataDictionary | NSMutableDictionary | { “country_id”: “”, “state_id”: “”, “id_type”: “”, “country_id_secondary”: “”, “state_id_secondary”: “”, “id_type_secondary”: “”, “additionalDataJSON”: { "Service_ID": "",//Mandatory "Unique_Customer_Number": "", // "Old_Client_Customer_Number": "", "Customer_Name": "", "Customer_Type": "", "Customer_Phone": "", "Customer_Email": "", "Gender": "", "Address_Line_1": "", "Address_Line_2": "", "Country": "", "State": "", "City": "", "Postal_Code": "", }, “clear_form_key”: “”, “emailId”: “”, “mobileNo”: “”, “notificationType”: “”, “receivedOTP”: “”, “addressJson”: “”, “empCode”: “”, “employeeDataJSON”: { "Employee_Code":"", //Mandatory "Login_ID": "", "Employee_Email": "", "Employee_Organization":"", "Employee_Name":"", "Employee_MobileNumber":"", "Employee_ID_Number":"", "Employee_Country":"", "Employee_DateOfBirth ":"", "Employee_Email ":"", "Employee_Gender ":"", "Employee_AddressLine1 ":"", "Employee_AddressLine2 ":"", "Employee_State":"", "Employee_Nationality":"", } } |
Employee Search
Used to search an employee with or without biometrics. This function is used for service ID 190 (biometric) and 191 (non-biometric).
[AppItSDK genericApiCall:(id)instance genericDataDictionary:(NSMutableDictionary *)genericDataDictionary]
Employee Search Parameter
Parameter | Type | Description |
---|---|---|
genericDataDictionary | NSDictionary | { “country_id”: “”, “state_id”: “”, “id_type”: “”, “additionalDataJSON”:{ "Service_ID": "",//Mandatory "Unique_Customer_Number": "", // "Old_Client_Customer_Number": "", "Customer_Name": "", "Customer_Type": "", "Customer_Phone": "", "Customer_Email": "", "Gender": "", "Address_Line_1": "", "Address_Line_2": "", "Country": "", "State": "", "City": "", "Postal_Code": "", }, “clear_form_key”: “”, “emailId”: “”, “mobileNo”: “”, “notificationType”: “”, “receivedOTP”: “”, “addressJson”: “”, “empCode”: “”, “employeeDataJSON”: { "Employee_Code":"", //Mandatory "Login_ID": "", "Employee_Email": "", "Employee_Organization":"", "Employee_Name":"", "Employee_MobileNumber":"", "Employee_ID_Number":"", "Employee_Country":"", "Employee_DateOfBirth ":"", "Employee_Email ":"", "Employee_Gender ":"", "Employee_AddressLine1 ":"", "Employee_AddressLine2 ":"", "Employee_State":"", "Employee_Nationality":"", } |
Generic API Call
Below call is the generic implementation of all the above calls. Instead of calling separate function for different service ID we can use the below call and pass the required data with proper service ID.
[AppItSDK genericApiCall:(id)instance genericDataDictionary:(NSMutableDictionary*)genericDataDictionary]
This is the swift method:
AppItSDK.genericApiCall(instance: Any!, genericDataDictionary: NSMutableDictionary!)
Generic API Parameter
Parameter | Type | Description | |
---|---|---|---|
GenericDataDictionary | NSDictionary | { |
ID Auto Extraction
The ID Auto Extraction functionality provides an option to capture the barcode, MRZ or QR code from an ID document, automatically extract the data from it, and use it to prefill data into an application, in offline mode. This is done with Service ID 620.
For Autofill we have to call the below method with given parameters.
[AppItSDK autoFill:(id)instance idCaptureConfig:(NSMutableDictionary*)idCaptureConfig additionalDictionary:(NSMutableDictionary*)additionalDictionary];
This is the swift method:
AppItSDK.autoFill(instance: Any!, idCaptureConfig: NSMutableDictionary!, additionalDictionary: NSMutableDictionary!)
Autofill Parameters
Parameter | Type | Description |
---|---|---|
Instance | Self | Instance of NSObject which implements “AppItSDKResponse” protocol. It is used for receiving SDK callbacks. |
idCaptureConfig | NSMutableDictionary | /*** We can use following config JSON to pass all the configuration parameter; all the values should be sent as String ***/ {id_capture_both_side : "N", //Its value can be Y/N id_side : "FRONT", //Its value can be FRONT/BACK id_default_request_timeout : "10", } |
After scanning the ID, it will return a response on the below call-back method.
-(void)autoFillResponse : (NSMutableDictionary*) result;
Offline Liveness Detection
The offline liveness detection is used to collect a series of selfie images from an individual to determine if they are a live person, not a spoof.
For using this service, pass a value of 660 in the Service ID in additional data information while calling “detectFace” function.
Additional SDK Features
The features listed in the section below are utilized in combination with the services listed above. For example, when executing Service ID 50 which is ID Validation + Face Matching with Customer Enrollment, an application could utilize all of the following features for a more robust enrollment:
- Voice Recording
- Video Recording
- Video Conferencing
- Signature Capture
- Fingerprint Capture
- Card Capture
- Scan Barcode
- Generic Document Capture (for capturing a proof of address document like a bank statement)
- GPS Capture
Video Recording
To complete the video recording:
[AppItSDK startVideoRecording:(UIViewController*)instance recordingTime:(int)recordingTime minrecordingTime:(int)minrecordingTime additionalDictionary:(NSMutableDictionary*)additionalDictionary textDatatoScrolled:(NSString*)textDatatoScrolled]
This is the swift method:
AppItSDK.startVideoRecording(instance: UIViewController!, recordingTime: Int32, minrecordingTime: Int32, additionalDictionary: NSMutableDictionary!, textDatatoScrolled: String!)
Video Recording Parameters
Parameter | Type | Default | Description |
---|---|---|---|
recordingTime | Integer | 10 | Its maximum Video recording time |
minrecordingTime | Integer | 5 | Its minimum Video recording time |
textDatatoScrolled | NSString | Text message to be shown on video recording screen |
Video Conferencing
To complete the video conferencing operation, use the following call:
[AppItSDK startVideoConferencing:(UIViewController*)instance videoConferenceData:(NSMutableDictionary*)videoConferenceData]
This is the swift method:
AppItSDK.startVideoConferencing(instance: Any!, videoConferenceData: NSMutableDictionary!)
Video Conferencing Parameters
Parameter | Type | Description |
---|---|---|
videoConferenceData | Dictionary |
"FORM_ID" (Optional) "vc_text_label_message" "vc_text_fontName" "vc_text_label_size" "vc_text_label_color" "vc_text_background_color" "vc_text_label_color_alpha" "vc_text_background_color_alpha" "vc_text_position" or user can send empty dictionary |
Voice Recording
To record voice, use the following call:
[AppItSDK startVoiceRecording:(id)instance recordingTime:(int)recordingTime additionalDictionary (NSMutableDictionary*)additionalDictionary];
This is the swift method:
AppItSDK.startVoiceRecording(instance: Any!, recordingTime: NSMutableDictionary!, additionalDictionary:int!)
Voice Recording Parameters
Parameter | Type | Default | Description |
---|---|---|---|
instance | ID | Instance of view controller | |
recordingTime | Integer | 10 | Voice Recording time |
Signature Capture
To capture a signature, use the following code:
[AppItSDK captureSignature:(id)instance uiConfigDictionary:(NSMutableDictionary*)uiConfigDictionary];
This is the swift method:
AppItSDK.captureSignature(instance: Any!, uiConfigDictionary: NSMutableDictionary!)
Signature Capture Parameters
Parameter | Type | Description |
---|---|---|
instance | ID | Instance of view controller |
uiConfigDictionary | NSMutableDictionary |
{ signature_capture_background: “N” signature_capture_portrait: “N” Enable_Digital_Signature: “N” signature_title_label_message: “Sign” } |
4F Fingerprint Capture
To capture four fingerprints using the device camera, use the following call:
[AppItSDK captureFourFingerprint:(id)instance cameraFingerCaptureConfig:(NSMutableDictionary *)cameraFingerCaptureConfig];
This is the swift method:
AppItSDK.captureFourFingerprint(instance: Any!, cameraFingerCaptureConfig: NSMutableDictionary!)
Fingerprint Capture Parameters
Parameter | Type | Description |
---|---|---|
instance | ID | Instance of view controller |
cameraFingerCaptureConfig | Integer |
{
"cfc_indexfinger_min_threshold" = "40" "cfc_middlefinger_min_threshold" = "40" "cfc_ringfinger_min_threshold" : "40" "cfc_babyfinger_min_threshold" : "40" "cfc_indexfinger_threshold" : "100" "cfc_middlefinger_threshold" : "100" "cfc_ringfinger_threshold" : "100" "cfc_babyfinger_threshold" : "70" "cfc_process_indexfinger" : "Y" "cfc_process_middlefinger" : "N" "cfc_process_ringfinger" : "N" "cfc_process_babyfinger" : "N" "cfc_keep_index_finger" : "Y" "cfc_keep_middle_finger" : "N" "cfc_keep_ring_finger" : "N" "cfc_keep_baby_finger" : "N" "cfc_zoom_camera" : "1" "cfc_process_4k_image" : "N" } |
Clear All Fingerprints
To clear all fingerprints, use the following call:
[AppItSDK clearSelectedFingerPrint:(id)instance selectedFinger:(NSString *)selectedFinger];
This is the swift method:
AppItSDK.clearAllFingerprints(instance: Any!)
Clear All Fingerprints Parameter
Parameter | Type | Description |
---|---|---|
clearFormKey | boolean | Clear form key once operation is executed successfully |
All captured data stored in internal storage will be deleted.
Clear Fingerprint
To clear fingerprint, use the following call:
ImageProcessingSDK.clearFingerprint(FingerType fingerType)
This is the swift method:
AppItSDK.clearSelectedFingerPrint(instance: Any!, selectedFinger: String!)
Parameter | Type | Default | Description |
---|---|---|---|
fingerType | FingerType class | RTHUMB | Finger to be selected |
Card Capture
To capture a debit/credit card, use the following call:
[AppItSDK detectCard:(id)instance];
[AppItSDK detectCard:(id)instance additionalDictionary:(NSMutableDictionary*)additionalDictionary];
This is the swift method:
AppItSDK.detectCard(instance: Any!, additionalDictionary: NSMutableDictionary!)
Parameter | Type | Description |
---|---|---|
instance | ID | Instance of view controller |
All captured data stored in internal storage will be deleted.
Scan Barcode
To capture QR Code or Barcode, use the following call:
[AppItSDK scanBarcode:(id)instance];
This is the swift method:
AppItSDK.scanBarcode(instance: Any!)
Parameter | Type | Description |
---|---|---|
instance | ID | Instance of view controller |
Generic Document Capture
To capture a generic document, use the following call:
[AppItSDK captureGenericDocument:(id)instance capturePortrait:(bool)capturePortrait minimumLightThreshold:(int)minimumLightThreshold minimumFocusThreshold:(int)minimumFocusThreshold GlarePercentage:(int)GlarePercentage EnableCaptureButtonTime:(int)EnableCaptureButtonTime ImageSize:(int)ImageSize ImageHeight:(int)ImageHeight ImageWidth:(int)ImageWidth additionalDictionary:(NSMutableDictionary *)additionalDictionary idOutlineColor:(NSString*)idOutlineColor idOutlineColorTransparency:(int)idOutlineColorTransparency detectedPOAOutlineColor:(NSString*)detectedPOAOutlineColor detectedPOAColorOutlineTransperency:(int)detectedPOAColorOutlineTransperency idOutsideOutlineColor:(NSString*)idOutsideOutlineColor idOutsideOutlineColorTransparency:(int)idOutsideOutlineColorTransparency detectedColorOutsideOutline:(NSString*)detectedColorOutsideOutline detectedColorOutsideOutlineTransparency:(int)detectedColorOutsideOutlineTransparency titleImage:(UIImage *)titleImage showInstruction:(bool)showInstruction instructionimage:(UIImage *)instructionimage genericFieldName:(NSString*)genericFieldName];
Generic Document Capture Parameters
Parameter | Type | Default | Range | Description |
---|---|---|---|---|
instance | Self | - | Instance of NSObject which implements “AppItSDKResponse” protocol. It is used for receiving SDK callbacks. | |
Boolean | For launching camera in portrait/landscape mode | |||
ImageSize | Integer | 500 | 256-2048 | Maximum image size in kb |
maxFocusThreshold | Integer | 25 | 10-50 | Minimum focus required |
minFocusThreshold | Integer | 15 | 5-30 | Bare minimum(fallback) focus required |
ImageHeight | Integer | 830 | 640-1920 | Image Height in pixels |
ImageWidth | Integer | 1170 | 480-1280 | Image Width in Pixels |
minimumLightThreshold | Integer | 60 | 50-100 | Minimum light required |
EnableCaptureButtonTime | Integer | 15 | 5-200 | No. of seconds after which manual capture is enabled |
GlarePercentage | Integer | 1 | 0-50 | Maximum glare in percentage allowed |
idOutlineColor | NSString | 6EB24C |
Hex color string without # | |
idOutlineColorTransparency | Integer | 1 | 1-100 | Transparency from 1-100 where 1 is minimum transparency |
idOutsideOutlineColor | NSString | 487D95 |
1-100 | Hex color string without # |
idOutsideOutlineColorTransparency | Integer | 1 | 1-100 | Transparency from 1-100 where 1 is minimum transparency |
detectedOutsideFaceOutlineColor |
NSString | 487D95 | Hex color string without # | |
detectedOutsideFaceOutlineColorTrans |
Integer | 1 | 1-100 | Transparency value from 1 to 100 where 1 is min. transparency |
titleImageFace |
UIImage | Title image | ||
showIntruction | Boolean | false | true/false | To show instruction screen |
imageresourceid | UIImage | Default instruction image | Custom instruction image | |
genericFieldName | NSString | Generate document according to field name. |
GPS Capture
To capture GPS coordinates, use the following call:
[AppItSDK getGPSCoordinate:(id)instance];
This is the swift method:
AppItSDK.getGPSCoordinate(instance: Any!)
Parameter | Type | Description |
---|---|---|
instance | Self | Instance of NSObject which implements “AppItSDKResponse” protocol. It is used for receiving SDK callbacks. |
[AppItSDK captureGenericDocument:(id)instance additionalDictionary:(NSMutableDictionary*)additionalDictionary uiConfigDictionary:(NSMutableDictionary*)uiConfigDictionary fieldName:(NSString*)fieldName];
Additional Generic Document Capture Parameters
Parameter | Type | Default | Range | Description |
---|---|---|---|---|
instance | Self | Instance of NSObject which implements “AppItSDKResponse” protocol. It is used for receiving SDK callbacks. | ||
configDictionary | NSMutableDictionary | /*** We can use following config JSON to pass all the configuration parameter; if no value is sent, it will use default value; all the values should be sent as String ***/ Note: For customizing UI use “customizeUserInterface” method with JSON string. {id_capture_portrait : "N", /***supported parameter Y/N ***/ id_light_threshold : "70", id_min_focus : "12", id_max_focus : "35", id_glare_percentage : "5", id_enable_capture_button_time : "60", id_max_image_size : "500", id_image_height : "1170", id_image_width : "830", id_show_instruction : "N", /***supported parameter Y/N ***/ id_capture_enable : "N", /***supported parameter Y/N ***/ id_generic_doc_fieldname : "" } |
Delete Image
To delete captured image data, use the following call:
[AppItSDK deleteData];
This is the swift method:
AppItSDK.deleteData()
Get Metada
To get metada for captured image, use the following call:
[AppItSDK getMetadata];
This is the swift method:
AppItSDK.getMetadata()
Get Model Downloaded Information
To get Model downloaded information, use the following call:
[AppItSDK getModelDownloadInformation];
This is the swift method:
AppItSDK.getModelDownloadInformation()
Callback Instructions
To receive callbacks, the following functions are required for corresponding operations as listed below:
-(void)initializeSDKResponse : (NSMutableDictionary*) result;
-(void)modelDownloadResponse : (NSMutableDictionary*) result;
-(void)faceDetectionResponse : (NSMutableDictionary*) result;
-(void)captureImageResponse : (NSMutableDictionary*) result;
-(void)voiceRecordingResponse : (NSMutableDictionary*) result;
-(void)videoRecordingResponse : (NSMutableDictionary*) result;
-(void)videoConferencingResponse : (NSMutableDictionary*) result;
-(void)captureSignatureResponse : (NSMutableDictionary*) result;
-(void)fourFingerprintDetectionResponse : (NSMutableDictionary*) result;
-(void)cardDetectionResponse : (NSMutableDictionary*) result;
-(void)scanBarcodeResponse : (NSMutableDictionary*) result;
-(void)genericDocumentResponse : (NSMutableDictionary*) result;
-(void)gpsCoordinateResponse : (NSMutableDictionary*) result;
-(void)snippetCaptureResponse : (NSMutableDictionary*)result;
-(void)autoFillResponse : (NSMutableDictionary*) result;
-(void)genericApiCallResponse : (NSMutableDictionary*)result;
-(void)fingerprintEnrolmentResponse : (NSMutableDictionary*) result;
-(void)fingerprintVerificationResponse : (NSMutableDictionary*) result;
-(void)processImageResponse : (NSMutableDictionary*) result;
-(void)proofOfAddressDetectionResponse : (NSMutableDictionary*) result;
-(void)bankStatementDetectionResponse : (NSMutableDictionary*) result;
-(void)birthCertificateDetectionResponse : (NSMutableDictionary*) result;
-(void)faceMatchingResponse : (NSMutableDictionary*) result;
-(void)processImageAndFaceMatchingResponse : (NSMutableDictionary*) result;
-(void)completeOperationResponse : (NSMutableDictionary*) result;
-(void)verifyCustomerResponse : (NSMutableDictionary*) result;
-(void)verifyPOAResponse : (NSMutableDictionary*)result;
-(void)createEmployeeResponse : (NSMutableDictionary*)result;
-(void)verifyEmployeeResponse : (NSMutableDictionary*)result;
-(void)generateTokenResponse : (NSMutableDictionary*)result;
-(void)verifyTokenResponse : (NSMutableDictionary*)result;
-(void)updateCustomerResponse : (NSMutableDictionary*)result;
-(void)generateOTPResponse : (NSMutableDictionary*)result;
-(void)verifyOTPResponse : (NSMutableDictionary*)result;
-(void)executeGenericResponse : (NSMutableDictionary*)result;
-(void)idValidationAndVideoMatchingResponse : (NSMutableDictionary*)result;
-(void)updateGenericResponse : (NSMutableDictionary*)result;
-(void)updateEmployeeResponse : (NSMutableDictionary*)result;
-(void)downloadXsltResultResponse : (NSMutableDictionary*) result;
The result dictionary object will contain all the callback data.
Result Parameter |
Result Format |
|
---|---|---|
result | { Result = { "Status_Code" = ; "Status_Message" = ""; }; StatusCode = ; statusCode = ; statusMessage = ; } |
Result node in the dictionary will contain the response from the server. Result node will be returned in the callback when any server call is executed else SDK response will be returned in main dictionary object. |
Status Codes
The callback dictionary object will consist of statusCode and statusMessage. They can contain the following values:
Status Codes and Status Messages
Status Code | Status Message |
---|---|
0 | Success |
1 | SDK not initialized |
2 | Image not captured |
3 | No internet connection |
4 | Poor internet connectivity |
5 | Live face not detected |
6 | Request parameter not available |
7 | Invalid request parameter |
8 | Some error occurred |
9 | Card not detected |
10 | Microphone permission required |
11 | Camera permission required |
12 | Operation cancel |
13 | SDK required minimum iOS-13 |
14 | Original call is in process. |
16 | Need minimum 1 MegaPixel Selfie Camera! |
18 | Real ID not detected, please try again. |
19 | Error: IDType & IDCountry not present |
23 | Autofill data extraction error |
24 | Not all models downloaded |
25 | Call disconnected |
26 | Location failed Localized error |
100 | Socket connection exception. {connect timeout} |
101 | Timeout for Response |
102 | Error in processing your request. {Unhandled Exception message} |
103 | Error in processing your request. Empty response received. |
104 | Error in processing your request. Unknown Host Exception. |
404 | Resource URL could not be found. Please correct URL |
500 | Error in processing your request. Internal Server Error |
502 | Error in processing your request. Bad gateway |
503 | Error in processing your request. Please try after some time. |
504 | Error in processing your request. Gateway timeout |
SDK Initialization Callback
To receive callbacks from SDK Initialization user needs to use below method in his Viewcontroller.
-(void)initializeSDKResponse : (NSMutableDictionary*) result;
SDK Initialization Result Parameters
Result Parameter | Description |
---|---|
statusCode | Response status Code |
statusMessage | Response status message |
Result | Its result dictionary with valid login status |
Status Code | Description |
---|---|
0 | Success |
1 | SDK not initialized |
3 | internet_error |
404 | Resource URL could not be found. Please correct URL |
500 | Error in processing your request. Internal Server Error |
502 | Error in processing your request. Bad gateway |
503 | Error in processing your request. Please try after some time. |
504 | Error in processing your request. Gateway timeout |
Model Downloaded Callback
To receive callbacks when all models are downloaded user needs to use below method in his Viewcontroller.
-(void)modelDownloadResponse : (NSMutableDictionary*) result;
Model Downloaded Result Parameters
Result Parameter | Description |
---|---|
statusCode | Response status Code |
statusMessage | Response status message |
Result | Its result dictionary with valid login status |
Status Code | Description |
---|---|
0 | All models downloaded |
24 | Not all model downloaded |
Live Face Detection Callback
To receive callbacks from Live Face Detection user needs to use below method in his Viewcontroller.
-(void)faceDetectionResponse : (NSMutableDictionary*) result;
Live Face Detection Result Parameters
Result Parameter | Description |
---|---|
statusCode | Response status Code |
statusMessage | Response status message |
FACE | Face image will be available in resultMap with key FACE. |
PROCESSED_FACE | Processed face image will be available in resultMap with key PROCESSED_FACE. |
OVAL_FACE | Processed face image with oval will be available in resultMap with key OVAL_FACE. |
Is_Auto_Capture | Posssible values will be Y/N |
Status Code | Description |
---|---|
0 | Success |
1 | SDK not initialized |
5 | Live face not detected |
11 | Camera permission required |
12 | Operation cancel. |
24 | Not all models downloaded |
ID Capture Callback
To receive callbacks from ID Capture user needs to use below method in his Viewcontroller.
-(void)captureImageResponse : (NSMutableDictionary*) result;
ID Capture Result Parameters
Result Parameter | Description |
---|---|
statusCode | Response status Code |
statusMessage | Response status message |
FRONT | Base64String for Front side of Image |
BACK | Base64String for Back side of Image |
Status Code | Description |
---|---|
0 | Success |
1 | SDK not initialized |
2 | Image not captured |
11 | Camera permission required |
12 | Operation cancel. |
18 | Real ID not detected, please try again. |
24 | Not all models downloaded |
Autofill Callback
To receive callbacks from ID Autofill user needs to use below method in his Viewcontroller.
-(void)autoFillResponse : (NSMutableDictionary*) result;
Autofill Result Parameters
Result Parameter | Description |
---|---|
statusCode | Response status Code |
statusMessage | Response status message |
Image | Base64String for Front/Back side of Image |
Result | Extracted data dictionary |
Status Code | Description |
---|---|
0 | Success |
1 | SDK not initialized |
2 | Image not captured |
3 | internet_error |
11 | Camera permission required |
12 | Operation cancel. |
23 | Autofill data extraction error |
24 | Not all models downloaded |
101 | Request timeout |
103 | Empty response. |
104 | Error in processing your request. Unknown Host Exception. |
Voice Recording Callback
To receive callbacks from Voice Recording user needs to use below method in his Viewcontroller.
-(void)voiceRecordingResponse : (NSMutableDictionary*) result;
Voice Recording Result Parameters
Result Parameter | Description |
---|---|
statusCode | Response status Code |
statusMessage | Response status message |
VOICE_DATA | VoiceData local file path |
Status Code | Description |
---|---|
0 | Success |
1 | SDK not initialized |
10 | Microphone permission required |
12 | Operation cancel. |
Video Recording Callback
To receive callbacks from Video Recording user needs to use below method in his Viewcontroller.
-(void)videoRecordingResponse : (NSMutableDictionary*) result;
Video Recording Result Parameters
Result Parameter | Description |
---|---|
statusCode | Response status Code |
statusMessage | Response status message |
VIDEO_DATA | VideoData local file path |
Status Code | Description |
---|---|
0 | Success |
1 | SDK not initialized |
3 | No internet connection |
10 | Microphone permission required |
11 | Camera permission required |
12 | Operation cancel. |
Video Conferencing Callback
To receive callbacks from Video Conferencing user needs to use below method in his Viewcontroller.
-(void)videoConferencingResponse : (NSMutableDictionary*) result;
Video Conferencing Result Parameters
Result Parameter | Description |
---|---|
statusCode | Response status Code |
statusMessage | Response status message |
Status Code | Description |
---|---|
0 | Success |
1 | SDK not initialized |
3 | No internet connection |
10 | Microphone permission required |
11 | Camera permission required |
12 | Operation cancel. |
25 | Call disconnected |
100 | Socket connection exception. {connect timeout} |
Signature Capture Callback
To receive callbacks from Signature Capture user needs to use below method in his Viewcontroller.
-(void)captureSignatureResponse : (NSMutableDictionary*) result;
Signature Capture Result Parameters
Result Parameter | Description |
---|---|
statusCode | Response status Code |
statusMessage | Response status message |
signatureImage | Base64String for Captured Signature |
signature_X_Cordinate | Array of Y-Cordinates for signature |
signature_Y_Cordinate | Array of X-Cordinates for signature points |
signature_cordinate_TimeStamp | Array of ordinates timestamp for signature points |
Status Code | Description |
---|---|
0 | Success |
1 | SDK not initialized |
2 | Image not captured |
12 | Operation cancel. |
4F Fingerprint Capture Callback
To receive callbacks from 4F Fingerprint Capture user needs to use below method in his Viewcontroller.
-(void)fourFingerprintDetectionResponse : (NSMutableDictionary*) result;
4F Fingerprint Capture Result Parameters
Result Parameter | Description |
---|---|
statusCode | Response status Code |
statusMessage | Response status message |
LIFINGER | Base64String for Left Index Finger |
LMFINGER | Base64String for Left Middle Finger |
LRFINGER | Base64String for Left Ring Finger |
LLFINGER | Base64String for Left Little Finger |
RIFINGER | Base64String for Right Index Finger |
RMFINGER | Base64String for Right Middle Finger |
RRFINGER | Base64String for Right Ring Finger |
RLFINGER | Base64String for Right Little Finger |
Status Code | Description |
---|---|
0 | Success |
1 | SDK not initialized |
11 | Camera permission required |
12 | Operation cancel. |
24 | Not all models downloaded |
Card Capture Callback
To receive callbacks from Card Capture user needs to use below method in his Viewcontroller.
-(void)cardDetectionResponse : (NSMutableDictionary*) result;
Card Capture Result Parameters
Result Parameter | Description |
---|---|
statusCode | Response status Code |
statusMessage | Response status message |
CardType | Card type |
CardNumber | Card number |
CardExpiryDate | Card expiry date |
CARD | Redacted card image |
Status Code | Description |
---|---|
0 | Success |
1 | SDK not initialized |
3 | No internet connection |
11 | Camera permission required |
12 | Operation cancel. |
Scan Barcode Callback
To receive callbacks from Scan Barcode user needs to use below method in his Viewcontroller.
-(void)scanBarcodeResponse : (NSMutableDictionary*) result;
Scan Barcode Result Parameters
Result Parameter | Description |
---|---|
statusCode | Response status Code |
statusMessage | Response status message |
format | Barcode Format type |
content | Barcode data Content |
defaultBarcodeImage | Barcode Image data |
Status Code | Description |
---|---|
0 | Success |
1 | SDK not initialized |
11 | Camera permission required |
12 | Operation cancel. |
Generic Document Capture Callback
To receive callbacks from Generic Document Capture user needs to use below method in his Viewcontroller.
-(void)genericDocumentResponse : (NSMutableDictionary*) result;
Generic Document Capture Result Parameters
Result Parameter | Description |
---|---|
statusCode | Response status Code |
statusMessage | Response status message |
GENERIC_DOCUMENT | Captured document Image |
Status Code | Description |
---|---|
0 | Success |
1 | SDK not initialized |
11 | Camera permission required |
12 | Operation cancel. |
24 | Not all models downloaded |
GPS Capture Callback
To receive callbacks from GPS Capture user needs to use below method in his Viewcontroller.
-(void)gpsCoordinateResponse : (NSMutableDictionary*) result;
GPS Capture Result Parameters
Result Parameter | Description |
---|---|
statusCode | Response status Code |
statusMessage | Response status message |
latitude | Latitude |
longitude | Longitude |
Status Code | Description |
---|---|
0 | Success |
1 | SDK not initialized |
12 | Operation cancel. |
Snippet Capture Callback
To receive callbacks from Snippet Capture user needs to use below method in his Viewcontroller.
-(void)snippetCaptureResponse : (NSMutableDictionary*)result;
Snippet Capture Result Parameters
Result Parameter | Description |
---|---|
statusCode | Response status Code |
statusMessage | Response status message |
resultImage | Base64String of captured image |
SnippetDictionary | Dictionary which content selected snippet data |
Status Code | Description |
---|---|
0 | Success |
1 | SDK not initialized |
12 | Operation cancel. |
Generic API Callback
To receive callbacks from Generic API user needs to use below method in his Viewcontroller.
-(void)genericApiCallResponse : (NSMutableDictionary*)result;
Generic API Result Parameters
Result Parameter | Description |
---|---|
statusCode | Response status Code |
StatusCode | Response status Code |
statusMessage | Response status message |
Result | Its final result dictionary contains actual response from the server in key-value format |
keyArray | It contais only the keys which are available in result dictionary |
Status Code | Description |
---|---|
0 | Success |
1 | SDK not initialized |
3 | No internet connection |
8 | Some error occurred |
100 | Socket connection exception. {connect timeout} |
101 | Timeout for Response |
102 | Error in processing your request. {Unhandled Exception message} |
103 | Error in processing your request. Empty response received. |
104 | Error in processing your request. Unknown Host Exception. |
404 | Resource URL could not be found. Please correct URL |
500 | Error in processing your request. Internal Server Error |
502 | Error in processing your request. Bad gateway |
503 | Error in processing your request. Please try after some time. |
504 | Error in processing your request. Gateway timeout |
Processing the Image
The callback will contain statusCode, statusMessage and Result dictionary object. The Result dictionary object can contain the following values:
Processing the Image Result Parameters
Result Parameter | Description | Result Parameter | Description |
---|---|---|---|
Status_Code | Response status Code | DocumentType | ID type from the matched template |
Status_Message | Response status message | IssueDate | Issued date |
Valid_Issue_Date | Valid issue date flag | IssuingCountry | Country code of issuing country |
Address | Full Address | Low_Resolution | Indicates if the image is high enough quality |
Age_Over_18 | Age over 18 flag | MRZ_Data | Machine-readable zone data |
Date_of_Birth | Date of birth | MRZ_Detected | Machine-readable zone data detected on front/back flag |
Exception | Image processing Java error message | MRZErrorMessages | MRZ check digit error |
Expiration_Date | Date ID Expires | MRZValid | MRZ valid flag |
Face_Detected | Face detection flag | Name | Full name from the ID |
First_Name | First name from the ID | Last_Name | Last name from the ID |
Middle_Name | Middle name from the ID | MatchingTemplateFound | Indicates if a matching ID template was found for the submitted ID |
EnoughFeatureFound | Indicates if the total number of features meet thresholds | EnoughFeaturesFoundOnID_BACK | Indicates if the number of features meet thresholds for back |
EnoughFeaturesFoundOnID_FRONT | Indicates if the number of features meet thresholds for front | Nationality | Nationality on the ID |
FormID | Unique ID assigned to the form | ColorCode | Indicates if the image is color or greyscale |
ID_Country | 3-character ISO country code | Security_Feature_Match | Security feature matched |
ID_Not_Expired | ID Expired flag | ID_State | ISO 2-digit state |
ID_Number | ID/Document Number | State | Response state from the server based on the Svc ID |
IDNumber2 | Secondary ID number | Address Line 1 | AddressLine1 |
Address Line 2 | AddressLine2 | Form_Key | Unique ID assigned by you or our server for the request |
Request_Id | Unique ID assigned by our server for the request | Form State Code | This includes the 'Form State Code' based on 'Form State' which has been populated in response.(For example, if the Form State is 'Approved' then Form State Code will be 00). For all available Form States, please refer to the ID Validation / Form Status and State Codes section of this document. |
Process Image and Facial Biometric Verification
The Result dictionary object can contain the following values:
Process Image and Facial Biometric Result Parameters
Result Parameter | Description | Result Parameter | Description |
---|---|---|---|
Status_Code | Response status Code | DocumentType | ID type from the matched template |
Status_Message | Response status message | IssueDate | Issued date |
Valid_Issue_Date | Valid issue date flag | IssuingCountry | Country code of issuing country |
Address | Full Address | Low_Resolution | Indicates if the quality of the image is high enough |
Age_Over_18 | Age over 18 flags | MRZ_Data | Machine-readable zone data |
Date_of_Birth | Date of birth | MRZ_Detected | Machine-readable zone data detected on front/back flag |
Exception | Image processing Java error message | MRZErrorMessages | MRZ check digit error |
Expiration_Date | Date ID Expires | MRZValid | MRZ valid flag |
Face_Detected | Face detection flag | Name | Full name from the ID |
First_Name | First name from the ID | Last_Name | Last name from the ID |
Middle_Name | Middle name from the ID | MatchingTemplateFound | Indicates if a matching ID template was found for the submitted ID |
EnoughFeatureFound | Indicates if the total number of features meet thresholds | EnoughFeaturesFoundOnID_BACK | Indicates if the number of features meet thresholds for back |
EnoughFeaturesFoundOnID_FRONT | Indicates if the number of features meet thresholds for front | Nationality | Nationality on the ID |
FormID | Unique ID assigned to the form | ColorCode | Indicates if the image is color or greyscale |
ID_Country | 3-character ISO country code | Security_Feature_Match | Security feature matched |
ID_Not_Expired | ID Expired flag | ID_State | ISO 2-digit state |
ID_Number | ID/Document Number | State | Response state from the server based on the Svc ID |
IDNumber2 | Secondary ID number | Address Line 1 | AddressLine1 |
Address Line 2 | AddressLine2 | Form_Key | Unique ID assigned by you or our server for the request |
Request_Id | Unique ID assigned by our server for the request | FaceVerificationStatus | Face verification result |
Form State Code | This includes the 'Form State Code' based on 'Form State' which has been populated in response. (For example, if the Form State is 'Approved' then Form State Code will be 00). For all available Form State please refer to the ID Validation / Form Status and State Codes section of this document. |
Customer Enrollment
-(void)fingerprintEnrolmentResponse : (NSMutableDictionary*) result;
Customer Enrollment Result Parameters
Result Parameter | Description |
---|---|
Status | Response status Code |
Status_Message | Response status message |
Request_Id | Unique ID assigned by the server |
FormKey | Unique ID assigned by the application or our server if not provided |
FormID | Form identifier |
State | Status of the request For all available Form States, please refer to the ID Validation / Form Status and State Codes section of this document. |
Employee Enrollment
-(void)createEmployeeResponse : (NSMutableDictionary*) result;
Customer Enrollment Result Parameters
Result Parameter | Description |
---|---|
Status | Response status Code |
Status_Message | Response status message |
Request_Id | Unique ID assigned by the server |
FormKey | Unique ID assigned by the application or our server if not provided |
FormID | Form identifier |
State | Status of the request For all available Form States, please refer to the ID Validation / Form Status and State Codes section of this document. |
Customer Update
-(void)updateCustomerResponse : (NSMutableDictionary*) result;
Customer Update Result Parameters
Result Parameter | Description |
---|---|
Status | Response status Code |
Status_Message | Response status message |
Request_Id | Unique ID assigned by the server |
FormKey | Unique ID assigned by the application or our server if not provided |
FormID | Form identifier |
State | Status of the request For all available Form State please refer to the ID Validation / Form Status and State Codes section of this document. |
Employee Update
-(void)updateEmployeeResponse : (NSMutableDictionary*) result;
Employee Update Result Parameters
Result Parameter | Description |
---|---|
Status | Response status Code |
Status_Message | Response status message |
Request_Id | Unique ID assigned by the server |
FormKey | Unique ID assigned by the application or our server if not provided |
FormID | Form identifier |
State | Status of the request For all available Form States, please refer to the ID Validation / Form Status and State Codes section of this document. |
Customer Verification
The callback will contain statusCode, statusMessage and Result dictionary object. The Result dictionary object can contain the following values.
Customer Verification Result Parameters
Result Parameter | Description |
---|---|
Status_Code | Response status Code |
Status_Message | Response status message |
FormID | Form ID generated for this request |
State | Status of the request based on verification status |
CustomerVerificationStatus | Biometric Verification result Note: Scores may be returned but are information only, the result should always come from this field. |
Employee Verification
Employee Verification Result Parameters
Result Parameter | Description |
---|---|
Status_Code | Response status Code |
Status_Message | Response status message |
Request_Id | Unique ID assigned by the server |
FormKey | Unique ID assigned by the application or our server if not provided |
FormID | Form identifier |
State | Status of the request based on verification status |
Employee_Verify_Status | Biometric Verification result Note: Scores may be returned but are information only, the result should always come from this field. |
Customer Search
-(void)genericApiCallResponse : (NSMutableDictionary*)result;
Customer Search Result Parameters
Result Parameter | Description |
---|---|
Status_Code | Response status Code |
Status_Message | Response status message |
Request_Id | Unique ID assigned by the server |
FormKey | Unique ID assigned by the application or our server if not provided |
FormID | Form identifier |
State | Status of the request based on Search status. For all available Form States, please refer to the ID Validation / Form Status and State Codes section of this document. |
Employee Search
-(void)genericApiCallResponse : (NSMutableDictionary*)result;
Employee Search Result Parameters
Result Parameter | Description |
---|---|
Status_Code | Response status Code |
Status_Message | Response status message |
Request_Id | Unique ID assigned by the server |
FormKey | Unique ID assigned by the application or our server if not provided |
FormID | Form identifier |
State | Status of the request based on Search status. For all available Form States, please refer to the ID Validation / Form Status and State Codes section of this document. |
ID Validation / Form Status and State Codes
All process image callbacks include the formStatus, which shows the results of the ID Validation and additional processing if completed. The table below describes each formStatus that can be returned, the recommended actions to be taken by your application and the state codes that can be returned.
Form Status Returns and State Codes
State Code |
Form Status |
Description | Recommended Actions |
---|---|---|---|
00 | Approved | - All checks in our system have passed - Data was extracted with the level of accuracy within our defined thresholds based on image quality. |
- No action required - ID is approved |
50 | Barcode Unreadable | If a barcode is expected to be present, and the barcode data is not detected by our system. | The application using this SDK should prompt the user to recapture the images where the barcode is present in better lighting without glare so the ID can be processed properly. |
32 | Biometric Match Fail | If the user’s biometric data (face, voice, and/or fingerprint) captured does not match the biometric data in the database from a previously enrolled user. | The application using this SDK/API should prompt the user to recapture their biometric information, ensuring that face, fingerprint, or voice is be captured with clarity and accuracy. |
46 | Customer Found | If the customer biometric data (face, voice, and/or fingerprint) has matched the biometric data in the database of a previous enrollment. | - No action required - Customer verification is approved. |
44 | Customer Not Found | If the customer biometric data (face, voice, and/or fingerprint) cannot be found while attempting to match the biometric data in the database from previously enrolled users. | The application using this SDK/API should prompt the user to recapture their biometric information, ensuring that face, fingerprint, or voice is be captured with clarity and accuracy. |
34 | Customer Onboarded | - All validation and security checks in our system have passed. - The customer was successfully enrolled in the database. |
- No action required - Customer enrollment is approved. |
37 | Customer Onboarding Failed | - The customer ID documents and/or biometric have failed one or more validation checks in our system. - The customer was not enrolled into the database. |
- The application using this SDK/API should prompt the user to reattempt enrollment. - When reattempting to enroll, the recapture should be completed in a well-lit room with the ID documents and fully visible, ensuring that face, fingerprint, or voice is be captured with clarity and accuracy. |
39 | Customer Updated | If the capture of customer data has updated a previously enrolled customer record. | - No action required - Customer data is successfully updated. |
35 | Duplicate Customer | The biometric data provided by the customer for a new enrollment has matched to a previously enrolled user. | - The application using the SDK should notify the customer that their enrollment has failed and they must contact their support center. |
36 | Duplicate Employee | The biometric data provided by the employee for a new enrollment has matched to biometric data from a previous enrollment. | - The application using the SDK should notify the employee that their enrollment has failed and they must contact their support center. |
47 | Employee Found | If the customer biometric data (face, voice, and/or fingerprint) has matched the biometric data in the database of a previous enrollment. | - No action required. - Customer verification is approved. |
45 | Employee Not Found | If the customer biometric data (face, voice, and/or fingerprint) does not match the biometric data in the database from a previously enrolled user. | The application using this SDK/API should prompt the user to recapture their biometric information, ensuring that face, fingerprint, or voice is be captured with clarity and accuracy |
33 | Employee Onboarded | - All validation and security checks in our system have passed. - The employee was successfully enrolled in the database. |
- No action required - Employee enrollment is approved. |
38 | Employee Onboarding Failed | - The employee ID documents and/or biometric data have failed one or more validation checks in our system. - The employee was not enrolled into the database. |
- The application using this SDK/API should prompt the user to reattempt enrollment. - When reattempting to enroll, the recapture should be completed in a well-lit room with the ID documents and fully visible, ensuring that face, fingerprint, or voice is be captured with clarity and accuracy. |
41 | Employee Updated | If the capture of employee data has updated a previously enrolled customer record. | - No action required - Employee data is successfully updated |
40 | xpired ID | If an ID has an expiration date that is expired as of today's date. | The application using this SDK should prompt the user to provide an ID that is not expired. |
31 | Face Not Detected | - A face is not detected on an image. - Typically, this occurs when the face is not present on the ID - In some cases, is due to poor image quality or image glare. |
The application using this SDK should prompt the user to provide a clear image of an ID that has a photo included. |
30 | Facial Biometric Match Failed | If a customer photo is captured and does not biometrically match the photo in the ID document, the ability to review the images is in the back-office. | The application using this SDK should prompt the user to capture a new selfie image. |
10 | ID Back Image not found | - The back of an ID is expected to be present - The back image was not sent or - A blank image was provided |
The application using this SDK should prompt the user to provide a clear image of the back of the ID. |
60 | ID Front and Back Mismatch | If the data extracted from the back of the ID image does not belong to the presented front of the ID image. | The application using the SDK should prompt the user to provide new front and back images because inconsistences were found. Note: If this occurs more than once, the application could decide to push this to a manual review queue because it could be an issue with OCR extraction accuracy. |
11 | ID Front Image Not Found | If the front of an ID is not uploaded or a blank image was provided. | The application using this SDK should prompt the user to provide a clear image of the front of the ID. |
61 | ID Not Accepted | If the uploaded ID is configured invalid for the selected country. | The application using this SDK should prompt the user to provide an ID that is in the list of accepted ID Types. Note: The application should prompt the user to select an ID type from a dropdown list, which reduces the likeliness of this result. |
62 | ID Type Mismatch | If the ID Type submitted doesn’t match the ID Type extracted from the ID Image. | The application using this SDK should prompt the user to select the ID Type that matches the Type of ID that was uploaded/captured. |
51 | IDNumber Match Failed | The ID Number that was extracted by OCR from the ID does not match the ID Number that was extracted from the MRZ or Barcode. | The application using this SDK/API should prompt the user to retry ID Validation. |
63 | Invalid ID Number | The ID Number on the ID does not match the pattern defined in the ID Template. | The application using this SDK should prompt the user to provide a new ID with a valid ID number. |
12 | Key Component Not Visible | A key component that is expected on the ID is missing such as the date of birth, expiration date, photo, etc. | The application using this SDK should prompt the user to provide a clear image of both the front and back of the ID. |
13 | Low Resolution | - The front or back image that is uploaded has been detected as low resolution or - The ID image is not a color/grayscale image based on resolution thresholds defined by IDmission. |
The application using this SDK should prompt the user to recapture the images in better lighting without glare so the ID can be processed properly. |
48 | Live Face Detected | If our system detects a live face from the selfie. | - No action required. - Live face detection was approved. |
49 | Live Face Not Detected | If our system does not detect a live face from the selfie image (e.g., if the selfie image is a photo of a photo, if the selfie image is a screen capture of a face, etc.) | The application using the SDK should prompt the user to retake the selfie ensuring that a live face is captured in good lighting. |
64 | MRZ and ID Data Mismatch | If the data extracted from the MRZ does not match the data extracted from the ID image itself. | The application using the SDK should prompt the user to provide new image(s) because inconsistences were found. Note: If this occurs more than once, the application could decide to push this to a manual review queue because it could be an issue with OCR extraction accuracy. |
65 | MRZ Invalid | If the MRZ Validation flag (Machine Readable Zone) results in determining that the MRZ Data was not correct according to the standards. | The application using this SDK should prompt the user to provide a valid ID as this was deemed invalid. |
66 | Name Match Failed | If the name submitted for the Customer or the Employee doesn’t meet the matching thresholds against the name extracted from the ID Document. | The application using this SDK should prompt the user to manually re-enter the name. |
14 | No Image Found | If the ID front and back images are black or white without any ID Image. | The application using this SDK should prompt the user to upload a new image and ensure there is no glare or damage to any of the data on the image. |
N/A | Pending Review | If no other conditions are met that push an ID into the listed states, it will go into Pending Review. | The application using this SDK should prompt the user that the ID could not be validated, and they should upload a new ID. |
53 | Real ID Detected | If our system detects a real ID from the ID image. | - No action required. - Real ID Detection was approved. |
54 | Real ID Not Detected | If our system does not detect a real ID from the ID image (e.g., if the ID image is a photocopy, if the ID image is a screen capture of an ID, etc.) | The application using the SDK should prompt the user to retake the ID image ensuring that a real ID is captured in good lighting. |
67 | Sample ID | If an ID has been decisioned by the manual review team as a sample. | The application using this SDK should prompt the user that: - The ID they have provided is not valid - To capture a different ID image. |
68 | Security Feature Invalid | If one or more security features defined for the ID template are detected as not matching with the image provided. | The application using the SDK could also decide to handle this directly and alert the user that the ID is invalid and to capture new images. |
01 | Submitted | If it is an asynchronous call via the API, the ID is awaiting process completion to be categorized into a form state. | - No action required |
69 | Suspected Sample | If an ID has been detected as a sample (logic has been configured to recognize sample ID numbers, names, watermarks and other suspected sample data.) | The application using this SDK should prompt the user that the ID they have provided is not valid and to capture an image of a different ID. |
70 | Suspected Tampering | - Photo editing software (e.g. Microsoft Paint, Adobe Photoshop) was detected. - Dates have been falsely created or modified in the ID document image. |
The application using this SDK should prompt the user that the ID they have provided is not valid and to capture an image of a different ID. |
73 | uspicious ID | - If an ID is found to be suspicious based on IDmission’s AI logic. | The application using this SDK should prompt the user that the ID they have provided is not valid and to capture an image of a different ID. |
71 | Tampered ID | If an ID has been decisioned by the manual review team as being tampered with / edited in some way. | The application using this SDK should prompt the user that the ID they have provided is not valid and to capture an image of a different ID. |
15 | Template Not Found | The correct template cannot be matched against those configured for the client. Note: The system will not find a template to associate with the image for correct data extraction and validation. |
The application using the SDK should prompt the user to capture a different ID. |
80 | hird Party Verification Failed | If an ID or data extracted from the ID has not been successfully verified by a third party. | - The application using this SDK/API should prompt the user that the ID they have provided has failed validation and to capture an image of a different ID. OR- If the user thinks it is an error, they can retry. |
72 | Under the age of 18 | If the date of birth (extracted from the barcode/MRZ) calculates the individual as under the age of 18. | The date of birth indicates that the user is under the age of 18 Note: The SDK can determine if this was already indicated in the application. If it was not indicated, the SDK should prompt for correct ID. |
Pending Manual Review ID Validation Results
If Manual Review is requested and the form moves into a ‘Review…’ formStatus, this is the list of values that the formStatus will show until manual review is completed. These are not the final form states, this is just a temporary formStatus that will be present until review is completed.
Pending Manual Review Form Status Returns
State Code |
Form Status |
Description | Recommended Actions |
---|---|---|---|
104 | Review Barcode | If a barcode is expected to be present, and the barcode data is not detected by our system. | Manual review of the ID in the Back Office to verify the information on the front of the ID against what is shown on the back. |
111 | Review Duplicate Employee Found | If the submitted biometric data matches data already associated with an enrolled employee. | The submission will be manually reviewed in the back-office to determine if the matches found are true duplicates and will action the form accordingly. |
95 | Review Expired ID | If an ID has an expiration date that is expired as of today's date. | Manual review of the ID in the back-office to determine if the ID is truly expired or not. |
93 | Review Face Not Detected | If a face is not detected on an image. The main reason for this is that the face was not present on the ID, however in some cases this could be due to poor image quality, or if there is a glare throughout the image. | Manual review of the ID in the Back Office to determine if a face is actually present on the ID. |
102 | Review Facial Biometric Match Not Verified | If a customer photo is captured and does not biometrically match the photo in the ID document, the ability to review the images is in the back office. | Manual review of the ID in the Back Office to determine if the Customer Photo is a match to the photo on the ID. If the person appears to be the same, it would be Approved, if not, it would be marked as ‘Facial Biometric Match Failed’. |
90 | Review Forced | This form state occurs when the Manual Review flag is set to F (Forced), which requires every form to be reviewed by the back-office team. | The ID will be manually reviewed in the back-office and decisioned into the appropriate form state. |
94 | Review ID Back Image not found | If the flags that determine a back image is not found are questionable, then the ability to review the ID back image is available in the back office. | Manual review of the ID back image in the Back Office to determine if its present and valid. |
105 | Review ID Front and Back Mismatch | If the back of an ID is expected to be present and if the data extracted from the front of the ID data does not match the data extracted from the barcode, then the ability to review the data is available in the Back Office. | Manual review of the ID in the Back Office because the data from the front does not match the data extracted from the barcode. The back office user will need to be able to see the ID Number field that was extracted from the front of the ID vs what was extracted from the barcode. They can manually compare this to the image to see if it's actually a mismatch or if it was an issue with OCR extraction. |
103 | Review ID Front Image Not Found | If the front of an ID is not uploaded or a blank image was provided. | Manual review of the ID front image in the Back Office to see if its present and valid. |
108 | Review ID Type Mismatch | If the ID Type submitted doesn’t match the ID Type extracted from the ID Image. | Manual Review of the ID in the Back Office to determine if the template match is correct based on the ID Type submitted. |
63 | Review Invalid ID Number | The ID Number on the ID does not match the pattern defined in the ID Template. | The ID will be manually reviewed in the back office to determine if the ID number matches the pattern defined in the ID template and was extracted incorrectly. |
109 | Review Key Component Not Visible | A key component that is expected on the ID is missing such as the Date of birth, expiration date, photo, etc. | Manual Review of the ID in the Back Office to determine if the components are present but just weren’t extracted. |
116 | Review Live Face Not Detected | If the live photo submitted fails the liveness checks based on IDmission's liveness detection logic. | Manual Review in the back-office. This occurs when an image fails the liveness check. |
96 | Review Low Resolution | If either the front or back image that is uploaded has been detected as low resolution or the ID image is not a color/gray scale image. This is based on resolution thresholds defined in our system. | Manual review of the ID in the Back Office to determine if the ID images have a clear enough resolution to be reviewed and validated. |
106 | Review MRZ and ID Data Mismatch | If the data extracted from the MRZ does not match the data extracted from the ID image itself. | Manual review of the ID in the Back office because the data from the front does not match the data extracted from the MRZ. The back-office user will need to be able to see the ID Number field that was extracted from the front of the ID vs what was extracted from the MRZ. They can manually compare this to the image to see if it's actually a mismatch or if it was an issue with OCR extraction. |
91 | Review MRZ Invalid | If the MRZ Validation flag (Machine Readable Zone) is questionable, and MRZ Data is expected to be present, then the ability to review the MRZ is available in the back office. An MRZ parsing tool is provided in the event the MRZ extracted might have a few characters transposed. | Manual Review of the ID in the Back Office. The MRZ String should be provided and an MRZ parsing tool should be present for the back-office user to utilize. In most cases, this is due to a glare on the MRZ so the data was extracted improperly. It can be manually fixed and tested to ensure the MRZ is truly valid. |
107 | Review Name Match Failed | If the name submitted for the Customer or the Employee doesn’t meet the matching thresholds against the name extracted from the ID Document. | Manual Review in the Back Office of the name submitted against the name extracted from the ID. |
98 | Review No Image Found | If the ID front and back images were not uploaded or a blank image was provided. | The ID front and back images will be manually reviewed in the back-office to see if they are present and valid. |
97 | Review Security Feature Invalid | If one or more security features defined for the ID template are detected as not matching with the image provided. | Manual Review in the Back Office. This occurs when the ID Template the image is matched against indicates the placement of the security feature is off or is not present. |
112 | Review Suspected Tampering | If photo editing software (e.g., Microsoft Paint, Adobe Photoshop) or other means of ID tampering were detected. | The ID will be manually reviewed in the back-office to investigate whether the ID has been tampered with. |
113 | Review Suspicious ID | If an ID is found to be suspicious based on IDmission’s AI logic. | Manual Review in the back-office. This occurs when an ID is found to be suspicious. |
92 | Review Template Not Found | If the image provided does not match any ID templates that are configured for a client, it can be reviewed by a back office team to determine if the image was just of poor quality and if it should be accepted OR if it should be rejected OR if the template needs to be setup and configured for that client. | Manual Review in the Back Office. This is generally due to poor image quality, so a manual check is required to see if it's truly a valid and accepted ID type for the region / customer. |
101 | Review Under the age of 18** | If the date of birth (extracted from the barcode/MRZ) calculates the individual as under the age of 18. | Manual review of the ID in the Back Office to determine if the date of birth extracted has resulted in a proper calculated age. |
114 | Review Verification Results | If the verification results through a third-party verification process are flagged to be reviewed. For example, the customer name matched against a watchlist. | The verification results will be manually reviewed in the back-office |
Post Processing POST Update API Request Details
The below JSON format can be sent via an API once processing is complete by IDmission. In order to receive this, a URL must be provided and the POST_Data_API_Required field in the original API request must be set to a value of ‘Y’. These URLs need to be defined in the dashboard for the Sandbox and Production environments through My Account > Account Settings.
JSON POST Update API Example:
{
"Form_Status":"Approved",
"Form_Id":16725444,
"Product_Id":1523,
"Form_Key":"IDMTPIA_1553497978827_10:07:B6:43:3A:65","
"ID_Type":"DL",
"ID_State":"AZ"
"ID_Country":"USA"
"Name":"JANE D DOE",
"First_Name" : "JANE",
"Middle_Name" : "D",
"Last_Name" : "DOE",
"Address" : "123 E TEST ST MESA AZ 85212",
"Address1":"123 E TEST ST",
"Address2":"MESA AZ 85212"
"Country":"USA",
"ID_Number":"B1111111",
"ID_Number_Match_Result":"Matched"
"IDNumber1",
"IDNumber2",
"IDNumber3",
"Valid_ID_Number" : "Y",
"Date_of_Birth":"01/01/1980"
"Date_of_Birth_Formatted" : "01/01/1980",
"Expiration_Date":"01/01/2025",
"Expiration_Date_Formatted":"01/01/2025"
"Issue_Date":"03/01/2012",
"Issuing_Country":"USA",
"Face_Detected" : "Y",
"MRZValid" : "NA",
"MRZData" : "MRZString",
"FaceVerificationStatus ":"Verified",
"Manual_Review_Executed":"Y",
"Image_Front":"BASE_64_DATA_OF_IMAGE",
"Image_Back":"BASE_64_DATA_OF_IMAGE",
"Image_ProcessedFront":"BASE_64_DATA_OF_IMAGE",
"Image_ProcessedBack":"BASE_64_DATA_OF_IMAGE",
"Customer_Photo":"BASE_64_DATA_OF_IMAGE",
"NameNonEng":"",
"FirstNameNonEng":"",
"LastNameNonEng":"",
"MiddleNameNonEng":"",
"LastName2":"",
"AddressNonEng":"",
"AddressLine1NonEng":"",
"AddressLine2NonEng":"",
"IDNumberNonEng":"",
"IDNumber2NonEng":"",
"DateofBirthNonEng":"",
"ExpiryDateNonEng":"",
"IssueDateNonEng":"",
"Gender":"M",
"Unique_Customer_Number":"687461556",
"Form_State_Code":"00"
}
Post API Element Dictionary
Field Name | Field Type |
Response Description |
---|---|---|
Form_Status |
Text | This is the final result of the ID Validation and Face Matching processes. For a full list of values, please refer to ID Validation / Form Status and State Codes section. |
Form_Id |
Text | Form ID that was generated by IDmission and provided in the original API response. |
Product_Id |
Text | Product ID for the environment, echo back from the request. |
Form_Key |
Text | Form_Key from the original request. |
Form_Data Node
Note: These are all of the values that are extracted from the ID images themselves or are result fields from the ID Validation process.
Important: If a value is not present for a particular field for a request, it will not be included in this JSON response.
Field Name | Field Type |
Response Description |
---|---|---|
ID_Type |
Text | In most cases, this is an echo back from the request, unless it was updated by the ID Verification Team because it was incorrect. |
ID_Country |
Text | In most cases, this is an echo back from the request, unless it was updated by the ID Verification Team because it was incorrect. |
ID_State |
Text | In most cases, this is an echo back from the request, unless it was added/updated by the ID Verification Team because it was not provided or incorrect. |
Name |
Text | Full Name extracted from either barcode, MRZ, or front of the ID when MRZ/barcode are not present. |
First_Name |
Text | First Name extracted from either barcode, MRZ, or front of the ID when MRZ/barcode are not present. |
Middle_Name |
Text | Middle Name extracted from either barcode, MRZ, or front of the ID when MRZ/barcode are not present. |
Last_Name |
Text | Last Name extracted from either barcode, MRZ, or front of the ID when MRZ/barcode are not present |
Last_Name_2 |
Text | If there is a secondary last name, it will display as extracted from either the barcode, MRZ, or front of the ID when MRZ/barcode are not present. |
Address |
Text | Full Address extracted from either barcode, MRZ, or front of the ID when MRZ/barcode are not present. |
Address1 |
Text | Address Line 1 (usually the Street Number and Street Name) extracted from either barcode, MRZ, or front of the ID when MRZ/barcode are not presen. |
Address2 |
Text | Address Line 2 (e.g. Suite Number, Unit) extracted from either barcode, MRZ, or front of the ID when MRZ/barcode are not present. |
Country |
Text | City parsed from a barcode or MRZ, only when a one is present. In most cases the address will be in AddressLine1 / 2. |
ID_Number |
Text | ID Number extracted from either barcode, MRZ, or front of the ID when MRZ/barcode are not present. |
IDNumber1 |
Text | Additional IDNumber 1, extracted from barcode/MRZ data, or if neither are present, from the front of the ID. This will only be present if this additional ID Number component is defined in the matching ID template. |
IDNumber2 |
Text | Additional IDNumber 2, extracted from barcode/MRZ data, or if neither are present, from the front of the ID. This will only be present if this additional ID Number 2 component is defined in the matching ID template. |
IDNumber3 |
Text | Additional IDNumber 3, extracted from barcode/MRZ data, or if neither are present, from the front of the ID. This will only be present if this additional ID Number 3 component is defined in the matching ID template. |
Valid_ID_Number |
Text | Flag that indicates of the format of the ID number matches what is defined in the matching ID template. - Flag = Y if the ID Number extracts correctly and matches the format. - Flag = N if the ID Number does not match the format. - Flag = NA If there is no specific format defined - Flag = D if it cannot be clearly determined (D = Doubtful) |
Date_of_Birth |
Text | Date of Birth extracted from either barcode, MRZ, or front of the ID when MRZ/barcode are not present. This is the text that is extracted directly, not always a formatted date. |
Date_of_Birth_Formatted |
Date | Date of Birth extracted from either barcode, MRZ, or front of the ID when MRZ/barcode are not present. If the date cannot be formatted based on extraction (e.g. Odd format, not present in the MRZ and not corrected by manual review) then this field would be blank. Format: DD/MM/YYYY |
Expiration_Date |
Text | Expiration Date extracted from either barcode, MRZ, or front of the ID when MRZ/barcode are not present. This is the text that is extracted directly, not always a formatted date. |
Expiration_Date_Formatted |
Date | Expiration Date extracted from either barcode, MRZ, or front of the ID when MRZ/barcode are not present. If the date cannot be formatted based on extraction (e.g. Odd format, not present in the MRZ and not corrected by manual review) then this field would be blank. Format: DD/MM/YYYY |
Issue_Date |
Text | Issue Date extracted from either barcode, MRZ, or front of the ID when MRZ/barcode are not present. In most cases this is not present in a machine-readable portion of the ID so we often see many variations of formats. This will be sent as a Text field. |
IssuingCountry |
Text | This is the 3-digit ISO country code in which the identity document was issued, either extracted from the barcode/MRZ or as defined in the template. |
Face_Detected |
Text | This flag indicates whether or not a clear/visible face is found on the identity document. If a ‘Photo’ component is captured for the specific ID template matched, and a face is clearly detected, this flag will = Y. If a face is expected and is NOT clearly detected, this flag will = N. If there is no ‘Photo’ component captured for the template, this flag will be blank. |
MRZ_Data |
Text | This is the raw data extracted from the MRZ. There is a parsing tool (in the back-office portal) where you can copy and paste the extracted MRZ string, compare it to the image, and correct any errors that may have resulted during OCR. This way you can determine the validity of the MRZ without having to ask the customer to resubmit their identity documents. |
MRZValid |
Text | This flag indicates the validity of the MRZ data, this will = Y if it is valid (passes all of the check digits), otherwise this will = N. When flag = N, there are usually MRZ Error Messages associated with. When there is not an MRZ detected (MRZ Detected = N), this flag will be blank. NA when there is a template matched, but no MRZ expected. |
FaceVerificationStatus |
Text | This is the result of the Face Match – ‘Verified’ or ‘Not Verified’ will be the values. A verified face must have a score that equates to a 62% or higher match. |
Manual_Review_Executed |
Text | If a request was submitted with the ‘Manual_Review_Required’ parameter = Y, and a manual review was actually executed, this field will = Y. If not, it will = N or Blank. |
NameNonEng |
Text | This field is extracted from the front or back of the ID |
FirstNameNonEng |
Text | This field is extracted from the front or back of the ID |
LastNameNonEng |
Text | This field is extracted from the front or back of the ID |
MiddleNameNonEng |
Text | This field is extracted from the front or back of the ID |
LastName2 |
Text | This field is extracted from: - The barcode or MRZ (if present) - The front or back of the ID, if both the MRZ and barcode are not present. |
AddressNonEng |
Text | This field is extracted from the front or back of the ID |
AddressLine1NonEng |
Text | This field is extracted from the front or back of the ID |
AddressLine2NonEng |
Text | This field is extracted from the front or back of the ID |
IDNumberNonEng |
Text | This field is extracted from the front or back of the ID |
IDNumber2NonEng |
Text | This field is extracted from the front or back of the ID |
DateofBirthNonEng |
Text | This field is extracted from the front or back of the ID |
ExpiryDateNonEng |
Text | This field is extracted from the front or back of the ID |
IssueDateNonEng |
Text | This field is extracted from the front or back of the ID |
Gender |
Text | This field is extracted from: - The barcode or MRZ - The front or back of the ID, if both the MRZ and barcode are not present. |
Unique_Customer_Number |
Text | This field is an echo back from what is submitted in the request. This is not extracted from the ID or generated by IDmission. It is for the client to use to define a unique number associated with their customer. |
API_resultCount_NM |
Text | This field returns a count of matches found using the customer or employee name against a Negative Media database. |
API_resultCount_PEP |
Text | This field returns a count of matches found using the customer or employee name against Politically Exposed Persons (PEPs) lists. |
API_resultCount_WLS |
Text | This field returns a count of matches found using the customer or employee name against Global watchlists. |
Client_Customer_Number |
Text | This field contains the unique client customer number associated with the customer record from the original enrollment. This is also used for ongoing verification. |
Customer_AddressLine1 |
Text | This field contains Address Line 1 for the customer that was submitted as part of the request. |
Customer_AddressLine2 |
Text | This field contains Address Line 2 for the customer that was submitted as part of the request. |
Customer_City |
Text | This field contains the city for the customer that was submitted as part of the request. |
Customer_Country |
Text | This field contains the country code or country name for the customer that was submitted as part of the request. |
Customer_DateOfBirth |
Text | This field contains the date of birth for the customer that was submitted as part of the request. |
Customer_District |
Text | This field contains the district for the customer that was submitted as part of the request. |
Customer_Email |
Text | This field contains the email address for the customer that was submitted as part of the request. |
Customer_Enrolled_Date |
Date | This field indicates the date the customer was enrolled.Format: YYYY-MM-DD |
Customer_FP_Data |
Image BLOB | This field returns the fingerprint data associated with the original enrollment of the Customer that a verification submission is verified against. |
Customer_Gender |
Text | This field contains the gender code that was submitted as part of the request. |
Customer_Name |
Text | This field contains the Customer Name that was submitted as part of the request or the name that was extracted from the ID document if present. |
Customer_PhoneNumber |
Text | This field contains the phone number for the customer that was submitted as part of the request. |
Customer_Search_Status |
Text | This field returns the status of the search results for the Customer based on the biometric data that was sent. The valid values are “SUCCESS” and “FAIL”. |
Customer_Signature |
Image BLOB | This is an image of the customer’s signature that can be optionally collected during any service where customer data is supported. |
Customer_verification_Result |
Text | This field returns the results of the Verify Customer request. The valid values are “Verified” and “Verification Failed”. |
CustomerCode |
Text | This field contains the Customer Code that is auto-generated by the IDmission system during the enrollment process. |
CustomerStatus |
Text | This field is used for Customer Enrollment processing. This field indicates if a customer has been found and returns the current status of that customer. The field can return “SUCCESS” or “FAILED”. |
CustomerVerification_Status |
Text | This field indicates the current status of the customer in the IDmission database. The field can return “Verified” or “Unverified”. |
DeDuplication_Status |
Text | The field indicates the overall status of Deduplication processing. This field can return “SUCCESS” or “FAIL”. |
Employee_AddresLine1 |
Text | This field contains Address Line 1 for the employee that was submitted as part of the request. |
Employee_AddresLine2 |
Text | This field contains Address Line 2 for the employee that was submitted as part of the request. |
Employee_City |
Text | This field contains the city associated with the address of the employee submitted as part of the request. |
EMPLOYEE_CODE |
Text | This field contains the employee code submitted as part of the request. |
Employee_Country |
Text | This field contains the country associated with the address for the employee submitted as part of the request. |
Employee_Email |
Text | This field contains the email associated with the employee submitted as part of the request. |
Employee_Gender |
Text | This field contains the gender code that was submitted as part of the request. |
Employee_ID |
Text | The field contains the employee ID that was provided during the employee enrollment process as part of the request. |
Employee_ID_State |
Text | This field contains the State associated with the ID of the employee submitted as part of the original request. |
Employee_LoginID |
Text | This field contains the employee Login ID that was submitted as part of the request. |
Employee_Name |
Text | This field contains the name of the employee submitted as part of the request. |
Employee_Phone |
Text | This field contains the phone number associated with the employee submitted as part of the request. |
Employee_PostalCode |
Text | This field contains the postal/zip code associated with the address for the employee submitted as part of the request. |
Employee_Type |
Text | This field contains the type of employee that was specified during the employee enrollment process, as part of the request. |
Employee_verification_Result |
Text | This field returns the results of the Verify Employee request. The valid values are “Verified” and “Verification Failed”. |
EmployeeCreateStatus |
Text | This field indicates whether or not the Employee enrollment was successful. The field can return “SUCCESS” or “FAILED”. |
EmployeeCreateStatusMessage |
Text | This field is the message that is returned based on the employee enrollment processing. For example, “Employee already exists” or “User does not have required privileges.” |
EmployeeID |
Text | This field is the employee ID provided during any employee enrollment services. |
EmployeeSignature |
Image BLOB | This field contains a signature image captured during the original employee enrollment. |
EmployeeVerification_Status |
Text | This field indicates the current status of the employee in the IDmission database. The field can return “Verified” or “Unverified”. |
ENROLLED_FACE_IMAGE |
Image BLOB | This field returns the photograph associated with the original enrollment of the Customer or Employee that a verification submission is verified against. |
FullName |
Text | This field is the full name of the customer, with the First, Middle, and Last names combined into one field. |
HOST_URL |
Text | This field is the URL that is provided to IDmission to return the POST API to. |
ID_Number_Match_Result |
Text | This field indicates if the ID Number that was extracted from the ID matches the ID Number that was read from the MRZ or Barcode when applicable. |
Name_Match_Result |
Text | This field returns the result of the name submitted in request matches the name extracted from the ID during processing. |
ServiceID |
Text | This is an echo back of the ServiceID sent in the request for the SDK, or utilized when using the Swagger API. The ServiceID is associated with the service being performed (e.g., ID Validation, Customer Enrollment, Verification, etc.) |
CompanyCode |
Text | This is an echo back of the CompanyCode submitted in the original request that the form is processed under. |
CustomerIDExpiryDate |
Date | This is the expiration date from an ID document that has been enrolled for a customer. This will be provided back based on input parameters in the Verification requests. Format: dd/mm/yyyy. |
DocumentType |
Text | This is ID Type that is determined based on the template it was matched against. This will be the same list of values are in the input ID Type. |
PlaceOfBirth |
Text | This is a text-based field that will contain the place of birth if specified on the ID. (Currently only available for Italy IDs) |
PlaceofIssue |
Text | This is a text-based field that will contain the place in which the ID was issued if specified on the ID. (Currently only available for Italy IDs) |
IssuingAuthority |
Text | This is a text-based field that will contain the issuing authority of the ID. This will only be present if this is a text-based field on the ID, it will not be extracted from a stamp. (Currently only available for Italy IDs) |
OCR_Signature |
Image BLOB | This field is the signature that is extracted from the ID. |
PostalCode |
Text | This field contains postal code for the customer that was submitted as part of the request. |
Image_ProcessedFront |
Image BLOB | This image is the processed version of the front image from the server after ID validation processing is completed. It will be cropped and de-skewed and have security features highlighted. |
Image_ProcessedBack |
Image BLOB | This image is the processed version of the back image from the server after ID validation processing is completed. It will be cropped and de-skewed and have security features highlighted. |
Image_Front |
Image BLOB | This image is the front image provided by the client. |
Image_Back |
Image BLOB | This image is the back image provided by the client. |
Customer_Photo |
Image BLOB | This image is the live selfie image provided by the client. |
Form_State_Code |
Single Select | This is the two-digit code associated with the Form_Status. For a full list of values, please refer to the Form Status and State Codes Section of this document. |
Verification_Approval_Code |
Text | 4 digit verification code when biometric verification is done through the IDentity as a Service (IDaaS) Web Application. |
Deduplication fields
Note: These fields will appear if Deduplication_Required = Y and Deduplication processing finds multiple matches. If multiple duplicates are found, the field will repeat with an appended “_1”, “_2”, etc. in the POST.
For example, if the user’s name is found to have multiple matches, then the DeDuplicationData_Name will repeat as follows:
DeDuplicationData_Name
DeDuplicationData_Name_1
Field Name | Field Type |
Response Description |
---|---|---|
DeDuplicationData_Client_Customer_Number |
Text | This field returns the unique customer number associated with a duplicate found during biometric deduplication processing. |
DeDuplicationData_Customer_ID |
Text | This field returns the IDmission-generated customer code associated with a duplicate found during biometric deduplication processing. |
DeDuplicationData_Name |
Text | This field returns the customer or employee name associated with a duplicate found during biometric deduplication processing. |
DeDuplicationData_Person_Type |
Text | This field returns the categorization of the user type associated with any duplicates found during biometric deduplication processing. Valid values are: “Customer”, “Employee”. |
DeDuplicationResult |
Text | This field returns the response if the Deduplication_Required flag is set in the original request. The response will either be “Duplicates Found” or “No Duplicates Found”. |
Duplicate_Employee_Type |
Text | This field indicates the type of employee the system matched against while completing biometric deduplication processing. |
Duplicate_Fingerprint_Data |
Image BLOB | This field returns the fingerprint data that is associated with a duplicate found during biometric deduplication processing. |
Duplicate_Found |
Text | This is a Yes/No field that indicates whether or not a duplicate customer or employee has been found when completing biometric deduplication processing. |
Duplicate_Photograph |
Image BLOB | This field returns the photograph that is associated with a duplicate found during biometric deduplication processing. |
Here is an example of Post Data API for Service ID 50, where three matches are found:
{
"Form_Status":"Duplicate Customer",
"Form_Id":"760716",
"Product_Id":"4130",
"Form_Key":"Test7363433222343232323243236323343453334343342e3343443434",
"Form_Data":
{
"Address":"123 Test Street, Anywhere, CA 90001",
"DeDuplicationData_Client_Customer_Number":"AN22G001230",
"DeDuplicationData_Client_Customer_Number_1":"AN22G00123012",
"DeDuplicationData_Client_Customer_Number_2":"AN22G00123012233",
"Client_Customer_Number":"AN22G001230122334455",
"Expiration_Date":"25/06/2023",
"DeDuplicationData_Name":"JOHN DOE",
"DeDuplicationData_Name_1":"JOHN DOE",
"DeDuplicationData_Name_2":"JOHN DOE",
"Gender":"M",
"ID_State":"CA",
"ID_Number":"1234567",
"content":"35309",
"First_Name":"JOHN",
"Valid_ID_Number":"Y",
"MRZValid":"NA",
"DeDuplicationResult":"Duplicates Found",
"Issue_Date":"25/06/2017",
"DeDuplicationData_Customer_ID":"52381",
"DeDuplicationData_Customer_ID_1":"53188",
"DeDuplicationData_Customer_ID_2":"53189",
"Duplicate_Found":"Y",
"PostalCode_Extracted":"9650000",
"CURRENT_FORM_STATE_FOR_CALL":"Duplicate Customer",
"IDNumber2":"04132013631RBBBFD12",
"Date_of_Birth":"12/04/1950",
"Date_of_Birth_Formatted":"12/04/1950",
"Expiration_Date_Formatted":"25/06/2023",
"Address2":"ANYWHERE CA 90001",
"FaceVerificationStatus":"Verified",
"Address1":"123 Test Street",
"ID_Country":"USA",
"Face_Detected":"Y",
"ID_Type":"PP",
"Issuing_Country":"USA",
"DeDuplicationData_Person_Type":"CUSTOMER",
"DeDuplicationData_Person_Type_1":"CUSTOMER",
"DeDuplicationData_Person_Type_2":"CUSTOMER",
"ID_Number_Match_Result":"Matched",
"Unique_Customer_Number":"AN22G001230122334455",
"Last_Name":"DOE",
"FullName":"JOHN DOE",
"Country":"USA",
"Form_State_Code":"00",
"DeDuplication_Status":"SUCCESS",
}
}
Post API Expected Acknowledgement Response
The system who is accepting this POST API from the IDmission server should respond with a simple ‘200’ HTTPS successful acknowledgement response. Example shown below:
HTTPS status code = 200
response json formatted as
{
"status\_code" : 0,
"status\_message" : "Success"
}
Additional Dictionary Element
Additional Data Elements
Additional Data Element Name |
Description | Valid Values |
---|---|---|
Service_ID |
This is the ID of the service that you wish to execute. *ALWAYS MANDATORY FOR ALL REQUESTS |
Refer to Service IDs |
Manual_Review_Required |
If the ID validation that is performed on the ID images submitted doesn’t result in an auto-decision, a manual review can be requested by our back-office review team. This does incur an additional processing fee per review. | - Y – Review required if auto-decision results in a ‘Review’ form state. - N – No manual review will be performed - Blank – default, no manual review will be performed |
Bypass_Age_Validation |
By default, for ID image validation, our server requires the age (calculated from today’s date – date of birth) be 18 or older. To bypass this validation, this parameter is used. | - Y – Bypass age validation for 18 and older. - N – Age validation will be performed; age must be 18 or older. - Blank – default, age validation will be performed. |
Bypass_Name_Matching |
By default, when a customer or employee name is submitted through additional data, the name submitted will be matched against the name extracted from the ID images. To bypass this name matching feature, this parameter is used. | - Y – Bypass name matching. - N – Name matching is performed. - Blank – default, Name matching is performed. |
Deduplication_Required |
Deduplication check is used for verifying if the input person data is matched with existing records or not. | - Y – It will check whether person data matches with existing record if matched it will return matched person records in response. - N – It will not check for existing record matching. |
ID_Back_Image_Required |
This parameter can be used to bypass ID validation logic for the Back of the ID. No data matching will be done between the front and back of the ID when “N” is submitted in the request. Only the front of the ID will be considered in ID validation logic. | - Y – ID Back is mandatory for all ID types where Back is present and will be processed along with the front of the ID. - N – ID Back is not required and will not be considered in ID validation processing when not provided. - Blank – default, ID back is mandatory for all ID types where Back is present and will be processed along with the front of the ID. |
POST_Data_API_Required |
The POST Data API is used to accept the results and extracted data from the service. This requires a URL to be specified for the POST to be sent to. | - Y – POST_API call will get triggered. - N – POST_API Data will not be posted to the host. - Blank – POST_API will not be triggered and no data will be posted to the host. |
Send_Input_Images_in_POST |
Used only when the POST_DATA API flag = Y. | - Y – We will send the input images (ID Front/ID Back/Customer Selfie) in the POST_API. - N – No input images will be sent in the POST_API. - Blank – No input images will be sent in the POST_API. |
Send_Processed_Images_in_POST |
Used only when the POST_DATA API flag = Y. | - Y – We will send the processed images (ID front/ID back which have been cropped/marked up with security features, etc.) in POST_API. - N – No processed images will be sent in the POST_API. - Blank – No processed images will be sent in the POST_API. |
Need_Immediate_Response |
This flag is used to get response Asynchronously or Synchronously. Used only when the POST_DATA API flag = Y. | - Y – Response will be received immediately, and actual process will execute Asynchronously. - N – Process will execute synchronously, and response will be returned once process complete. |
Capture_Secondary_ID |
This flag is used to capture secondary ID Documents and supports ID Validation, Face Matching. | - Y - When Capture Secondary ID =Y and information is captured, need to execute ID Validation and Face match calls and apply the business rules to move forms into respective states. - N - When Capture Secondary ID=N then exiting flow will work. No need to capture secondary ID documents. |
Deduplication_Synchronous |
This flag is used to request a synchronous Deduplication check. A Deduplication check verifies if the input person’s data is matched with existing records. | - Y - Process will execute synchronously, and response will be returned once the process is complete. - N - Response will be received immediately, and the actual process will execute Asynchronously. |
Deduplication_Manual_Review_Required |
This flag is used to request a manual review of suspected duplicate submissions. A Deduplication check verifies if the input person’s data is matched with existing records. This does incur an additional processing fee per review. | - Y - Manual Review is required for this process, and consequently will be performed through our back office. - N - Manual Review is not required for this process, and consequently the deduplication check will be processed automatically. |
Verify_Data_With_Host |
This flag indicates if the third-party verification services should be triggered for Government ID database check and KYC/AML watchlists. There are additional fees associated with these requests, please contact your Account Manager for details. | - Y - It will verify the customer/employee data using Third Party verification vendors. - N - It will not verify the customer/employee data using Third Party verification vendors. |
Detect_Liveness |
This flag is used to indicate if liveness checks should be performed against the submitted selfie or ID document included in the request. This is used only for submissions through the API | - Y - Liveness will validate submitted document(s) and/or selfies. - N - Liveness will not be performed on form submission. |
Unique_Customer_Number |
Unique ID assigned by the client to associate with a customer. This will be required for verification services. | Alphanum |
Old_Client_Customer_Number |
Unique ID assigned by the client to associate with a customer. This will be required for update services. | Alphanum |
Customer_Name |
Name of the Customer that will be stored with the request. | String |
Customer_Type |
Type of Customer that will be stored with the request | String |
Customer_Phone |
Customer’s phone number that will be stored with the request. | Numeric |
Customer_Email |
Customer’s email that will be stored with the request. | Must be a valid email format with @ and extension. |
Unique_Merchant_Number |
Unique ID for a store or location that an employee or customer is to be associated with. | String |
Unique_Employee_Code |
Unique ID assigned by the client to associate with an employee. This will be required for verification services. | String |
Gender |
Customer’s gender that will be stored with the request | M, F |
Address_Line_1 |
Line 1 of the Customer’s Address that will be stored with the request. | String |
Address_Line_2 |
Line 2 of the Customer’s Address that will be stored with the request. | String |
Country |
3-digit ISO Country Code of the Customers Address that will be stored with the request. | 3-digit ISO Country Code |
State |
State of the Customer’s Address that will be stored with the request. | String (State Name is used here, not a code value). |
City |
City of the Customer’s Address that will be stored with the request. | String |
Postal_Code |
Postal Code of the Customer’s Address that will be stored with the request. | String |
Employee Dictionary Element
Employee Elements
Element |
Description | Valid Values |
---|---|---|
Employee_Code |
Unique ID assigned by the client to associate with the employee. This will be required for verification services. | String |
Employee_Type |
Associated role for the employee that will align with access rights. | Admin Agent Manager Operator |
Login_ID |
Login ID to associate with an Employee. | String (if not provided this will be copied from the Employee_Code) |
Employee_Email |
Email address associated with the employee. | Must be a valid email format with @ and extension. |
Employee_Name |
Name to be associated with the employee. | String |
Employee_Mobile_Number |
Phone number to be associated with the employee. | Numeric |
Employee_ID_Number |
ID Number to be associated with the employee. | String |
Employee_Gender |
Gender of the employee. | M, F |
Employee_AddressLine1 |
Line 1 of the Employee’s Address that will be stored with the request. | String |
Employee_AddressLine2 |
Line 2 of the Employee’s Address that will be stored with the request. | String |
Employee_City |
City of the Employee’s Address that will be stored with the request. | |
Employee_State |
State of the Employee’s Address that will be stored with the request. | String (State Name is used here, not a code value). |
Employee_ZipCode |
Zip or Postal Code of the Employee’s Address that will be stored with the request. | |
Employee_Country |
3-digit ISO Country Code of the Employee’s Address that will be stored with the request. | 3-digit ISO Country Code |
Troubleshooting
This section includes general SDK troubleshooting information.
AppItFramework
To setup AppItFramework, perform the following steps:
- Add
AppItFramework.framework
into your project - Select Project target & navigate to General tab & make
AppItFramework.framework
as a Embed & Sign - If you are running the latest XCODE version continue to step 4. If you are using a previous version, skip to step 5
- Remove duplicate entry from Linked Framework and Libraries
- Add podfile and insert the following dependencies in the podfile:
pod 'WebRTC
pod 'CocoaLumberjack'
pod 'SocketRocket'
pod 'IdmEncryption', '8.0.0'
pod 'TensorFlowLiteObjC', '2.7.0'
pod 'GoogleMLKit/TextRecognition', '0.64.0'
pod 'GoogleMLKit/FaceDetection', '0.64.0'
Version History
v9.6.21.1.1 : (7 October 2024)
- Updated embedded models
- Added payload encryption and decryption on SDK request
- Added additional security layer for Selfie and ID image with image tag data
- Restrict N number of spoof selfie capture from same device for additional security
- Minor bug fixes
v9.6.19.1.4 : (6 September 2024)
- Added the support of EXIF metadata in IDCapture & SelfieCapture images
v9.6.17.1.6 : (23 August 2024)
- Added support for the Urdu(ur) language.
v9.6.10.1.11 : (16 August 2024)
- Added support for configurable ID Capture button.
v9.6.10.1.10 : (31 July 2024)
- Added support to make configurable retry and confirm button on ID and Selfie preview screen
v9.6.10.1.8 : (21 June 2024)
- Enhanced the user experience during ID capture.
v9.6.10.1.7 : (28 May 2024)
- Enhanced the user experience on iPhone 11pro when Id Image is Not In Focus
v9.6.10.1.6 : (17 May 2024)
- Updated our Language support messaging for the “not in focus” on screen message for Tamil, Bengali, Burmese, Hindi, Bahasa, Thai, Vietnamese
- Enhanced the user experience during ID capture to use multiple models in parallel.
v9.6.9.1.1 : (2 May 2024)
- Updated SDK with Apple Privacy Manifest file
- Updated metadata keys
v9.6.6.1.1 : (25 March 2024)
- Extended language support for Simplified Chinese
v9.6.4.1.6 : (26 February 2024)
- Added new functionality that supports the ability to understand the progress of model downloads required for SDK functionality.
- Made an enhancement to always execute model download Information Callback function after SDK initialization.
- Extended language support for Burmese, Thai, Bengali, Bahasa, Vietnamese, Tamil, Hindi
- Updated all default AI models to the latest versions.
v9.6.2.1.4 : (22 January 2024)
- Added language support for Bengali, Hindi, Indonesia, Tamil, Chinese & Vietnamese
- Updated all default AI models to the latest versions.
v9.5.18.1.4 : (18 December 2023)
- Included glare detection as part of the ID capture process
- Added new functionality that supports the ability to understand the progress of model downloads required for SDK functionality.
- Updated various burmese language translations.
- Updated selfie capture configuration parameters.
- Revised the iOS SDK to decrease the overall size of the SDK package.
- Updated all default AI models to the latest versions.
v9.5.15.1.4 : (6 November 2023)
- Enhanced the video conference STUN protocol to support a configurable URL.
- Enhanced iOS SDK to include a revision to the language code for Khmer to KM (originally it was set to KH).
- Enhanced the 4 Finger capture instruction screen to support new default instruction text and make it configurable.
- Enhanced iOS SDK to ensure retry attempts for the front / back of ID documents are logged properly for audit purposes.
- Fixed an issue in the iOS SDK related to fingerprint focus on iPhone 14 Pro device.
- Fixed an issue in the iOS SDK to ensure no text-based log data is stored on the device for any reason.
- Updated all default AI models to the latest versions.
- Added new SDK flavour ID validation and Face matching without models
v9.5.12.1.4
- Updated language from KH to KM for Khmer
v9.5.11.1.7
- Added Face Focus Model
- Updated all default AI models to the latest versions.
v9.5.10.1.1
- Fixed an issue with the language translations for Burmese
- Added support for Thai (TH) and Khmer (KH) languages
- Added a new response code for Video conferencing to support a disconnected call from the Web Portal.
- Enhanced video conferencing functions to improve overall connection monitoring with the server.
- Updated all default AI models to the latest versions.
v9.5.7.1.10
- ID detection realness improvement
- SDK bug fixes and performance improvements
v9.5.4.1.5
- Added method to get Metadata for image
- Added configurable text position for Video Conference waiting screen
- Updated Spanish translation text
v9.5.3.1.11
- Updated SDK to include focus score
- Added cancel option (X) for exiting video conference and improved error handling
- Added error code 12 for exiting video conference before conference has been completed
- Improved capture of passports and parsing of MRZ data
v9.5.2.1.2
- Updated default focus threshold to 30
v9.5.1.1.1
- Support of an enhanced focus model for ID capture
- Fixed an issue where Video Conference would disconnect when the app is minimized
- Fixed an issue where the back button on Video Conference and Fingerprint capture screens was out of position
- Various other UI and element positioning fixes
v9.4.8.1.8
- Implemented server side AutoFill request
- Downloaded all models from server
- Fixed iPhone 14 Pro focus issue while capturing ID
- ID Capture and Scanning with OCR
- Removed SSZipArchive dependency
- Removed ZXingObjC dependency
- Added support for Service ID 106
v9.4.6.1.2
- Added support for XCFramework with latest dependencies
Copyright
Copyright 2023 IDmission LLC. All rights reserved.
NOTICE: All information contained herein is the property of IDmission LLC. No part of this publication (whether in hardcopy or electronic form) may be reproduced or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording or otherwise, without the prior written consent of IDmission LLC. The software, which includes information contained in any databases, described in this document is furnished under a license agreement and may be used or copied only in accordance with the terms of that agreement.
This publication and the information herein are furnished AS IS, is subject to change without notice, and should not be construed as a commitment by IDmission LLC. IDmission LLC assumes no responsibility or liability for any errors or inaccuracies, makes no warranty of any kind (express, implied or statutory) with respect to this publication and expressly disclaims any and all warranties of merchantability, fitness for particular purposes and non-infringement of third-party rights.
©2023 IDmission LLC January 2023