> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Fluxo de KYC sem código: tutorial em vídeo

> Transcrição do vídeo: crie no Didit um fluxo de KYC visual com verificações, ramificações, regras de risco, testes e publicação em produção.

[Crie um fluxo de verificação KYC sem código (tutorial completo)](https://www.youtube.com/embed/7-nJ3JE20i4)

Transcrição completa de **Crie um fluxo de verificação KYC sem código (tutorial completo)**, vídeo 3 de 10 da Didit Academy, 18:54. [Assista no YouTube](https://www.youtube.com/watch?v=7-nJ3JE20i4). Cada parágrafo leva ao momento exato do vídeo.

> [!NOTE]
>
> Os preços mudaram em 1º de novembro de 2026: as 500 verificações gratuitas por mês foram substituídas por \$10 de crédito por mês para organizações cadastradas com um e-mail corporativo. O vídeo mostra os preços anteriores.

## O que é um fluxo

[00:03](https://www.youtube.com/watch?v=7-nJ3JE20i4\&t=3s) Neste vídeo, vamos criar um fluxo de verificação (workflow) completo do zero, e você não vai precisar escrever uma única linha de código. Um fluxo é, na verdade, só uma receita para uma verificação: quais verificações executar e em que ordem. Normalmente, esse tipo de coisa fica com os seus engenheiros. Mas na Didit, você mesmo monta o fluxo de forma visual. Você acompanha o preço sendo atualizado conforme avança e coloca em produção quando estiver pronto.

[00:28](https://www.youtube.com/watch?v=7-nJ3JE20i4\&t=28s) Se quiser montar um você mesmo, acesse didit.me, cadastre-se gratuitamente e monte seu primeiro fluxo em poucos minutos. Muito bem, então vamos começar onde todo fluxo de verificação fica, que é

## A lista de fluxos e os IDs de fluxo

[00:39](https://www.youtube.com/watch?v=7-nJ3JE20i4\&t=39s) a lista de fluxos, na aba de configuração aqui. São todos os fluxos que temos atualmente nesta conta, e dá para ver o tipo. Temos KYC e KYB. Temos simples e de grafo, e conseguimos ver todas as verificações e recursos dentro de cada fluxo. Conseguimos ver a faixa de preço. Basicamente, ela mostra o preço de alguém que faz uma única verificação e não conclui, comparado com alguém que conclui o fluxo inteiro. Temos um link para o fluxo.

[01:09](https://www.youtube.com/watch?v=7-nJ3JE20i4\&t=69s) Podemos adicionar uma nova sessão manualmente. Podemos copiar o ID do fluxo. Podemos duplicar, renomear, arquivar, todas as opções de sempre. E este aqui é o ID do fluxo. Várias versões do mesmo fluxo vão rodar com o mesmo ID. Então, se você atualizar o fluxo, não precisa mudar nada no seu código nem na sua aplicação. A forma mais simples de pensar em um fluxo é que ele é só uma receita para uma verificação: quais verificações executar, em que ordem e quais regras seguir. Existem duas

## Fluxos simples e fluxos de grafo

[01:40](https://www.youtube.com/watch?v=7-nJ3JE20i4\&t=100s) estruturas, como mencionei. Existe o simples e existe o de grafo. Um fluxo simples é só uma verificação ou algumas verificações, sem nenhuma ramificação. Sem lógica condicional. É rápido de configurar e atende à maioria dos casos. Você escolhe seus módulos e pronto. Se olharmos este fluxo de exemplo, dá para ver que podemos selecionar os módulos aqui à esquerda, e ele vai colocá-los todos em sequência. Agora, em um

## Um fluxo de trabalho baseado em grafo com ramificações

[02:05](https://www.youtube.com/watch?v=7-nJ3JE20i4\&t=125s) fluxo baseado em grafo, se clicarmos aqui, dá para ver que há algumas ramificações no final. Assim, conseguimos ter um controle mais detalhado sobre para onde direcionamos o usuário ao longo deste fluxo de verificação. Neste fluxo, por exemplo, há vários pontos de ramificação diferentes. Também podemos incluir chamadas de webhook. E, em geral, podemos adicionar um pouco mais de complexidade aqui quando for necessário.

[02:30](https://www.youtube.com/watch?v=7-nJ3JE20i4\&t=150s) Observe também que os fluxos KYB têm exatamente a mesma aparência, só que com verificações diferentes. Certo. Se quisermos adicionar uma verificação, entramos aqui. Podemos escolher uma das ações do usuário ou configurar algumas verificações em segundo plano. Essas são as que o usuário não vê no front-end. Então,

## Criar um novo fluxo a partir de um modelo

[02:51](https://www.youtube.com/watch?v=7-nJ3JE20i4\&t=171s) basta clicar em novo fluxo. Temos algumas opções aqui. KYC, KYB. Vamos clicar em KYC. E temos simples e avançado, como mostrei antes. Vou mostrar as opções dos dois. Se clicarmos em simples, temos vários modelos diferentes aqui, para todo tipo de setor. E conseguimos ver o custo de cada um desses modelos. Temos verificação de idade. Temos verificação de e-mail.

[03:19](https://www.youtube.com/watch?v=7-nJ3JE20i4\&t=199s) Temos autenticação biométrica, seguros, saúde, tudo isso. Agora, por exemplo, se usarmos uma verificação de empresas e escolhermos a versão avançada, que é o grafo, de novo temos vários modelos diferentes, ou receitas, se quiser chamar assim. Podemos configurar um KYB para países de alto risco e pronto. Você nem precisa clicar e arrastar nada aqui. Já está montado. Cada

## Escolher uma verificação em cada nó

[03:48](https://www.youtube.com/watch?v=7-nJ3JE20i4\&t=228s) Este nó aqui tem um menu suspenso. Então, é só escolher a verificação que você quer. Você pode trocá-la, como aqui, ou podemos colocar a verificação de registro. O que você quiser. Verificação de identidade, prova de vida, correspondência facial, AML, comprovante de endereço. Todas as verificações que a Didit oferece para KYB e KYC estão disponíveis dentro destes nós aqui. Então, se eu quisesse adicionar mais uma verificação aqui, por exemplo, digamos que eu quisesse fazer uma triagem AML, posso adicioná-la aqui. Vamos falar das regras e destas abas daqui a pouco, mas dá para ver que adicionei isso neste fluxo aqui. Se você entrar em um fluxo de grafo KYC, a maioria desses fluxos vai começar com a verificação de identidade. É a mais comum

## Dentro do nó de Verificação de identidade

[04:33](https://www.youtube.com/watch?v=7-nJ3JE20i4\&t=273s) Certo. E dá para ver aqui que este é o nó de verificação de identidade. Temos 500 verificações gratuitas por mês, e o mesmo vale para a prova de vida e para a correspondência facial. Essa verificação de identidade faz muito mais do que só ler o texto de um documento. Ela comprova que o documento é autêntico: verifica os elementos de segurança, procura sinais de adulteração, analisa as fontes e os layouts e, depois, extrai cada campo, o nome, a data de nascimento, o número do documento, a data de validade, tudo por OCR, em qualquer idioma, em todos os mais de 14,000 tipos de documento suportados. Então, nunca é só texto. Primeiro é uma verificação de autenticidade e, depois, vêm os dados. Vamos configurar um desses módulos.

## Modos de prova de vida e quanto custa cada um

[05:15](https://www.youtube.com/watch?v=7-nJ3JE20i4\&t=315s) Quer dizer, se formos ao módulo de prova de vida, você pode ver que temos alguns modos diferentes de prova de vida. Temos o passivo, que detecta a prova de vida a partir de uma selfie. Temos o flashing, em que confirmamos a prova de vida usando padrões de luz dinâmicos para detectar rostos de usuários reais. E temos a ação 3D. Ela confirma a prova de vida com algum tipo de ação, seja piscar os olhos ou virar a cabeça. Agora, você pode ver que, para a verificação de prova de vida passiva, temos 500 créditos gratuitos por mês e depois 10 centavos por verificação, enquanto o flashing e a ação 3D custam 15 centavos por verificação. E não temos nenhuma verificação gratuita incluída na nossa conta gratuita. Então, na aba de regras,

## Regras: limiares, rostos duplicados, múltiplos rostos

[05:56](https://www.youtube.com/watch?v=7-nJ3JE20i4\&t=356s) é aqui que decidimos se o módulo é obrigatório ou opcional. Então, se formos à aba de regras, vemos que há algumas opções diferentes aqui. Isso nos permite configurar a sensibilidade da verificação. Podemos definir um nível de tolerância. Se alguém tiver uma pontuação de prova de vida menor que 70, a sessão fica em revisão. E podemos alterar isso se quisermos. O mesmo vale para a recusa. Também podemos ter uma configuração para rosto duplicado. Ou seja, quando o rosto de um usuário corresponde ao de uma sessão aprovada anteriormente, como devemos proceder? Aprovar, revisar ou recusar. Depois, podemos personalizar o limiar de similaridade por etnia. Assim, podemos definir a sensibilidade da detecção de duplicados de acordo com a etnia da pessoa. E, por fim, podemos definir a ação a ser tomada quando vários rostos são detectados na imagem de prova de vida. O maior rosto será sempre usado para a pontuação de prova de vida. Então, essa é uma opção que podemos definir aqui. Se formos à

## Configurações avançadas e limiares de qualidade

[06:56](https://www.youtube.com/watch?v=7-nJ3JE20i4\&t=416s) Na aba avançada, temos algumas opções diferentes aqui. Temos o modo de privacidade facial, o número máximo de tentativas de prova de vida, ou seja, quantas vezes um usuário pode tentar novamente a verificação de prova de vida dentro de uma única sessão de verificação, e o limiar de qualidade facial. Se você não tiver certeza do que essas configurações fazem, pode passar o mouse sobre este botão de informação aqui. Podemos ver que a qualidade facial mede a clareza, a resolução e a nitidez da imagem.

[07:20](https://www.youtube.com/watch?v=7-nJ3JE20i4\&t=440s) Imagens de baixa qualidade podem resultar de desfoque, pixelização ou más condições de iluminação. Então, podemos definir o limiar aqui com base na pontuação de qualidade facial. Temos um limiar de luminescência. Podemos definir a faixa de luminescência aceitável e, se a luminescência estiver abaixo dessa faixa, podemos, obviamente, enviar a sessão para revisão ou recusá-la. E, por fim, podemos configurar nossas próprias regras personalizadas se nenhuma delas corresponder às

## Dados retornados e GDPR

[07:47](https://www.youtube.com/watch?v=7-nJ3JE20i4\&t=467s) configurações que queremos. Na aba de dados retornados, podemos selecionar os dados que gostaríamos de excluir dos resultados da verificação, para fins de GDPR etc. Agora, para cada um desses módulos, vemos o preço da verificação e, no topo

## Como o preço do fluxo é calculado

[08:00](https://www.youtube.com/watch?v=7-nJ3JE20i4\&t=480s) aqui, podemos ver um preço total. Deixe-me explicar isso, porque cada nó tem seu próprio preço e cada fluxo provavelmente vai ser um pouco diferente em termos de custo total. Você paga apenas pelas etapas que realmente são executadas. Cada etapa é cobrada separadamente. Então, se o solicitante parar no meio da verificação, apenas as primeiras verificações pelas quais ele passou serão cobradas. É por isso que você vê, embaixo, uma faixa de 20 centavos a 43 centavos. Essa é a faixa. Se alguém passar pelo fluxo, fizer a primeira etapa e sair, vai custar apenas 20 centavos. Se concluir todo o fluxo de verificação, vai custar 43. E, como você pode ver no meio, estes são todos os módulos que fazem parte deste fluxo específico. Podemos ver quantos créditos temos por mês. Depois que esses créditos gratuitos forem usados, depois que essas 500 verificações forem feitas, você passará a ser cobrado por elas. Agora, um dos módulos mais poderosos que você pode adicionar nem é uma verificação por câmera. É a

## Validação de banco de dados com base em registros governamentais

[09:05](https://www.youtube.com/watch?v=7-nJ3JE20i4\&t=545s) verificação em banco de dados. Vamos adicioná-la. Esta é uma verificação de antecedentes. E vamos ver o que ela realmente faz, porque essa validação de banco de dados se conecta a registros e bancos de dados governamentais oficiais do mundo todo. O que ela faz é cruzar os dados do usuário com essas fontes oficiais e depois enriquecê-los com campos extras que o registro possui. Você pode escolher quais registros e fontes usar, como pode ver aqui, para cada país. E cada serviço mostra seu próprio preço. Aqui embaixo, por exemplo, temos diferentes serviços no Canadá e, obviamente, preços diferentes para registros diferentes. Então, se você quisesse ver um país específico, como a Alemanha, por exemplo, poderíamos ver as verificações disponíveis na Alemanha e selecioná-las de acordo com nossas necessidades.

[09:59](https://www.youtube.com/watch?v=7-nJ3JE20i4\&t=599s) E essa validação de banco de dados não é algo que você só pode executar aqui no painel: ela também pode ser chamada diretamente pela API da Didit a partir do seu próprio backend. E, de novo, como em todos esses módulos, temos regras, configurações avançadas e dados retornados. Então, mais uma vez, você pode definir suas regras aqui. E, se clicarmos aqui em correspondência parcial, podemos ver como é uma correspondência completa. Nome completo e número de documento, se houver correspondência no registro, por exemplo, e uma correspondência parcial talvez seja apenas o número de documento. Depois, podemos decidir o que essa correspondência parcial significa dentro do seu fluxo. Enviamos para revisão? Recusamos? Aprovamos? Então, temos algumas ramificações dentro deste fluxo. Nós

## Ramificação de AML e lógica condicional

[10:36](https://www.youtube.com/watch?v=7-nJ3JE20i4\&t=636s) temos uma ramificação AML de acordo com a pontuação de risco AML. AML significa simplesmente combate à lavagem de dinheiro. Mas podemos ver lá embaixo que já temos uma ramificação configurada para essa pontuação de risco AML. Vemos que, se a pontuação de risco for maior que 70, podemos simplesmente recusar, e podemos clicar aqui. Vemos a lógica condicional. Certo? Isso é algo que podemos configurar como quisermos. Temos a ramificação um, a ramificação dois e depois todos os outros casos, o que significa que a sessão será aprovada. Por exemplo, se alguém estiver neste grupo aqui, vai para a ramificação dois. Poderíamos pedir mais informações, certo? Poderíamos pedir um comprovante de endereço, por exemplo. Dessa forma, se alguém apresentar algum risco, podemos pedir mais informações que nos ajudem a decidir se essa pessoa deve ser aprovada ou recusada. Um dos outros nós que temos aqui é o de status, que já foi adicionado aqui, mas você pode adicioná-los no final do seu fluxo para determinar qual será o resultado. Outro dos

## O nó de webhook

[11:40](https://www.youtube.com/watch?v=7-nJ3JE20i4\&t=700s) Um dos nós que podemos incluir no fluxo é o nó de webhook. O fluxo também pode se comunicar com os seus próprios sistemas no meio de uma verificação, e é para isso que serve esse nó. Ele pode chamar um endpoint e trazer dados de volta. E ele vai aguardar a resposta desse webhook. Aqui vemos que temos um webhook POST. Temos um payload JSON que pode ser alterado. Também podemos enviar payloads diferentes. Estes são os pares chave-valor que mapeiam os campos da sua sessão para a requisição que você envia. E os campos que voltam se tornam variáveis que a próxima ramificação pode avaliar. Assim, você combina as verificações da Didit com os seus próprios dados de risco, tudo dentro de um único fluxo. E uma última coisa: podemos incluir os cabeçalhos aqui embaixo. Mais alguns pares chave-valor. Temos autenticação básica aqui. Tudo o que você esperaria de uma chamada de webhook. A Didit valida o

## Validação do grafo e erros

[12:28](https://www.youtube.com/watch?v=7-nJ3JE20i4\&t=748s) O grafo é validado o tempo todo enquanto você o constrói. Se um nó estiver mal configurado ou um caminho estiver interrompido, o sistema vai indicar exatamente onde. Certo? Clicamos aqui embaixo. Vemos que o fluxo tem dois erros. E vemos que a ramificação um tem regras incompletas. O sistema vai indicar o que precisa ser corrigido no seu fluxo. E não vamos conseguir publicá-lo até que esses erros sejam corrigidos. Se eu tivesse um fluxo totalmente novo, por exemplo, e houvesse um erro, eu não conseguiria publicar esse fluxo. Além dos nós individuais

## Configurações do fluxo: novas tentativas, expiração, URL de retorno

[12:58](https://www.youtube.com/watch?v=7-nJ3JE20i4\&t=778s) do fluxo, temos a aba de configurações aqui em cima, e podemos ver que essas configurações se aplicam ao fluxo inteiro, e não a uma única verificação. Temos o nome do fluxo, claro, e temos uma URL de retorno, que é o endereço para onde a Didit redireciona o usuário quando o fluxo termina. Podemos permitir o acesso pelo computador, se você quiser que os usuários continuem pelo computador. Temos as tentativas, que você pode alterar. Ou seja, o número de vezes que um usuário pode tentar novamente a captura do documento dentro de uma única sessão de verificação, se uma tentativa anterior falhar. Temos a expiração da sessão, ou seja, por quanto tempo uma sessão não concluída permanece válida antes de expirar automaticamente. E isso se aplica a sessões recém-criadas. E temos a janela de novas tentativas, ou seja, o número de dias dentro dos quais novas tentativas são permitidas. De

## Marca própria no fluxo

[13:43](https://www.youtube.com/watch?v=7-nJ3JE20i4\&t=823s) dentro deste fluxo, podemos ir até a aba de personalizações clicando neste botão aqui em cima. A marca própria está integrada diretamente ao próprio fluxo. Você pode entrar nesta aba aqui e começar a ajustar a aparência deste fluxo de verificação: as cores, a identidade visual, o e-mail, o domínio, tudo isso. E nesta prévia aqui, você vê como vai ficar no celular e também como vai ficar no desktop.

[14:13](https://www.youtube.com/watch?v=7-nJ3JE20i4\&t=853s) Você também pode testar em idiomas diferentes. Se colocarmos em francês, você vê que todas as verificações agora são exibidas em francês. E se você quiser, pode ativar a sua identidade visual aqui. Pronto. Você pode deixar como definimos na aba de personalizações ou podemos desativá-la. E podemos ver o que acontece se escolhermos um caminho diferente aqui e ver o que é enviado ao usuário. Obviamente, o usuário não vai ver o módulo de escolha de caminho, mas isso serve só para nos ajudar a visualizar o que vai acontecer na próxima etapa, certo? Se ele for recusado, vamos ver verificação recusada, verificação em revisão, ou que ele foi verificado. Temos o botão de copiar o link

## O link compartilhável, e quando não usá-lo

[14:58](https://www.youtube.com/watch?v=7-nJ3JE20i4\&t=898s) aqui em cima. Se copiarmos e abrirmos uma nova aba, podemos acessar o link aqui e vamos conseguir ver o que o usuário vai ver. Às vezes você só quer entregar o fluxo a alguém sem escrever nenhum código. E esse botão de copiar o link faz exatamente isso. Ele copia uma URL hospedada deste fluxo, pronta para compartilhar. Isso é útil para um teste rápido ou um envio manual, mas não é a forma recomendada de fazer a integração. Para produção, você pode criar uma sessão por usuário pelo SDK ou pela API, incluindo os dados do fornecedor, e é assim que você recebe resultados em tempo real por webhooks e pelo SDK. A opção de copiar o link é ótima para testes e eventos, e uma sessão de verdade é o que você vai colocar em produção. Então

## Histórico de versões e reversão

[15:41](https://www.youtube.com/watch?v=7-nJ3JE20i4\&t=941s) aqui no topo temos o histórico de versões. Assim, podemos ver as diferentes versões e restaurar ou visualizar as versões anteriores. E, se estivéssemos editando este fluxo, essas edições ficariam como rascunho, acima do histórico publicado aqui. E o legal é que cada nova versão que você publica mantém o mesmo ID do fluxo. Então o seu backend continua chamando esse mesmo ID, e a chamada vai ser encaminhada de forma transparente para o fluxo mais recente que você criou, porque esse histórico é registrado; assim você pode iterar com confiança e voltar para versões anteriores sempre que precisar. Por exemplo, este fluxo aqui é novinho. Dá para ver que ele está em modo rascunho. Se fizermos qualquer alteração no fluxo, ele vai ficar em rascunho e vamos precisar publicá-lo. Então, podemos

## Publicando o seu fluxo

[16:24](https://www.youtube.com/watch?v=7-nJ3JE20i4\&t=984s) clique em publicar. Este fluxo só vai entrar no ar quando for publicado. Ele vai validar o grafo para garantir que não há erros. E pronto, podemos pegar o link e agora este fluxo está no ar e pronto para uso. Vamos dar uma olhada

## Integração: SDK, chave de API e o prompt de configuração

[16:37](https://www.youtube.com/watch?v=7-nJ3JE20i4\&t=997s) Quanto à integração, há várias formas de fazer essa integração. Podemos escolher o SDK desejado, seja React Native, iOS ou React/Next.js, podemos selecionar o fluxo e, neste caso, temos o de revisão de países de alto risco. Podemos selecionar a chave de API. Assim, você pode ter chaves de API diferentes para fluxos diferentes ou para integrações diferentes, como preferir. Ou você pode selecionar um webhook. Se quiser ser notificado das decisões, é só colocá-lo ali. Agora, a forma mais fácil de fazer a integração é simplesmente copiar um prompt e colá-lo no Claude Code ou no Codex.

[17:12](https://www.youtube.com/watch?v=7-nJ3JE20i4\&t=1032s) E esse prompt vai integrar este fluxo. Então, mesmo que você ainda não tenha a Didit integrada à sua aplicação, este prompt vai te dar tudo o que você precisa para colocar este fluxo para funcionar na sua aplicação. Mas você nem precisa fazer isso. Você pode simplesmente

## Criando fluxos com o servidor MCP

[17:27](https://www.youtube.com/watch?v=7-nJ3JE20i4\&t=1047s) Instale um servidor MCP da Didit. É só descrever o fluxo em linguagem simples, e ele vai criar o fluxo para você e integrá-lo automaticamente à sua aplicação. Diga o que ele deve fazer, e ele vai lá e faz. Vamos ver como configurar o MCP em outro vídeo, mas, basicamente, MCP é o Model Context Protocol, que permite desenvolver com a Didit usando linguagem natural em ferramentas como Claude Code, Cursor, Codex e todas as outras. Então, vamos dar uma olhada rápida na personalização.

[17:57](https://www.youtube.com/watch?v=7-nJ3JE20i4\&t=1077s) Adicionamos o nome público e a URL da política de privacidade. Temos a identidade visual, onde podemos alterar as cores. Você também pode importar seus logotipos e cores automaticamente a partir do seu site, o que pode ser muito útil e fácil de fazer. Podemos enviar seus logotipos aqui embaixo. E dá para ver que eu já defini estas cores. E, para testar como ficaria com essas cores, se a gente simplesmente ativar este botão aqui, podemos ver a identidade visual de marca própria sendo aplicada aqui no fluxo de verificação. Vou desativá-lo por enquanto. Você pode configurar um e-mail personalizado. Vai precisar preencher estes dados. E então, quando você prosseguir para a verificação, é só pegar as informações de DNS e configurá-las no seu domínio. E o mesmo vale aqui, se você quiser usar um subdomínio. Assim, todo este fluxo fica totalmente hospedado com a sua própria identidade visual e o seu próprio domínio. Isso proporciona aos seus usuários uma experiência de verificação realmente fluida.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.