Inyo

Entrega del Widget

El widget es una aplicación web alojada que guía a su cliente a través de la captura del documento y la selfie. Usted no construye el manejo de cámara, la guía de encuadre ni el acompañamiento de reintentos — usted entrega una URL.


La URL

POST /v1/sessions devuelve:

{ "widget_url": "https://{FQDN}/verify/8Kd2mQ…" }

El segmento final es un código de arranque de un solo uso, no un identificador de sesión. Cuando la página carga, el navegador lo intercambia por un token de página de corta duración; el código en sí no otorga nada más allá de iniciar esa única verificación.

PropiedadComportamiento
Vigencia48 horas desde la creación de la sesión
AlcanceUna sesión. No expone datos del tenant y no puede usarse para leer un resultado
Enlace vencidoEl cliente ve un mensaje de enlace vencido — cree una nueva sesión
Sesión ya completadaReabrir una verificación terminada muestra un mensaje de finalización en lugar de empezar de nuevo

Como el enlace tiene tiempo limitado, genérelo cuando esté listo para enviarlo — no por adelantado, en lote.


Tres Formas de Entregarlo

MétodoCómoIdeal para
RedirecciónEnvíe el navegador del cliente a widget_url, y use la entrega por redirección para traerlo de vueltaFlujos de onboarding web
Webview nativoAbra widget_url en un webview del sistema (WKWebView, WebView de Android) con permiso de cámara concedidoAplicaciones móviles que mantienen al cliente dentro de la app
Enlace externoEnvíe la URL por SMS, WhatsApp o correo electrónicoFlujos de escritorio o asistidos por un agente donde el teléfono del cliente tiene la mejor cámara

No hay SDK de JavaScript, API de iframe ni flujo de eventos postMessage. La finalización se señala del lado del servidor — mediante el webhook firmado o la redirección firmada — que es también lo que la hace confiable: el desenlace sobre el que actúa su backend nunca pasa sin firmar por el navegador del cliente.


Requisitos de Cámara

El acceso a la cámara requiere un contexto seguro. En la práctica:

  • Sirva o abra el widget por HTTPS. http://localhost y http://127.0.0.1 también califican, para desarrollo local.
  • En un webview nativo, conceda el permiso de cámara antes de cargar la URL — el aviso del sistema operativo dentro de un webview es fácil de pasar por alto para los clientes.
  • La captura es solo con cámara por defecto. Un selector de archivos aparece únicamente si la carga de archivos está habilitada para su tenant, de modo que un cliente no puede subir una foto almacenada de un documento a menos que usted nos haya pedido permitirlo.

Las imágenes tienen un tope de 10 MB por captura, dentro del cual la propia codificación del widget se mantiene con holgura.


Qué Ve el Cliente

  1. Tipo de documento — pasaporte, licencia de conducir o cédula de identidad. Se omite cuando usted establece prefill.document_type, y se limita a los tipos habilitados para su tenant.
  2. Captura del documento — una máscara con la forma del documento (página de foto y zona de lectura mecánica del pasaporte, contorno de tarjeta ID-1) con retroalimentación en vivo de encuadre, reflejos y desenfoque. Los documentos de dos caras solicitan el reverso.
  3. Confirmación — los campos extraídos se muestran para que el cliente pueda detectar una lectura errónea antes de continuar.
  4. Selfie — un óvalo facial con guía de captura.
  5. Resultado — aprobado, rechazado o un mensaje de "en revisión". En modo redirección el cliente es devuelto a su URL en su lugar.

Reintentos de Captura

Una captura que no puede verificarse — demasiado borrosa para leerse, una foto de una pantalla, un rostro que no coincide — devuelve al cliente al paso correspondiente con retroalimentación específica en lugar de hacer fallar la sesión de plano.

ComportamientoDetalle
Límite de intentosEl predeterminado de su tenant (3 salvo configuración distinta), sobrescribible por sesión con max_capture_attempts
En cada falloEl cliente ve retroalimentación dirigida al problema específico y reintenta
Al agotarseLa sesión es rechazada, y usted recibe ese resultado como cualquier otro, con una comprobación capture_attempts que indica el límite alcanzado

Eleve el límite para un flujo de consumo indulgente; redúzcalo donde las capturas fallidas repetidas sean en sí mismas una señal de fraude.


Marca y Localización

Ambas se configuran por tenant durante el onboarding — vea Configuración del Tenant.

La marca aplica su logo, nombre de empresa y colores primario, de fondo y de texto al marco del widget, de modo que el flujo se perciba como parte de su producto. El pie de página "Powered by Inyo 360" siempre se muestra y de manera intencional no es configurable.

El idioma proviene del campo language de la sesión, con respaldo en su valor predeterminado configurado. Inglés, portugués y español vienen completos; cualquier código xx o xx-XX es aceptado, y cualquier cadena sin traducción recurre al inglés de forma individual en lugar de descartar el idioma completo. Cada cadena que el widget muestra se sirve desde el almacén de textos de Inyo, así que la redacción — incluyendo la retroalimentación de reintentos y las pantallas de resultado — puede ajustarse para su tenant sin un despliegue de su parte.


Comprobación de Presencia Humana

El widget puede presentar un breve desafío de Cloudflare al iniciar, para evitar que el tráfico automatizado consuma verificaciones. Es invisible o casi invisible para los clientes reales y no requiere nada de su integración.


Seguimiento del Progreso

No necesita vigilar el progreso del cliente — el resultado se le envía por push — pero GET /v1/sessions/{session_id} expone un campo step (document_front, document_back, selfie, done) por si quiere mostrar un estado en curso en su propia UI o medir el abandono entre pasos.


Próximos Pasos