INE validation service
INE service
The service do the processes of identification, classification and validation of the voter identification card issued by the National Electoral Institute to verify the authenticity and trust of the data by consulting directly in the official entities.
Versioning
The service has two versions, you can specify it by sending the number in the param v
or x-Version
even both params. These are optionals.
The default version is 1.0. If you specify the version, the parameters (v,x-Version) must be exactly the same.
Rest Web service description
The service offers two ways to verify the authenticity of official documents.
1.- Identification and classification The first is the identification and classification, the pre-processing parameters checkQuality, checkPatterns, checkFace are used to add the results of the physical and quality controls in the validation equation of the document. These parameters do not change the function of the service, as "identification and classification" is done to determine OCR processing and metadata retrieval.
Parameters to send: checkQuality (default true), checkPatterns (default true), checkFace (optional).
2.- Validation The second is the validation phase, the post-processing or "metadata validation" modify the execution of the service.
Parameters to send: checkInfo (by default true and optional), checkCurp (by default true and optional).
And finally, debugRenapo (not considered for the validation process).
~/api/Business/ine
Versions
- Version 1 (1.0)
- Supports voter ID type C, D, E and F.
- Version 2 (2.0)
- Supports voter ID type C, D, E, F, G and H.
- Validate IFE/INE data in INE nominal list and get metadata found.
- Validate CURP data in RENAPO and get metadata found.
Parameters
Tag | Type | Required | Description |
---|---|---|---|
checkInfo | boolean | yes | Data verification. Default value true. |
checkQuality | boolean | yes | Quality verification on front and back documents. Default value true. |
checkPatterns | boolean | yes | Patters verification to validate authenticity of documents. Default value true. |
checkCurp | boolean | yes | CURP verification in RENAPO database. Default value true. |
checkFace | boolean | yes | Face of the person in the mexican ID. Default value true. |
debugRenapo | boolean | no | Flag to send the same error as RENAPO was unavailable. Default value false. |
v | string | no | Service version, must be 1, 1.0, 2 or 2.0. |
FrontFile | file | yes | Image File of the front side of INE. |
BackFile | file | yes | Image File of the back side of INE. |
Note 1: File's weight max is 4 MB. Note 2: File formats allowed are .JPG .PNG and .JPEG. Note 3: The maximum size allowed is 800x1000. Note 4: Image submission with as much focus as possible is required. Note 5: Cropped INE image without background is required.
Required characteristics for images (front and back).
Characteristic | Description |
---|---|
Focused | The images must be focused and show readable information for the correct execution of the OCR process. |
Brightness | The images must not show glare of light, excess brightness or contrast alterations that cause error in the validation of authenticity. |
Quality | The documents must have legibility characteristics, not be altered, not present physical damage or alterations that prevent the reading of the information and execution of the validations. |
Figure | The image should preferably be in the shape of a rectangle, where only the credential is shown without excessive background. Likewise, for both sides of the document. |
Accepted types | The credential have to be types C, D, E, F, G or H. |
Headers
Tag | Type | Required | Description |
---|---|---|---|
apikey | string | yes | Customer key. |
x-Version | string | no | Service version, must be 1, 1.0, 2 or 2.0. |
FormData
{
"checkInfo": boolean,
"checkQuality": boolean,
"checkPatterns": boolean,
"checkCurp": boolean,
"checkFace": boolean,
"debugRenapo": boolean,
"FrontFile": file,
"BackFile": file
}
Response:
Correct:
Name | Type | Description |
---|---|---|
Valid | boolean | The result of verifications. |
type | string | Result of the type identified for the different documents like TypeC, TypeDEF or TypeGH. |
Validations | ||
info | boolean | Result of INE validations process. |
quality | boolean | Quality check for INE Image. Cannot have glare and it must be on focus. |
curp | boolean | Result of CURP verification in RENAPO database. |
patternCheck | boolean | Result of INE pattern check. |
face | boolean | Result of face check. |
nominalListCheck | boolean | Result of Ine verification in Nominal List. |
Front | ||
focus | boolean | Checks if the front image it is in focus. |
glare | boolean | Checks if the front image does not have glare. |
Back | ||
focus | boolean | Checks if the back image it is in focus. |
glare | boolean | Checks if the back image does not have glare. |
Data | ||
name | string | Name. |
firstlastname | string | First Surname. |
secondlastname | string | Second Surname. |
addressline | string | Address Line one. |
addressline2 | string | Address Line two. |
addressline3 | string | Address Line tree. |
electoralId | string | Voter ID. |
curp | string | Clave Única de Registro de Población. |
dateOfbirth | string | Date of birth. |
sex | string | Gender. |
folio | string | Identifier for the IDs type C located on the front. |
idNumber | string | Id number for the IDs type C located on the back. |
idmex | string | Id number for the IDs type DEF located on the back. |
mz1 | string | First line of values in the back of the id. Does not apply to type C. |
mz2 | string | Second line of values in the back of the id. Does not apply to type C. |
mz3 | string | Third line of values in the back of the id. Does not apply to type C. |
expirationDate | string | Expiration Date of the document. |
CURP Data | ||
curp | string | Clave Única de Registro de Población. |
names | string | Name. |
lastname | string | First Surname. |
secondlastname | string | Second Surname. |
sex | string | Gender. |
dateofbirth | string | Date of birth. |
nationality | string | Nationality. |
entity | string | Entity of birth. |
crip | string | Identity registration key. |
statusCurp | string | Status of CURP. |
folio | string | Folio. |
probationaryDocument | string | Probationary Document. |
foreignerNumber | string | Foreigner number. |
registrationEntity | string | Entity of registry. |
tome | string | Tome of registry. |
municipalityRegistryKey | string | Municipal registration key. |
yearOfregistry | string | Year of registry. |
registryEntityKey | string | Entity registration key. |
page | string | Page of registry. |
actNumber | string | Act number. |
book | string | Book of registry. |
Nominal List Data | ||
canVote | boolean | Identification can be used to vote. |
type | string | Identification type. |
electorCode | string | Electoral code. |
cicNumber | string | Credential Identification Code. |
issueNumber | string | Issue number. |
issueYear | string | Issue year. |
registrationYear | string | Year of registry. |
ocrNumber | string | Optical Character Recognition Code. |
expDate | string | Expiration date. |
warnings | array | Error messages. |
JSON file
{
"valid": boolean,
"type": "string",
"validations": {
"info": boolean,
"quality": boolean,
"curp": boolean,
"patterns": boolean,
"face": boolean,
"nominalListCheck": boolean
},
"front": {
"focus": boolean,
"glare": boolean
},
"back": {
"focus": boolean,
"glare": boolean
},
"data": {
"name": "string",
"firstLastName": "string",
"secondLastName": "string",
"addressLine1": "string",
"addressLine2": "string",
"addressLine3": "string",
"electoralId": "string",
"curp": "string",
"dateOfBirth": "string",
"sex": "string",
"folio": "string",
"idNumber": "string",
"idMex": "string",
"mz1": "string",
"mz2": "string",
"mz3": "string",
"expirationDate": "string"
},
"curpData": {
"curp": "string",
"names": "string",
"lastname": "string",
"secondlastname": "string",
"sex": "string",
"dateofbirth": "string",
"nationality": "string",
"entity": "string",
"crip": "string",
"statusCurp": "string",
"folio": "string",
"probationaryDocument": "string",
"foreignerNumber": "string",
"registrationEntity": "string",
"tome": "string",
"municipalityRegistryKey": "string",
"yearOfregistry": "string",
"registryEntityKey": "string",
"page": "string",
"actNumber": "string",
"book": "string"
},
"nominalListData": {
"canVote": true,
"type": "string",
"electorCode": "string",
"cicNumber": "string",
"issueNumber": "string",
"issueYear": "string",
"registrationYear": "string",
"ocrNumber": "string",
"expDate": "string"
},
"warnings": [{
"code": "string",
"message": "string"
}]
}
Error:
Name | Type | Description |
---|---|---|
code | string | Error code. |
message | string | Error message. |
{
"code": "string",
"message": "string"
}
Service messages
Code | Message | Description |
---|---|---|
00 | Success | Indicates whether the request was successful or unsuccessful. If everything goes well, the structure of the data will be displayed. |
Errors | ||
INE001 | Incorrect params. There is no backFile or frontFile. | Message that is displayed when the request has been completed successfully but its response has no content, (Example: when the front and back image is not sent). |
INE002 | Incorrect information. There is not frontFile. | Message that is displayed when the front image is not sent. |
INE003 | Incorrect information. There is not backFile. | Message that is displayed when the back image is not sent. |
INE004 | The format of the input document does not correspond to any of the allowed JPG, JPEG and PNG | Message that is displayed when the back or front file is not an image format file. |
INE005 | INE / IFE document was not detected in ineFront or ineBack images. | Message displayed when the image does not correspond to a correct INE or IFE. |
INE006 | The file size is not within the approximate range of 4 MB allowed. | Message displayed when the file is larger than the allowed. |
INE008 | Something was wrong, we are working on the failure. | Message displayed when there is an error on the server. |
INE009 | Access Denied. ApiKey not present. | Message displayed when a request is received with an unauthorized ApiKey. |
INE010 | Unable to identify INE type. | Message displayed when the image cannot be classificated. |
INE011 | We detect two images of the same side. | Message displayed when the two images received are the same side of the document. This could be two front or two back. |
INE012 | Front image type: {Type} not supported. | Message displayed when the front side of the document corresponds to a document type that is not supported because is expired. Example: Document type B. |
INE013 | Back image type: {Type} not supported. | Message displayed when the back side of the document corresponds to a type of document that is not supported because is expired. Example: Document type B. |
INE014 | Access Denied. ApiKey header not found. | Message displayed when the ApiKey does not exist. |
INE015 | Unable to identify INE type in ineFront and/or ineBack images. | Message displayed when the images type do not match or could not be detect. |
Warnings | ||
INE100 | Glare detected on front image | Message displayed when glare detected in the front image. |
INE101 | Glare detected on back image | Message displayed when glare detected in the back image. |
INE102 | Front image without focus | Message displayed when blur detected in the front image. |
INE103 | Back image without focus | Message displayed when blur detected in the back image. |
INE104 | Inconsistent data found on INE. | Message displayed when inconsistency was found in the data obtained from the INE. |
INE106 | Person not detected in ineFront. | Message displayed when the face is not detected in ineFront |
INE107 | CURP was not found in RENAPO. | Message displayed when CURP was not found in RENAPO. |
INE108 | CURP validation was not performed with RENAPO. | Message displayed when RENAPO service was not available. |
INE111 | The RENAPO service was not available. | Message displayed when CURP service of RENAPO was not available. |
INE112 | The Electoral Id was not found. | Message displayed when the Electoral Id couldn't be read. |
INENL008 | Unable to validate data. | Message displayed when the timeout for validation against the source is exceeded. |
INENL009 | No information related to the entered data was found. | Message displayed when no information related to the entered data was found. |
INENL010 | The credential is not accepted as official identification. | Message displayed when the credential cannot be use as official identification. |
INENL011 | The credential is not valid to vote. | Message displayed when the credential cannot be use to vote. |
INENL014 | This is not the latest voter ID issued, check the current IFE/INE. | Message displayed when exist a more recent identification. |