Saltar al contenido principal
Estas versiones se refieren a los SDK de verificación de identidad. Los módulos y wrappers nativos de Authentication tienen una publicación independiente: consulta los inicios rápidos de Authentication.
Integra la verificación de Didit de forma nativa en tus aplicaciones móviles con nuestros SDK oficiales. Los SDK nativos ofrecen una experiencia de usuario fluida, mejor rendimiento y acceso total a las capacidades del dispositivo en comparación con las integraciones basadas en WebView.

Enfoque recomendado: para obtener la mejor experiencia de usuario, usa nuestros SDK nativos en lugar de la integración con WebView. Los SDK nativos gestionan de serie toda la complejidad de los permisos de cámara, la lectura NFC y la prueba de vida.


Disponibilidad de los SDK

El consentimiento biométrico requiere el SDK nativo 4.10.0 o posterior. Para las personas amparadas por la ley de Illinois, Texas o Colorado, Didit puede solicitar un consentimiento biométrico explícito antes de la primera captura facial. El flujo alojado (SDK web, WebView, navegador) y los SDK nativos de iOS y Android 4.10.0 o posterior muestran ese paso; React Native y Flutter lo muestran en una versión que fije el SDK nativo 4.10.0 o posterior. Un SDK nativo anterior a la 4.10.0, o uno que no informe de su versión, no puede: sus sesiones se ejecutan como antes y la decisión informa biometric_consent.status: "pending" con reason: "BIOMETRIC_CONSENT_UNSUPPORTED_SDK". Actualiza si verificas a personas en esos estados.

Novedades de la 4.9.1

Los selectores de país del documento y de la prueba de domicilio ahora se abren en el país detectado a partir de la dirección IP del usuario en iOS y Android, incluso cuando esa consulta termina después de que aparezca la pantalla. Un país definido en la sesión o elegido por el usuario nunca se sobrescribe. En Android, el encabezado y los campos de la sección de un cuestionario se muestran en el idioma del SDK, y la lectura de pasaportes por NFC ya no se bloquea en la variante completa. Se ha mejorado el texto de verificación en ruso y kirguís en ambas plataformas.

Novedades de la 4.9.0

Todos los SDK móviles nativos y multiplataforma ofrecen ahora un selector de idioma opcional en la pantalla de bienvenida de la verificación. Establece showLanguageSelector en true para mostrar el mismo selector compacto y con búsqueda que usa el flujo de verificación web. El selector está oculto por defecto, por lo que las integraciones existentes mantienen su comportamiento actual hasta que lo activen.

Alternativa: si todavía no hay un SDK nativo para tu plataforma, puedes usar la integración con WebView como solución de respaldo.


Cómo fluye una sesión de verificación

Todos los SDK nativos consumen la misma sesión de verificación de Didit. El flujo es el siguiente:
  1. Tu backend llama a POST /v3/session/ con workflow_id y cualquier contexto opcional (vendor_data, contact_details, expected_details, metadata, callback).
  2. Didit devuelve un session_id, un session_token de corta duración y una url alojada.
  3. Tu app móvil recibe el session_token de tu backend y se lo pasa al SDK (startVerification(token: …)).
  4. El SDK nativo abre la interfaz de verificación, el usuario completa los pasos y el SDK devuelve un resultado con el status final de la sesión (Approved, Declined, In Review, etc.).
  5. Tu backend recibe la decisión completa mediante un webhook (webhook_type: "status.updated") y la guarda.
El resultado del SDK te indica el desenlace del flujo (el estado). La decisión completa (campos del documento, puntuaciones de coincidencia facial, coincidencias AML, datos NFC, advertencias) se entrega a tu servidor por webhook y también se puede obtener del endpoint Retrieve Session Decision. Nunca confíes solo en el resultado del lado del cliente para tomar decisiones de autorización.
Todos los SDK nativos admiten también un modo UniLink (solo el ID del flujo, sin necesidad de backend). Usa UniLink para prototipos rápidos y el método con token de sesión para producción.

SDK de iOS

Cuándo usarlo: apps nativas en Swift / SwiftUI / UIKit dirigidas a iOS 13+. Un SDK de iOS ligero y guiado por el servidor para la verificación de identidad, con una configuración mínima.

Repositorio de GitHub

Consulta el código fuente y los ejemplos en GitHub
Funciones principales:
  • Compatibilidad con SwiftUI y UIKit
  • Lectura NFC de pasaportes y documentos de identidad (iOS 15+; las variantes sin NFC Core y AutoDetection eliminan NFC y OpenSSL, y se despliegan en iOS 13+)
  • 53 idiomas compatibles
  • Temas de interfaz personalizables
  • Integración con token de sesión o ID de flujo
Inicio rápido:
→ Documentación completa del SDK de iOS

SDK de Android

Cuándo usarlo: apps nativas en Kotlin / Jetpack Compose / Java dirigidas a Android 6.0 (API 23) o superior. Un SDK de Android ligero y guiado por el servidor para la verificación de identidad, con una configuración mínima.

Repositorio de GitHub

Consulta el código fuente y los ejemplos en GitHub
Funciones principales:
  • Compatibilidad con Kotlin y Jetpack Compose
  • Lectura NFC de pasaportes y documentos de identidad (el artefacto opcional me.didit:didit-sdk-core elimina las dependencias de NFC)
  • Detección automática de documentos y rostros basada en ML en API 24+ (con captura manual como alternativa en API 23)
  • 53 idiomas compatibles
  • Temas de interfaz personalizables
  • Integración con token de sesión o ID de flujo
Inicio rápido:
→ Documentación completa del SDK de Android

SDK de React Native

Cuándo usarlo: apps multiplataforma con React Native o Expo que necesitan una única API de TypeScript para iOS y Android (RN 0.76+, Nueva Arquitectura). Un SDK multiplataforma de React Native que envuelve los SDK nativos de iOS y Android con una API de TypeScript unificada.

Repositorio de GitHub

Consulta el código fuente y los ejemplos en GitHub
Funciones principales:
  • Una única API de TypeScript para iOS y Android
  • Compatibilidad con Expo con un config plugin sin configuración (requiere un development build, no Expo Go)
  • Compatibilidad con React Native CLI
  • Lectura NFC de pasaportes y documentos de identidad (desactívala con DIDIT_SDK_IOS_NFC_ENABLED=false / diditSdkAndroidNfcEnabled=false)
  • 53 idiomas compatibles (heredados de los SDK nativos)
  • Integración con token de sesión o ID de flujo
Inicio rápido:
→ Documentación completa del SDK de React Native

SDK de Flutter

Cuándo usarlo: apps multiplataforma con Flutter que necesitan una única API de Dart para iOS y Android (Flutter 3.3+, Dart 3.11+). Un SDK multiplataforma de Flutter que envuelve los SDK nativos de iOS y Android con una API de Dart unificada.

Paquete de pub.dev

Consulta el paquete en pub.dev
Funciones principales:
  • Una única API de Dart para iOS y Android
  • Integración con los SDK nativos mediante platform channels
  • Lectura NFC de pasaportes y documentos de identidad (desactívala con DIDIT_SDK_IOS_NFC_ENABLED=false / diditSdkAndroidNfcEnabled=false)
  • 53 idiomas compatibles (heredados de los SDK nativos)
  • Integración con token de sesión o ID de flujo
Inicio rápido:
→ Documentación completa del SDK de Flutter

SDK web (JavaScript)

Cuándo usarlo: apps basadas en navegador y frameworks web (React, Vue, Angular, Next.js, Nuxt, Svelte, JS puro). El SDK web abre el flujo de verificación alojado en un modal o en un iframe integrado; para apps móviles, prefiere los SDK nativos anteriores. Un SDK de JavaScript para aplicaciones web con compatibilidad con React, Vue, Angular, Next.js, Nuxt, Svelte y JS puro.

Paquete de NPM

Consulta el paquete en npm
Funciones principales:
  • Gestión programática de sesiones y callbacks de eventos
  • Compatibilidad con React, Vue, Angular, Next.js, Nuxt, Svelte y JS puro
  • Compatibilidad total con TypeScript
  • Modos modal e integrado (inline)
  • Gestión de estado para interfaces personalizadas
Inicio rápido:
→ Documentación completa del SDK de JavaScript | Todos los SDK web

Cómo elegir una integración

Los SDK nativos son la mejor opción cuando necesitas la lectura NFC de pasaportes electrónicos, la captura de cámara de menor latencia y una experiencia en la app indistinguible del resto de tus pantallas nativas. Usa la integración con WebView como alternativa cuando no puedas publicar una actualización con un SDK nativo (por ejemplo, apps heredadas que no puedes recompilar o plataformas sin un SDK nativo de Didit).