The INE+CURP webhook passes data after the combined checks in the Mexican Electoral Registry (Instituto National Electoral) and the Population Registry (Clave Única de Registro de Población) have been completed.
The payload is sent to Webhook INE CURP registry URL
, which you need to set up in the Veriff Customer Portal.
→ See Webhooks Guide > Set up webhooks sub-section for detailed overview of the setup process
When is INE + CURP webhook sent?
The INE + CURP webhook is sent after the verification session is done and after the registry checks have been completed.
Prerequisites
- Make sure you have access to the Veriff Customer Portal
- Set up webhook URL(s) on your side and have them at hand
- Make sure they match the Webhook URL requirements
- Make sure your system is able to handle Webhooks receipt, delivery and resending requirements
- Secure your communication, check the HMAC Authentication and Endpoint Security article
- Make sure your system is able to handle the Backwards compatible changes
5.Proceed to /v1/docs/inecurp-webhook#inecurp-webhook-setup
INE+CURP webhook setup
Log in to the Veriff Customer Portal
Navigate to the Integrations page via the top menu and open the integration used for the registries check
On the integration's page, select the Settings tab
Under the title Integration settings you see a list of webhooks
Fill in the
Webhook INE CURP registry URL
→ See Webhooks Guide > Set up webhooks sub-section for detailed overview of the setup process
Additional notes
The
data.details.ine
field returns eitherifeIdentifier
orineIdentifier
. Both are not present at the same time.
ifeIdentifeir
and ineIdentifier
both represent person's identification number. ife
is a legacy name, it was changed to ine
.
Sample request
{
"eventType": "combined-ine-curp-registry",
"sessionId": "f04bdb47-d3be-4b28-b028-a652feb060b5",
"vendorData": "1234567812345678",
"endUserId": "a1b2c35d-e8f7-6d5e-3cd2-a1b2c35db3d4",
"attemptId": "e30122d1-740b-4764-853f-470374a7abf4",
"version": "1.0.0",
"data": {
"status": "found",
"code": 200,
"details": {
"ine": {
"active": true,
"status": "La credencial esta vigente",
"comments": [
"CIC 000000000\r\nClave de elector ...",
"Fecha de actualización de la información: ...",
"Fecha de consulta: 11 de agosto del 2023",
"Tus datos se encuentran en el Padrón Electoral,..."
],
"information": "CIC 000000000\r\nClave de elector š... ",
"ifeIdentifier": "",
"ineIdentifier": "000000000"
},
"curp": {
"curp": "ABCD000000HVZRGS00",
"names": "JUAN",
"gender": "HOMBRE",
"regionCode": "VZ",
"statusCurp": "RCN",
"descriptionStatusCurp": "Registro de cambio no afectando a curp",
"birthRegion": "Veracruz",
"dateOfBirth": "06/04/1991",
"nationality": "MEX",
"firstSurname": "JUAREZ",
"secondSurname": "PEREZ",
"documentEvidence": 1,
"docEvidenceData": {
"book": "",
"sheet": "",
"volume": "",
"actNumber": "00123",
"registryCity": "",
"regionRegistry": "30",
"registrationYear": "1991",
"registryCityCode": "125",
"registryRegionCode": "VZ"
},
}
}
}
}
Full forms of the CURP data status acronyms
The field statusCurp
returns acronyms, which mean the following:
For active CURP: AN (Alta Normal), AH (Alta con Homonimia), CRA CU (CURP Reactivada), RCN (Registro de Cambio no Afectando a CURP), RCC (Registro de Cambio Afectando a CURP)
For inactive CURP: BD (Baja por Defuncion), BDA (Baja por Duplicidad), BCC (Baja por Cambio en CURP), BCN (Baja no Afectando a CURP)
Request properties explained
*Required field
eventType
:string
* CURP registry check namesessionId
:string
* UUID for the session where this check was executedvendorData
:string | null
* The unique identifier that you created for your end-user.null
if not specifiedendUserId
:string | null
* TheUUID
that you created for your end-user.null
if not specifiedattemptId
:string
* UUID v4 which identifies session attemptversion
:string
* Version number of the checkdata
:object | null
* Array of data objectsstatus
:string
* Status of the data, one offound
,not found
code
:number
* An integer number of the HTTP status code. See the Common HTTP status codes table for more infodetails
:object
* Details connected to the specific check against the registryine
:object
* Details about the INE/IFE identification numberactive
:boolean
Indication of if the INE identification number is active (true
) or inactive (false
)status
:string
Explanation of thedata.status
valueinformation
:string
Extra information about the INE identification numbercomments
:array
Comments regarding the status of the identificationifeIdentifier
:string | null
INE identification number. When this is returned, theineIdentifier
is not present.ineIdentifier
:string | null
IFE identification number. When this is returned, theifeIdentifier
is not present.
curp
:object
* Details about the CURP identification numbercurp
:string
CURP identification numbernames
:string
Namegender
:string
Gender, one ofHOMBRE
,MUJER
regionCode
:string
Region codestatusCurp
:string | null
Curp data status acronym, one ofAN
,AH
,CRA CU
,RCN
,RCC
,BD
,BDA
,BCC
,BCN
descriptionStatusCurp
:string
Explanation of thedetails.curp.statusCurp
valuebirthRegion
:string
Birth regiondateOfBirth
:string
Date of birth, represented as DD/MM/YYYY,nationality
:string
NationalityfirstSurname
:string
First surnamesecondSurname
:string
Last surnamedocumentEvidence
:number
Document evidencedocEvidenceData
:object
Details about the document evidence databook
:string
Booksheet
:string
Sheetvolume
:string
VolumeactNumber
:string
Act numberregistryCity
:string
Registry cityregionRegistry
:string
Region registryregistrationYear
:string
Registration yearregistryCityCode
:string
Registry city coderegistryRegionCode
:string
Registry region code