Resultados de Sesión KYC
Consulta detalles de session
A continuación, te mostramos cómo visualizar las sesiones KYC realizadas mediante API.
Puedes utilizar la siguiente URL para buscar
Endpoint
URL: /api/v1/kyc/session/<sessionID>
Método: GET
Tipo de contenido: application/json
El parámetro <sessionID> en la URL de arriba, corresponde con el parámetro sessionID de una Sesión KYC. Este parámetro sessionID se puede encontrar dentro de las propiedades preliminares al listar las sesiones KYC
Autenticación
Este endpoint requiere autenticación mediante Bearer Token de tipo API Key, el cual se obtiene desde el Dashboard de JAAK.
Authorization: Bearer {API_KEY_FROM_DASHBOARD}
⚠️ Nota importante: Este Bearer Token es diferente al access_token del endpoint de validación de licencia. Este debe ser una API Key obtenida directamente desde tu dashboard de JAAK.
Headers Requeridos
| Header | Tipo | Requerido | Descripción |
|---|---|---|---|
Authorization | string | Sí | Bearer token con tu API Key del dashboard |
Origin-Device | string | Sí | Origen del dispositivo. Valores: web, android, ios |
Ejemplo de Headers
Authorization: Bearer sk_live_abc123xyz789...
Origin-Device: web
Respuestas
200 - OK
Retorna el token JWT de sesión junto con los assets procesados (documento y liveness).
Headers de Respuesta:
X-Trace-ID(string): OpenTelemetry trace ID para distributed tracing
{
"sessionId": "string",
"accessToken": "string",
"step": 0,
"document": "string",
"assets": {
"document": {
"status": true,
"message": "string",
"requestId": "string",
"eventId": "string",
"processingTime": "string",
"documentType": {
"type": "UNDEFINED",
"country": "UNDEFINED"
},
"documentMetadata": "string",
"documentData": {
"mechanicalReadingZone": "string",
"generalData": {
"type": "string",
"name": "string",
"secondName": "string",
"surname": "string",
"motherSurname": "string",
"gender": "string",
"birthDate": "string",
"country": "string",
"validUntil": "string",
"address": {
"street": "string",
"externalNumber": "string",
"internalNumber": "string",
"neighborhood": "string",
"city": "string",
"council": "string",
"state": "string",
"zipCode": "string",
"fullAddress": "string"
},
"documentImage": {
"photo": "string",
"position": {
"top": 0,
"left": 0,
"bottom": 0,
"right": 0
}
}
},
"specificData": [
{
"label": "string",
"value": "string"
}
]
},
"state": {
"supportedDocument": true,
"isExpired": true,
"isUnderAge": true,
"message": "string"
}
},
"liveness": {
"requestId": "string",
"eventId": "string",
"score": 0,
"processTime": 0,
"bestFrame": "string",
"state": {
"isRealPerson": true,
"message": "string"
}
}
}
}Campos de la Respuesta
Campos Principales:
sessionId(string): ID de la sesión KYCaccessToken(string): Token JWT de sesiónstep(number): Paso actual del flujo KYCdocument(string): Tipo de documento procesado
Assets - Document:
status(boolean): Estado del procesamiento del documentomessage(string): Mensaje descriptivo del resultadodocumentType: Tipo y país del documento procesadodocumentData: Datos extraídos del documentogeneralData: Información general (nombre, apellidos, género, fecha de nacimiento, dirección, etc.)mechanicalReadingZone: Zona de lectura mecánica (MRZ)specificData: Datos específicos del documento (CURP, CIC, etc.)
state: Estado del documentosupportedDocument: Si el documento es soportadoisExpired: Si el documento está vencidoisUnderAge: Si la persona es menor de edad
Assets - Liveness:
score(number): Puntuación de la prueba de vida (0-100)bestFrame(string): Mejor frame capturado en base64state: Estado de la pruebaisRealPerson: Si se detectó una persona realmessage: Mensaje descriptivo del resultado
400 - Bad Request
{
"statusCode": 400,
"message": "string",
"errorCode": "string",
"eventId": "string"
}Causas comunes:
- Headers faltantes (Short-Key u Origin-Device)
- Shortkey expirado o inválido
- Estado de sesión inválido
500 - Internal Server Error
{
"statusCode": 500,
"message": "string",
"errorCode": "string",
"eventId": "string"
}Ejemplo de Uso
curl -X GET https://api.jaak.mx/api/v1/kyc/session \
-H "Authorization: Bearer sk_live_abc123xyz789..." \
-H "Short-Key: 7f3e4d2c1b9a8f6e5d4c3b2a1" \
-H "Origin-Device: web"Respuesta Ejemplo
HTTP/1.1 200 OK
X-Trace-ID: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01
Content-Type: application/json
{
"sessionId": "sess_abc123",
"accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"step": 2,
"document": "INE",
"assets": {
"document": {
"status": true,
"message": "Documento procesado exitosamente",
...
},
"liveness": {
"score": 95,
"state": {
"isRealPerson": true,
"message": "Persona real detectada"
},
...
}
}
}Descargar Reporte PDF de Sesión KYC
Descripción
Descarga un reporte PDF completo con el resumen de una sesión de verificación KYC.
Este endpoint requiere autenticación mediante Bearer Token de tipo API Key, el cual se obtiene desde el Dashboard de JAAK.
Endpoint
GET /api/v1/kyc/session/{id}/pdf
URL Completa:
https://api.jaak.mx/api/v1/kyc/session/{id}/pdf
Parámetros
Path Parameters
| Parámetro | Tipo | Requerido | Descripción | Ejemplo |
|---|---|---|---|---|
id | string | ✅ Sí | ID único de la sesión KYC | 06722190-9de7-4d1b-a9ad-1559a5ab8cb9 |
Headers
| Header | Valor | Requerido |
|---|---|---|
Authorization | Bearer {API_KEY} | ✅ Sí |
Accept | application/pdf | ⚪ Opcional |
Configuración en Postman
1. Configuración Básica
- Método: GET
- URL:
https://api.jaak.mx/api/v1/kyc/session/06722190-9de7-4d1b-a9ad-1559a5ab8cb9/pdf
2. Headers
Authorization: Bearer YOUR_API_KEY
Accept: application/pdf
3. Guardar Respuesta
- Click en "Send and Download"
- O habilita "Save Response" → "Save to a file"
Respuestas
✅ 200 - OK
Content-Type: application/pdf
Body: Archivo PDF binario descargable
❌ 400 - Bad Request
{
"errorCode": "INVALID_SESSION_ID",
"eventId": "3683b971-8448-4fcb-88df-376fe34a4621",
"message": "La sesión especificada no existe o no está disponible",
"statusCode": 400
}Códigos de Error:
INVALID_SESSION_ID- ID de sesión inválidoSESSION_NOT_FOUND- Sesión no encontradaSESSION_INCOMPLETE- Sesión no completadaPDF_GENERATION_FAILED- Error al generar PDF
🔒 401 - Unauthorized
{
"errorCode": "UNAUTHORIZED",
"message": "API Key inválida o no proporcionada",
"statusCode": 401
}⏱️ 404 - Not Found
{
"errorCode": "SESSION_NOT_FOUND",
"message": "No existe una sesión con el ID proporcionado",
"statusCode": 404
}Contenido del PDF
El reporte incluye:
- ✅ Información general de la sesión
- 👤 Datos personales extraídos
- 📍 Dirección completa
- 🆔 Números de identificación (CIC, CURP, Clave de Elector, RFC)
- 📅 Fechas de emisión y vencimiento
- ✅ Validaciones realizadas
- 🖼️ Imágenes del documento (frente y reverso)
- 📸 Fotografía del rostro
Notas Importantes
⏱️ Disponibilidad: El PDF está disponible inmediatamente después de completar la verificación
💾 Tamaño: Entre 500 KB y 2 MB aproximadamente
🔐 Seguridad: El PDF contiene información sensible (PII) - manejar con cuidado
📝 Retención: Los PDFs pueden estar disponibles por tiempo limitado (30-90 días)
Updated 3 days ago
