API Cédulas Profesionales.
Manual operativo de la API de consulta de cédulas profesionales federales de BuhoLegal. Permite buscar por número de cédula o por nombre del profesionista.
Introduccion
La API de Cédulas Profesionales permite consultar el padrón de profesionistas con cédula federal emitida por la Dirección General de Profesiones (SEP). Las búsquedas se realizan sobre un índice actualizado y retornan datos como nombre, carrera, universidad, entidad y año de registro.
Cómo funciona
- El acceso requiere un token JWT generado en /api/login/.
- El token se envía directamente, sin prefijo Bearer.
- Cada consulta exitosa descuenta del saldo del usuario.
Tipos de busqueda
- Por número de cédula: respuesta exacta.
- Por nombre / paterno / materno: búsqueda flexible, retorna múltiples resultados.
- Al menos un campo de nombre debe estar presente.
Inicio rapido
El flujo mínimo es: obtener token, verificar saldo disponible y realizar una búsqueda por número o por nombre.
curl -X POST https://cedulas.buholegal.com/api/login/ \
-H "Content-Type: application/json" \
-d '{"email": "mi_usuario@empresa.com", "password": "mi_password"}'
curl https://cedulas.buholegal.com/api/estado-cuenta/ \
-H "Authorization: <token>"
curl "https://cedulas.buholegal.com/api/cedula/1234567/" \
-H "Authorization: <token>"
Autenticacion
La API usa JWT. El login acepta email y password. El token de acceso se envía directamente en el header Authorization, sin prefijo Bearer.
| Metodo | Endpoint | Descripcion |
|---|---|---|
| POST | /api/login/ | Genera el par de tokens access / refresh. |
| POST | /api/token/refresh/ | Renueva el access token usando el refresh token. |
| POST | /api/token/verify/ | Verifica si un token es válido. |
{
"email": "mi_usuario@empresa.com",
"password": "mi_password"
}
{
"access": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...",
"refresh": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9..."
}
Authorization: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...
Busqueda por numero de cedula
Retorna todas las cédulas que coincidan con el número indicado. El resultado es un arreglo; un mismo número puede estar asociado a más de una carrera.
| Metodo | Endpoint | Descripcion |
|---|---|---|
| GET | /api/cedula/{cedula}/ | Busca por número de cédula (1–9 dígitos). |
curl "https://cedulas.buholegal.com/api/cedula/1234567/" \
-H "Authorization: <token>"
[
{
"cedula": "1234567",
"nombre": "JUAN",
"paterno": "PEREZ",
"materno": "LOPEZ",
"carrera": "MEDICINA",
"universidad": "UNIVERSIDAD NACIONAL AUTONOMA DE MEXICO",
"entidad": "DISTRITO FEDERAL",
"anno": 1998,
"tipo": "TITULO",
"status": 0
}
]
Busqueda por nombre
Permite buscar cédulas por nombre, apellido paterno y/o apellido materno. Al menos un campo debe estar presente. Los resultados se ordenan por número de cédula descendente.
| Metodo | Endpoint | Descripcion |
|---|---|---|
| GET | /api/cedula/query/ | Busca por nombre, paterno y/o materno. |
curl "https://cedulas.buholegal.com/api/cedula/query/?nombre=JUAN&paterno=PEREZ&materno=LOPEZ" \
-H "Authorization: <token>"
curl "https://cedulas.buholegal.com/api/cedula/query/?paterno=PEREZ" \
-H "Authorization: <token>"
{
"total": 3,
"cedulas": [
{
"cedula": "9876543",
"nombre": "JUAN",
"paterno": "PEREZ",
"materno": "LOPEZ",
"carrera": "DERECHO",
"universidad": "UNIVERSIDAD DE GUADALAJARA",
"entidad": "JALISCO",
"anno": 2005,
"tipo": "TITULO",
"status": 0
}
]
}
Cuenta y limites
Cada usuario tiene un límite de consultas asignado. Los endpoints de cuenta permiten revisar el saldo disponible y el historial de búsquedas realizadas.
| Metodo | Endpoint | Descripcion |
|---|---|---|
| GET | /api/estado-cuenta/ | Retorna consultas consumidas y límite total asignado. |
| GET | /api/historial-busquedas/ | Historial paginado de búsquedas realizadas. |
{
"consumidas": 45,
"limite": 500,
"disponibles": 455
}
Errores
La API responde con códigos HTTP estándar. Los errores funcionales retornan un objeto con detail describiendo el problema.
| Codigo | Significado | Uso tipico |
|---|---|---|
| 200 | OK | Operación exitosa. Si no hay resultados, retorna arreglo vacío. |
| 400 | Bad Request | Parámetros faltantes o con formato inválido. |
| 401 | Unauthorized | Token ausente, expirado o inválido. |
| 429 | Too Many Requests | Límite de consultas alcanzado. |
| 500 | Internal Server Error | Error interno al consultar el índice de cédulas. |
Referencia rapida
| Metodo | Endpoint | Descripcion |
|---|---|---|
| POST | /api/login/ | Obtiene token JWT. |
| POST | /api/token/refresh/ | Renueva el token. |
| POST | /api/token/verify/ | Verifica validez del token. |
| GET | /api/cedula/{cedula}/ | Busqueda por numero de cedula. |
| GET | /api/cedula/query/ | Busqueda por nombre / paterno / materno. |
| GET | /api/estado-cuenta/ | Consultas consumidas y limite. |
| GET | /api/historial-busquedas/ | Historial paginado de busquedas. |