Indonesia Income Verification

Income verification API is suitable for personal income and company information verification in Indonesia. This API is realtime and data will be return immediately based on input parameter value.

API Method

Base URL

API

Request MethodsContent-TypeOutput FormatCharacter Set
POSTapplication/jsonJsonUTF-8

Authentication

ParameterTypeRequired/OptionalNotes
partner_codeStringRequiredTo be assigned by TD
partner_keyStringRequiredTo be assigned by TD

Request Parameter

ParameterTypeRequired/OptionalNotes
nameStringRequiredname
phone_numberStringRequiredOnly 10-13 pure numbers and + signs are supported, starting with +628, 628, 08,8
id_numberStringRequiredId card number, only 16 digits of pure numeric input
id_typeStringRequirednational_id
sexStringStrongly recommended“male” or ”female”
birthdateStringStrongly recommended”YYYY-MM-DD”
packageStringStrongly recommendedType of insurance, example:“JHT,JKK,JKM”,"JHT,JKK,JKM,JPN"

Definition:
JKK: Work-related injury insurance
JKM: Non-work-related accidental death insurance
JHT: Endowment insurance
JPN: Pension (JP)
emailStringStrongly recommendedemail
address_employeeStringStrongly recommendedPersonal address

Response Parameter

ParameterTypeDescriptionNotes
codeIntegerAPI status code
messageStringStatus informationThe specific cause of the exception is displayed when the API is in an abnormal state
sequence_idStringResponse unique codeA unique identifier used to track the record of each request
resultStringResultEnumerated values:
hit
no_record
error
error_messageStringError message Message when result =error, i.e.
Kuota harian Anda telah habis :Your daily quota has been exceeded
Error system: System error
......
dataJSONObjectresult=no_record, do not return this field; result=hit, return this field, JSON format

Details returned by the data field:

ParameterTypeDescriptionNotes
companyStringcompany namecorrect results
address_companyStringcompany addresscorrect results
month_last_salaryStringlatest salary month receivedcorrect results
range_salaryStringsalary rangecorrect results
sexStringsexMATCH/NOT MATCH
birthdateStringbirthdayMATCH/NOT MATCH
packageStringType of insuranceMATCH/NOT MATCH
emailStringemailMATCH/NOT MATCH
address_employeeStringPersonal addressMATCH/NOT MATCH

*If non-required fields are not uploaded, no comparison results are returned

Income range specification:

No.rangeMeaning(IDR)
10-2.5JT(0, 2500000)
22.5-3.5JT[2500000,3500000)
33.5-4.5JT[3500000,4500000)
44.5-5.5JT[4500000,5500000)
55.5-6.5JT[5500000,6500000)
66.5-7.5JT[6500000,7500000)
77.5-8.5JT[7500000,8500000)
88.5-12.5JT[8500000,12500000)
912.5-20.5JT[12500000,20500000)
10>20.5JT[20500000,+)

API Status Code

codeMessageDescription
200Success
300Service not purchased or not effectiveService not purchased or not effective
301Service not purchasedService not purchased
302Service has been suspendService has been suspend
303Not enough balanceNot enough balance
304Service expiredService expired
9500Internal errorInternal error
9060{parameter} empty{parameter} empty
9061{parameter} error{parameter} error

Hit Request Example

{
    "code": 200,
    "data": {
        "birthday": "NOT MATCH",
        "package": "MATCH",
        "range_salary": ">20.5JT",
        "sex": "NOT MATCH",
        "address_employee": "NOT MATCH",
        "date_first_salary": "01/09/2020",
        "month_last_salary": "10/2023",
        "company": "PT MAJU MAKMUR",
        "email": "NOT MATCH",
        "address_company": "JL. SUMUR BANDUNG 23, BANDUNG, JAWA BARAT"
    },
    "result": "hit",
    "sequence_id": "1699272744735016I303341798930550"
}

Non-hit Request Example

{
"code": 200,
"result": "no_record",
"sequence_id": "75ccadf47dab4c81a06e6f0da746cd9c"
}

Error Example

{
    "code": 200,
    "result": "error",
    "error_message": "Kuota harian Anda telah habis ",
    "sequence_id": "75ccadf47dab4c81a06e6f0da123cd9c"
}

Failed Example

{
    "code": 301,
    "message": "Service not purchased"
}