Pular para o conteúdo principal

Primeira verificacao

Hora de executar uma verificacao real com o widget que voce embedou no passo anterior.

O que voce vai testar

Um fluxo de usuario completo:

  1. O usuario clica em Comecar
  2. O browser pede permissao de camera
  3. O usuario fotografa a frente do documento
  4. O usuario fotografa o verso (apenas se require-doc-back="true")
  5. O usuario tira uma selfie
  6. O widget executa controles de qualidade, faz upload para Cloudflare R2, chama a API
  7. Voce recebe um evento veridia:complete com o verificationId
  8. O veredicto (approved / review / rejected) e computado em ~2 segundos

Execute

Abra a pagina onde voce embedou o widget. Use um dispositivo real com camera — o widget e mobile-first mas tambem funciona em laptops.

:::tip Testing local Se voce esta testando em localhost, adicione localhost (ou 127.0.0.1) aos allowed origins da sua test API key no dashboard. Sem isso, o widget recusa carregar. :::

Dicas para a captura do documento

  • Apoie o documento plano numa superficie com contraste (evite branco sobre branco)
  • Nao cubra os cantos com os dedos
  • Evite luz direta refletindo no documento (vai disparar o flag heavy_glare)
  • Garanta que o documento esteja totalmente no frame
  • Mantenha o celular firme — fotos borradas sao rejeitadas pelo controle de qualidade multi-signal

Dicas para a selfie

  • Olhe diretamente para a camera
  • Boa iluminacao uniforme (sem contraluz)
  • Tire oculos escuros, chapeus que cubram o rosto
  • Fique parado durante a captura

Inspecione o payload do evento

Adicione um console.log listener para ver exatamente o que o widget emite:

<script>
document.querySelector('veridia-widget')
.addEventListener('veridia:complete', (e) => {
console.log('verificacao completa:', e.detail);
});

document.querySelector('veridia-widget')
.addEventListener('veridia:error', (e) => {
console.error('erro de verificacao:', e.detail);
});
</script>

Quando o usuario termina, seu console vai mostrar algo assim:

{
"verificationId": "vf_AG07CDWRRFQV4T05ZXG2",
"userRef": "customer-12345",
"status": "queued"
}

O verificationId e o que voce vai usar para obter o resultado final via GET /v1/verify/:id ou o que chega no seu webhook.

Veja no seu dashboard

Va ao dashboard Veridia e abra Review queue. Voce vai ver sua verificacao com:

  • Info do submitter (user ref, timestamp de envio)
  • Detalhamento de scores (confianca geral, OCR, face match, liveness, qualidade de doc)
  • Flags (ex: heavy_glare, low_face_match)
  • O veredicto final

Clique numa verificacao para ver o breakdown completo e as imagens capturadas.

O que acontece nos bastidores

Quando o widget chama a API no submit, este pipeline e executado:

PassoOndeO que
1BrowserControles de qualidade (Laplacian, Tenengrad, Brenner)
2BrowserUpload direto para Cloudflare R2 (presigned URL)
3WorkerOCR via Workers AI — extrai nome, numero do doc, datas
4WorkerDespacha ao backend com toda a data extraida
5BackendFace match (insightface buffalo_s)
6BackendScoring de liveness
7BackendCalcula score ponderado de confianca
8BackendDetermina veredicto: approved / review / rejected
9BackendPersiste no MySQL com audit trail
10BackendDispara webhook (se configurado)

Latencia end-to-end: ~2.0 a 2.7 segundos para uma verificacao tipica.

O que significa o veredicto

VeredictoConfiancaO que voce deve fazer
approvedScore alto, todos os sinais passamConfiar no usuario, completar onboarding
reviewScore medio, alguns flags levantadosEnviar para sua fila de revisao manual
rejectedScore baixo, falhas durasBloquear, pedir ao usuario para tentar de novo, ou escalar

Erros comuns nesta etapa

ErroCausa provavelFix
errorInvalidKeyAPI key revogada ou test key em producaoVerifique a key no seu dashboard
errorRateLimitedMuitas requests em pouca janelaAdicione throttling do seu lado
errorInsufficientCreditsTenant ficou sem creditosTop up no dashboard ou contate suporte
errorBlurryQualidade de imagem muito baixaO usuario tenta de novo (o widget gerencia automaticamente)
errorNoFaceRosto nao detectado na selfieO usuario tenta de novo com melhor framing
errorUploadFalha de rede ou R2 inacessivelO widget tenta de novo automaticamente

Proximo passo

Voce tem um resultado de verificacao. Agora aprenda as tres formas de consumi-lo.

Passo 3: Gerenciando resultados →