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

# API de documentos KYB: verificación corporativa

> Didit recopila, aplica OCR y coteja documentos KYB: certificados, estatutos, estados financieros. Validación en registro y tarifa separada.

La verificación de empresas incluye una recopilación estructurada de documentos para validar la información de la empresa más allá de lo que está disponible en los registros.

## Precios

La recopilación de documentos KYB cuesta **\$0.20 por paso del flujo**, independientemente de cuántos documentos se suban en ese paso. Volver a subir un documento en el mismo paso no genera otro cargo; un paso de recopilación de documentos distinto tiene su propio cargo.

## Grupos de documentos

Los documentos se organizan en cuatro grupos estructurados, cada uno de los cuales representa una categoría de evidencia necesaria para la verificación de empresas, además de un grupo general para todo lo que Didit no puede clasificar:

| Grupo (`document_group`) | Descripción | Subtipos de documento reconocidos |
| - | - | - |
| **Presencia legal** (`LEGAL_PRESENCE`) | Documentos que demuestran que la empresa existe legalmente | `CERTIFICATE_OF_INCORPORATION`, `CERTIFICATE_OF_GOOD_STANDING`, `CERTIFICATE_OF_INCUMBENCY`, `REGISTRY_EXCERPT`, `BUSINESS_LICENSE`, `TAX_REGISTRATION` |
| **Datos de la empresa** (`COMPANY_DETAILS`) | Documentos que describen los datos actuales de la empresa | `CONFIRMATION_STATEMENT`, `ANNUAL_RETURN`, `STATEMENT_OF_INFORMATION` |
| **Estructura de propiedad** (`OWNERSHIP_STRUCTURE`) | Documentos que demuestran la cadena de propiedad | `SHAREHOLDER_REGISTRY`, `MEMORANDUM_OF_ASSOCIATION`, `ARTICLES_OF_ASSOCIATION` |
| **Autorización de representantes** (`REPRESENTATIVES_AUTHORIZATION`) | Documentos que demuestran la facultad para actuar en nombre de la empresa | `DIRECTOR_REGISTRY`, `POWER_OF_ATTORNEY`, `TRUST_AGREEMENT` |
| **Otro** (`OTHER`) | Todo lo que Didit no puede clasificar con seguridad | `UNKNOWN` |

Cada grupo registra su propio progreso con contadores por grupo: `total`, `approved`, `pending`, `declined`, `in_review`, `other` y `missing`. El estado general de los documentos de la sesión de empresa agrega los estados de todos los grupos.

## Tipos de documentos

| Categoría | Ejemplos |
| - | - |
| **Documentos de constitución** | Certificado de constitución, estatutos sociales, escritura de constitución |
| **Documentos de titularidad** | Libro registro de accionistas, certificados de acciones, declaraciones de UBO |
| **Documentos de domicilio** | Facturas de servicios públicos, extractos bancarios o contratos de arrendamiento correspondientes al domicilio social |
| **Documentos financieros** | Cuentas anuales, informes de auditoría, estados financieros |
| **Documentos fiscales** | Certificados de registro fiscal, certificados de cumplimiento tributario |
| **Documentos regulatorios** | Licencias, permisos, autorizaciones regulatorias |
| **Documentos personalizados** | Cualquier documento adicional que requiera tu proceso de cumplimiento |

## Flujo de documentos

**1. Solicitudes automáticas**

Según la configuración de tu flujo, Didit identifica automáticamente qué documentos se necesitan para la verificación de la empresa. Los tipos de documento requeridos se presentan a la empresa para que los suba.

**2. Subida**

Los documentos se suben mediante el flujo de verificación alojado, desde el Business Console o desde tu propio front end con el endpoint de [subida de documentos](https://docs.didit.me/es/sessions-api/kyb-upload-documents.md). Los formatos aceptados son PDF, JPG, JPEG, PNG, TIFF y WebP, o un archivo ZIP que los contenga. Los PDF pueden pesar hasta 50 MB y las fotos hasta 6 MB antes de la compresión. Para un PDF protegido con contraseña, envía la contraseña en `document_passwords` cuando lo subas mediante la API.

**3. Extracción OCR**

Didit extrae datos estructurados de los documentos subidos mediante OCR:

* Nombre de la empresa y número de registro de los certificados
* Datos de dirección de las facturas de servicios
* Cifras financieras de los estados financieros
* Nombres y roles de los registros de accionistas

**4. Contraste de datos**

Los datos extraídos se contrastan con:

* Los datos del registro obtenidos en la búsqueda de la empresa
* La información proporcionada al crear la sesión
* Los datos de otros documentos subidos

Las incoherencias se marcan para que un analista las revise.

**5. Revisión**

Los analistas revisan los documentos subidos en la consola, verifican su autenticidad y aprueban o rechazan cada documento de forma individual.

## Solicitudes de documentos por parte de analistas

Durante el proceso de revisión, los analistas pueden solicitar documentos adicionales:

1. Ve a la sesión de empresa en la consola
2. Haz clic en **Request document** e indica el tipo de documento y una descripción
3. La empresa recibe una notificación y puede subir el documento solicitado
4. El documento aparece en la sesión con el estado **Requested** hasta que se sube

Esto permite a los analistas recopilar pruebas adicionales sin rechazar toda la sesión de empresa.

## Estados de los documentos

Cada documento y la comprobación agregada `document_verifications[]` usan el conjunto estándar de estados de las funciones KYB:

| Estado | Descripción |
| - | - |
| `"Not Finished"` | El documento aún se está procesando (subida en curso, OCR en ejecución o contraste pendiente). |
| `"Approved"` | El documento se revisó y se aceptó. |
| `"Declined"` | El documento se revisó y se rechazó. |
| `"In Review"` | El documento requiere la atención manual de un analista. |
| `"Resub Requested"` | El analista solicitó un nuevo envío: la empresa debe volver a subir este documento para que la sesión pueda avanzar. |

## Resultados de la verificación cruzada

Cuando se procesa un documento, Didit coteja los datos extraídos por OCR con los **datos aportados por el usuario** en el flujo de personas clave (y con cualquier dato confirmado durante la revisión del registro), además de con los demás documentos subidos. La verificación cruzada genera resultados estructurados:

| Categoría | Descripción |
| - | - |
| **Campos críticos** | Campos en los que los datos del documento y los datos aportados por el usuario no coinciden; requieren la revisión de un analista. Cada campo muestra el valor del documento, el valor aportado por el usuario y una puntuación de confianza. |
| **Campos no críticos** | Campos con discrepancias menores o diferencias de formato que pueden no requerir ninguna acción (p. ej., diferencias de abreviatura en el nombre de la empresa). |
| **Solapamiento de personas** | Análisis de las personas mencionadas en el documento frente a las personas aportadas por el usuario; destaca a las personas ausentes o adicionales. |

Los resultados de la verificación cruzada se muestran en la [Business Console](https://docs.didit.me/es/business-verification/console.md) junto a la vista previa del documento, para que los analistas vean con claridad qué coincide y qué requiere atención.

## Obtener documentos mediante la API

Los documentos se adjuntan a la sesión de verificación de empresas (KYB). Obtenlos a través de la decisión de la sesión:

```bash theme={null}
curl https://verification.didit.me/v3/session/{session_id}/decision/ \
  -H "x-api-key: YOUR_API_KEY"
```

La respuesta incluye un array `document_verifications[]`: cada elemento tiene un `status`, un `node_id`, `items[]` (cada uno con una `file_url` firmada, un `document_group`, un `document_subtype` y un extracto OCR), `groups` y `required_groups`. Consulta el [esquema de respuesta](https://docs.didit.me/es/business-verification/response-schema.md#document_verifications) para ver la estructura completa.

## Próximos pasos

> [card] [Esquema de respuesta](https://docs.didit.me/es/business-verification/response-schema.md)
>
> Dónde aparecen los documentos en el payload.

> [card] [Business Console](https://docs.didit.me/es/business-verification/console.md)
>
> Revisión de documentos como analista.


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