Get Result API
After the Verification process is done on the user side, you can request the Verification result by calling the Get Result API.
Request Example:
curl -X POST \
https://sg-api.advance.ai/intl/openapi/identity-risk/idvs-h5/ekyc/v1/get-result \
-H 'Content-Type: application/json' \
-H 'X-ACCESS-TOKEN:{Your Access Token}' \
-d '{"signatureId": "f302f5d2454a85c2"}'Request Url
https://sg-api.advance.ai/intl/openapi/identity-risk/idvs-h5/ekyc/v1/get-result
POST (application/json)Request Header Parameters
| Parameter | Description |
|---|---|
| X-ACCESS-TOKEN | string Please use Token Authentication API to get your access token |
Request Parameters
| Parameter | Description |
|---|---|
| signatureId | string SignatureId which can use it to get the Verification result |
Response Description
| Parameter | Description |
|---|---|
| code | Response's Status Code |
| transactionId | The request id, the max length is 64 |
| pricingStrategy | Deprecated, Always return FREE |
| message | Status Code Explanation |
| data | object : the business result of Verification |
| extra | Extra response info (Exception Message) |
Response.code
| Status Code | Message |
|---|---|
| SUCCESS | OK |
| SIGNATURE_NOT_EXIST | This signatureId is not exist. |
| ERROR | Server error. |
Response.data
Non-Doc responses do not include docDetail. Presence values are defined on DocDatabaseDetail. docDatabaseDetail object examples (per market) are on that page — below are full Get Result envelopes only.
| Field | Presence | Description |
|---|---|---|
| signatureId | Always | string. The signatureId of this verification transaction. |
| overallResult | Always | string. PASS / FAIL / INCOMPLETE. See overallResult. |
| submissionCompleted | Always | bool. Whether frontend data submission is completed. |
| idvResult | Always | string. Same as overallResult today (deprecated alias). |
| errorCode | Conditional | string. Fail reason when overallResult is fail or INCOMPLETE; SUCCESS when pass. See errorCode. Null while transaction has no final result yet. |
| docDatabaseDetail | Conditional | object. null if the number-database step did not produce detail (e.g. number not found). Otherwise see DocDatabaseDetail Examples. |
| faceDetail | Conditional | object. When liveness ran. See FaceDetail. |
| inputParameters | Always | object. Echo of Generate URL API input. See InputParameters. |
| countryCodeIso3 | Always | string. Same as region in Generate URL input (ISO3). |
overallResult
overallResult is the result code of the verification
| Value | Description |
|---|---|
| PASS | the user passed the verification check. |
| FAIL | the user failed the verification check. |
| INCOMPLETE | the user gave up in the middle of the verification check, or the user timeouts. |
errorCode
| Response.data.overallResult | Value | Description |
|---|---|---|
| PASS | SUCCESS | The user passed the verification. |
| FAIL | BVN_NOT_EXIST | the BVN inputed by the user doesn't exists. |
| BVN_SUSPEND | The ID has been restricted from use by the official institution. The user should go to the relevant department to handle the recover procedures. | |
| NUMBER_NOT_EXIST | The number inputed by user doesn't exists. | |
| NAME_NOT_MATCH | Name inputed by user is not match. | |
| LIVENESS_ATTACK | The liveness check failed. | |
| SIMILARITY_FAILED | The liveness face and the face belong to the number are not considered as the same person. | |
| INVALID_FORMAT | The Number or other fields inputed by user is in wrong format. | |
| CAN_NOT_VERIFY | Database unusable or the number can not be verified. | |
| FACE_QUALITY_TOO_POOR | The image quality stored in the official database is too poor. | |
| RISK_STRATEGY_HIT | The transaction has triggered risk prevention strategies that are used to reject attacks. | |
| AGE_VERIFICATION_FAILED | Age verification failed. | |
| INFO_ABNORMAL | A person's record in the official database is missing critical information. | |
| NUMBER_DECEASED | The identity holder is deceased. | |
| NUMBER_BLOCKED | The number is blocked or locked by the official institution. | |
| INCOMPLETE | BVN_INVALID_FORMAT | The BVN number inputed by user is in wrong format. |
| PARAMETER_ERROR | the data submitted by our frontend is not valid. this may indicates a frontend bug. | |
| USER_TIMEOUT | User did not complete the operation within the specified time(1 hour) | |
| ERROR | Error during processing in our backend. this may indicates a backend bug. | |
| RETRY_COUNT_REACH_MAX | The user's retry count reach max in face stage. |
Response Examples
docDatabaseDetail payloads: DocDatabaseDetail Examples.
PASS (Nigeria BVN)
One end-to-end sample. Other markets: same envelope; swap docDatabaseDetail from DocDatabaseDetail Examples.
{
"code": "SUCCESS",
"message": "OK",
"data": {
"signatureId": "f302f5d2454a85c2",
"overallResult": "PASS",
"submissionCompleted": true,
"idvResult": "PASS",
"errorCode": "SUCCESS",
"docDatabaseDetail": {
"bvn": "22********4",
"numberValue": "22********4",
"numberTypeInfo": { "numberType": "NG_BVN", "region": "NGA" },
"firstName": "T****E",
"middleName": "C****T",
"lastName": "I***A",
"gender": "FEMALE",
"birthday": "1994/07/13",
"phoneNumber": "081******05",
"phoneNumber2": ""
},
"faceDetail": { "faceResult": "PASS", "faceLivenessScore": 99, "faceSimilarityScore": 82 },
"inputParameters": { "region": "NGA", "numberType": "BVN" },
"countryCodeIso3": "NGA"
},
"transactionId": "d3fde1547eeaf226"
}FAIL — docDatabaseDetail null
docDatabaseDetail null{
"code": "SUCCESS",
"message": "OK",
"data": {
"signatureId": "f302f5d2454a85c2",
"overallResult": "FAIL",
"errorCode": "BVN_NOT_EXIST",
"docDatabaseDetail": null,
"faceDetail": null,
"countryCodeIso3": "NGA"
},
"transactionId": "d3fde1547eeaf226"
}FAIL — liveness (docDatabaseDetail present)
docDatabaseDetail present)docDatabaseDetail same shape as Nigeria - BVN.
{
"code": "SUCCESS",
"message": "OK",
"data": {
"signatureId": "f302f5d2454a85c2",
"overallResult": "FAIL",
"errorCode": "LIVENESS_ATTACK",
"faceDetail": { "faceResult": "FAIL", "faceLivenessScore": 0 },
"countryCodeIso3": "NGA"
},
"transactionId": "d3fde1547eeaf226"
}FAIL — name not match (Indonesia)
docDatabaseDetail: Indonesia - NIK (verification fail).
{
"code": "SUCCESS",
"message": "OK",
"data": {
"signatureId": "ab69**********0e",
"overallResult": "FAIL",
"errorCode": "NAME_NOT_MATCH",
"faceDetail": { "faceResult": "FAIL" },
"countryCodeIso3": "IDN"
},
"transactionId": "d3fde1547eeaf226"
}INCOMPLETE
{
"code": "SUCCESS",
"message": "OK",
"data": {
"signatureId": "fd51**********d6",
"overallResult": "INCOMPLETE",
"errorCode": "USER_TIMEOUT",
"countryCodeIso3": "NGA"
},
"transactionId": "d3fde1547eeaf226"
}SIGNATURE_NOT_EXIST
{
"code": "SIGNATURE_NOT_EXIST",
"message": "This signatureId is not exist",
"data": null,
"transactionId": "b6d722f7e9f553ae"
}ERROR
{
"code": "ERROR",
"message": "Server error",
"data": null,
"transactionId": "1deae5a13ef2bd5e"
}