Visão geral
Iframe com UniLink (sem backend)
A forma mais rápida de começar: basta copiar e colar a URL do seu UniLink.O que você precisa
- Um fluxo de verificação (workflow) da Didit (criado no Didit Console)
- A URL do seu UniLink (clique em Copy Link no seu fluxo)
Implementação
⚠️ Obrigatório: o atributo allow é obrigatório para o acesso à câmera durante a prova de vida.
Principais vantagens
- Configuração em menos de 1 minuto: sem backend, sem chaves de API
- Zero configuração: a URL de retorno é definida nas configurações do fluxo
- Ideal para MVPs: comece imediatamente
Iframe com sessão via API (com backend)
Para integrações avançadas que precisam de personalização por sessão.Quando usar
- Enviar
vendor_dataoumetadatapersonalizados por sessão - Definir URLs de retorno diferentes por sessão
- Rastrear sessões no servidor antes de a verificação começar
- Associar sessões aos IDs dos seus usuários
Implementação
Etapa 1: criar uma sessão (backend) A resposta de criação de sessão usa um campo chamadourl: use-o como src do iframe.
Monitoramento de eventos (postMessage)
A página de verificação envia eventos para a janela pai. Toda mensagem tem este envelope:event.data.data.sessionId, e não event.data.sessionId:
didit:ready ({ sessionId }), didit:started, didit:step_started / didit:step_completed / didit:step_changed ({ step, ... }), didit:status_updated ({ status }), didit:completed ({ sessionId, status }), didit:cancelled, didit:error ({ error, step? }), didit:close_request e didit:layout ({ contentHeight, colorScheme, dir }, veja abaixo). A referência de eventos do SDK JavaScript lista os eventos de verificação disponíveis como callbacks tipados. A partir da versão 0.5.0, o SDK trata as mensagens de layout internamente, em vez de repassá-las para onEvent.
Dimensione o iframe a partir de didit:layout
A página de verificação informa quanto espaço precisa por meio de uma mensagem didit:layout. Ela envia uma ao carregar e outra sempre que a altura do conteúdo, o tema ou a direção do texto mudam:
Para receber
didit:layout no seu próprio iframe, adicione sdk_presentation=embedded à URL de verificação dele. A partir da versão 0.5.0, o SDK JavaScript define a apresentação para você. Sem um parâmetro de apresentação, a página usa o layout autônomo e não envia mensagens de layout.colorScheme e dir para alinhar os controles que você desenhar ao redor do iframe ao tema e à direção do texto da página.
Se a conexão do usuário cair, a página mostra uma tela de “Sem conexão com a internet”, que se fecha sozinha quando a conexão volta. Se o usuário escolher Exit Verification nessa tela, a página envia didit:error com error: "network_error" e, em seguida, didit:cancelled: feche o iframe ao receber didit:cancelled.
Implementação em modal
Para uma experiência de modal refinada que se sobrepõe à sua página:HTML/CSS/JS
Componente React
Um componente React reutilizável para verificação baseada em modal:Uso
Componente Vue
Configuração
Permissões necessárias
Use esta lista completa de permissões para captura, localização, cópia e compatibilidade de mídia:
O atributo
allow delega permissões; ele não substitui a escolha do usuário nem um cabeçalho Permissions-Policy mais restritivo na sua página de hospedagem.
Tamanho do iframe
O fluxo de verificação ajusta seu layout ao tamanho do iframe. Dimensione o iframe de acordo com a janela em que ele é exibido:
Para a faixa intermediária, comece com 500px por 700px até a chegada da primeira mensagem
didit:layout, com o mesmo limite de altura. O exemplo de didit:layout aplica os três tamanhos, incluindo os tamanhos para computador e celular antes da chegada de qualquer mensagem.
Política de Segurança de Conteúdo (CSP)
Se você usa CSP, adicione a Didit à sua diretivaframe-src:
Verificação entre dispositivos
O iframe InContext oferece suporte automático à verificação entre dispositivos:- O usuário inicia a verificação no computador
- Se a câmera não estiver disponível, um QR code é exibido
- O usuário escaneia o QR code no celular
- O usuário conclui a verificação no celular
- O iframe no computador é atualizado automaticamente com o resultado
Solução de problemas
A câmera não funciona
- Certifique-se de que o iframe inclui a lista completa de permissões
- Verifique se o seu site é servido via HTTPS
- Confirme que o usuário concedeu permissão de câmera ao seu domínio
- Experimente o método Redirect se o acesso à câmera no iframe falhar
O iframe não carrega
- Verifique se há problemas com a Content Security Policy (CSP)
- Adicione
https://verify.didit.meà sua diretivaframe-src - Verifique se há erros no console do navegador
postMessage não recebido
- Confirme que você está escutando a origem correta (
https://verify.didit.meou o seu domínio de marca própria) - Verifique se o listener de eventos é adicionado antes de abrir o iframe
- Verifique o nome e o formato do evento: os tipos têm prefixo (
didit:completed, nãoverification_complete) e o payload fica aninhado emevent.data.data
Repositório de exemplo
Repositório no GitHub
Veja o código-fonte e exemplos no GitHub