API Request & Response
Endpoint
| Method | Endpoint |
|---|---|
| POST | https://api.verihubs.com/data-verification/certificate-electronic/verify |
Headers
| Key | Type | Description |
|---|---|---|
| App-ID | String |
|
| API-Key | String | API-Key that generated from Application Menu in Verihubs Client Dashboard that related to specific Application ID. |
You can generate your Application ID and API-Key in the Application page in Verihubs Client Dashboard..
Request
Request Parameter
| Parameter | Type | Description | Validation | Example |
|---|---|---|---|---|
| nik | String | Nomor Induk Kependudukan as stated on the KTP. |
| 9171022512990011 |
| name | String | Full name as stated on the KTP. |
|
|
| birth_date | String | Birth date as stated on the KTP. |
| 01-01-1901 |
| String | Email address that must be unique per NIK. |
| [email protected] | |
| phone | String | Phone number that must be unique per NIK. |
| 6281277863450 |
| selfie_photo | String | The same face that registered as the owner of the KTP |
| Base64 |
| ktp_photo | String | A full pyshical/digital KTP photo |
| Base64 |
| reference_id | String | A user inputted unique id to refer to a certain transaction |
| SERTEL_123 |
Response
Response
| HTTP Code | Description |
|---|---|
| 200 | Successful Transaction; Transaction that is considered successful and has been successfully verified by the data source. |
| 400 |
|
| 401 | Authorization Failed; Possible reason:
|
| 403 | Forbidden; The transaction is in Testing mode and not enough remaining quota. Possible reason:
|
| 429 | Too Many Request; Spam Error as the transaction is read as spam, please wait a 10 seconds before re-performing the hit process. |
| 500 |
|
List of Reject Field
The reject field indicates if a parameter is returned incorrectly after being checked from the data source side.
| HTTP Code | reject_field | Definition |
|---|---|---|
| 200 | nik | NIK not found in the data source. |
| 200 | name | Name not match to the full name registered in the datasource. |
| 200 | birth_date | Birth date not match to the birth date registered in the datasource. |
| 200 | selfie_photo | Selfie not match with the face registered in the datasource. |
| 200 | phone | Phone conflict/already used to other NIK. |
| 200 | Email conflict/already used to other NIK. | |
| 200 | liveness_check | Face exist in photo but not alive. |
Detail for Success and Verified Transaction
This case occurs if all parameters get successful results from the results of checking the data source (all valid data).
| Request | Response | Remarks |
|---|---|---|
| | Successfull transaction |
Detail for Success and Not Verified Transaction
This is a response that indicates there is an incorrect parameter after checking the data source. Below are also some examples of requests/responses.
NIK Not Verified
| Request | Response | Remarks |
|---|---|---|
| | Success (not_verified) Note: The transaction has been successfully checked against the data source and obtained some parameters with a value of 'false' which can be seen through the reject_field in the response |
Name Not Verified
| Request | Response | Remarks |
|---|---|---|
| | Success (not_verified) Note: |
Birth Date Not Verified
| Request | Response | Remarks |
|---|---|---|
| | Success (not_verified) Note: The transaction has been successfully checked against the data source and obtained some parameters with a value of 'false' which can be seen through the reject_field in the response |
Selfie Photo Not Verified
| Request | Response | Remarks |
|---|---|---|
| | Success (not_verified) Note: The transaction has been successfully checked against the data source and obtained some parameters with a value of 'false' which can be seen through the reject_field in the response |
Detail for Success and Verified with Reason Transaction
This case occurs where email, phone, or both have been correlated with a certain NIK, causing the status "verified_with_reason". If this case occurs, please contact Privy's customer support directly ([email protected]).
Conflict Email
| Request | Response | Remarks |
|---|---|---|
| |
|
Conflict Phone
| Request | Response | Remarks |
|---|---|---|
| |
|
Conflict Email and Phone
| Request | Response | Remarks |
|---|---|---|
| |
|
Detail for Failed Transaction
Failed transaction has two main reasons:
- Parameter validation
- Error in datasource.
Parameter Validation
NIK
NIK Digit Validation
| Request | Response | Remarks |
|---|---|---|
| |
|
NIK Pattern Validation:
| Request | Response | Remarks |
|---|---|---|
| |
|
Birth Date Validation
| Request | Response | Remarks |
|---|---|---|
| Transaction error Note: The transaction was not processed and received a code 400 due to a validation error |
VALIDATION FORMAT SELFIE PHOTO
| Request | Response | Remarks |
|---|---|---|
| Transaction error Note: The transaction was not processed and received a code 400 due to a validation error |
VALIDATION FORMAT SELFIE PHOTO (NO FACE DETECTED)
| Request | Response | Remarks |
|---|---|---|
| Transaction error Note: The transaction was not processed and received a code 400 due to validation error |
VALIDATION FORMAT KTP PHOTO
| Request | Response | Remarks |
|---|---|---|
| Transaction error Note: The transaction was not processed and received a code 400 due to validation error |
VALIDATION FORMAT EMAIL
| Request | Response | Remarks |
|---|---|---|
| Transaction error Note: The transaction was not processed and received a code 400 due to validation error |
VALIDATION FORMAT PHONE
| Request | Response | Remarks |
|---|---|---|
| Transaction error Note: The transaction was not processed and received a code 400 due to validation error |
Detail for Success Transaction but Liveness Check False/Failed
| Request | Response | Remarks |
|---|---|---|
| Success (not_verified) Note: Failed because of liveness check, only liveness will be charged |
