Guía rápida
Esta guía te llevará paso a paso para integrar verificación de identidad KYC en tu aplicación. En menos de 10 minutos tendrás tu primera verificación funcionando.
Requisitos previos
Necesitas credenciales de API (API Key y Secret). Si aún no las tienes, contacta a ventas para obtenerlas.
Paso 1: Obtén tus credenciales
Inicia sesión en el dashboard de JAAK y navega a Configuración > API Keys. Encontrarás:
- API Key: Identificador público de tu aplicación
- API Secret: Clave secreta para firmar solicitudes
Seguridad
Nunca expongas tu API Secret en código del lado del cliente. Todas las llamadas a la API deben realizarse desde tu servidor.
Paso 2: Crea una sesión de verificación
Crea una sesión para iniciar el proceso de verificación.
/api/v1/sessionsBearer TokenCrea una nueva sesión de verificación de identidad
curl -X POST https://api.dev.jaak.ai/api/v1/sessions \
-H "Content-Type: application/json" \
-H "X-API-Key: tu_api_key" \
-H "X-API-Secret: tu_api_secret" \
-d '{
"verificationType": "kyc_full",
"redirectUrl": "https://tu-app.com/verificacion-completada",
"webhookUrl": "https://tu-app.com/api/webhooks/jaak",
"externalId": "usuario-12345",
"metadata": {
"userId": "12345",
"plan": "premium"
}
}'
Respuesta:
{
"id": "ses_abc123xyz",
"status": "pending",
"verificationType": "kyc_full",
"verificationUrl": "https://verify.dev.jaak.ai/ses_abc123xyz",
"externalId": "usuario-12345",
"expiresAt": "2024-01-16T10:30:00Z",
"createdAt": "2024-01-15T10:30:00Z"
}
URL de verificación
El verificationUrl es el enlace que debes mostrar al usuario. Puede completar la verificación desde cualquier dispositivo con cámara.
Paso 3: Redirige al usuario
Tienes dos opciones para que el usuario complete la verificación:
Opción A: Redirección
Redirige al usuario a la URL de verificación:
// Redirigir al usuario
window.location.href = session.verificationUrl;
Cuando el usuario complete (o cancele) la verificación, será redirigido a tu redirectUrl con parámetros:
https://tu-app.com/verificacion-completada?sessionId=ses_abc123xyz&status=completed
Opción B: Embed con SDK
Integra el widget de verificación directamente en tu página:
<div id="jaak-verification"></div>
<script src="https://cdn.jaak.ai/sdk/v1/jaak-kyc.min.js"></script>
<script>
const jaak = new JaakKYC({
sessionId: 'ses_abc123xyz',
container: '#jaak-verification',
onComplete: (result) => {
console.log('Verificación completada:', result);
},
onError: (error) => {
console.error('Error:', error);
}
});
jaak.start();
</script>
Paso 4: Obtén los resultados
Una vez que el usuario complete la verificación, puedes obtener los resultados de dos formas:
Opción A: Consultar la API
/api/v1/sessions/:idBearer TokenObtiene los detalles y resultados de una sesión
curl -X GET https://api.dev.jaak.ai/api/v1/sessions/ses_abc123xyz \
-H "X-API-Key: tu_api_key" \
-H "X-API-Secret: tu_api_secret"
Respuesta (verificación exitosa):
{
"id": "ses_abc123xyz",
"status": "completed",
"verificationType": "kyc_full",
"result": {
"decision": "approved",
"confidence": 0.98,
"checks": {
"documentAuthenticity": "passed",
"faceMatch": "passed",
"liveness": "passed",
"dataConsistency": "passed"
}
},
"person": {
"fullName": "JUAN PEREZ GARCIA",
"firstName": "JUAN",
"lastName": "PEREZ",
"secondLastName": "GARCIA",
"dateOfBirth": "1990-05-15",
"gender": "M",
"curp": "PEGJ900515HDFRRS09",
"address": {
"street": "AV REFORMA 123",
"city": "CIUDAD DE MEXICO",
"state": "CDMX",
"postalCode": "06600"
}
},
"document": {
"type": "ine",
"number": "1234567890123",
"issueDate": "2020-01-15",
"expiryDate": "2030-01-15"
},
"completedAt": "2024-01-15T10:35:00Z",
"createdAt": "2024-01-15T10:30:00Z"
}
Opción B: Recibir webhook
Si configuraste un webhookUrl, recibirás una notificación automática:
{
"event": "session.completed",
"timestamp": "2024-01-15T10:35:00Z",
"data": {
"sessionId": "ses_abc123xyz",
"status": "completed",
"decision": "approved",
"externalId": "usuario-12345"
}
}
Verificación de webhooks
Valida la firma del webhook usando el header X-JAAK-Signature para asegurar que proviene de JAAK. Consulta la guía de webhooks para más detalles.
Estados de la sesión
| Estado | Descripción |
|--------|-------------|
| pending | Sesión creada, esperando que el usuario inicie |
| processing | Usuario en proceso de verificación |
| completed | Verificación completada exitosamente |
| failed | Verificación fallida (documento inválido, liveness fallido, etc.) |
| expired | La sesión expiró sin completarse |
Decisiones posibles
| Decisión | Descripción | Acción recomendada |
|----------|-------------|-------------------|
| approved | Identidad verificada exitosamente | Permitir acceso al usuario |
| rejected | Identidad no pudo ser verificada | Solicitar verificación manual |
| review | Requiere revisión manual | Revisar en dashboard de JAAK |
Siguientes pasos
- Tipos de verificación - Conoce todas las opciones disponibles
- API de Sesiones - Referencia completa de endpoints
- Webhooks - Configura notificaciones automáticas