Con esta API muchas empresas han podido resolver problemas comunes en el registro de datos de sus usuarios. Ya que contamos con varias herramientas con las cuales se pueden validar, verificar y calcular un CURP. Entra las cuales destacan las siguientes:
-Obtención de datos por medio de un CURP
-Generación de CURP por medio de datos
-Validación de estructura por medio de un algoritomo
Todos los métodos disponibles de la API reciben la petición por POST, por lo que se deberá probar desde su servidor.
Se deberá registrar de forma gratuita y crear un proyecto. En este proyecto se generará un token que deberá enviar por medio del método POST para realizar su consulta. Para crear su cuenta deberá acceder a la siguiente URL:
https://api.valida-curp.com.mx/panel/registro
Para enviar el token de proyecto a nuestra API, existen 2 maneras: Dentro del JSON y dentro de los header.
HEADERS
Para enviar el token de proyecto por medio de los headers, se necesita enviar la siguiente cabecera
"Authorization: Bearer {token}"
En este caso "{token}" se tendrá que remplazar por el token de proyecto
Ejemplo:
"Authorization: Bearer pruebas"
JSON
Para enviar el token en la estructura del JSON, solo se deberá añadir la clave "token" y darle el valor del token de proyecto
{
"token" : {token}
}
En este caso "{token}" se tendrá que remplazar por el token de proyecto
Ejemplo:
{
"token" : "pruebas"
}
Nota: Este ejemplo se estará utilizando en toda la documentación, pero se puede utilizar cualquiera de las 2 maneras para hacer la conexión a la API.
Para hacer uso de la API de forma correcta, se deberá estructurar un JSON con los datos solicitados según el método
requerido
Ejemplo de un JSON a enviar:
{
"token": "pruebas",
"curp": "XAXX010101XAXAXA00",
}
NOTA:Todos las claves dentro del JSON a enviar deben estár escritas como se muestra en la documentación
Una vez que se haya hecho el request, el servidor regresará un código 200 http si todo salió de forma correcta, o devolverá un código 400 http si hubo un error en el envío de los parámetros al endpoint. En cualquier caso devolverá un json.
{
"error":false,
"code_error":0,
"error_message": null,
"response": {
}
}
Para realizar pruebas, se puede ocupar cualquier método disponible en esta documentación, únicamente se deberá ingresa la palabra {pruebas} en el valor de token.
https://validacurp-v2.qa-msweb.xyz/curp/{metodo}
En modo pruebas, mostrará información genérica y estática.
Ejemplo:
EndPoint:
https://validacurp-v2.qa-msweb.xyz/curp/getData
{
"token": "pruebas",
"curp": "PXNE660720HMCXTN06",
}
{
"error":false,
"code_error":0,
"error_message":"",
"response" : {
"Applicant" : {
"CURP":"XAXX010101XAXAXA00",
"Names":"Nombre de prueba",
"LastName":"Apellido paterno de prueba",
"SecondLastName":"Apellido materno de prueba",
"GenderKey":"H",
"Gender":"Hombre",
"DateOfBirth":"01\/01\/1990",
"Nacionality":"MEX",
"CodeEntityBirth":"DF",
"EntityBirth":"Ciudad de México",
"KeyEvidentiaryDocument":1,
"EvidentiaryDocument":"Documento de pruebas",
"CurpStatusKey":"XX",
"StatusKey":"Estatus de prueba"
},
"EvidentiaryDocument" : {
"YearRegistration":9999,
"KeyIssuingEntity":999,
"KeyMunicipalityRegistration":999,
"MunicipalityRegistration":null,
"Foja":1,
"FolioLetter":0,
"Book":null,
"CertificateNumber":985,
"RegistrantNumber":1,
"RegistrationEntity":"México",
"ForeignRegistrationNumber":"",
"Volume":0
}
}
}
Nota: La respuesta dependerá del método utilizado
Para validar un CURP se deberá acceder al método {validateCurpStructure}. Para que la API devuelva un resultado correcto, se deberá mandar el JSON con las claves {curp} y {token}. Estás claves se deberán enviar de forma obligatoria.
Ejemplo:https://validacurp-v2.qa-msweb.xyz/curp/validateCurpStructure
{
"token": "pruebas",
"curp": "PXNE660720HMCXTN06",
}
Nota: En caso de utilizarlo en modo pruebas, se devolverá un string con la palabra "pruebas"
{
"error": false,
"code_error": 0,
"error_message": null,
"response": {
"valido": true
}
}
Para acceder obtener los datos de un CURP dado, se deberá acceder al método {getData} y se deberá enviar de forma obligatoria las claves {curp} y {token}:
https://validacurp-v2.qa-msweb.xyz/curp/getData
Ejemplo:
EndPoint:https://validacurp-v2.qa-msweb.xyz/curp/getData
{
"token": "pruebas",
"curp": "PXNE660720HMCXTN06",
}
Respuesta del servidor:
{
"error":false,
"code_error":0,
"error_message":"",
"response": {
"Applicant": {
"CURP":"PXNE660720HMCXTN06",
"Names":"ENRIQUE",
"LastName":"PEÑA",
"SecondLastName":"NIETO",
"GenderKey":"H",
"Gender":"Hombre",
"DateOfBirth":"1966-07-20",
"Nacionality":"MEX",
"CodeEntityBirth":"",
"EntityBirth":"",
"KeyEvidentiaryDocument":1,
"EvidentiaryDocument":"Acta de nacimiento",
"CurpStatusKey":"RCN",
"StatusKey":"Registro de cambio no afectando a CURP"
},
"EvidentiaryDocument": {
"YearRegistration":1966,
"KeyIssuingEntity":"",
"KeyMunicipalityRegistration":14,
"MunicipalityRegistration":"",
"Foja":0,
"FolioLetter":"",
"Book":0,
"CertificateNumber":985,
"RegistrantNumber":15,
"RegistrationEntity":"México",
"ForeignRegistrationNumber":"",
"Volume":0
}
}
}
| Estatus | Descripción |
|---|---|
| AN | Alta Normal |
| AH | Alta con Homonimia |
| RCN | Registro de Cambio No afectando a CURP |
| RCC | Registro de Cambio Afectando a CURP |
| BD | Baja por Defunción |
| BSU | Baja Sin Uso |
| BAP | Baja por Documento Apócrifo |
| BDM | Baja Administrativa |
| BDP | Baja por Adopción |
| BJD | Baja Judicial |
Para calcular un CURP se deberá acceder al método {calculateCURP} y enviar las siguientes claves
https://validacurp-v2.qa-msweb.xyz/curp/calculateCURP
{
"names" : "enrique",
"lastName" : "peña",
"secondLastName" : "nieto",
"birthday" : "20",
"birthMonth" : "07",
"yearBirth" : "1966",
"gender" : "H",
"entity" : "15",
"token" : "pruebas",
}
{
"error":false,
"code_error":0,
"error_message":null,
"response": {
"curp":"PXNE660720HMCXTN06"
}
}
https://validacurp-v2.qa-msweb.xyz/curp/getEntities
{
"error": false,
"code_error": 0,
"error_message": null,
"response": {
"clave_entidad": [
{
"clave_entidad": "01",
"nombre_entidad": "AGUASCALIENTES",
"abreviatura_entidad": "AS"
},
{
"clave_entidad": "02",
"nombre_entidad": "BAJA CALIFORNIA",
"abreviatura_entidad": "BC"
},
{
"clave_entidad": "03",
"nombre_entidad": "BAJA CALIFORNIA SUR",
"abreviatura_entidad": "BS"
},
{
"clave_entidad": "04",
"nombre_entidad": "CAMPECHE",
"abreviatura_entidad": "CC"
}
.....
]
}
}
Una vez que se haya hecho el request, el servidor regresará un código http 400 si hubo un error en el envío de los parámetros al endpoint.
En la siguiente tabla, se en listan los códigos de error:
| Código | Descripción | Método |
|---|---|---|
| 1 | La IP/token ha sido bloqueada por que no cumple con nuestros términos y condiciones | N/A |
| 2 | El token del proyecto es inválido | N/A |
| 3 | El proyecto se encuentra suspendido. Si cree que es un error favor de reportar a soporte | N/A |
| 4 | Se han agotado sus consultas. Favor de adquirir un nuevo paquete | N/A |
| 100 | No se recibió el curp a validar | Validar CURP |
| 101 | La estructura del curp es inválido | Validar CURP |
| 200 | Error de conexión a RENAPO. | Obtener datos CURP |
| 300 | Error de RENAPO. En la respuesta se especifica que tipo de error es. | Obtener datos CURP |
| 400 | No se recibieron los nombres | Calcular CURP |
| 401 | No se recibió el apellido paterno | Calcular CURP |
| 402 | No se recibió el apellido materno | Calcular CURP |
| 403 | No se recibió el día de nacimiento | Calcular CURP |
| 404 | No se recibió el mes de nacimiento | Calcular CURP |
| 405 | No se recibió el año de nacimiento | Calcular CURP |
| 406 | No se recibió el sexo de la persona | Calcular CURP |
| 407 | No se recibió la entidad de nacimiento | Calcular CURP |
| 408 | El día de nacimiento debe ser numérico | Calcular CURP |
| 409 | El mes de nacimiento debe ser numérico | Calcular CURP |
| 410 | El año de nacimiento debe ser numérico | Calcular CURP |
| 411 | El día de nacimiento deben ser 2 dígitos | Calcular CURP |
| 412 | El mes de nacimiento deben ser 2 dígitos | Calcular CURP |
| 413 | El mes de nacimiento deben ser 2 dígitos | Calcular CURP |
| 414 | El año de nacimiento deben ser 4 dígitos | Calcular CURP |
| 415 | El sexo es incorrecto, debe ser H o M | Calcular CURP |
| 416 | La clave de entidad es inválida | Calcular CURP |
| 417 | Error inesperado. En la respuesta indica el tipo de error. | Calcular CURP |
En esta sección aparecerán los cambios hechos en la API, desde el día de su publicación