Validación NFC
Validación NFC
La lectura NFC está disponible para reforzar la verificación de documentos directamente desde el chip del pasaporte o DNI. Solo aparece en el flujo móvil con el Soyio React Native SDK; si el usuario corre el flujo web o un SDK distinto, el paso no se mostrará aunque la plantilla lo tenga habilitado.
Activa NFC en tu plantilla
- Usa el campo
mobile_nfc_enableddel template dedisclosure_templatey ponlo entruecuando crees o actualices la plantilla (ej.PATCH /api/v1/disclosure_templates/{id}). - No es necesario cambiar los
data_requirements; la lectura NFC se agrega como paso adicional cuando el SDK es compatible.
{
"mobile_nfc_enabled": true,
"mobile_nfc_strictness": "always_passthrough"
}
La lectura NFC solo está soportada en el Soyio React Native SDK usando la integración de componente (WebView). Si el usuario ejecuta el flujo en web, en InAppBrowser o en otro SDK, el paso no aparece aunque la plantilla tenga mobile_nfc_enabled en true.
Controla el nivel de exigencia
Usa mobile_nfc_strictness para definir qué ocurre cuando el escaneo NFC falla (skip, error de chip, error MRZ). Solo aplica cuando mobile_nfc_enabled es true.
| Valor | Comportamiento |
|---|---|
always_passthrough | El resultado NFC es solo metadata; la validación no falla por NFC. Es el valor por defecto y el que recomendamos |
flexible_on_unsupported | NFC es obligatorio excepto si el dispositivo no lo soporta. Si el dispositivo soporta NFC y falla, la validación falla |
strict | NFC es siempre obligatorio. Si falla por cualquier razón o el dispositivo no soporta NFC, la validación falla |
Si estás comenzando con NFC, deja el valor por defecto always_passthrough para recopilar datos sin afectar tus validaciones. Una vez que confirmes que la lectura funciona bien para tu caso de uso, sube el nivel a flexible_on_unsupported o strict.
Cómo leer los resultados
- Consulta
performed_nfc_scanen eldisclosure_requestpara saber si el paso se ejecutó. Puedes verlo en el listado deGET /api/v1/disclosure_requestso en el detalle de cada request. - En los
validation_attemptsencuentrasnfc_detailcon el resultado específico (disponible enGET /api/v1/validation_attempts):not_requested: la plantilla no tenía NFC activo o el flujo se ejecutó en un contexto sin soporte.success: el chip se leyó correctamente.failed: hubo un intento de lectura que no pudo completarse (chip dañado o error de lectura). El intento de validación puede terminar igual ensuccessfulporque la lectura NFC es una capa extra, no un requisito bloqueante.