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 Methods | Content-Type | Output Format | Character Set |
---|---|---|---|
POST | application/json | Json | UTF-8 |
Authentication
Parameter | Type | Required/Optional | Notes |
---|---|---|---|
partner_code | String | Required | To be assigned by TD |
partner_key | String | Required | To be assigned by TD |
Request Parameter
Parameter | Type | Required/Optional | Notes |
---|---|---|---|
name | String | Required | name |
phone_number | String | Required | Only 10-13 pure numbers and + signs are supported, starting with +628, 628, 08,8 |
id_number | String | Required | Id card number, only 16 digits of pure numeric input |
id_type | String | Required | national_id |
sex | String | Strongly recommended | “male” or ”female” |
birthdate | String | Strongly recommended | ”YYYY-MM-DD” |
package | String | Strongly recommended | Type 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) |
String | Strongly recommended | ||
address_employee | String | Strongly recommended | Personal address |
Response Parameter
Parameter | Type | Description | Notes |
---|---|---|---|
code | Integer | API status code | |
message | String | Status information | The specific cause of the exception is displayed when the API is in an abnormal state |
sequence_id | String | Response unique code | A unique identifier used to track the record of each request |
result | String | Result | Enumerated values: hit no_record error |
error_message | String | Error message | Message when result =error, i.e. Kuota harian Anda telah habis :Your daily quota has been exceeded Error system: System error ...... |
data | JSONObject | result=no_record, do not return this field; result=hit, return this field, JSON format |
Details returned by the data field:
Parameter | Type | Description | Notes |
---|---|---|---|
company_info | JSONObject | Company Information | |
company | String | Company name | correct results |
address_company | String | Company address | correct results |
belong_bank | Boolean | The company belongs to bank or not | |
listed_company | Boolean | The company is listed in Indonesia or not | |
fortune_500_company | Boolean | Is it a Fortune 500 company | Since company names vary from region to region, this field is for reference only. |
salary_info | JSONObject | Salary Information | |
salary_level_region | String | The salary level of the region | |
salary_level_age_group | String | The salary level of the age group | |
over_average_monthly_salary | Boolean | Above Indonesia average salary or not | |
month_last_salary | String | Latest salary month received:“mm/yyyy” | correct results |
range_salary | String | Salary range | correct results |
sex | String | Sex | match/not match |
birthdate | String | Birthday | match/not match |
package | String | Type of insurance | match/not match |
String | match/not match | ||
address_employee | String | Personal address | match/not match |
*If non-required fields are not uploaded, no comparison results are returned
range_salary illustration:
No. | Range | Meaning(IDR) |
---|---|---|
1 | 0-2.5JT | (0, 2500000) |
2 | 2.5-3.5JT | (2500000,3500000] |
3 | 3.5-4.5JT | (3500000,4500000] |
4 | 4.5-5.5JT | (4500000,5500000] |
5 | 5.5-6.5JT | (5500000,6500000] |
6 | 6.5-7.5JT | (6500000,7500000] |
7 | 7.5-8.5JT | (7500000,8500000] |
8 | 8.5-10.5JT | (8500000,10500000] |
9 | 10.5-13JT | (10500000,13000000] |
10 | 13-16JT | (13000000,16000000] |
11 | 16-20JT | (16000000,20000000] |
12 | 20-30JT | (20000000,30000000] |
13 | 30-40JT | (30000000,40000000] |
14 | 40-55JT | (40000000,55000000] |
15 | 55-70JT | (55000000,70000000] |
16 | 70-85JT | (70000000,85000000] |
17 | 85-100JT | (85000000,100000000] |
18 | >100JT | (100000000,+) |
salary_level_region illustration:
Value | Meaning |
---|---|
M4 | The salary is at the top in the region |
M3 | The salary is above the middle in the region |
M2 | The salary is around the middle in the region |
M1 | The salary is below the middle in the region |
M0 | The salary is at relatively low in the region |
salary_level_age_group illustration:
Value | Meaning |
---|---|
M4 | The salary is at the top in the age group |
M3 | The salary is above the middle in the age group |
M2 | The salary is around the middle in the age group |
M1 | The salary is below the middle in the age group |
M0 | The salary is at relatively low in the age group |
API Status Code
code | Message | Description |
---|---|---|
200 | Success | |
300 | Service not purchased or not effective | Service not purchased or not effective |
301 | Service not purchased | Service not purchased |
302 | Service has been suspend | Service has been suspend |
303 | Not enough balance | Not enough balance |
304 | Service expired | Service expired |
9500 | Internal error | Internal error |
9060 | {parameter} empty | {parameter} empty |
9061 | {parameter} error | {parameter} error |
Hit Request Example
{
"code": 200,
"message": "success",
"data": {
"company_info": {
"company": "PT MAJU MAKMUR",
"address_company": "JL. SUMUR BANDUNG 23, BANDUNG, JAWA BARAT",
"listed_company": false,
"fortune_500_company": false,
"belong_bank": false
},
"salary_info": {
"package": "MATCH",
"range_salary": ">20.5JT",
"month_last_salary": "10/2023",
"salary_level_region": "M3",
"salary_level_age_group": "M4",
"over_average_monthly_salary": true
},
"birthday": "NOT MATCH",
"sex": "NOT MATCH",
"address_employee": "NOT MATCH",
"email": "NOT MATCH"
},
"result": "hit",
"sequence_id": "1699272744735016I303********0550"
}
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"
}