Widget
El widget de Veridia es un único custom element de HTML, <veridia-widget>. Ejecuta el flujo de captura en el navegador: permiso de cámara, frente del documento (y dorso), selfie, reto opcional de prueba de vida (liveness) activa, controles de calidad, subida y envío.
Es la forma más rápida de integrar Veridia. No escribís código de captura, no tocás el endpoint de subida y no manejás la codificación de imágenes.
<script src="https://widget.xxuxe.online/face-api.js"></script>
<script type="module" src="https://widget.xxuxe.online/veridia-widget.min.js"></script>
<veridia-widget
publishable-key="qv_pubt_YOUR_KEY"
country="PY"
document-type="dni"
locale="es">
</veridia-widget>
Qué hace el widget
- Solicita la cámara y guía al usuario por cada paso de captura.
- Ejecuta controles de calidad del lado del cliente (nitidez, brillo, reflejos, presencia de rostro) y pide repetir la toma cuando un cuadro es inutilizable.
- Llama a
POST /v1/verify/init, sube cada imagen y llama aPOST /v1/verify/submit. - Emite exactamente dos eventos:
veridia:completeyveridia:error.
Qué no hace el widget
Nunca te da el veredicto. Esto es lo más importante que tenés que entender antes de integrar.
veridia:complete se dispara cuando el envío fue aceptado, no cuando la persona aprobó. Su campo status (queued / processing / completed) describe el pipeline, no el resultado. El resultado — approved, review, rejected — vive en otro eje y solo se puede leer con una clave secreta, desde tu servidor:
- Preferido: recibir el webhook.
- O: que tu backend llame a
GET /v1/verify/{id}con una claveqv_sec_*/qv_sect_*.
El widget lleva una clave publicable (qv_pub_* / qv_pubt_*). Esa clave puede iniciar y enviar verificaciones. No puede leer veredictos, por diseño: es visible para cualquiera que abra el código fuente de tu página. Si pudiera leer veredictos, cualquiera podría leer los tuyos.
Ramificar sobre status para activar una cuenta admite a todos los solicitantes rechazados. El widget no puede protegerte de eso; solo leer verdict del lado del servidor puede.
La clave publicable no es un control de acceso
Las claves publicables tienen una lista allowedOrigins. Hoy toda clave se crea con esa lista vacía, y una lista vacía permite todos los orígenes. La validación además solo aplica a navegadores: un cliente del lado del servidor no envía cabecera Origin y siempre pasa.
Tratá allowedOrigins como una forma de delimitar dónde se espera que corra tu widget, no como un perímetro. Ver Autenticación.
Subida desde la galería
El widget permite que el usuario elija la foto del documento desde su galería en lugar de tomarla con la cámara. Es opcional, lo elige el usuario, y aplica únicamente al documento: la selfie y el reto de prueba de vida nunca pueden provenir de un archivo. Detalles en Personalización.
A dónde ir después
- Instalación — HTML plano, React, Next.js, Vue, Angular, WebView, CSP.
- Configuración — cada atributo, su valor por defecto real, y el setter programático
config. - Eventos — los dos eventos, la forma exacta de su
detail, y la tabla completa de códigos de error. - Personalización — color de acento, idioma, tamaño, subclasear el elemento.
- Ejemplos — integraciones completas y ejecutables de punta a punta.