Pular para o conteúdo principal

Widget

O widget da Veridia é um único custom element HTML, <veridia-widget>. Ele executa o fluxo de captura no navegador: permissão de câmera, frente do documento (e verso), selfie, desafio opcional de prova de vida ativa (liveness), checagens de qualidade, upload e envio.

É a forma mais rápida de integrar a Veridia. Você não escreve código de captura, não toca no endpoint de upload e não lida com codificação de imagens.

<script src="https://widget.xxuxe.online/face-api.js"></script>
<script type="module" src="https://widget.xxuxe.online/veridia-widget.min.js"></script>

<veridia-widget
publishable-key="qv_pubt_YOUR_KEY"
country="PY"
document-type="dni"
locale="es">
</veridia-widget>

O que o widget faz

  • Solicita a câmera e guia o usuário por cada etapa de captura.
  • Executa checagens de qualidade no cliente (nitidez, brilho, reflexo, presença de rosto) e pede uma nova captura quando um quadro está inutilizável.
  • Chama POST /v1/verify/init, faz upload de cada imagem e chama POST /v1/verify/submit.
  • Emite exatamente dois eventos: veridia:complete e veridia:error.

O que o widget não faz

Ele nunca te entrega o veredito. Esta é a coisa mais importante de entender antes de integrar.

veridia:complete dispara quando o envio foi aceito, não quando a pessoa passou. O campo status (queued / processing / completed) descreve o pipeline, não o resultado. O resultado — approved, review, rejected — vive em outro eixo e só é legível com uma chave secreta, a partir do seu servidor:

  • Preferencialmente: receba o webhook.
  • Ou: faça seu backend chamar GET /v1/verify/{id} com uma chave qv_sec_* / qv_sect_*.

O widget carrega uma chave publicável (qv_pub_* / qv_pubt_*). Essa chave pode iniciar e enviar verificações. Ela não pode ler vereditos, por design — ela fica visível para qualquer pessoa que abra o código-fonte da sua página. Se pudesse ler vereditos, qualquer um poderia ler os seus.

Ramificar com base em status para ativar uma conta admite todo candidato rejeitado. O widget não pode te proteger disso; só ler verdict no servidor pode.

A chave publicável não é um controle de acesso

Chaves publicáveis têm uma lista allowedOrigins. Hoje toda chave é criada com essa lista vazia, e uma lista vazia permite todas as origens. A checagem também só se aplica a navegadores — um cliente server-side não envia cabeçalho Origin e sempre passa.

Trate allowedOrigins como uma forma de delimitar onde seu widget deve rodar, não como um perímetro. Veja Autenticação.

Upload da galeria

O widget permite que o usuário escolha a foto do documento da galeria em vez de fotografá-la com a câmera. É opcional, o usuário escolhe, e vale apenas para o documento — a selfie e o desafio de prova de vida nunca podem vir de um arquivo. Detalhes em Customização.

Para onde ir em seguida

  • Instalação — HTML puro, React, Next.js, Vue, Angular, WebView, CSP.
  • Configuração — cada atributo, seu default real e o setter programático config.
  • Eventos — os dois eventos, o formato exato do detail e a tabela completa de códigos de erro.
  • Customização — cor de destaque, idioma, dimensionamento, estender o element.
  • Exemplos — integrações completas e executáveis, de ponta a ponta.