Inicio

Última Actualización: 07 Diciembre del 2023

Introducción

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.

Registro

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

Enviar Token

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.

Estructura del JSON

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

Respuesta del servidor

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": {

	}
}
										 


  • En donde {error} será una variable tipo bool. Indicará si hubo un error o no.
  • En donde {error_code} será una variable tipo int. Indicará el número de error que podrá ser identificado en esta documentación.
  • En donde {error_message} será una variable tipo string. Indicará error que hubo al momento de mandar la solicitud al servidor.
  • En donde {response} será una variable tipo array. Devolverá la información de la validación.

Pruebas

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


JSON a enviar:

{
	"token": "pruebas",
	"curp": "PXNE660720HMCXTN06",
}
												
											

Respuesta del servidor:

{
	"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

CURP

Validar estructura de un CURP

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:

EndPoint:

https://validacurp-v2.qa-msweb.xyz/curp/validateCurpStructure


JSON a enviar:

{
    "token": "pruebas",
    "curp": "PXNE660720HMCXTN06",
}
										
										


A esto nos devolverá un JSON con el análisis y los resultados de la validación:

En la respuesta, donde {valido} es una variable tipo boolean, que devolverá "false", si la estructura del CURP es inválido, o devolverá "true", si su estructura es correcta.

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
    }
}
										
										

Obtener datos de un CURP

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

  • En donde {token} será el token asignado a su proyecto, con el que identificará su proyecto y le dará acceso a la API.
  • En donde {curp} será una clave obligatoria, con el cual se obtendrá la información de la persona dueña del curp

Ejemplo:

EndPoint:

https://validacurp-v2.qa-msweb.xyz/curp/getData


JSON a enviar:

{
    "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
		}
	}
}
										
									

Claves del estatus

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

Calcular un CURP por medio de datos de una persona

Para calcular un CURP se deberá acceder al método {calculateCURP} y enviar las siguientes claves

  • token: Su valor se usara para identificar el proyecto y dar acceso a la API
  • entity: Su valor se usara para indicar la entidad federativa de nacimiento. Este es un catálogo de 2 dígitos. Ver método entidades.
  • gender: Se utilizará para indicar el sexo de la persona. Se tienen las siguientes opciones para ingresar
    • H = Hombre
    • M = Mujer
    • X = No binario
  • yearBirth: El valor se utilizará para indicar el año de nacimiento de la persona. El formato es de 4 dígitos XXXX
  • birthMonth: Sirve para indicar el mes de nacimiento de la persona. El formato es de 2 dígitos XX
  • birthday: La utilización de este valor es para indicar el día de nacimiento de la persona. El formato es de 2 dígitos XX
  • lastName: Sirve para indicar el apellido paterno de la persona
  • secondLastName: Se utilizará para indicar el apellido materno de la persona
  • names: valor que se usara para indicar el o los nombres de la persona
Ejemplo:

EndPoint:

https://validacurp-v2.qa-msweb.xyz/curp/calculateCURP


NOTA: Este método se basa en calcular el CURP por medio de un algoritmo, por lo cual puede que la información no sea tan precisa.

JSON a enviar:

{
    "names" : "enrique",
	"lastName" : "peña",
	"secondLastName" : "nieto",
	"birthday" : "20",
	"birthMonth" : "07",
	"yearBirth" : "1966",
	"gender" : "H",
	"entity" : "15",
	"token" : "pruebas",
}
										
										

A esto nos devolverá un JSON con el CURP generado.


                                            
                                            
{
	"error":false,
	"code_error":0,
	"error_message":null,
	"response": { 
		"curp":"PXNE660720HMCXTN06"
	}
}
                                         
                                         

Obtener entidades disponibles CURP

En este método se podrá obtener un listado de las entidades disponibles, para poder calcular el CURP. Para obtenerlas se deberá acceder al método {getEntities} y se deberá enviar el JSON solo con la clave {token}

Ejemplo:

EndPoint:

https://validacurp-v2.qa-msweb.xyz/curp/getEntities


A esto nos devolverá un JSON con las entidades, su código y abreviación.


                                            
                                            
{
    "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"
            }

            .....


        ]
    }
}
                                         
                                         

Códigos de Error API

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:

Validación

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

Changelog

En esta sección aparecerán los cambios hechos en la API, desde el día de su publicación

  • 5/12/2021 - Se migró API a dominio principal Valida-CUPR.com.mx
  • 5/08/2021 - Creación y publicación de la API