sdkUrl; o seu front-end recebe essa sdkUrl e monta o widget. O navegador do titular nunca
toca na chave de API.
Pré-requisitos
- Os passos 1 a 5 concluídos: integração criada, fluxo Publicado, origem Verificada, chave de API com escopo de criar verificação e webhook cadastrado.
Metade 1 — o seu backend emite a sdkUrl
A criação de verificações pela API ainda não está liberada. O contrato abaixo é o implementado no
produto e não vai mudar de forma silenciosa; a liberação está descrita em
criar verificações.
x-api-key:
Criar a verificação
400:
A resposta é
201 quando a verificação nasce e 200 quando o mesmo ref_id devolve a que já
existe:
Resposta
sdkUrl é o entry.url. Entregue esse valor ao seu front-end e nada mais.
Origem nativa recebe entry.kind: "native" com o public_id direto, em vez da URL — o app o
entrega ao SDK nativo por canal seguro.
Metade 2 — a sua página monta o widget
O Web SDK é carregado pelo CDN e fica disponível comowindow.Legitimuz:
v1 é evergreen: serve sempre a última versão sem breaking change.
Os pacotes
@legitimuz/websdk e @legitimuz/websdk-react publicam no npm no lançamento. Até lá,
o CDN é a via disponível, e é a que os exemplos abaixo usam.mount() devolve um handle com destroy() e a promise ready. Chame destroy() ao remover o
widget da página: é o que encerra a câmera.
Escolha o seu framework
Cada guia abaixo é completo e traz a armadilha própria daquele framework — o<StrictMode> no
React, a estratégia de carregamento no Next.js, o ngAfterViewInit no Angular.
Vanilla JS
Uma tag
script e nada mais, sem passo de build.React
Um hook que monta uma vez só, mesmo sob StrictMode.
Next.js
App Router, com a página seguindo Server Component.
Vue
Composable com
onMounted e onUnmounted.Angular
Componente standalone com os callbacks como
@Output.Confira que funcionou
A primeira tela do fluxo aparece dentro do container e oonReady dispara. Se nada aparecer em 15
segundos, o onError recebe o código 6005.
A lista completa de opções está em opções do mount(), o catálogo de eventos em
eventos e os códigos em tratamento de erros.
Quando não funciona
Nada aparece e o onError recebe 6005
Nada aparece e o onError recebe 6005
O widget não sinalizou
ready dentro do tempo limite. As causas mais comuns:- a origem da sua página não está Verificada na integração — o navegador recusa o iframe sem avisar a sua página. Volte ao passo 3;
- o fluxo não está Publicado. Volte ao passo 2;
- a
sdkUrlexpirou. Emita outra.
context.likelyCauses do erro lista as hipóteses.O onError recebe 6003 ou 6004
O onError recebe 6003 ou 6004
Falta
sdkUrl ou target (6003), ou a sdkUrl não é a URL absoluta esperada (6004) —
normalmente porque o backend entregou o objeto entry inteiro em vez do entry.url. O campo
context.param aponta qual opção corrigir.A chamada de criação responde 403
A chamada de criação responde 403
A chave de API não tem o escopo de criar verificação. Volte ao passo 4 e
confira Escopo da chave.
Outros ambientes
WebView iOS e Android
Abrir o fluxo dentro de uma WebView e liberar a câmera e o microfone.
Sem o Web SDK
Escrever o iframe você mesmo, e o que você deixa de receber ao fazer isso.
Próximo passo
7. Testar
Rode a jornada ponta a ponta e veja a decisão chegar no seu webhook.