Request & Response
🎈Headers
Key | Type | Description |
---|---|---|
App-ID | String | Application ID that generated from Application Menu in Verihubs Client Dashboard. To hit in Testing and Live mode you need a Production Application ID. |
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 Details
Request Parameter for NIK Endpoint
Payloads | Type | Description | Example |
---|---|---|---|
nik | string | 16-digit of Wajib Pajak's NIK as stated on KTP. | 1234567891234567 |
purpose | string | The main purpose of validation. Currently there is no number of character limitation in this payload. | Pengecekan status WP |
user_consent | boolean | When user_consent is true, the response will show the user's NPWP along with the validation status. When user_consent is false, the response will only show the validation status without showing user's NPWP. | true |
reference_id | string | ID that can be generated from your side to indicate your company's transaction. Must be unique per transaction. Verihubs will also auto-generate this ID if it left empty/non-exist in the payload. | npwp#123456 |
Request Parameter for NPWP Endpoint
Payloads | Type | Description | Example |
---|---|---|---|
npwp | string | Wajib Pajak's NPWP as stated on NPWP card and has to be inputted without the point (.) and strip (-) symbols that are shown in the Kartu NPWP. Verihubs accepts these formats of NPWP: - 15 digit NPWP. - 16 digit NPWP. - 22 digit NITKU. | If the NPWP written on NPWP card is 01.002.003.4-056.000, then input it as is 010020034056000 |
purpose | string | The main purpose of validation. Currently there is no number of character limitation in this payload. | Pengecekan status WP |
user_consent | boolean | When user_consent is true, the response will show the user's NPWP along with the validation status. When user_consent is false, the response will only show the validation status without showing user's NPWP. | true |
reference_id | string | ID that can be generated from your side to indicate your company's transaction. Must be unique per transaction. Verihubs will also auto-generate this ID if it left empty/non-exist in the payload. | npwp#123456 |
Hitting the Verihubs Tax Number Verification endpoint(s) with both the NPWP and NIK in the same endpoint will result in an INVALID_PAYLOAD response.
🎈Response Details
Response Parameter for NIK and NPWP Endpoint
Response | Type | Description | Examples |
---|---|---|---|
message | String | Status of the transaction | Successfully check NPWP |
id | String | 32-digit auto-generated Verihubs transaction ID | 123a4a56-7b8c-91a2-34b5-67a8e9a1234a |
reference_id | String | ID that can be generated from your side to indicate your company's transaction. Must be unique. | npwp#123456 |
npwp | String | NPWP from the inputted NIK if user_consent is set TRUE | 010020034056000 |
nama | String | Masked registered name of the NPWP owner. | J*HN D** |
alamat | String | Masked registered address of the NPWP owner. | W_K TW_R 1, JL D.. P_NJ*_T_N K_V. 9 001 011 |
status_wp | String | The Wajib Pajak (WP) status of the associated NPWP that will be shown as AKTIF or NE (re: Non Efektif). | AKTIF |
status_spt | String | The Surat Pemberitahuan (SPT) Tahunan status of the associated NPWP for the last 2 years that will be shown as VALID or INVALID. | VALID |
Detailed Response
Code | Description | Response |
---|---|---|
200 | Successful Request; This is a transaction that is considered successful and has been successfully verified by the data source) | { "message": "Successfully check NPWP", "data": { "id": "Transaction ID", "referenceid": "Reference ID from Client", "npwp": "NPWP Number", "nama": "Masked Name", "alamat": "Masked Address", "status_wp": "AKTIF/NE", "status_spt": "VALID/INVALID" } } |
400 | Bad Request; This is a transaction that is considered failed due to validation errors, an error_field will appear explaining the error. | { "message": "Authorization Failed", "error_code": "BAD REQUEST", "error_fields": [] } |
401 | Authorization Failed; The transaction cannot proceed because it is unauthorized. | { "message": "Authorization Failed", "error_code": "UNAUTHORIZED", "error_fields": [] } |
403 | Insufficient Quota; The transaction failed due to insufficient quota, please contact Verihubs Customer Success (CS) Team. | { "message": "Insufficient testing quota", "error_code": "FORBIDDEN", "error_fields": [] } |
429 | Spam Error; The transaction is read as spam, please wait a few seconds before re-performing the hit process. | { "message": "Too many request in the allowed time frame", "error_code": "TOO_MANY_REQUEST", "error_fields": [] } |
500 | Internal Server Error; The transaction failed due to a server error that could be caused by data source constraints, timeout, internal error. | { "message": "Internal Server Error", "error_code": "INTERNAL_SERVER_ERROR", "error_fields": [] } |
NIK, NPWP and User Consent Variations
Payload Used | User Consent | Request | Response | Remarks |
---|---|---|---|---|
NIK | True | { "nik": "true NIK", "purpose": "real purpose", "user_consent": true, “reference_id”: “Client Generated Reference ID” } | { "message": "Successfully check NPWP", "data": { "id": "Transaction ID", "referenceid": "Reference ID from Client", "npwp": "NPWP Number", "nama": "Masked Name", "alamat": "Masked Address", "status_wp": "AKTIF/NE", "status_spt": "VALID/INVALID" } } | The NPWP number will be shown if the NIK payload is being used and user_consent is true. |
NIK | False/Empty/Not Exist | { "nik": "true NIK", "purpose": "real purpose", "user_consent": false, “reference_id”: “Client Generated Reference ID” } | { "message": "Successfully check NPWP", "data": { "id": "Transaction ID", "referenceid": "Reference ID from Client", "nama": "Masked Name", "alamat": "Masked Address", "status_wp": "AKTIF/NE", "status_spt": "VALID/INVALID" } } | The NPWP number will not be shown if the NIK payload is being used and user_consent is false. |
NPWP | True/False/Empty/Not Exist | { "npwp": "true NPWP", "purpose": "real purpose", "user_consent": true, “reference_id”: “Client Generated Reference ID” } | { "message": "Successfully check NPWP", "data": { "id": "Transaction ID", "referenceid": "Reference ID from Client", "nama": "Masked Name", "alamat": "Masked Address", "status_wp": "AKTIF/NE", "status_spt": "VALID/INVALID" } } | The user_consent payload will be ignored if the NPWP is being used for the verification. |
NIK + NPWP | True/False/Empty/Not Exist | { "nik": "true NIK", “npwp”: “true NPWP”, "purpose": "real purpose", "user_consent": true } | { "message": "Invalid payload", "error_code": "INVALID_PAYLOAD", "error_fields": [ { "field": "nik", "message": "NPWP and NIK cannot be used on body at the same time" } ] } | Only a single request payload option between NIK or NPWP is allowed to be used. |
Reference ID Variations
Client Reference ID | Request | Response | Remarks |
---|---|---|---|
Client Generated | { "nik": "true NIK", "purpose": "real purpose", "user_consent": true, “reference_id”: “Client Generated Reference ID” } | { "message": "Successfully check NPWP", "data": { "id": "Transaction ID", "referenceid": "Client Generated Reference ID", "npwp": "NPWP Number", "nama": "Masked Name", "alamat": "Masked Address", "status_wp": "AKTIF/NE", "status_spt": "VALID/INVALID" } } | The response will show the exact same Reference ID if the client chooses to generate it by themself. |
Empty or Not Exist | { "nik": "true NIK", "purpose": "real purpose", "userconsent": true, “reference_id”: “” } _or { "nik": "true NIK", "purpose": "real purpose", "user_consent": true } | { "message": "Successfully check NPWP", "data": { "id": "Transaction ID", "referenceid": "Verihubs Generated Reference ID", "npwp": "NPWP Number", "nama": "Masked Name", "alamat": "Masked Address", "status_wp": "AKTIF/NE", "status_spt": "VALID/INVALID" } } | Verihubs will generate a specific Reference ID if within the request payload client doesn’t include ones. |
Updated 2 months ago