All in one eKYC (Electronic Know Your Customer) solution available for android and ios. Wide Technologies provides an SDK for you to implement integration with your native mobile application. This document provides you with an overview of the SDK integration in terms of its architecture, interaction flow, available products, and general integration process.
WideKYC SDK integration can be applied to the following products:
- Liveness Detection
- ID Recognize (OCR)
- ID Validation by Population and Civil Registration Agency (Dukcapil)
- RealID (ID Recognize -> Liveness Detection -> ID Validation)
Here is the architecture of our SDK integration.
Figure 1. SDK integration architecture
SDK integration consists of two parts:
Client-side integration: integrate the WideKYC SDK into the merchant application. The Wide SDK provides a ready set of screens and tools for both iOS and Android applications to capture required user data such as face images, identity document images, and so on. By integrating the Wide SDK, you can easily create a friendly interaction experience for your users in terms of:
- Well designed UI to guide your users through the simple and easy business process
- High success rate and high security with multiple algorithms applied
- Simplified integration process by directly uploading images to the WideKYC service to process
Server-side integration: Expose endpoints for your (merchant) application in your (merchant) server so that the merchant application can interact with the merchant server, which then accesses the WideKYC API to initialize a transaction and double-check verification results.
The following diagram illustrates the whole interaction flow when a WideKYC service is started through the mobile application.
Figure 2. Sequence diagram
A user initiates a business process (for example, an ID Recognize process) through the merchant application.
The merchant app calls the getMetaInfo interface to obtain the meta-information about the WideKYC SDK and the user’s device for preparation.
The WideKYC SDK returns the meta-information to the merchant application.
The merchant application initializes a transaction and passes the meta-information and product type to the merchant server.
With the meta-information and product info as an input, the merchant server calls the initialize API to obtain the configuration information, which includes parameters about SDK connection and behavior.
The Wide server performs a usability check based on the meta-information. If the check is passed, the Wide server returns the configuration information to the merchant server.
The merchant server returns the configuration information to the merchant application.
The merchant application starts the Wide SDK with the configuration information that is obtained in Step 7.
The Wide SDK interacts with the user, captures required data (for example, ID images), and uploads it to the Wide server for verification. There might be multiple rounds of interaction between the Wide SDK and Wide server.
The Wide server performs related checks on the uploaded user data, and returns the transaction status to the Wide SDK. If all the corresponding checks are passed, a result code that indicates success is returned to the Wide SDK; otherwise, the process might be interrupted and further interactions are needed between the user and the Wide SDK.
The Wide SDK notifies the merchant application that the transaction is completed.
The merchant application syncs with the merchant server that the transaction is completed and starts a double check on the transaction details.
The merchant server calls the checkResult API to check the transaction details with the Wide server again.
The Wide server returns the transaction details to the merchant server. Note: To ensure information security, sensitive information such as captured face images is only returned to the merchant server.
The merchant server filters the transaction details that are returned from the Wide server and returns the information that is not sensitive to the merchant application.
The merchant application informs the user that the process is completed.
Please refer to this wiki page for Integration Process.
The following table shows the service level types that are supported by the WideKYC SDK APIs, and the corresponding validation & behaviour that are returned/processed for each service level type.
|Passive Liveness||62000||Medium liveness validation.|
|62001||Advanced liveness validation.|
|Id Recognize||62010||Entry Id Recognize validation.|
|62011||Medium Id Recognize validation.|
|62012||Advanced Id Recognize validation.|
|Id Validation.||62020||Id Validation with UI.|
|62021||Id Validation non UI.|