Validación completa de INE
El endpoint de validación completa de INE funciona usando fotos de la parte frontal y trasera de una INE el sistema hace una lectura OCR de la información y considera multiples validaciones tanto locales como remotas en fuentes oficiales(Renapo y Lista nominal).
Método: POST
Endpoint
Sección titulada «Endpoint»https://api.verificamex.com/identity/v1/validations/basicEncabezados de la Solicitud
Sección titulada «Encabezados de la Solicitud»Para realizar la solicitud es necesario incluir los siguientes encabezados:
| Encabezado | Valor | Descripción |
|---|---|---|
| Accept | application/json | Tipo de contenido de la solicitud. |
| Authorization | Bearer {tu_token} | Token generado para autenticar al usuario. |
Cuerpo de la Solicitud
Sección titulada «Cuerpo de la Solicitud»El cuerpo de la solicitud debe contener los siguientes parámetros:
| Parámetro | Tipo | Descripción |
|---|---|---|
| ine_back | String | Imágen de la parte reversa del INE codificada en base64. |
| ine_front | String | Imágen de la parte frontal del INE codificada en base64. |
| selfie | String | Imágen de la selfie del usuario codificada en base64. |
| model | String | Modelo de la INE a validar (es posible dejarlo con valor "D" para que el sistema lo determine automáticamente). |
Ejemplo de cuerpo de la solicitud
Sección titulada «Ejemplo de cuerpo de la solicitud»{ "ine_back": "data:image/png;base64,iVBORw0KGgoAAAANS....", "ine_front": "data:image/png;base64,iVBORw0KGgoAAAANS....", "selfie": "data:image/png;base64,iVBORw0KGgoAAAANS....", "model": "D"}Respuesta del Endpoint
Sección titulada «Respuesta del Endpoint» { "data": { "object": "ine_validations", "status": false, "message": "Mensaje de prueba dummy", "dataOcr": { "type": "X", "subtype": "X", "issue_country": "XXX", "doc_number": "999999999", "check_sum": "9", "first_optional": "0000000000000", "date_birth": "990101", "birth_check": "9", "sex": "X", "expiration_date": "991231", "nacionality": "XXX", "second_optional": "<00<<00000<", "check_digit": "9", "last_name": "APELLIDOX", "last_name2": "APELLIDOY", "spacing": "", "first_name": "NOMBREX", "first_name2": "" }, "documentInformation": { "documentData": [ { "type": "Surname", "name": "Apellido/s", "value": "APELLIDOX APELLIDOY", "source": "MRZ" }, { "type": "Name", "name": "Nombre", "value": "NOMBREX", "source": "MRZ" }, { "type": "Sex", "name": "Sexo", "value": "X", "source": "MRZ" }, { "type": "Nationality", "name": "Nacionalidad", "value": "XXX", "source": "MRZ" }, { "type": "IssuingState", "name": "País de Emisión", "value": "XXX", "source": "MRZ" }, { "type": "DateOfExpiry", "name": "Fecha de Expiración", "value": "31/12/2099", "source": "MRZ" }, { "type": "DateOfBirth", "name": "Fecha de Nacimiento", "value": "01/01/1999", "source": "MRZ" }, { "type": "DocumentNumber", "name": "Número de Documento", "value": "999999999", "source": "MRZ" }, { "type": "PersonalNumber", "name": "Número Personal", "value": "0000000000000", "source": "MRZ" }, { "type": "Surname", "name": "Apellido/s", "value": "APELLIDOX APELLIDOY", "source": "OCR" }, { "type": "FatherSurname", "name": "Apellido Paterno", "value": "APELLIDOX", "source": "MRZ" }, { "type": "MotherSurname", "name": "Apellido Materno", "value": "APELLIDOY", "source": "MRZ" }, { "type": "Name", "name": "Nombre", "value": "NOMBREX", "source": "OCR" }, { "type": "FullName", "name": "Nombre Completo", "value": "APELLIDOX APELLIDOY NOMBREX", "source": "OCR" }, { "type": "DateOfExpiry", "name": "Fecha de Expiración", "value": "31/12/2099", "source": "OCR" }, { "type": "DateOfBirth", "name": "Fecha de Nacimiento", "value": "01/01/1999", "source": "OCR" }, { "type": "Sex", "name": "Sexo", "value": "X", "source": "OCR" }, { "type": "PersonalNumber", "name": "Número Personal", "value": "DUMMY000000X0000", "source": "OCR" }, { "type": "Section", "name": "Sección", "value": "9999", "source": "OCR" }, { "type": "PermanentAddress", "name": "Dirección", "value": "DIRECCION DUMMY", "source": "OCR" }, { "type": "Address_State", "name": "Provincia/Estado de Residencia", "value": "ESTADODUMMY", "source": "OCR" }, { "type": "NumberOfDuplicates", "name": "Número de duplicados", "value": "99", "source": "OCR" }, { "type": "AddressStreet", "name": "Calle de Residencia", "value": "CALLE DUMMY 999", "source": "OCR" }, { "type": "AddressCity", "name": "Ciudad de Residencia", "value": "CIUDADDUMMY", "source": "OCR" }, { "type": "AddressCity", "name": "Ciudad Dirección", "value": "CIUDADDUMMY", "source": "ExternalServices" }, { "type": "AddressCounty", "name": "Provincia Dirección", "value": "ESTADODUMMY", "source": "ExternalServices" }, { "type": "AddressCountry", "name": "País Dirección", "value": "Dummylandia", "source": "ExternalServices" }, { "type": "AddressCountryCode", "name": "Código País Dirección", "value": "DX", "source": "ExternalServices" } ], "documentVerifications": [ { "key": "TemplateSelected", "name": "Identificación del Documento", "category": "Identification", "categoryCode": 0, "result": "Ok", "resultCode": 0, "output": "100", "inputFields": [ { "name": "Template", "type": "Text", "typeCode": 0, "value": "Plantilla Dummy", "comments": null } ] }, { "key": "MrzHasInvalidCharacters", "name": "MRZ: Contiene caracteres inválidos", "category": "DataFormat", "categoryCode": 1, "result": "Ok", "resultCode": 0, "output": "", "inputFields": [ { "name": "0MrzLine0", "type": "Text", "typeCode": 0, "value": "IDXXX9999999999<<0000000000000", "comments": null }, { "name": "1MrzLine1", "type": "Text", "typeCode": 0, "value": "9901019X9912319XXX<00<<00000<9", "comments": null }, { "name": "2MrzLine2", "type": "Text", "typeCode": 0, "value": "APELLIDOX<APELLIDOY<<NOMBREX<<<<<<<<<<<", "comments": null } ] }, { "key": "MrzIsCorrectlyPadded", "name": "MRZ: Caracteres de relleno correctos", "category": "DataFormat", "categoryCode": 1, "result": "Ok", "resultCode": 0, "output": "", "inputFields": [ { "name": "0field", "type": "Text", "typeCode": 0, "value": "NOMBREX<<<<<<<<<<<", "comments": null } ] }, { "key": "MrzIsDocumentNumberCheckDigitValid", "name": "MRZ: Dígito de control del número de documento válido", "category": "DataFormat", "categoryCode": 1, "result": "Ok", "resultCode": 0, "output": "9", "inputFields": [ { "name": "0checkDigit", "type": "Text", "typeCode": 0, "value": "9", "comments": null } ] }, { "key": "MrzIsDateOfExpiryCheckDigitValid", "name": "MRZ: Dígito de control de la fecha de expiración válido", "category": "DataFormat", "categoryCode": 1, "result": "Ok", "resultCode": 0, "output": "9", "inputFields": [ { "name": "0checkDigit", "type": "Text", "typeCode": 0, "value": "9", "comments": null } ] }, { "key": "MrzIsDateOfBirthCheckDigitValid", "name": "MRZ: Dígito de control de la fecha de nacimiento válido", "category": "DataFormat", "categoryCode": 1, "result": "Ok", "resultCode": 0, "output": "9", "inputFields": [ { "name": "0checkDigit", "type": "Text", "typeCode": 0, "value": "9", "comments": null } ] }, { "key": "MrzIsCompositeCheckDigitValid", "name": "MRZ: Dígito de control compuesto válido", "category": "DataFormat", "categoryCode": 1, "result": "Ok", "resultCode": 0, "output": "9", "inputFields": [ { "name": "0checkDigit", "type": "Text", "typeCode": 0, "value": "9", "comments": null } ] }, { "key": "MrzIsDateValid", "name": "MRZ: Fecha de Expiración válida", "category": "DataFormat", "categoryCode": 1, "result": "Ok", "resultCode": 0, "output": "", "inputFields": [ { "name": "0MRZ Date", "type": "Text", "typeCode": 0, "value": "991231 (31/12/2099)", "comments": null } ] }, { "key": "MrzIsDateValid", "name": "MRZ: Fecha de Nacimiento válida", "category": "DataFormat", "categoryCode": 1, "result": "Ok", "resultCode": 0, "output": "", "inputFields": [ { "name": "0MRZ Date", "type": "Text", "typeCode": 0, "value": "990101 (01/01/1999)", "comments": null } ] }, { "key": "MrzHasDateExpired", "name": "MRZ: Documento Expirado", "category": "DataFormat", "categoryCode": 1, "result": "Ok", "resultCode": 0, "output": "", "inputFields": [ { "name": "0MRZ Date", "type": "Text", "typeCode": 0, "value": "991231 (31/12/2099)", "comments": null } ] }, { "key": "MrzIsDateComplete", "name": "MRZ: Fecha de Nacimiento completa", "category": "DataFormat", "categoryCode": 1, "result": "Ok", "resultCode": 0, "output": "", "inputFields": [ { "name": "0MRZ Date", "type": "Text", "typeCode": 0, "value": "990101", "comments": null } ] }, { "key": "MrzIsDateComplete", "name": "MRZ: Fecha de Expiración completa", "category": "DataFormat", "categoryCode": 1, "result": "Ok", "resultCode": 0, "output": "", "inputFields": [ { "name": "0MRZ Date", "type": "Text", "typeCode": 0, "value": "991231", "comments": null } ] }, { "key": "MrzHasCorrectDimensions", "name": "MRZ: Dimensiones correctas", "category": "DataFormat", "categoryCode": 1, "result": "Ok", "resultCode": 0, "output": "", "inputFields": [ { "name": "0Dimensiones", "type": "Text", "typeCode": 0, "value": "3X30", "comments": null } ] }, { "key": "MrzIsSexValid", "name": "MRZ: Sexo válido", "category": "DataFormat", "categoryCode": 1, "result": "Ok", "resultCode": 0, "output": "", "inputFields": [ { "name": "0field", "type": "Text", "typeCode": 0, "value": "X", "comments": null } ] }, { "key": "MrzIsNationalityCodeValid", "name": "MRZ: Código de Nacionalidad válido", "category": "DataFormat", "categoryCode": 1, "result": "Ok", "resultCode": 0, "output": "", "inputFields": [ { "name": "0field", "type": "Text", "typeCode": 0, "value": "XXX", "comments": null } ] }, { "key": "MrzIsIssuingStateCodeValid", "name": "MRZ: Código de País de Emisión válido", "category": "DataFormat", "categoryCode": 1, "result": "Ok", "resultCode": 0, "output": "", "inputFields": [ { "name": "0field", "type": "Text", "typeCode": 0, "value": "XXX", "comments": null } ] }, { "key": "MrzIsDocumentTypeValid", "name": "MRZ: Tipo de Documento válido", "category": "DataFormat", "categoryCode": 1, "result": "Ok", "resultCode": 0, "output": "", "inputFields": [ { "name": "0field", "type": "Text", "typeCode": 0, "value": "ID", "comments": null } ] }, { "key": "DataIntegrity_ft_Date_of_Birth", "name": "Fecha de Nacimiento", "category": "DataIntegrity", "categoryCode": 2, "result": "Failed", "resultCode": 3, "output": "0", "inputFields": [ { "name": "Texto MRZ", "type": "Text", "typeCode": 0, "value": "Texto MRZ: 01/01/1999", "comments": null }, { "name": "Texto OCR", "type": "Text", "typeCode": 0, "value": "Texto OCR: 01/01/1999", "comments": null } ] }, { "key": "DataIntegrity_ft_Date_of_Expiry", "name": "Fecha de Expiración", "category": "DataIntegrity", "categoryCode": 2, "result": "Ok", "resultCode": 0, "output": "100", "inputFields": [ { "name": "Texto MRZ", "type": "Text", "typeCode": 0, "value": "Texto MRZ: 31/12/2099", "comments": null }, { "name": "Texto OCR", "type": "Text", "typeCode": 0, "value": "Texto OCR: 31/12/2099", "comments": null } ] }, { "key": "MEX_VotingCard_Custom_Curp", "name": "Número Personal CURP", "category": "DataIntegrity", "categoryCode": 2, "result": "Ok", "resultCode": 0, "output": "100", "inputFields": [ { "name": "Número Personal", "type": "Text", "typeCode": 0, "value": "DUMMY000000X0000", "comments": null } ] }, { "key": "Biometrics_FaceMatching", "name": "Comprobación Facial", "category": "Biometrics", "categoryCode": 4, "result": "Ok", "resultCode": 0, "output": "99.96", "inputFields": [ { "name": "LivePortrait", "type": "Image", "typeCode": 1, "value": "base64Binary", "comments": null } ] } ] } }, "meta": { "include": [], "custom": [] } }Este error ocurre si falta algún parámetro o si el parámetro no es una cadena de caracteres.