> ## 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.

# Document AI: extração personalizada de dados

> Recolha até 3 documentos e extraia os campos definidos com a Document AI da Didit, cruzando dados com outros passos e regras próprias.

O Document AI permite-lhe recolher documentos que não se ajustam a um modelo fixo — comprovativos de fundos, recibos de vencimento, declarações de origem do património, declarações fiscais e qualquer outro tipo de documento — e extrair exatamente os campos que **você** definir. Configura o título e a descrição de cada documento no ecrã (traduzidos automaticamente para todos os idiomas de verificação) e a lista de pontos de dados a ler. A IA da Didit extrai esses campos, cruza-os opcionalmente com outros passos de verificação e aplica as suas regras para gerar um estado.

Prompt de integração do Document AI
        Copiar o prompt para a área de transferência



      
      

\<pre>

\`# Goal
Integrate Didit Document AI (configurable multi-document upload + AI field extraction + cross-checks) into your app.

\# Setup (Business Console or POST /v3/workflows/)
Add the DOCUMENT_AI feature to your workflow and configure:
\- document_ai_documents: up to 3 documents. Each has { document_key, title, description, fields[] }.
Each field is { key, name, instruction, type: "text" | "number" | "date", required, is_full_name }.
title and description are auto-translated into every verification language on save.
\- is_full_name: optional boolean on a field. Marks the field whose value is compared automatically against the
verified subject: on a person (KYC) workflow the document holder's full name (the ID-verification name, or the
session's expected details), and on a business (KYB) workflow the verified company name (the registry-matched
company, or the session's expected company name). A low match below document_ai_name_match_score_threshold
triggers document_ai_name_mismatch_action. At most one field per document may set it, and it is optional — a
document may mark none (no name check runs).
\- Basic rules (per-risk action DECLINE | REVIEW | NO_ACTION): document_ai_unreadable_document_action,
document_ai_missing_required_fields_action, document_ai_document_tampering_action,
document_ai_name_mismatch_action, document_ai_unsupported_file_action, document_ai_max_attempts_exceeded_action.
\- document_ai_name_match_score_threshold (0-100), document_ai_max_retry_attempts (2-5).
\- status_rules[]: custom rules on any extracted field. Reference an extracted field as document_ai.<field_key>
and cross-reference other steps with value_type:"field" (e.g. document_ai.account_holder equals kyc.full_name).

\# Flow
1\. Create a session — POST /v3/session/ with { workflow_id, vendor_data, callback }. See /sessions-api/create-session.
2\. Open session.url for the user (or mount the Web/Mobile SDK). The user uploads each configured document.
3\. The user uploads documents to POST /v3/document-ai/documents/ (handled by the hosted flow/SDK):
multipart/form-data with { document_key, document, locale? }, Session-Token auth.
Response: { valid?, next_step, document_ai_status, uploaded_document_keys[], required_document_keys[] }.
The step completes once every configured document_key is uploaded.
4\. Fetch the decision — GET /v3/session/{sessionId}/decision/ or subscribe to session.status.updated.

\# Decision surface
DOCUMENT_AI appears in the decision features[] array as { feature: "DOCUMENT_AI", node_id }.
Per-document statuses combine via precedence Declined > In Review > Approved.

\# See also
\- Report: /core-technology/document-ai/report-document-ai
\- Rules & warnings: /core-technology/document-ai/warnings-document-ai
\- Configure in the console: /console/workflows
\- Standalone API (server-to-server, no hosted UI): POST /v3/document-ai/ — /standalone-apis/document-ai`

\</pre>



      
      

Colar em

> [!NOTE]
>
> Já tem o documento no seu servidor? Chame a [API do Document AI](https://docs.didit.me/pt/standalone-apis/document-ai.md) diretamente: envie o ficheiro juntamente com as suas definições de campos num único pedido `POST /v3/document-ai/` e obtenha os campos extraídos, a correspondência de nomes e o estado de volta de forma síncrona, sem qualquer fluxo alojado. \$0.20 por documento.## Como funciona**1. Configurar documentos e campos**No construtor de fluxos de verificação, define até **3 documentos**. Para cada documento, define:| Definição | Descrição |
| - | - |
| **Título e descrição** | Apresentado ao utilizador no ecrã de carregamento. Introduzido uma vez e **traduzido automaticamente** para todos os idiomas de verificação. |
| **Campos a extrair** | Uma lista de campos tipados — cada um com um nome, uma instrução de extração para a IA, um tipo (`text`, `number`, `date`), um indicador de obrigatoriedade e um marcador opcional de **nome completo**. |
| **Campo de nome** | Marque opcionalmente um campo de texto por documento como o nome a comparar. Num fluxo de pessoa singular (KYC), é o **nome completo**, comparado com a identidade verificada; num fluxo de empresas (KYB), é o **nome da empresa**, comparado com a empresa verificada. `document_ai_name_mismatch_action` decide o que acontece em caso de divergência. Opcional — deixe por definir para ignorar a verificação de nome nesse documento. |Comece a partir de um [modelo](#modelos-iniciais) ou crie de raiz.**2. O utilizador carrega os documentos**O utilizador carrega um ficheiro por documento configurado (PDF ou imagem). Cada carregamento é processado de forma independente; o passo fica concluído assim que todos os documentos obrigatórios tiverem sido fornecidos.**3. Extração por IA**A Didit renderiza cada documento e executa um modelo de visão-linguagem com um esquema construído a partir das suas definições de campos. Os valores extraídos são devolvidos tipados (números como números, datas como `YYYY-MM-DD`) e armazenados por documento. É realizada uma análise forense de PDF/EXIF para detetar manipulações.**4. Cruzamento de dados e regras**Os campos extraídos podem ser cruzados com outros passos — por exemplo, o nome do titular do documento com o documento de identificação verificado, ou qualquer campo com respostas de questionários — e com as suas **regras básicas** e **regras de estado personalizadas**. Os estados resultantes de cada documento combinam-se no estado da funcionalidade.## Modelos iniciaisAo adicionar um nó de Document AI, pode começar a partir de um modelo pré-definido que pré-preenche o título, a descrição e os campos tipados. Personalize qualquer elemento posteriormente.| Modelo | Campos comuns |
| - | - |
| **Comprovativo de fundos** | Titular da conta, saldo, moeda, data do extrato |
| **Comprovativo de rendimentos (recibo de vencimento)** | Entidade empregadora, nome do colaborador, salário bruto/líquido, período de pagamento |
| **Origem do património** | Tipo de origem, montante, data, instituição |
| **Documento Fiscal** | Nome do contribuinte, ano fiscal, rendimento declarado, número de identificação fiscal |## Cruzamento de dados com outros passosOs campos do Document AI são acessíveis como `document_ai.<field_key>` e podem ser comparados com campos de outros passos concluídos através de uma regra de estado personalizada com `value_type: "field"`. Por exemplo:- `document_ai.account_holder` **igual a** `kyc.full_name` — o titular do documento corresponde à identidade verificada.
- `document_ai.balance` **greater\_than** `50000` — sinalizar saldos elevados para revisão.As regras de correspondência integram-se na decisão utilizando a ordem de precedência da plataforma **Recusada > Em análise > Aprovada**, pelo que uma regra pode aumentar a gravidade, mas nunca sobrepor-se a um estado mais estrito determinado pelo risco. Consulte [Regras e avisos](https://docs.didit.me/pt/core-technology/document-ai/warnings-document-ai.md).## Requisitos dos documentos| Requisito | Detalhe |
| - | - |
| **Documentos por passo** | Até 3, cada um configurado de forma independente |
| **Formatos suportados** | PDF, JPG, JPEG, PNG, TIFF, WebP |
| **Páginas** | Suporte a ficheiros PDF com várias páginas |
| **Qualidade** | Documento original ou digitalização de alta qualidade; sem edição digital ou manipulação |> [!NOTE]
>
> O Document AI realiza a leitura de texto não estruturado, o que introduz alguns segundos de latência por documento. Os webhooks só são acionados quando todo o passo do fluxo fica concluído — não consulte o endpoint de decisão com intervalos inferiores a 5 s durante este intervalo.


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