Inyo

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.

ModoCómo funcionaElíjalo cuando
Widget alojadoUsted 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 servidorUsted 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

PasoAcciónEndpointDescripción
1AutenticarsePOST /oauth/tokenIntercambie sus credenciales de cliente por un token Bearer
2Crear una sesiónPOST /v1/sessionsDevuelve un session_id y un widget_url
3Entregar el widgetEnvíe el enlace, o ábralo en un webview
4Recibir el resultadosu webhook_urlUn POST firmado con el resultado de la verificación
5Leer la decisiónInterprete status, auto_status y checks[]
6Confirmar del lado del servidorGET /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

RecursoURL
API del tenant (sandbox)https://{FQDN}
API del tenant (producción)https://{FQDN}
Host del widgethttps://{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áginaQué cubre
Primeros PasosEjecute una verificación de principio a fin
AutenticaciónTokens, alcances y manejo de errores
Sesiones de VerificaciónCada campo de POST /v1/sessions
Recepción de ResultadosVerificación de firmas y modos de entrega
Revisión ManualCómo manejar in_review correctamente
Configuración del TenantUmbrales, tipos de documento y personalización de marca
Sandbox y Datos de PruebaPruebas antes de salir a producción