This topic describes how to query the verification results of the eKYC solution by using the CheckResult operation.
API description
API operation: CheckResult
Request method: HTTPS POST
Description: After you receive a callback notification, you can call this operation from your server to retrieve the authentication status and materials.
ImportantBy default, ID Verification service results are stored for 30 days and then automatically deleted. You must retrieve the verification results within 30 days.
This API operation has a dedicated QPS limit. For more information, see QPS limits for ID Verification server-side API operations.
Endpoints:
NoteBenefits of internal network access: An internal network is a private communication network between Alibaba Cloud products within the same region. If your business server is deployed in the corresponding Alibaba Cloud region, you can use the internal same-region endpoint to access the ID Verification service. This provides more secure and stable communication.
Optimization suggestions for access from outside China: Network environments outside China can be complex. To optimize your integration solution, reduce network latency, and minimize request failures, see Server-side network latency analysis and optimization.
China (Hong Kong)
Public network:
cloudauth-intl.cn-hongkong.aliyuncs.comInternal network:
cloudauth-intl-vpc.cn-hongkong.aliyuncs.com
Singapore
Public network:
cloudauth-intl.ap-southeast-1.aliyuncs.comInternal network:
cloudauth-intl-vpc.ap-southeast-1.aliyuncs.com
Online debugging and integration
Before you debug and integrate an API operation, see Debug and integrate server-side API operations using OpenAPI Explorer for information about how to call API operations and obtain SDKs and sample code in OpenAPI Explorer.
You can debug this operation in OpenAPI Explorer, and generate SDK sample code for this operation.
Request parameters
Name | Type | Required | Description | Example |
MerchantBizId | String | Yes | A unique business ID that you customize to track and troubleshoot issues. The ID can be a 32-character string that consists of letters and digits. Make sure that the ID is unique. Note Alibaba Cloud does not check the uniqueness of this parameter. For better tracking, we recommend that you make sure that the value is unique. | e0c34a77f5ac40a5aa5e6ed20c35**** |
TransactionId | String | Yes | The unique identifier for the entire verification flow. Call the Initialize API operation to obtain this value. Important To prevent tampering, use the TransactionId stored on your server when you call the Initialize operation. Do not use the TransactionId returned by the client-side callback. | hksb7ba1b28130d24e015d6******** |
IsReturnImage | String | No | Specifies whether to return authentication image materials. Valid values:
| Y |
Returned Data
Name | Type | Description | Example value | |
HTTP Status Code | Integer | The HTTP status code. | 200 | |
HTTP Body | RequestId | String | The request ID. | 130A2C10-B9EE-4D84-88E3-5384FF0**** |
Code | String | Success | ||
Message | String | A detailed description of the response code. | success | |
Result.Passed | String | The final authentication result. Valid values:
| Y | |
Result.SubCode | String | The description of the authentication result. For more information, see ResultObject.SubCode error codes. | 200 | |
Result.ExtFaceInfo | String | The result of the face liveness verification. For the JSON format, see the example on the right. For more information, see ExtFaceInfo. | | |
Result.ExtIdInfo | String | The result of the certificate recognition. For the JSON format, see the example on the right. For more information, see ExtIdInfo. | | |
Result.ExtInfo | String | Additional information generated during the authentication process. For more information, see ExtInfo. | | |
Response codes
HTTP status code | Code | Message description |
200 | Success | Request successful. |
400 | MissingParameter | Parameter cannot be empty. |
InvalidParameter | Invalid parameter. | |
TransactionIdInvalid | Invalid Transaction ID. | |
403 | Forbidden.RAMUserAccessDenied | You need to grant the RAM user the AliyunAntCloudAuthFullAccess permission. For more information, see Authorize RAM users to access the service. |
Forbidden.AccountAccessDenied | Ensure that you have activated ID verification and your account has no overdue payment. | |
Throttling.Api | API request is blocked due to throttling. | |
404 | ProcessNotCompleted | The entire authentication process is not completed. |
500 | InternalError | Internal system error. Provide feedback to engineers for troubleshooting. |
503 | ServiceUnavailable | The service is unavailable. Contact engineers for troubleshooting. |
ResultObject.SubCode error codes
Error code | Is the authentication record billed? | Description and suggestion |
200 | Yes | Authentication passed. |
201 | Yes | The name and ID card number do not match the information in the official database. The user's information may be incorrect or false. Ask the user to confirm the information and try again. Note This error code is returned only when the certificate type verified by the product is a Chinese ID card and the authoritative verification feature is enabled. |
202 | Yes | The identity information cannot be found in the official database. Set up a manual review process. Note This error code is returned only when the certificate type verified by the product is a Chinese ID card and the authoritative verification feature is enabled. |
204 | Yes | The liveness face and the certificate photo do not match. This may be because the person does not match the certificate or the liveness photo is of low quality. |
205 | Yes | Liveness detection indicates a threat. |
206 | Yes | Business policy restriction. When safe mode is enabled, security checks are performed on the authentication device and environment. If a threat is detected, the authentication fails. You can perform the following steps to troubleshoot:
|
207 | Yes | Face verification failed in the official database. This may be because the person is not the same or the liveness photo is of low quality. Note This error code is returned only when the certificate type verified by the product is a Chinese ID card and the authoritative verification feature is enabled. |
209 | Yes | The authoritative comparison source is abnormal. Note This error code is returned only when the certificate type verified by the product is a Chinese ID card and the authoritative verification feature is enabled. |
212 | Yes | Certificate anti-counterfeiting detection indicates a threat. Risky operations such as rephotographing, tampering, or photocopying may have occurred. |
ExtFaceInfo
Name | Type | Description | Example |
facePassed | String | Indicates whether the customer passes the face liveness verification. Valid values:
| Y |
faceComparisonScore | Double | The similarity score between the captured face image and the face image on the document. The score ranges from 0 to 100. Note A higher score indicates a higher probability that the two faces belong to the same person. The default threshold is 90. You can customize the threshold based on your business sample data. | 99.99 |
faceImg | String | The captured face image in the Base64 format. This parameter is returned if you set | Base64-encoded image |
faceAttack | String | Indicates whether a liveness attack was detected during face capture. Valid values:
| N |
faceQuality | Double | The quality score of the face image. The score ranges from 0 to 100. | 99.99 |
faceOcclusion | String | Indicates whether the face is occluded. Valid values:
| N |
docVideoUrl | String | The download URL of the evidence video in Object Storage Service (OSS). Note
| https://aliyun-cloudauth.oss-aliyuncs.com/******.webm |
faceAge | String | The predicted age of the individual based on the face image. If the prediction fails, this parameter is not returned. | 30 |
faceGender | String | The predicted gender of the individual based on the face image. If the prediction fails, this parameter is not returned. Valid values:
| M |
authorityComparisonScore | Double | The similarity score between the captured face image and the face image from the official authoritative data source. The score ranges from 0 to 100. Note
| 99.99 |
faceAttackScore | Double | The probability of a fake face attack predicted by the facial recognition algorithm. A higher score indicates a higher probability of a fake face. The score ranges from 0 to 100. | 80 |
guardRiskScore | Double | The probability of device risk predicted by the face guard algorithm. A higher score indicates a higher device risk. The score ranges from 0 to 100. | 90 |
ExtIdInfo
Name | Type | Description | Example |
ocrIdPassed | String | Final certificate OCR detection result:
| N |
idImage | String | The certificate OCR photo in Base64 format. This field is returned if you set the isReturnImage parameter to Y when you initiate the request and the certificate OCR process is completed. | base64 |
ocrIdInfo | String | The certificate OCR field information. For more information, see OCR recognition response fields. Note If the certificate OCR process fails, this field is empty. | |
spoofInfo | String | The result of anti-counterfeiting detection, including the risk identification result and risk type: Note Card detection is enabled only when you set IdSpoof = Y in the Initialize operation. Otherwise, spoofResult returns N by default, and spoofType is empty.
| |
ocrIdEditInfo | String | The certificate OCR field information submitted by the user after editing on the OCR result page. This parameter is returned when the client is configured to enable the OCR result editing page (ShowOcrResult). Note For Web SDK integration, configure ShowOcrResult in the server-side Initialize API operation. | |
ExtInfo
Name | Type | Description | Example |
procedurePriority | String | Authentication fallback methods:
| keep |
Field returned by document recognition
Hong Kong (China) Identity Card
Both the 2003 and 2018 versions of smart identity cards are supported.
Field | Type | Description |
name | String | The name. |
englishName | String | The name in English. |
nameCode | String | The Chinese name code. |
sex | String | The gender. Valid values:
|
birthDate | String | The date of birth. |
idNumber | String | The ID card number. |
currentIssueDate | String | The date of registration. |
firstIssueDate | String | The month and year of first registration. |
isPermanent | String | Indicates whether the identity card is a permanent resident identity card. Valid values:
|
symbols | String | The remarks. Example: "***AZ". |
Exit-Entry Permit for Traveling to and from Hong Kong and Macao
Field | Type | Description |
name | String | The name. |
englishName | String | The romanized name. |
sex | String | The gender. |
birthDate | String | The date of birth. |
idNumber | String | The ID card number. |
issueDate | String | The issuance date. |
expiryDate | String | The expiration date. |
placeOfIssue | String | The issuance place. |
originOfIssue | String | The issuance authority. |
Mainland Travel Permit for Hong Kong and Macao Residents
Field | Type | Description |
name | String | The name. |
englishName | String | The romanized name. |
sex | String | The gender. |
birthDate | String | The date of birth. |
idNumber | String | The ID card number. |
issueDate | String | The issuance date. |
expiryDate | String | The expiration date. |
originOfIssue | String | The issuance authority. |
Mainland Travel Permit for Taiwan Residents
Field | Type | Description |
name | String | The name. |
englishName | String | The romanized name. |
sex | String | The gender. |
birthDate | String | The date of birth. |
idNumber | String | The ID card number. |
issueDate | String | The issuance date. |
expiryDate | String | The expiration date. |
originOfIssue | String | The issuance authority. |
placeOfIssue | String | The issuance place. |
Global passport
Field | Type | Description |
surname | String | The surname. |
givenname | String | The given name. |
sex | String | The gender. |
birthDate | String | The date of birth. |
passportNo | String | The passport number. |
nationality | String | The nationality. |
expiryDate | String | The expiration date. |
countryCode | String | The country code. |
Macao (China) Resident Identity Card
Field | Type | Description |
surnameCN | String | The surname in Chinese. |
givennameCN | String | The given name in Chinese. |
surname | String | The surname in English. |
givenname | String | The given name in English. |
sex | String | The gender. |
birthDate | String | The date of birth. |
idNumber | String | The ID card number. |
expiryDate | String | The expiration date. |
placeOfBirth | String | The code of the birthplace. Example: "AS". |
People's Republic of China Resident Identity Card
Field | Type | Description |
name | String | The name. |
sex | String | The gender. |
ethnicity | String | The ethnicity. |
birthDate | String | The date of birth. |
idNumber | String | The ID card number. |
address | String | The address. |
province | String | The province of residence. Note This is a reserved field and is empty by default. |
city | String | The city of residence. Note This is a reserved field and is empty by default. |
originOfIssue | String | The issuance authority. |
issueDate | String | The issuance date. |
expiryDate | String | The expiration date. |