API 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 Parameter
Payloads | Type | Description | Example |
---|---|---|---|
nik* | string | 16-digit of Wajib Pajak's NIK as stated on KTP. | 1234567891234567 |
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 accept 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 |
Users have to choose between NIK or NPWP to be inputted in the body for the checking process. Hitting the Verihubs NPWP Verification endpoint with both the NPWP and NIK in the body will result in an INVALID_PAYLOAD response.
🎈Response
Response Parameter
Response | Type | Description | Examples |
---|---|---|---|
message | String | Status of the transaction | Successfully check NPWP |
data | Object | Result of the verification that contains id, reference_id, npwp, nama, alamat, status_wp and status_spt. | N/A |
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 Support (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 5 months ago