# ReadID
Page contents
# Supported features
ReadID (opens new window) is a third-party eIDV provider integrated with Assure API. Signicat supports the following identity verification features from ReadID:
- ID document check
- NFC reading of ID document's chip.
# User flow example
More information will follow soon.
# Mobile SDKs (Android and iOS)
The aim of this topic is to help a developer integrating with the Assure API using ReadID's mobile SDKs. ReadID does not provide a web SDK since it requires using the NFC technology of a mobile phone via a native mobile app.
Please, keep in mind that the following descriptions do not contain all the necessary steps for production mode. In addition, you must add validations, tests and error handling, which is outside the scope of this documentation.
Using the third-party SDKs means that the end-user will see ReadID's user interface when performing the identity verification on their mobile or desktop.
Check end-user's ID document
The main aim of ReadID's user interface is to check the end-user's ID document.
Before you start the SDK integration, we recommend to familiarise yourself with the general steps for integrating with the Assure API.
# Requirements
Before you start the SDK integration, you should be aware of the following requirements for ReadID's SDKs:
Always use the latest ReadID SDK version.
SDK version
You should keep your app up to date by using the latest ReadID SDK version. Since ReadID's SDKs are not publicly available, please contact Signicat at support@signicat.com.
Ensure you implement for ReadID's supported device versions (iOS/Android). Please, contact Signicat at support@signicat.com to get this information.
The mobile device must have NFC support.
The app needs camera permission. Access to a microphone is not a requirement.
Your app must always communicate with your own server and never directly with the Assure API (see Usage recommendations).
Since you are integrating with the Assure API in a native app context, you should choose the eIDV generic flow.
# Integration steps overview
This diagram provides an abstraction of the client-side implementation.
The next sections describe all the needed steps, including the integration with Assure before and after the ReadID SDK integration in step 3:
- Create a dossier.
- Create a process.
- Integrate with the ReadID mobile SDK to check the ID document.
- Get result.
Note:
All the steps are similar for iOS and Android except the SDK integration in step 3, which is described below in different tabs for iOS and Android.
# Create a dossier
- Use the Create dossier (opens new window) endpoint to create a placeholder for all of your end-user’s data.
- Save the
dossierId
you get in the response.
Note:
Ensure you use one dossier per end-user.
# Create a process
- Use the Create process (opens new window) endpoint to create an identity verification process in that dossier. Ensure you give it the
dossierId
you got in the previous step. Also, enter the ReadID provider in the request body:
{
"provider":"readid",
"processType":"sdk"
}
- When you have created the ReadID process, you should get a backend response like this:
{
"processId": "7c0a2a82-0aac-49d7-a118-7e14e46a143f",
"status": "pending",
"createdAt": "2021-01-11T10:29:17Z",
"updatedAt": "2021-01-11T10:29:17Z",
"authorization": "someAuthorizationString",
"providerApiUrl": "someProviderApiUrl",
"provider": "readid",
"processType": "sdk"
}
- Save the information from the response. You will need it in the next SDK integration steps.
# Integrate with the ReadID mobile SDK to check the ID document
To check the ID document of the end-user, you must now integrate with the ReadID SDK for either Android or iOS:
# Get result
When the verification is finished, you can call the Get process (opens new window) result to get the result of the identity verification.
For result examples, see ReadID results.
Download full result
You can also get a zip file with the packaged process by calling the Download full result (opens new window) endpoint. For more information, see Download full result.
# Service details for ReadID
This section goes more into detail about some useful endpoints when integrating with ReadID:
# Start Capture flow
More information will follow later.
# Get process
This section describes the final result statuses for ReadID. For a more general description of how the "Get process" endpoint works, see Service details > Get process and the API reference (opens new window).
# Final result status
ReadID's response returns the data extracted from the document as well as the information about the results of the chip verification and chip clone detection.
Assure API uses the information in the chipVerification
and chipCloneDetection
fields to map the process' final status:
- accepted:
chipVerification
was successful.chipCloneDetection
was either successful or not available. This can happen with some older documents that do not support clone detection.
- inconclusive:
chipVerification
was successful butchipCloneDetection
failed. This means that it was not possible to check if the chip is real. Since this validation may fail for other reasons, we recommend that you allow the end-user to retry one or two more times. - rejected:
chipVerification
failed.
# accepted
This is a response example of a ReadID process that was accepted
:
{
"provider": "readid",
"status": "accepted",
"processId": "4e6aed00-f72a-4363-9d4a-418d66f5e49c",
"providerSpecific": {
"consolidatedIdentityData": {
"chipVerification": "SUCCEEDED",
"chipCloneDetection": "SUCCEEDED",
"dateOfBirth": "2002-04-29",
"dateOfExpiry": "2023-06-08",
"documentCode": "P",
"documentNumber": "P123456",
"documentType": "passport",
"gender": "F",
"issuingCountry": "PRT",
"nationality": "PRT",
"personalIdentificationNumber": "123456789",
"firstName": "MARIA PAULA",
"lastName": "SANTOS MENDES"
}
},
"finalResult": {
"documentType": "passport",
"firstName": "MARIA PAULA",
"lastName": "SANTOS MENDES",
"gender": "F",
"nationality": "PRT",
"dateOfBirth": "2002-04-29",
"documentNumber": "P123456",
"dateOfExpiry": "2023-06-08",
"issuingCountry": "PRT",
"personalIdentificationNumber": "123456789"
},
"processType": "ready",
"createdAt": "2021-08-04T08:19:22Z",
"updatedAt": "2021-08-04T08:21:56Z"
}
For field descriptions, see the Open API documentation > Get process (opens new window).
# inconclusive
This is a response example of a ReadID process that was inconclusive
:
{
"provider": "readid",
"status": "inconclusive",
"processId": "36c9e4cb-9fe2-4326-a57b-ec1e7f6d2bbf",
"providerSpecific": {
"consolidatedIdentityData": {
"chipVerification": "SUCCEEDED",
"chipCloneDetection": "FAILED",
"dateOfBirth": "2002-04-29",
"dateOfExpiry": "2023-06-08",
"documentCode": "P",
"documentNumber": "M123456",
"documentType": "passport",
"gender": "F",
"issuingCountry": "PRT",
"nationality": "PRT",
"personalIdentificationNumber": "123456789",
"firstName": "MARIA PAULA",
"lastName": "SANTOS MENDES"
}
},
"processType": "ready",
"createdAt": "2021-08-04T09:18:09Z",
"updatedAt": "2021-08-04T09:24:01Z"
}
# rejected
This is a response example of a ReadID process that was rejected
:
{
"provider": "readid",
"status": "rejected",
"processId": "36c9e4cb-9fe2-4326-a57b-ec1e7f6d2bbf",
"providerSpecific": {
"consolidatedIdentityData": {
"chipVerification": "FAILED",
"chipCloneDetection": "SUCCEEDED",
"dateOfBirth": "2002-04-29",
"dateOfExpiry": "2023-06-08",
"documentCode": "P",
"documentNumber": "M123456",
"documentType": "passport",
"gender": "F",
"issuingCountry": "PRT",
"nationality": "PRT",
"personalIdentificationNumber": "123456789",
"firstName": "MARIA PAULA",
"lastName": "SANTOS MENDES"
}
},
"processType": "ready",
"createdAt": "2021-08-04T09:18:09Z",
"updatedAt": "2021-08-04T09:24:01Z"
}
For field descriptions, see the Open API documentation > Get process (opens new window).
← Onfido Signicat Paper →