Access Documentation
Overseas ID Verification API
Indonesia
ID Verificaction
ID Verificaction
# ID Card Info Verification (Indonesia) NEW
# 1 Description
Verifies the authenticity and consistency of a user's name, document number, date of birth, and selfie.
Supported document scope: Indonesian ID card.
# 2 Usage
# 2.1 Invoke URL
Indonesia: https://api-idn.yljz.com/finauth/v5/oversea_validation
# 2.2 Invoke Method
Request method: POST
Request format: form-data
Description: The client generates the encrypted signature sign from the apikey and secret, and passes the document-related information together with a selfie. The API returns the document verification result.
# 3 Request Parameters
| Parameter | Name | Required | Type | Description |
|---|---|---|---|---|
| sign | Signature | Yes | String | For the signature generation rules, see Authentication. |
| sign_version | Signature algorithm version | Yes | String | Fixed value: hmac_sha1 |
| certificate_id | Document type ID | Yes | String | Indonesian ID card: ID_ID |
| biz_no | Business serial number | No | String | A custom unique serial number for this request. |
| id_no | National document number | Yes | String | For Indonesia, pass the NIK number. |
| name | User name | Yes | String | The user's complete full name. |
| dob | Date of birth | Yes | String | Format: DD-MM-YYYY. |
| selfie | Selfie | Yes | String | 1. Base64 encoded; 2. File size ≤ 2 MB; 3. Supported formats: JPG/JPEG/PNG; 4. Example: /9j/7DFKAeSLkgEQABAAD/ |
| validate_auth | Identity verification | Yes | String | Fixed value; only true may be passed. |
# 4 Response Parameters
Note: Different document types return only the applicable fields, not all fields.
| Field | Name | Type | Description |
|---|---|---|---|
| request_id | Request ID | String | A unique string that identifies each request; always returned except for 404 and 403 errors. |
| time_used | Time used | Int | The total time taken by the request, in milliseconds; always returned. |
| biz_no | Business serial number | String | The business serial number passed in, returned unchanged. |
| certificate_id | Document type ID | String | Returns the document type ID passed in by the client. |
| status | Verification status | String | Overall verification result of the data: 0: all data verified as true; 1: part of the data verified as true; 2: all data verified as false. |
| validate_result | Verification result | JSON | Field-level verification result, returns true / false. |
| --id_no | National document number | String | Verification result for the document number. |
| --name | User name | String | Verification result for the name. |
| --dob | Date of birth | String | Verification result for the date of birth. |
| --selfie | Selfie | String | Verification result for the face selfie. |
| error | Error message | String | Returns the corresponding error code when the API encounters an exception. |
# 5 Error Code Reference
| HTTP Status Code | Return Code | Billable | Description |
|---|---|---|---|
| 200 | SUCCESS | Yes | The API call succeeded. |
| 400 | MISSING_ARGUMENTS: | No | A required request parameter is missing. |
| 400 | BAD_ARGUMENTS: | No | A parameter parsing exception (type error, length exceeded, image cannot be parsed, etc.). |
| 404 | API_NOT_FOUND | No | The invoked API address does not exist. |
| 403 | AUTHORIZATION_ERROR | No | The signature is invalid. |
| 403 | AUTHORIZATION_ERROR: | No | The api_key is disabled, has no call permission, the IP is unauthorized, or the call limit is exceeded. 5001: api_key has no permission or is disabled; 5002: unauthorized IP (reserved); 5007: test key call limit reached. |
| 403 | CONCURRENCY_LIMIT_EXCEEDED | No | The API concurrency limit is exceeded. |
| 500 | INTERNAL_ERROR | No | Internal server error; the request can be retried. If the error persists, contact customer service. |
# 6 Rsponse Example
# 6.1 All-True Example
{
"request_id": "e6f9c3a5-8d2b-4e4a-9c7f-3b5d9e4c6f7a",
"time_used": 1245,
"biz_no": "202608070004",
"certificate_id": "ID_ID",
"status": "0",
"validate_result": {
"id_no": true,
"name": true,
"dob": true,
"selfie": true
}
}
# 6.2 Fail Response Example
{
"request_id": "a8b2e5c7-0f4d-4a6c-9e3b-5d7f2b6e8a9c",
"time_used": 98,
"error": "MISSING_ARGUMENTS: name"
}
