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

# Regras e avisos do Document AI

> Regras do Document AI da Didit: documento ilegível, campos obrigatórios ausentes, adulteração, nome divergente e regras de status personalizadas.

## Visão geral

O Document AI gera um status para cada documento enviado a partir de duas camadas de regras. Os status de cada documento se combinam para formar o status do recurso segundo a precedência **Declined > In Review > Approved**.

1. **Regras básicas**: verificações integradas, cada uma associada a uma ação configurável: `DECLINE`, `REVIEW` ou `NO_ACTION`.
2. **Regras de status personalizadas**: suas próprias condições sobre qualquer campo extraído, incluindo referências cruzadas com outras etapas.

## Regras básicas

Cada regra abaixo é detectada automaticamente durante a extração e a análise forense. Configure a ação de cada uma na aba **Regras** do recurso Document AI.

| Regra | Campo de configuração | É acionada quando |
| - | - | - |
| **Documento ilegível** | `document_ai_unreadable_document_action` | O documento não pode ser lido ou nenhum dado pode ser extraído |
| **Campos obrigatórios ausentes** | `document_ai_missing_required_fields_action` | Um campo marcado como **obrigatório** não pode ser extraído |
| **Adulteração de documento** | `document_ai_document_tampering_action` | A análise forense detecta sinais de manipulação |
| **Divergência de nome** | `document_ai_name_mismatch_action` | O nome no documento não corresponde ao titular verificado: a identidade do titular em um fluxo de pessoa física (KYC) ou a empresa em um fluxo de empresa (KYB) (abaixo de `document_ai_name_match_score_threshold`) |
| **Arquivo não suportado** | `document_ai_unsupported_file_action` | O tipo do arquivo enviado não é suportado |
| **Tentativas excedidas** | `document_ai_max_attempts_exceeded_action` | O usuário excede `document_ai_max_retry_attempts` |

A verificação de **divergência de nome** compara o campo de nome marcado no documento com o titular verificado usando uma pontuação de 0 a 100. Em um fluxo de pessoa física (KYC), a comparação é feita com o identidade verificada (e com os dados esperados informados na criação da sessão). Em um fluxo de empresa (KYB), é feita com a empresa verificada (a empresa correspondente no registro ou o nome de empresa esperado). Defina o limiar com `document_ai_name_match_score_threshold`.

## Regras de status personalizadas

As regras de status personalizadas permitem definir um status (`Approved`, `In Review`, `Declined` ou `No Action`) quando uma condição sobre um campo extraído é atendida. Cada regra tem este formato:

```json theme={null}
{
  "field": "document_ai.balance",
  "operator": "greater_than",
  "value": 50000,
  "status": "In Review"
}
```

Para **fazer referência cruzada com outra etapa**, defina `value_type: "field"` e aponte `value` para o caminho de outro campo:

```json theme={null}
{
  "field": "document_ai.account_holder",
  "operator": "fuzzy_match",
  "value": "kyc.full_name",
  "value_type": "field",
  "score": 80,
  "status": "Declined"
}
```

Cada regra correspondente contribui com seu status, e prevalece o mais restritivo entre eles e o status base (Declined > In Review > Approved). Assim, uma regra pode aumentar a severidade, mas nunca reverter para um status melhor um `Declined`/`In Review` causado por risco. As regras `No Action` são registradas, mas não alteram o status.

> [!NOTE]
>
> Os campos extraídos podem ser referenciados como `document_ai.<field_key>` usando a `key` que você configurou para cada campo. Campos de número e de data aceitam operadores de comparação (`greater_than`, `less_than`, intervalos de datas); campos de texto aceitam igualdade, `contains` e `fuzzy_match`.


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