Inyo360 — Verificación de Identidad (KYC)
La API de Verificación de Identidad, parte de la suite de cumplimiento Inyo360, confirma que un cliente es quien dice ser. El cliente fotografía un documento emitido por el gobierno — pasaporte, licencia de conducir o cédula de identidad — y se toma una selfie. Inyo extrae los datos del documento, los valida, comprueba que el documento sea auténtico y no esté vencido, confirma que la selfie corresponde a una persona viva y compara a esa persona con el retrato del documento. Usted recibe una única decisión normalizada: approved, declined o in_review.
Cómo Funciona
┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ Create │ │ Customer │ │ Document │ │ Selfie + │
│ Session │──▶│ Opens the │──▶│ Capture │──▶│ Liveness │
│ (your API) │ │ Widget │ │ (front/back)│ │ Face Match │
└──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘
│
┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ Your System │ │ Signed │ │ Decision │◀───┘
│ Updates │◀──│ Webhook or │◀──│ approved / │
│ the User │ │ Redirect │ │ declined / │
└──────────────┘ └──────────────┘ │ in_review │
└──────────────┘
Dos Formas de Integrarse
Elija una por verificación — ambas producen el mismo resultado normalizado y respetan la misma configuración.
| Modo | Cómo funciona | Elíjalo cuando |
|---|---|---|
| Widget alojado | Usted crea una sesión y recibe un widget_url. Envíelo a su cliente o ábralo en un webview. Inyo se encarga de la captura con cámara, la guía de encuadre, los reintentos y la localización. | Quiere la integración más rápida y sin código de cámara propio. Es la opción predeterminada recomendada. |
| Servidor a servidor | Usted captura las imágenes por su cuenta y las envía a POST /v1/verifications. El resultado llega en la respuesta. | Ya tiene una UI de captura, o la verificación ocurre sin un cliente en vivo (por ejemplo, re-verificar documentos almacenados). |
Pasos de Integración
| Paso | Acción | Endpoint | Descripción |
|---|---|---|---|
| 1 | Autenticarse | POST /oauth/token | Intercambie sus credenciales de cliente por un token Bearer |
| 2 | Crear una sesión | POST /v1/sessions | Devuelve un session_id y un widget_url |
| 3 | Entregar el widget | — | Envíe el enlace, o ábralo en un webview |
| 4 | Recibir el resultado | su webhook_url | Un POST firmado con el resultado de la verificación |
| 5 | Leer la decisión | — | Interprete status, auto_status y checks[] |
| 6 | Confirmar del lado del servidor | GET /v1/sessions/{session_id} | El registro autoritativo, para sondeo o conciliación |
¿Va a omitir el widget? Reemplace los pasos 2-4 con una única verificación servidor a servidor.
Qué Recibe
Toda verificación se resuelve en un único resultado normalizado que contiene la decisión, los datos extraídos del documento y de la persona, y las comprobaciones individuales que produjeron la decisión:
{
"session_id": "…",
"user_ref": "user-123",
"status": "approved",
"auto_status": "approved",
"document": { "type": "Passport", "number": "…", "expiration_date": "2033-09-30" },
"person": { "first_name": "…", "last_name": "…", "date_of_birth": "1988-03-04" },
"checks": [
{ "name": "document_not_expired", "passed": true, "score": null, "detail": "…" },
{ "name": "face_match", "passed": true, "score": 98.7, "detail": "similarity vs threshold 90.0" }
],
"provider": "inyo"
}
El payload completo y las reglas para leerlo están en Comprobaciones y Decisiones.
Patrón de Arquitectura
Sus credenciales OAuth son exclusivas del lado del servidor. Cree las sesiones desde su backend y entregue al cliente únicamente el widget_url devuelto — contiene un código de un solo uso y con tiempo limitado, y no otorga acceso a nada más que a esa única verificación.
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ Customer │────▶│ Your Server │────▶│ Inyo KYC │
│ Browser / │ │ (holds the │ │ Tenant API │
│ Webview │◀────│ credentials)│◀────│ │
└──────────────┘ └──────────────┘ └──────────────┘
│ ▲
│ widget_url │
└──────────────────────────────────────────┘
customer talks only to the widget
Entornos
| Recurso | URL |
|---|---|
| API del tenant (sandbox) | https://{FQDN} |
| API del tenant (producción) | https://{FQDN} |
| Host del widget | https://{FQDN} |
Las URL base, las credenciales de cliente OAuth y la lista de IP permitidas son emitidas por Inyo durante el onboarding. Las credenciales de sandbox y de producción no son intercambiables.
Próximos Pasos
| Página | Qué cubre |
|---|---|
| Primeros Pasos | Ejecute una verificación de principio a fin |
| Autenticación | Tokens, alcances y manejo de errores |
| Sesiones de Verificación | Cada campo de POST /v1/sessions |
| Recepción de Resultados | Verificación de firmas y modos de entrega |
| Revisión Manual | Cómo manejar in_review correctamente |
| Configuración del Tenant | Umbrales, tipos de documento y personalización de marca |
| Sandbox y Datos de Prueba | Pruebas antes de salir a producción |
