Pular para o conteúdo principal
Estas versões se referem aos SDKs de verificação de identidade. Os módulos e wrappers nativos de Authentication têm um lançamento separado: veja os inícios rápidos de Authentication.
Integre a verificação da Didit de forma nativa nos seus aplicativos para celular com nossos SDKs oficiais. Os SDKs nativos oferecem uma experiência de usuário fluida, melhor desempenho e acesso total aos recursos do dispositivo, em comparação com integrações baseadas em WebView.

Abordagem recomendada: Para a melhor experiência do usuário, use nossos SDKs nativos em vez da integração por WebView. Os SDKs nativos cuidam de toda a complexidade de permissões de câmera, leitura NFC e detecção de prova de vida, já prontos para uso.


Disponibilidade dos SDKs

O consentimento biométrico exige o nativo 4.10.0 ou posterior. Para pessoas abrangidas pela legislação de Illinois, Texas ou Colorado, a Didit pode pedir consentimento biométrico explícito antes da primeira captura facial. O fluxo hospedado (SDK Web, WebView, navegador) e os SDKs nativos para iOS e Android 4.10.0 ou posterior exibem essa etapa; React Native e Flutter a exibem em uma versão que fixa o nativo 4.10.0 ou posterior. Um SDK nativo anterior à 4.10.0, ou que não informa sua versão, não consegue: suas sessões rodam como antes, e a decisão informa biometric_consent.status: "pending" com reason: "BIOMETRIC_CONSENT_UNSUPPORTED_SDK". Atualize se você verifica pessoas nesses estados.

Novidades da 4.9.1

Os seletores de país de documento e de comprovante de endereço agora abrem no país detectado a partir do endereço IP do usuário no iOS e no Android, mesmo quando essa consulta termina depois que a tela aparece. Um país definido na sessão ou escolhido pelo usuário nunca é sobrescrito. No Android, o cabeçalho de seção e os campos de um questionário são exibidos no idioma do SDK, e a leitura NFC de passaportes não trava mais na variante completa. O texto da verificação em russo e em quirguiz foi aprimorado nas duas plataformas.

Novidades da 4.9.0

Todos os SDKs para celular, nativos e multiplataforma, agora oferecem um seletor de idioma opcional na tela de boas-vindas da verificação. Defina showLanguageSelector como true para exibir o mesmo seletor compacto e pesquisável usado pelo fluxo de verificação web. O seletor fica oculto por padrão, então as integrações existentes mantêm o comportamento atual até que o ativem.

Alternativa: Se ainda não houver um SDK nativo para a sua plataforma, você pode usar a integração por WebView como solução alternativa.


Como flui uma sessão de verificação

Todos os SDKs nativos consomem a mesma sessão de verificação da Didit. O fluxo é este:
  1. Seu backend chama POST /v3/session/ com workflow_id e qualquer contexto opcional (vendor_data, contact_details, expected_details, metadata, callback).
  2. A Didit devolve um session_id, um session_token de curta duração e uma url hospedada.
  3. Seu aplicativo para celular recebe o session_token do seu backend e o passa ao SDK (startVerification(token: …)).
  4. O SDK nativo abre a interface de verificação, o usuário conclui as etapas e o SDK devolve um resultado com o status final da sessão (Approved, Declined, In Review etc.).
  5. Seu backend recebe a decisão completa por um webhook (webhook_type: "status.updated") e a armazena.
O resultado do SDK informa o desfecho do fluxo (status). A decisão completa - campos do documento, pontuações de correspondência facial, ocorrências de AML, dados de NFC, avisos - é entregue ao seu servidor por webhook e também pode ser obtida no endpoint Retrieve Session Decision. Nunca confie apenas no resultado do lado do cliente para decisões de autorização.
Todos os SDKs nativos também oferecem um modo UniLink (somente o ID do fluxo, sem necessidade de backend). Use o UniLink para protótipos rápidos e o método de token de sessão em produção.

SDK para iOS

Quando usar: aplicativos nativos em Swift / SwiftUI / UIKit voltados para iOS 13+. Um SDK para iOS leve e orientado pelo servidor para verificação de identidade, com configuração mínima.

Repositório no GitHub

Veja o código-fonte e exemplos no GitHub
Principais recursos:
  • Suporte a SwiftUI e UIKit
  • Leitura NFC de passaporte/documento de identidade (iOS 15+; as variantes Core e AutoDetection, sem NFC, removem NFC e OpenSSL e rodam em iOS 13+)
  • 53 idiomas compatíveis
  • Temas de interface personalizáveis
  • Integração por token de sessão ou ID do fluxo
Início rápido:
→ Documentação completa do SDK para iOS

SDK para Android

Quando usar: aplicativos nativos em Kotlin / Jetpack Compose / Java voltados para Android 6.0 (API 23) ou superior. Um SDK para Android leve e orientado pelo servidor para verificação de identidade, com configuração mínima.

Repositório no GitHub

Veja o código-fonte e exemplos no GitHub
Principais recursos:
  • Suporte a Kotlin e Jetpack Compose
  • Leitura NFC de passaporte/documento de identidade (o artefato opcional me.didit:didit-sdk-core remove as dependências de NFC)
  • Detecção automática de documento e rosto baseada em ML na API 24+ (captura manual como alternativa na API 23)
  • 53 idiomas compatíveis
  • Temas de interface personalizáveis
  • Integração por token de sessão ou ID do fluxo
Início rápido:
→ Documentação completa do SDK para Android

SDK para React Native

Quando usar: aplicativos multiplataforma em React Native ou Expo que precisam de uma única API em TypeScript para iOS e Android (RN 0.76+, New Architecture). Um SDK multiplataforma para React Native que envolve os SDKs nativos de iOS e Android com uma API unificada em TypeScript.

Repositório no GitHub

Veja o código-fonte e exemplos no GitHub
Principais recursos:
  • Uma única API em TypeScript para iOS e Android
  • Suporte ao Expo com config plugin sem configuração (exige development build - não funciona no Expo Go)
  • Suporte à CLI do React Native
  • Leitura NFC de passaporte/documento de identidade (desative com DIDIT_SDK_IOS_NFC_ENABLED=false / diditSdkAndroidNfcEnabled=false)
  • 53 idiomas compatíveis (herdados dos SDKs nativos)
  • Integração por token de sessão ou ID do fluxo
Início rápido:
→ Documentação completa do SDK para React Native

SDK para Flutter

Quando usar: aplicativos multiplataforma em Flutter que precisam de uma única API em Dart para iOS e Android (Flutter 3.3+, Dart 3.11+). Um SDK multiplataforma para Flutter que envolve os SDKs nativos de iOS e Android com uma API unificada em Dart.

Pacote no pub.dev

Veja o pacote no pub.dev
Principais recursos:
  • Uma única API em Dart para iOS e Android
  • Integração por platform channel com os SDKs nativos
  • Leitura NFC de passaporte/documento de identidade (desative com DIDIT_SDK_IOS_NFC_ENABLED=false / diditSdkAndroidNfcEnabled=false)
  • 53 idiomas compatíveis (herdados dos SDKs nativos)
  • Integração por token de sessão ou ID do fluxo
Início rápido:
→ Documentação completa do SDK para Flutter

SDK Web (JavaScript)

Quando usar: aplicativos baseados em navegador e frameworks web (React, Vue, Angular, Next.js, Nuxt, Svelte, JS puro). O SDK Web abre o fluxo de verificação hospedado em um modal ou em um iframe incorporado - para aplicativos móveis, prefira os SDKs nativos acima. Um SDK em JavaScript para aplicações web, com suporte a React, Vue, Angular, Next.js, Nuxt, Svelte e JS puro.

Pacote no NPM

Veja o pacote no npm
Principais recursos:
  • Gerenciamento programático de sessões e callbacks de eventos
  • Suporte a React, Vue, Angular, Next.js, Nuxt, Svelte e JS puro
  • Suporte completo a TypeScript
  • Modos modal e incorporado (inline)
  • Gerenciamento de estado para interfaces personalizadas
Início rápido:
→ Documentação completa do SDK JavaScript | Todos os SDKs Web

Como escolher uma integração

Os SDKs nativos são a melhor opção quando você precisa de leitura NFC de passaporte eletrônico, captura de câmera com a menor latência e uma experiência dentro do aplicativo indistinguível das suas outras telas nativas. Use a integração por WebView como alternativa quando não for possível publicar uma atualização com um SDK nativo (por exemplo, aplicativos legados que você não consegue recompilar, ou plataformas sem SDK nativo da Didit).