Pular para o conteúdo principal
Incorpore o fluxo de verificação da Didit diretamente na sua aplicação usando um iframe. Assim, a experiência fica fluida, sem redirecionar os usuários para fora do seu site.

Visão geral


A forma mais rápida de começar: basta copiar e colar a URL do seu UniLink.

O que você precisa

  1. Um fluxo de verificação (workflow) da Didit (criado no Didit Console)
  2. 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_data ou metadata personalizados 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 chamado url: use-o como src do iframe.
Etapa 2: incorporar no iframe (frontend)

Monitoramento de eventos (postMessage)

A página de verificação envia eventos para a janela pai. Toda mensagem tem este envelope:
O payload é aninhado: leia event.data.data.sessionId, e não event.data.sessionId:
Principais eventos: 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.
Este host segue os tamanhos recomendados: um card fixo a partir de 1024px de largura, tela cheia em 540px ou menos e, entre esses valores, um iframe de 500px de largura que assume a altura informada pela página:
Entre 541px e 1023px, este exemplo usa uma altura inicial de 700px até chegar uma mensagem de layout, limitada a 90% da altura visível da janela. Os tamanhos para computador e celular são aplicados imediatamente. Nos celulares, o iframe cobre a janela, então ofereça no seu host uma forma de sair da verificação. Use 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 diretiva frame-src:

Verificação entre dispositivos

O iframe InContext oferece suporte automático à verificação entre dispositivos:
  1. O usuário inicia a verificação no computador
  2. Se a câmera não estiver disponível, um QR code é exibido
  3. O usuário escaneia o QR code no celular
  4. O usuário conclui a verificação no celular
  5. O iframe no computador é atualizado automaticamente com o resultado
Isso acontece automaticamente, sem nenhuma configuração adicional.

Solução de problemas

A câmera não funciona

  1. Certifique-se de que o iframe inclui a lista completa de permissões
  2. Verifique se o seu site é servido via HTTPS
  3. Confirme que o usuário concedeu permissão de câmera ao seu domínio
  4. Experimente o método Redirect se o acesso à câmera no iframe falhar

O iframe não carrega

  1. Verifique se há problemas com a Content Security Policy (CSP)
  2. Adicione https://verify.didit.me à sua diretiva frame-src
  3. Verifique se há erros no console do navegador

postMessage não recebido

  1. Confirme que você está escutando a origem correta (https://verify.didit.me ou o seu domínio de marca própria)
  2. Verifique se o listener de eventos é adicionado antes de abrir o iframe
  3. Verifique o nome e o formato do evento: os tipos têm prefixo (didit:completed, não verification_complete) e o payload fica aninhado em event.data.data

Repositório de exemplo

Repositório no GitHub

Veja o código-fonte e exemplos no GitHub

Última modificação em 1 de novembro de 2026