checkresult
Important Notice:
- All request and response parameters are strictly subject to the official API documentation.
- The API response may contain fields not defined in the documentation. These fields are for internal debugging purposes only and are not guaranteed to be stable or compatible. Do not rely on these fields in production environments. ZOLOZ reserves the right to modify or remove these fields at any time without prior notice.
Overview
- API URL: POST /api/v1/zoloz/realid/reusable/checkresult
- API Description: Used to query the runtime status and verification result of the Reusable RealID authentication process. Upon successful verification, it returns the Donor's document data and the face verification result of the Recipient's newly captured face.
Notes:
- This API is a read-only query API and supports repeated calls with the same
transactionId, meaning it is idempotent. - When the transaction status is
InProcess, you may continue polling based on your business needs. - This interface does not return the
recipientApplicantId. After a successful Reusable RealID verification, the system will asynchronously complete the Recipient applicant data consolidation. You can query the applicant information via the/api/v1/zoloz/applicant/queryAPI.
Request Parameters
Field Name | Data Type | Max Length | Required | Default Value | Description | Example |
bizId | String | 32 | Yes | - | A unique business ID for tracing purposes. For example, the sequence ID from the merchant's business-related database. Note: The ZOLOZ server does not perform uniqueness checks on the value of this field. For better tracking, it is strongly recommended to enable the merchant server to guarantee the uniqueness of the business ID. | 2026053000015 |
transactionId | String | 64 | Yes | - | Reusable RealID transaction ID, returned by the | G000000005FRR2026053000001 |
isReturnImage | String | 1 | No | N | Whether to return Base64-encoded document and face images. Supported values:
| Y |
Response Parameters
Field Name | Data Type | Always Returned | Description | Example |
result | Yes | The API request result, which contains the result status, result code, and result message. | { "resultCode": "SUCCESS", "resultMessage": "Success", "resultStatus": "S" } | |
ekycResult | String | No | The Reusable RealID identity verification status. Returned only when
| Success |
donorClientId | String | No | The Donor Client ID that provided the reused identity data. Returned only when | donor_alg_hk_001 |
extBasicInfo | ExtBasicInfo | No | The basic identity information of the Donor's document. Returned only when | { "certType": "00000001003", "certNo": "P1234567" } |
extIdInfo | ExtIdInfo | No | The detailed information of the Donor's document. Returned only when | Refer to the ExtIdInfo Field Description section. |
extFaceInfo | ExtFaceInfo | No | Verification result of the Recipient's newly captured face. The returned content varies depending on the ekycResult status:
| Refer to the ExtFaceInfo Field Description section. |
ExtBasicInfo
Note: certType, certNo, and certName are returned only when document capture is successful.
Field Name | Data Type | Always Returned | Description | Example |
certType | String | No | The Donor's document type code. | 00000001003 |
docCategory | String | No | The document category from the Donor's existing document data. This field is result information, not a filtering parameter in Reusable initialize API.
| PASSPORT |
certNo | String | No | The document number recognized from the Donor's document. | P1234567 |
certName | String | No | The name recognized from the Donor's document. | ZHANG SAN |
certCountry | String | No | The issuing country or region of the Donor's document. | Hong Kong |
certCountryCode | String | No | The issuing country or region code of the Donor's document. | HKG |
ExtIdInfo
Field Name | Data Type | Always Returned | Description | Example |
ekycResultDoc | String | No | The verification result of the Donor's document module. | Success |
ocrResult | Map | No | The OCR recognition results of the Donor's document. Different document types return different fields. For more information, see Document types supported and OCR results returned. | { "ID_NUMBER": "P1234567", "NAME": "ZHANG SAN" } |
ocrResultFormat | Map | No | The standardized OCR output results. For more information, see Notification on the Standardization of OCR Output Field Names. | { "DOCUMENT_NUMBER": "P1234567" } |
frontPageImg | String | No | The front page image of the Donor's document, encoded in Base64. Returned only when | /9j/4AA..[omitted]..PxA= |
backPageImg | String | No | The back page image of the Donor's document, encoded in Base64. Returned only when | "/9j/4AA..[omitted]..PxA=" |
ExtFaceInfo
Field Name | Data Type | Always Returned | Description | Example |
ekycResultFace | String | No | The verification result of the Recipient's face module. | Success |
matchResult | String | No | The comparison result between the Recipient's newly captured face and the Donor's reference face. | Success |
faceScore | Integer | No | Face comparison score, ranging from 0 to 100. | 91 |
faceQuality | Number | No | Face image quality score, ranging from 0 to 100. | 88.5 |
faceQualityPassed | Boolean | No | Whether the face quality check passed. | true |
faceLivenessResult | String | No | The face liveness detection result. | Success |
faceAttribute | FaceAttribute | No | Face attribute detection result. For example, | { "maskResult": "false", "glassesResult": "true", "occlusionResult": "false" } |
estimatedAge | Integer | No | The estimated age based on the face image. | 34 |
actionCheckItems | List | No | The list of facial action checks actually performed during this face capture process. | ["FACEBLINK"] |
faceImg | String | No | The Recipient's face image captured in this transaction, encoded in Base64. Returned only when | "/9j/4AA..[omitted]..PxA=" |
Result
For different request results, different actions will be performed. See the following for details:
- When
result.resultCode = SUCCESS: The query was successful. CheckekycResultto determine the business status of Reusable RealID. - When
result.resultCode = PROCESSING: The transaction is still being processed. You can continue polling. - When
result.resultStatus = F: The query failed. Check the returnedresultCodeandresultMessageto identify the specific cause.
Common error codes
For the full list of common error codes, see the Common error codes section in the Error handling topic.
API-specific error codes
The error codes specific to the Reusable RealID checkresult API are listed in the table below.
resultCode | resultStatus | Description |
SUCCESS | S | The API call is successful. |
PROCESSING | S | The Reusable RealID transaction is still being processed, with |
INVALID_ARGUMENT | F | Invalid input parameters. Check the returned |
SYSTEM_ERROR | F | Internal system error. For error details, check the returned |
Note: Face liveness detection failure, face matching failure, user cancellation, or process timeout are not returned as independent API error codes. Please check ekycResult and extFaceInfo to determine these outcomes.
Sample
Request Sample
{
"bizId": "2026053000015",
"transactionId": "G000000005FRR2026053000001",
"isReturnImage": "Y"
}Response Sample
Successful Response
{
"result": {
"resultStatus": "S",
"resultCode": "SUCCESS",
"resultMessage": "Success"
},
"ekycResult": "Success",
"donorClientId": "donor_alg_hk_001",
"extBasicInfo": {
"certType": "00000001003",
"docCategory": "PASSPORT",
"certNo": "P1234567",
"certName": "ZHANG SAN",
"certCountry": "Hong Kong",
"certCountryCode": "HKG"
},
"extIdInfo": {
"ekycResultDoc": "Success",
"ocrResult": {
"ID_NUMBER": "P1234567",
"NAME": "ZHANG SAN"
},
"ocrResultFormat": {
"DOCUMENT_NUMBER": "P1234567"
},
"frontPageImg": "<base64-encoded document image>"
},
"extFaceInfo": {
"ekycResultFace": "Success",
"matchResult": "Success",
"faceScore": 91,
"faceQuality": 88.5,
"faceQualityPassed": true,
"faceLivenessResult": "Success",
"faceAttribute": {
"maskResult": "false",
"glassesResult": "true",
"occlusionResult": "false"
},
"actionCheckItems": [
"FACEBLINK"
],
"faceImg": "<base64-encoded face image>"
}
}Processing Response
{
"result": {
"resultStatus": "S",
"resultCode": "PROCESSING",
"resultMessage": "It is still under processing"
},
"ekycResult": "InProcess"
}Failure Response
{
"result": {
"resultStatus": "S",
"resultCode": "SUCCESS",
"resultMessage": "Success"
},
"ekycResult": "Failure",
"extFaceInfo": {
"ekycResultFace": "Failure",
"matchResult": "Failure",
"faceLivenessResult": "Success"
}
}