> ## 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 básicas e personalizadas do Document AI da Didit: documentos ilegíveis, adulteração, campos em falta e validações cruzadas.

## Visão geral

O Document AI produz um estado para cada documento carregado a partir de duas camadas de regras, e os estados por documento combinam-se no estado da funcionalidade utilizando a precedência **Recusada > Em análise > Aprovada**.

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

## Regras básicas

Cada regra abaixo é detetada automaticamente durante a extração e a análise forense. Configure a ação de cada uma no separador **Regras** da funcionalidade Document AI.

| Regra | Campo de configuração | Ativa-se quando |
| - | - | - |
| **Documento ilegível** | `document_ai_unreadable_document_action` | O documento não pode ser lido, não é possível extrair nenhum dado, ou o ficheiro não pôde ser verificado na totalidade |
| **Campos obrigatórios em falta** | `document_ai_missing_required_fields_action` | Um campo marcado como **obrigatório** não pode ser extraído |
| **Adulteração de documentos** | `document_ai_document_tampering_action` | A análise forense deteta sinais de manipulação |
| **Divergência de nome** | `document_ai_name_mismatch_action` | O nome no documento não corresponde ao sujeito verificado: a identidade do titular num fluxo de pessoa (KYC) ou a empresa num fluxo de empresa (KYB) (abaixo de `document_ai_name_match_score_threshold`) |
| **Ficheiro não suportado** | `document_ai_unsupported_file_action` | O tipo de ficheiro carregado não é suportado |
| **Tentativas excedidas** | `document_ai_max_attempts_exceeded_action` | O utilizador excede `document_ai_max_retry_attempts` |

A verificação de **Divergência de nome** compara o campo de nome indicado no documento com o sujeito verificado, usando uma pontuação de 0 a 100: num fluxo de pessoa (KYC), com o ID verificado (e os dados esperados fornecidos na criação da sessão), e num fluxo de empresa (KYB), com a empresa verificada (a empresa correspondente no registo de empresas 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 estado (`Approved`, `In Review`, `Declined` ou `No Action`) quando uma condição num campo extraído é cumprida. Cada regra é:

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

Para **fazer referência cruzada com outro passo**, 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 o seu estado, e o mais rigoroso entre estes e o estado base prevalece (Recusada > Em análise > Aprovada). Uma regra pode, portanto, aumentar a gravidade, mas nunca reduzir a gravidade de um estado `Declined`/`In Review` motivado por risco. As regras `No Action` são registadas, mas deixam o estado inalterado.

> [!NOTE]
>
> Os campos extraídos podem ser referenciados como `document_ai.<field_key>` utilizando a `key` que configurou para cada campo. Os campos numéricos e de data suportam operadores de comparação (`greater_than`, `less_than`, intervalos de datas); os campos de texto suportam comparações de igualdade, `contains` e `fuzzy_match`.


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