Estas versões referem-se aos SDKs de verificação de identidade. Os módulos e as camadas de encapsulamento nativos de autenticação têm uma versão separada: consulte os Guias de início rápido de autenticação.
Abordagem recomendada: Para proporcionar a melhor experiência de utilizador, use os nossos SDKs nativos em vez da integração por WebView. Os SDKs nativos tratam de toda a complexidade das permissões da câmara, da leitura NFC e da prova de vida, prontos a utilizar.
Disponibilidade de SDKs
O consentimento biométrico requer o SDK nativo 4.10.0 ou posterior. Para pessoas abrangidas pela legislação do Illinois, do Texas ou do Colorado, a Didit pode pedir um consentimento biométrico explícito antes da primeira captura facial. O fluxo alojado (SDK Web, WebView, navegador) e os SDK nativos para iOS e Android 4.10.0 ou posterior apresentam este passo; o React Native e o Flutter apresentam-no numa versão que fixa o SDK nativo 4.10.0 ou posterior. Um SDK nativo anterior à 4.10.0, ou um que não indique a sua versão, não o consegue fazer: as suas sessões decorrem como antes, e a decisão indica
biometric_consent.status: "pending" com reason: "BIOMETRIC_CONSENT_UNSUPPORTED_SDK". Atualize a versão se verificar pessoas nesses estados.Novidades na 4.13.2
No iOS, um pedido de fotografia feito a uma câmara que abre mas não entrega imagens já não fecha inesperadamente a aplicação: cada pedido verifica primeiro se existe uma sessão de câmara em execução com uma ligação de vídeo ativa, e o ecrã apresenta, em vez disso, o erro da câmara ou a opção de ignorar. No Android, na selfie da consulta de identificação, um pedido de fotografia feito a uma câmara que não entrega imagens termina no erro da câmara do ecrã ao fim de 5 segundos, em vez de esperar indefinidamente. No ecrã de boas-vindas, enquanto a lista de passos continua abaixo do seu gradiente inferior, surge um botão redondo Deslocar para baixo centrado horizontalmente em relação à lista (também em idiomas escritos da direita para a esquerda), tal como no fluxo Web; um toque desloca a lista para baixo, e o botão fica oculto no fim da lista e enquanto um painel estiver aberto. A versão 4.13.1 para Android foi uma versão intermédia com apenas o botão Deslocar para baixo; a 4.13.2 estende-o ao iOS, ao React Native e ao Flutter. O React Native 4.13.2 corrige também um erro de arranque nas compilações de versão para Android reduzidas com R8 eproguard-android-optimize.txt: o pacote passa a incluir as suas próprias regras do R8.
O Flutter 4.13.2 compila também com o Android Gradle Plugin 9 e com o Kotlin integrado.
Novidades na 4.13.0
No passo do telefone, todos os números +1 (EUA e Canadá) mostram, por baixo de Enviar código, uma breve nota sobre o operador (“Podem aplicar-se tarifas padrão de mensagens e dados”) com ligações para os Termos de SMS e para a Política de Privacidade, no idioma da pessoa. A elipse de selfie passa a caber acima dos seus controlos em ecrãs de pouca altura, e desaparecem o botão verde em forma de cápsula «Concluído», o Percebi depois de uma fotografia de documento e o ecrã Selfie tirada: uma fotografia capturada segue diretamente para Em processamento. Quando a captura de documento é apenas a opção alternativa e uma carteira de identidade digital surge em primeiro lugar, o ecrã de abertura da carteira oferece apenas a carteira, e uma nova tentativa na carteira mantém a verificação aberta sem uma ligação para o documento. É desenhada uma bandeira para cada código de país que a Didit pode enviar, e nunca a bandeira errada. Um cenário de sandbox ativado numa sessão que já tinha começado passa a mostrar o motivo, em vez de um erro genérico. No Android, a carteira Credential Manager indica “Verificar com identidade digital”, porque a Google Wallet ou qualquer outra carteira Android que tenha um ID compatível pode responder a este pedido. O iOS não oferece este método.Novidades na 4.12.2
O ecrã de boas-vindas centra o logótipo acima do título alinhado à esquerda, e o iOS apresenta o logótipo do cliente com 72 pt de altura, tal como o Android e a Web. No passo das pessoas-chave KYB, Adicionar representante abre com uma função de representante selecionada e guarda a pessoa em representantes, mesmo quando o fluxo de trabalho desativa algumas funções. Nos questionários, “Protegido por” fica fixo por baixo do botão em ecrãs pequenos e com texto de grande tamanho, o seletor de país de uma pergunta sobre morada tem como título a morada, e uma lista pendente aberta fica com os mesmos cantos que os campos.Novidades na 4.12.1
Num iPhone cujo armazenamento está cheio, as capturas de documento e de selfie mantêm agora o vídeo: o SDK para iOS grava-as em memória e nunca carrega uma gravação sem fotogramas de vídeo. Uma resposta do servidor que chega atrasada em relação a uma resposta anterior já não reabre o passo que acabou de ser respondido (o passo de NFC, de selfie ou de documento), no iOS e no Android.Novidades na 4.12.0
Logótipos de carteiras de identidade digital para todas as carteiras que o fluxo Web apresenta (Mobile-ID, ConnectID, Finnish Trust Network, OneID, Bank iD, MojeID, FranceConnect, Auðkenni, o cartão de identificação estónio e a GOV.UK Wallet), sobre o mesmo suporte branco ou preto do fluxo Web. As dicas de captura indicam o que fazer quando a captura automática não está a funcionar, a mensagem de boas-vindas mantém fixa a frase legal com tamanhos de texto grandes, e um arranque de sessão recusado deixa de oferecer uma nova tentativa que não pode funcionar. As câmaras de documento e de selfie têm um botão Trocar câmara ao lado do botão do obturador, com Carregar movido para Dicas, e nada é capturado automaticamente enquanto um painel estiver aberto sobre a câmara. No Android, o painel Selecionar câmara designa as câmaras “Câmara frontal” e “Câmara traseira” em todos os idiomas.Novidades na 4.11.0
A versão 4.11.0 inclui também tudo o que estava previsto para a 4.10.0, que nunca foi publicada, por isso atualize diretamente a partir da 4.9.1. O fluxo tem uma estrutura redesenhada, com uma nova barra superior, progresso apresentado em palavras e um ecrã de boas-vindas reconstruído. A captura automática de documentos e de selfies está agora em todas as variantes, com os detetores leves da própria Didit, pelo que as variantesCore e AutoDetection capturam da mesma forma.
A variante AutoDetection e o artefacto didit-sdk-autodetection para Android estão obsoletos e são idênticos ao Core, e o artefacto didit-sdk-autodetection-play para Android já não é publicado.
Novos passos: Verificação bancária, Localização (com ativação mediante adesão, através das variantes iOS Core-Location, NFC-Location e All-Location), assinatura eletrónica e consentimento biométrico.
O que há de novo na 4.9.1
Os seletores de país dos documentos e do comprovativo de morada passam a abrir no país detetado a partir do endereço IP do utilizador, em iOS e Android, mesmo quando essa consulta termina depois de o ecrã aparecer. Um país definido na sessão ou escolhido pelo utilizador nunca é substituído. No Android, o cabeçalho de secção e os campos de um questionário são apresentados no idioma do SDK, e a leitura NFC do passaporte deixa de falhar na variante completa. Os textos de verificação em russo e quirguiz foram melhorados nas duas plataformas.O que há de novo na 4.9.0
Todos os SDKs móveis nativos e multiplataforma passam a oferecer um seletor de idioma opcional no ecrã de boas-vindas da verificação. DefinashowLanguageSelector como true para mostrar o mesmo seletor compacto e pesquisável usado no fluxo de verificação web.
O seletor fica oculto por predefinição, pelo que as integrações existentes mantêm o comportamento atual até o ativarem.
Alternativa: se um SDK nativo ainda não estiver disponível para a sua plataforma, pode usar a Integração WebView como alternativa.
Como funciona uma sessão de verificação
Todos os SDKs nativos utilizam a mesma sessão de verificação da Didit. O fluxo é o seguinte:- O teu backend chama
POST /v3/session/comworkflow_ide qualquer contexto opcional (vendor_data,contact_details,expected_details,metadata,callback). - A Didit devolve um
session_id, umsession_tokende curta duração e umurlalojado. - A app móvel recebe o
session_tokendo backend e transmite-o ao SDK (startVerification(token: …)). - O SDK nativo abre a interface de verificação, o utilizador conclui os passos e o SDK devolve um resultado com o
statusfinal da sessão (Approved,Declined,In Review, etc.). - O teu backend recebe a decisão completa através de um webhook (
webhook_type: "status.updated") e guarda-a.
O resultado do SDK indica o resultado do fluxo de verificação (status). A decisão completa (campos do documento, pontuações de correspondência facial, correspondências AML, dados NFC, avisos) é enviada para o teu servidor através de webhook e também pode ser obtida através do endpoint Obter a decisão da sessão. Nunca confies apenas no resultado do lado do cliente para decisões de autorização.
SDK para iOS
Quando utilizar: aplicações nativas em Swift / SwiftUI / UIKit para iOS 13+. Um SDK para iOS leve e controlado pelo servidor, para verificação de identidade com configuração mínima.Repositório no GitHub
Consulte o código-fonte e os exemplos no GitHub
- Suporte a SwiftUI e UIKit
- Leitura de passaporte e cartão de identidade por NFC (iOS 15+; as variantes sem NFC
CoreeAutoDetectionremovem o NFC e o OpenSSL, e são implementadas no iOS 13+) - 54 idiomas suportados
- Tema da interface personalizável
- Integração com token de sessão ou ID do fluxo de verificação
SDK para Android
Quando utilizar: aplicações nativas em Kotlin / Jetpack Compose / Java para Android 6.0 (API 23) ou superior. Um SDK para Android leve e controlado pelo servidor, para verificação de identidade com configuração mínima.Repositório no GitHub
Consulte o código-fonte e os exemplos no GitHub
- Suporte a Kotlin e Jetpack Compose
- Leitura de passaporte e cartão de identidade por NFC (o artefacto
me.didit:didit-sdk-core, ativado opcionalmente, remove as dependências de NFC) - Deteção automática de documentos e rostos com ML na API 24+ (com recurso à captura manual na API 23)
- 54 idiomas suportados
- Tema da interface personalizável
- Integração com token de sessão ou ID do fluxo de verificação
SDK para React Native
Quando utilizar: aplicações 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
Consulte o código-fonte e os exemplos no GitHub
- Uma única API em TypeScript para iOS e Android
- Suporte a Expo com plugin de configuração sem configuração adicional (é necessária uma compilação de desenvolvimento, o Expo Go não é suportado)
- Suporte à CLI do React Native
- Leitura de passaporte e cartão de identidade por NFC (pode ser desativada com
DIDIT_SDK_IOS_NFC_ENABLED=false/diditSdkAndroidNfcEnabled=false) - 54 idiomas suportados (herdados dos SDKs nativos)
- Integração com token de sessão ou ID do fluxo de verificação
SDK para Flutter
Quando utilizar: aplicações 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
Consulte o pacote no pub.dev
- Uma única API em Dart para iOS e Android
- Integração com os SDKs nativos através de canais de plataforma
- Leitura de passaporte e cartão de identidade por NFC (pode ser desativada com
DIDIT_SDK_IOS_NFC_ENABLED=false/diditSdkAndroidNfcEnabled=false) - 54 idiomas suportados (herdados dos SDKs nativos)
- Integração com token de sessão ou ID do fluxo de verificação
SDK para Web (JavaScript)
Quando utilizar: aplicações para navegador e frameworks web (React, Vue, Angular, Next.js, Nuxt, Svelte, JavaScript puro). O SDK para Web abre o fluxo de verificação alojado num modal ou num iframe incorporado. Para apps 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 JavaScript puro.Pacote no npm
Consulte o pacote no npm
- Gestão programática de sessões e callbacks de eventos
- Suporte a React, Vue, Angular, Next.js, Nuxt, Svelte e JavaScript puro
- Suporte completo a TypeScript
- Modos modal e incorporado
- Gestão de estado para interfaces personalizadas