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

# Reglas y advertencias de Document AI

> Didit Document AI: reglas básicas y de estado personalizadas para documentos ilegibles, campos faltantes, manipulación y nombres que no coinciden.

## Visión general

Document AI asigna un estado a cada documento subido a partir de dos capas de reglas, y los estados de cada documento se combinan en el estado de la función con la precedencia **Rechazado > En revisión > Aprobado**.

1. **Reglas básicas**: comprobaciones integradas, cada una asociada a una acción configurable: `DECLINE`, `REVIEW` o `NO_ACTION`.
2. **Reglas de estado personalizadas**: tus propias condiciones sobre cualquier campo extraído, incluidas referencias cruzadas con otros pasos.

## Reglas básicas

Cada una de las siguientes reglas se detecta automáticamente durante la extracción y el análisis forense. Configura la acción de cada una en la pestaña **Reglas** de la función de Document AI.

| Regla | Campo de configuración | Se activa cuando |
| - | - | - |
| **Documento ilegible** | `document_ai_unreadable_document_action` | No se puede leer el documento o no se pueden extraer datos |
| **Faltan campos obligatorios** | `document_ai_missing_required_fields_action` | No se puede extraer un campo marcado como **obligatorio** |
| **Manipulación de documentos** | `document_ai_document_tampering_action` | El análisis forense detecta indicios de manipulación |
| **Discrepancia de nombre** | `document_ai_name_mismatch_action` | El nombre del documento no coincide con el sujeto verificado: la identidad del titular en un flujo de personas (KYC) o la empresa en un flujo de empresas (KYB) (por debajo de `document_ai_name_match_score_threshold`) |
| **Archivo no compatible** | `document_ai_unsupported_file_action` | El tipo de archivo subido no es compatible |
| **Intentos excedidos** | `document_ai_max_attempts_exceeded_action` | El usuario supera `document_ai_max_retry_attempts` |

La comprobación de **discrepancia de nombre** compara el campo del documento marcado como nombre con el sujeto verificado mediante una puntuación de 0 a 100: en un flujo de personas (KYC), con el documento de identidad verificado (y los datos esperados que se indican al crear la sesión), y en un flujo de empresas (KYB), con la empresa verificada (la empresa encontrada en el registro o el nombre de empresa esperado). Define el umbral con `document_ai_name_match_score_threshold`.

## Reglas de estado personalizadas

Las reglas de estado personalizadas te permiten asignar un estado (`Approved`, `In Review`, `Declined` o `No Action`) cuando se cumple una condición sobre un campo extraído. Cada regla tiene esta forma:

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

Para **hacer referencia a otro paso**, define `value_type: "field"` y asigna a `value` la ruta de otro campo:

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

Cada regla que se cumple aporta su estado, y prevalece el más estricto entre ellos y el estado base (Rechazado > En revisión > Aprobado). Por tanto, una regla puede aumentar la gravedad, pero nunca elevar a un estado más favorable un `Declined`/`In Review` derivado del riesgo. Las reglas `No Action` se registran, pero no cambian el estado.

> [!NOTE]
>
> Los campos extraídos se pueden referenciar como `document_ai.<field_key>` usando la `key` que configuraste para cada campo. Los campos de número y fecha admiten operadores de comparación (`greater_than`, `less_than`, rangos de fechas); los campos de texto admiten igualdad, `contains` y `fuzzy_match`.


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