IDN META verifies the identity of Indonesian users by comparing their ID card number, name, face image, and date of birth against an official database.
API description
-
API name: IdnAuthorityVerifyIntl
-
Request method: HTTPS POST
-
Verifies the identity information of Indonesian users.
-
QPS limit: Each API has its own QPS limit. For more information, see QPS limits of ID Verification server-side APIs.
-
Service endpoint:
NoteBenefits of internal network access: An internal network is a private communication network connecting Alibaba Cloud products within the same region. If your application server is deployed in the same region, use the internal endpoint to access the ID Verification service for enhanced security and stability.
Optimizing overseas access: Overseas network environments can be complex. Refer to Optimize server network latency to tune your integration and reduce network latency and request failures.
Asia Pacific SE 5 (Jakarta)
Public endpoint:
cloudauth-intl.ap-southeast-5.aliyuncs.comInternal endpoint:
cloudauth-intl-vpc.ap-southeast-5.aliyuncs.com
Online debugging and integration
Before debugging and integration, read the Use OpenAPI document to learn how to call APIs on the OpenAPI platform and obtain the SDK.
You can run this API in OpenAPI Explorer to debug it and generate an SDK Code Examples.
Face image format requirements
-
Image format: JPG, JPEG, PNG.
-
Image size: Recommended 50–100 KB, maximum 1 MB.
-
Image resolution: Maximum
1920*1080(height × width), minimum640*480(height × width). Recommended: scale the shorter side to 720 pixels with a compression ratio greater than 0.9. Height must be greater than width. If the uploaded photo has a width greater than height, it may affect detection results.NoteConverting images to Base64 usually increases the data size. If you pass parameters in Base64 format, ensure the original image does not exceed 0.6 MB to stay within the 1 MB transfer limit.
-
Image quality recommendations:
-
The face must be complete, clear, and unobstructed, facing the camera directly. Use a front-facing camera for best results.
-
The face must occupy more than 60% of the image area. A smaller face may reduce detection accuracy.
-
If multiple faces are present, the algorithm selects the largest face by default. Avoid images with multiple faces.
-
Request parameters
|
Name |
Type |
Required |
Description |
Example |
|
ProductCode |
String |
Yes |
The product code. Set to IDN_META. |
IDN_META |
|
SceneCode |
String |
No |
A custom scenario ID for querying related records in the console. Consists of letters, digits, and underscores, up to 10 characters. |
1234567890 |
|
MerchantBizId |
String |
Yes |
A custom business-unique identifier for troubleshooting. Supports letters and digits, up to 32 characters. Must be unique. |
e0c34a77f5ac40a5aa5e6ed20c35**** |
|
MerchantUserId |
String |
No |
A custom user ID or identifier such as a mobile number or email address. We strongly recommend desensitizing this value in advance, for example, by hashing it. |
123456789 |
|
idNumber |
String |
Yes |
The NIK (National Identification Number) on the ID card (KTP). |
|
|
birthDate |
String |
Yes |
The user's date of birth on the ID card (KTP). |
|
|
fullName |
String |
Yes |
The user's name on the ID card (KTP). |
|
|
timestamp |
String |
Yes |
The timestamp when the user consented to share data with the official database. Pass a real timestamp. |
|
|
SourceFacePicture |
String |
Yes. You need to choose only one of the three upload methods. |
A Base64-encoded face photo for recognition and comparison. Maximum 1 MB, in JPEG or JPG format. Recommended resolution: 480×640. |
base64 |
|
SourceFacePictureUrl |
String |
The URL of the face photo for recognition and comparison. Must be a publicly accessible HTTP or HTTPS link. |
https://*** |
|
|
SourceFacePictureFiles |
InputSteam |
The file stream of the face photo for comparison. |
image InputSteam object |
|
|
Mobile |
String |
Yes |
An Indonesian mobile number that starts with +62, followed by 9 to 11 digits. |
+6281293671234 |
|
|
String |
Yes |
The user's email address. Must be valid. |
example@gmail.com |
Response data
|
Name |
Type |
Description |
Example |
|
|
HTTP Status Code |
Integer |
The HTTP status code. |
200 |
|
|
HTTP Body |
RequestId |
String |
The request ID. |
130A2C10-B9EE-4D84-88E3-5384FF0**** |
|
Result.TransactionId |
String |
The unique transaction ID for the authentication process. |
hksb7ba1b28130d24e015d694361**** |
|
|
Code |
String |
The return code. For details, see Server-side HTTP status codes. |
Success |
|
|
Message |
String |
This section provides detailed descriptions of the return codes. |
Success |
|
|
Result.Passed |
String |
The authentication result. Valid values:
|
Y |
|
|
Result.SubCode |
String |
The authentication result description. For more information, see ResultObject.SubCode error codes. |
200 |
|
|
Result.ExtFaceInfo |
Object |
The data source verification result (the following example uses the Indonesian data source).
|
|
|
ResultObject.SubCode error codes
|
Error Code |
Billable |
Description and Troubleshooting |
|
202 |
Yes |
The ID card number was not found in the authoritative data source. |
|
207 |
Yes |
The photo does not match the information in the authoritative data source. |
|
209 |
No |
The connection to the authoritative data source timed out. |
|
214 |
Yes |
The personal information (ID card number, name, date of birth) does not match the information in the authoritative data source. |
|
215 |
Yes |
Neither the personal information (ID card number, name, date of birth) nor the selfie photo matches records in the authoritative data source. |
|
216 |
Yes |
The authoritative data source detected a liveness anomaly. For the Indonesian data source, this is triggered when the liveness value in ExtScoureInfo exceeds 0.95 or the imgManipulationScore exceeds 0.95. |
|
217 |
Yes |
The photo quality does not meet the requirements. |