Resumen
Las sesiones biométricas embebidas las gestiona Gu1 de punta a punta. Cuando el usuario termina la captura en la UI hospedada, Gu1 persiste la sesión, aplica las políticas de tu organización (umbrales de face match, cruces entre entidades, billing) y envía webhooks con el resultado de la sesión. Tu integración debe usarpayload.status como veredicto biométrico — el mismo campo que devuelve GET /api/kyc/biometric/sessions/:id.
Dos canales de entrega:
- Webhooks de organización — suscribite a
biometric.session_*en configuración de webhooks (todas las transiciones de estado). webhookUrlpor request — URL HTTPS opcional enPOST /api/kyc/biometric/sessions; Gu1 hace POST en resultados terminales de captura (approved,rejected,abandoned,expired). Uncancelmanual por API solo dispara webhooks de organización.
Tipos de evento
Sobre el payload
Misma envoltura externa que eventos KYC:payload interno es la fila de sesión biométrica en Gu1 (misma forma que la API REST).
Campos del payload
payload.status— Estado de la sesión:pending,in_progress,approved,rejected,abandoned,cancelled,expired.payload.rejectionCode/payload.rejectionMessage— Cuandostatusesrejected(p. ej.FACE_MATCH_SCORE_LOW,CROSS_ENTITY,CAPTURE_DECLINED).payload.mode—face_match(liveness + comparación con retrato del KYC).payload.sessionUrl— URL de captura mientras la sesión está activa.payload.decision— Detalle técnico de la captura (scores, claves de media). Imágenes víaGET /api/kyc/biometric/sessions/:id/media?key=.payload.entity— Snapshot de la entidad persona (id,externalId,name,type).
Ejemplo: sesión creada
Ejemplo: en progreso
Ejemplo: aprobada
Ejemplo: rechazada
Códigos frecuentes de rejectionCode
webhookUrl por request
- Mismo
eventy forma depayloadque los webhooks de organización. - Firma HMAC en
X-Webhook-Signaturecon el webhook secret KYC configurado. - Headers adicionales:
X-Webhook-Event,X-Webhook-ID,X-Webhook-Timestamp.
El cancel manual (
POST /api/kyc/biometric/sessions/:id/cancel) emite biometric.session_cancelled solo en webhooks de organización; no hace POST al webhookUrl del request.