LivenessFacetecSDK v10 e o fluxo completo de uma verificação no browser.
O bundle expõe window.LivenessFacetecSDK com uma fábrica que cria a instância do SDK. A única interface que você precisa conhecer é a FaceTecSDKConfig — o objeto de configuração que você passa para executar uma verificação.
sdk.run(config) orquestra o fluxo completo (inicialização, captura, submissão e limpeza) em uma única chamada e resolve com o LivenessResult da verificação. Não há um elemento de montagem — a captura abre como camada full-screen sobre a página.
Configuração
Como o onInit funciona
O SDK chama onInit antes de abrir a captura, passando metadados de dispositivo coletados pelo Shield Web SDK:
Nem sempre o SDK consegue obter o
ssid — depende de conectividade e do ambiente de execução. Repasse-o ao seu backend quando estiver presente; quando ausente, o serviço cria a sessão normalmente. Veja Serviço.Não existe mais
maxAttempts nem uma segunda tela de retry dentro da mesma sessão. Para tentar de novo após uma falha, chame sdk.run() outra vez — isso reaproveita a instância já inicializada e cria uma sessão nova automaticamente.Fluxo de uso
1
Crie a instância do SDK
Logo após o bundle ser carregado, crie a instância. Você pode reaproveitá-la em múltiplas capturas — inclusive em retries.
2
Implemente o onInit chamando o seu backend
O
onInit é um async que devolve { sessionId, sessionToken }. Encaminhe os sessionParams recebidos para o seu endpoint:3
Dispare a verificação
4
Trate o resultado
Use
sessionId para reconciliar a captura no seu backend. Se verified === false, exiba mensagem ao usuário e ofereça nova tentativa (chamando sdk.run() de novo) — não é um erro técnico, é uma reprovação biométrica.Campos de LivenessResult
Quando a captura termina com sucesso, o SDK emite o objeto abaixo via onSuccess (e também resolve a Promise de run com ele):
Outros métodos do SDK
Preload
preload() é uma função independente (não é um método da instância criada por createFaceTecSDK()) que busca antecipadamente tudo o que run() vai precisar: o script vendor do FaceTec e a inicialização do Shield, em paralelo. Nenhum dos dois depende de sessão — por isso pode rodar bem antes de qualquer captura começar.
Você normalmente não precisa chamar isso. O próprio bundle já executa
preload() automaticamente assim que o <script> termina de carregar.<script> do SDK de forma tardia (ex.: injetado dinamicamente só quando o usuário chega perto da etapa de verificação) e quer adiantar o carregamento do motor FaceTec para antes disso — por exemplo, assim que o usuário entra em uma tela anterior do seu fluxo:
Exemplo completo
Próximos passos
Customização
Locales, textos e tema visual da UI
Solução de problemas
Mapeamento de erros e diagnóstico