Mexico Income Verification

Income verification API is suitable for personal income information verification in Mexico. This is an asynchronous interface.

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
id_numberStringRequiredID card number, CURP, eighteen character alphanumeric code with capital letters. Please fill in the CURP for applying NSS
id_typeStringRequirednational_id
nss_numberStringStrongly RecommendedSocial Security Number

Request Example For Push Notifications

{
    "id_number":"GUPN8904****CRRN08",
    "id_type":"national_id",
     "nss_number":"9213****746"
}

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

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

After post the data to TD through the above API interface, TD will return the income data to you through the bellowing API.


API Format

Base URL

The subscription API address you provide to TD. Please contact us for the configuration and we will help you with it.

Remark: The subscription API address supports http with port 80 and https with port 443.

API

URLHTTP MethodRequest Content TypeResponse Content TypeCharset
api-base-url?partner_code=xxx×tamp=xxx&access_key=xxx&sign=xxxPOSTapplication/jsonJSONUTF-8

Authentication

NameTypeDescriptionRequired/OptionalNotes
partner_codeStringPartner CodeRequiredAssigned by TD
timestampStringCurrent timestampRequiredMillisecond level
access_keyStringAccess keyRequiredAssigned by TD
signStringSignRequired

Sign generation method

sign = HmacSHA1(partner_code+timestamp+access_key,access_secret)

access_secret is assigned by TD

headers

Parameter nameValueRequired/Optional
Content-Typeapplication/jsonRequired

Response Parameters For Push Notifications

ParameterTypeDescriptionRequired/OptionalNotes
resultStringOK if the job history was obtain, ERROR if something else happened, see message for detailsRequired
messageStringDescription of the resultConditionally requiredOnly occur when the result is Error
sequence_idStringA unique identifier used to track the record of each requestRequired
social_security_infoJSONObjectSocial security informationRequired
nameStringName of the person.Required
working_time_detailJSONObjectDetail of working timeRequired
working_weekStringWeek that the person paid to the IMSS. Usually equals to the week the person work a formal job.Required
reinstated_weekStringReinstated week, if they where previously discounted.Required
discounted_weekStringDiscounted weeks because the person made use of them in advanced.Required
work_detailJSONArrayDetail of workRequired
start_dateStringDate the person started in that job.Required
end_dateStringDate the person stop working in that job. If it says “Vigente” it means is the current job.Required
daily_salaryStringDaily salary. Usually to be multiply by 30.Required
state_workplaceStringState where the company is located.Required
name_workplaceStringName of the company or person who is hiring.Required
imss_code_workplaceStringIMSS internal code for the company.Required

Response Example For Push Notifications

{
    "sequence_id":"1699272744735016I303341798930550",
    "result":"OK",
    "social_security_info":{
        "name":"David HE",
        "working_time_detail":{
            "working_week":"200",
            "reinstated_week":"0",
            "discounted_week":"0"
        },
        "work_detail":[
            {
                "start_date":"21/12/2022",
                "end_date":"27/12/2022",
                "daily_salary":"$334.26",
                "state_workpalce":"MÉXICO",
                "name_workpalce":"CAPITAL ARRECIFE",
                "imss_code_workpalce":"C417***210"
            },
            {
                "start_date":"21/11/2022",
                "end_date":"22/11/2022",
                "daily_salary":"$244.25",
                "state_workpalce":"DISTRITO FEDERAL",
                "name_workpalce":"HOOTERS DE MEXICO",
                "imss_code_workpalce":"Y64****210"
            }
        ]
    }
}

Response Example For Push Notifications When Occurs ERROR

{
    "result":"ERROR",
    "sequence_id":"1702460928800627G10EC1EB6784****",
    "social_security_info":{
        "working_time_detail":{

        },
        "work_detail":[

        ]
    },
    "message":"Invalid Social Security Number status"
}

Response Parameters

Parameters that your business system needs to respond to after receiving a push request

ParameterTypeDescriptionRequired/OptionalNotes
codeIntegerAPI status codeRequired
messageStringStatus messageRequiredIn the API exception state, the specific exception reason will be output.

API Status Code

code**Description**
200Success

Response Example

{
  "code": 200,
  "message": ""
}

Note: If the status code you return is not 200, we will retry 3 times. If we failed for all 3 times, we will not push the data any more. However, you can query through the following query interface if the push is missed.


If you have not received the returned data push for a long time, you can pass the sequence_id returned by the first call through the following query interface to query the results. This interface only supports result query within 24 hours.

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
sequence_idStringRequiredsequence_id from the first step

Response Parameters

The response will be the same with the above push request parameters. Please refer to Response Parameters For Push Notifications within this document.

API Status Code

codeMessageDescription
200Success
9060{parameter} empty{parameter} empty
9080Only queries within 24 hours are available.Only queries within 24 hours are available/ No results returned

Response Example(Success)

{
    "code":200,
    "data":{
        "result":"OK",
        "sequence_id":"1703169657863033G109E3248435****",
        "social_security_info":{
            "working_time_detail":{
                "discounted_week":"0",
                "reinstated_week":"0",
                "working_week":"272"
            },
            "work_detail":[
                {
                    "end_date":"16/05/2023",
                    "state_workplace":"GUANAJUATO",
                    "name_workplace":"LEVDOS",
                    "imss_code_workplace":"Z065861410",
                    "start_date":"16/03/2023",
                    "daily_salary":"$374.61"
                },
                {
                    "end_date":"15/03/2023",
                    "state_workplace":"DISTRITO FEDERAL",
                    "name_workplace":"DERIVADORA DE SERVICIOS PROFESIONALES, S.A. DE C.V.",
                    "imss_code_workplace":"Y623742910",
                    "start_date":"01/05/2020",
                    "daily_salary":"$373.63"
                }
            ],
            "name":"David"
        }
    },
    "sequence_id":"1703169657863033G109E3248435****"
}

Response Example(Success)(Out of 24 hours/ No results returned yet)

{
    "code": 9080,
    "message": "Only queries within 24 hours are available.",
    "sequence_id": "1703123181798646G109E3248****377"
}