INE+CURP webhook

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

  1.  Make sure you have access to the Veriff Customer Portal
    1. If you do not, see the Getting Started → Sign up and Log in articles
  2.  Set up webhook URL(s) on your side and have them at hand
    1.  Make sure they match the Webhook URL requirements
    2. Make sure your system is able to handle Webhooks receipt, delivery and resending requirements
  3. Secure your communication, check the HMAC Authentication and Endpoint Security article
  4. 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

  1. Log in to the Veriff Customer Portal

  2. Navigate to the Integrations page via the top menu and open the integration used for the registries check

  3. On the integration's page, select the Settings tab

  4. Under the title Integration settings you see a list of webhooks

  5. 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 either ifeIdentifier or ineIdentifier. 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 name

  • sessionId: string* UUID for the session where this check was executed

  • vendorData: string | null* The unique identifier that you created for your end-user. null if not specified

  • endUserId: string | null* The UUID that you created for your end-user. null if not specified

  • attemptId: string* UUID v4 which identifies session attempt

  • version: string* Version number of the check

  • data: object | null* Array of data objects

    • status: string* Status of the data, one of found, not found

    • code: number* An integer number of the HTTP status code. See the Common HTTP status codes table for more info

    • details: object* Details connected to the specific check against the registry

      • ine: object* Details about the INE/IFE identification number

        • active: boolean Indication of if the INE identification number is active (true) or inactive (false)

        • status: string Explanation of the data.status value

        • information: string Extra information about the INE identification number

        • comments: array Comments regarding the status of the identification

        • ifeIdentifier: string | null INE identification number. When this is returned, the ineIdentifier is not present.

        • ineIdentifier: string | null IFE identification number. When this is returned, the ifeIdentifier is not present.

      • curp: object* Details about the CURP identification number

        • curp: string CURP identification number

        • names: string Name

        • gender: string Gender, one of HOMBRE, MUJER

        • regionCode: string Region code

        • statusCurp: string | null Curp data status acronym, one of AN, AH, CRA CU, RCN, RCC, BD, BDA, BCC, BCN

        • descriptionStatusCurp: string Explanation of the details.curp.statusCurp value

        • birthRegion: string Birth region

        • dateOfBirth: string Date of birth, represented as DD/MM/YYYY,

        • nationality: string Nationality

        • firstSurname: string First surname

        • secondSurname: string Last surname

        • documentEvidence: number Document evidence

        • docEvidenceData: object Details about the document evidence data

          • book: string Book

          • sheet: string Sheet

          • volume: string Volume

          • actNumber: string Act number

          • registryCity: string Registry city

          • regionRegistry: string Region registry

          • registrationYear: string Registration year

          • registryCityCode: string Registry city code

          • registryRegionCode: string Registry region code