# Genera reportes RDC40

Los reportes **RDC40** de Soyio **consolidan eventos de solicitudes de derecho REDEC (DSR)** en un período y los presentan en el formato requerido por la CMF en Chile.

> **tip**
> Soyio también soporta [RDC30 para acciones de consentimiento](https://docs.soyio.id/docs/integration-guide/redec/rdc30).

### Estructura del reporte

![Desglose visual de los campos del formato RDC40](https://docs.soyio.id/img/RDC40.png)

El contenido del RDC40 se organiza en un encabezado y líneas de detalle en formato de ancho fijo.

-   **Código de institución**: código CMF de 10 dígitos asignado a tu institución.
-   **Identificación de archivo**: identificador del tipo de archivo, correspondiente a `RDC40`.
-   **Fecha del reporte**: fecha asociada al archivo reportado.
-   **ID único de la solicitud**: identificador interno de la solicitud REDEC.
-   **Fecha evento**: fecha en la que ingresó, avanzó o cerró la solicitud.
-   **Vía de ingreso**: canal por el cual se originó la solicitud.
-   **Respuesta solicitud**: resultado reportado para la solicitud (por ejemplo, solicitud abierta o ya resuelta).
-   **Evento**: tipo de hito reportado para la solicitud (ingreso, inicio de análisis o cierre).
-   **Clasificación de la solicitud**: categoría REDEC de la solicitud (actualización, rectificación, complementación o cancelación).
-   **Fundamento**: motivo regulatorio asociado al cambio o resolución reportada.
-   **Código de la operación**: identificador interno de la operación o crédito reclamado.

## Eventos que generan entradas en RDC40

Soyio incluye entradas RDC40 para solicitudes REDEC cuando ocurren estos eventos:

-   **Creación** de la solicitud
-   **Inicio de procesamiento** de la solicitud
-   **Resolución** de la solicitud (aprobada, parcialmente aprobada, rechazada o fallo de validación)

## Genera un reporte

Crea reportes de cumplimiento usando el dashboard de administración o la API de Soyio con el endpoint [`POST /api/v1/reports`](https://docs.soyio.id/docs/api/resources/create-report).

### Define el tipo de reporte

Especifica el tipo de reporte usando el parámetro `kind`.

```
{  "kind": "rdc40"}
```

**Tipos de reporte disponibles:**

-   `rdc40` - Reporte RDC40 para solicitudes REDEC (DSR), cumplimiento CMF (Chile)

### Define el período del reporte

Establece el rango de fechas para el reporte usando formato ISO 8601.

```
{  "starts_at": "2026-01-01T00:00:00Z",  "ends_at": "2026-01-31T23:59:59Z"}
```

**Consideraciones:**

-   Usa zona horaria UTC (Z al final)
-   La fecha de inicio debe ser anterior a la fecha de fin
-   El período admite cualquier duración (diario, semanal, mensual, etc.)

**cURL**

```
curl -X POST https://app.soyio.id/api/v1/reports \  -H "Authorization: Bearer YOUR_API_KEY" \  -H "Content-Type: application/json" \  -d '{    "kind": "rdc40",    "starts_at": "2026-01-01T00:00:00Z",    "ends_at": "2026-01-31T23:59:59Z"  }'
```

**JavaScript**

```
const response = await fetch('https://app.soyio.id/api/v1/reports', {  method: 'POST',  headers: {    'Authorization': `Bearer ${YOUR_API_KEY}`,    'Content-Type': 'application/json'  },  body: JSON.stringify({    kind: 'rdc40',                       // Tipo de reporte    starts_at: '2026-01-01T00:00:00Z',   // Inicio del período    ends_at: '2026-01-31T23:59:59Z'      // Fin del período  })});const data = await response.json();console.log('Reporte iniciado:', data.report.id);
```

**Python**

```
import requestsresponse = requests.post(    'https://app.soyio.id/api/v1/reports',    headers={        'Authorization': f'Bearer {YOUR_API_KEY}',        'Content-Type': 'application/json'    },    json={        'kind': 'rdc40',                      # Tipo de reporte        'starts_at': '2026-01-01T00:00:00Z',  # Inicio del período        'ends_at': '2026-01-31T23:59:59Z'     # Fin del período    })data = response.json()print('Reporte iniciado:', data['report']['id'])
```

La API retorna la información del reporte creado con el contenido completo. La estructura de la respuesta es la misma que para [RDC30](https://docs.soyio.id/docs/integration-guide/redec/rdc30#formato-del-reporte-rdc30); solo cambia el valor de `kind` y el formato del campo `content` según las especificaciones CMF para RDC40.

## Opciones de generación

Genera reportes de dos formas:

### Opción 1: Generación manual

Crea reportes manualmente cuando los necesites usando el endpoint o el dashboard. Esta opción te da control total sobre cuándo generar cada reporte.

**Cuándo usar**: Para reportes específicos, auditorías puntuales o cuando prefieres control manual del proceso.

### Opción 2: Generación automática

Activa la generación automática de reportes RDC40 desde la configuración de tu cuenta. Soyio genera los reportes automáticamente los días hábiles a las 00:00 (hora de Chile), uno por cada día transcurrido desde el día hábil anterior. Por ejemplo, el lunes genera los reportes del viernes, sábado y domingo, cada uno como un archivo diario separado. No se generan reportes durante fines de semana ni feriados.

**Cuándo usar**: Para cumplimiento regulatorio que requiere reportes diarios de solicitudes REDEC. Recibirás notificaciones por webhook cada vez que se genere un reporte.

> **tip**
> Recomendado para REDEC
> 
> Para cumplir con la CMF, activa la generación automática y suscríbete al webhook [`report.created`](https://docs.soyio.id/docs/api/webhooks). Así recibirás cada reporte RDC40 sin intervención manual.

## Configura la generación automática de reportes

Activa la generación automática de reportes RDC40 usando el dashboard o la API con el endpoint [`PATCH /api/v1/config`](https://docs.soyio.id/docs/api/resources/update-company-config):

```
{  "data_subject_request": {    "redec_automatic_rdc40": true  }}
```

**Desde el dashboard:**

1.  Navega a **Configuración > Consentimiento**
2.  Activa **Reportes automáticos RDC40** (solicitudes REDEC)
3.  Guarda la configuración

Los reportes se generan automáticamente cada día hábil a las 00:00 (hora de Chile), cubriendo cada día desde el día hábil anterior (el lunes incluye viernes, sábado y domingo, cada uno como un reporte diario separado). Recibirás una notificación por webhook con el evento [`report.created`](https://docs.soyio.id/docs/api/webhooks) por cada reporte generado.

> **info**
> Más detalles
> 
> Consulta la [guía de configuración](https://docs.soyio.id/docs/integration-guide/redec/configuration#reportes-autom%C3%A1ticos) para opciones avanzadas.

## Sin eventos (“no changes”)")

Si en el período no existieron eventos que generen entradas RDC40 para solicitudes REDEC, Soyio registra un evento interno:

-   `redec.rdc40_no_changes`

En ese caso, informa a la CMF que no hubo cambios (“sin movimientos”) para el período correspondiente.

## Suscríbete al evento de creación de reportes

Suscríbete al webhook [`report.created`](https://docs.soyio.id/docs/api/webhooks) para recibir notificaciones cuando se genere un reporte.

### `report.created`

Se envía cuando un nuevo reporte ha sido generado y está listo para consultar. El payload incluye el campo `kind` (por ejemplo `"rdc40"`) y el contenido en `content`.

**Cuándo usar**: Rastrea la generación de reportes y sincroniza automáticamente con sistemas externos (ej. CMF para reportes RDC40).

> **tip**
> Verifica el tipo de reporte
> 
> Usa el campo `kind` en el payload para identificar el tipo de reporte antes de procesarlo. Filtra por `data.kind === 'rdc40'` para manejar solo reportes RDC40.

## Sincroniza con la CMF

La normativa REDEC puede requerir reportes diarios de solicitudes DSR. Usa webhooks para automatizar el proceso:

**Paso 1: Activa reportes automáticos**

-   Los reportes se generan automáticamente cada día hábil; el lunes cubre viernes, sábado y domingo (un reporte por día)

**Paso 2: Suscríbete al webhook [`report.created`](https://docs.soyio.id/docs/api/webhooks)**

-   Recibirás el reporte completo con el contenido en cada notificación

**Paso 3: Procesa y sincroniza desde el webhook**

-   Filtra por `data.kind === 'rdc40'` y envía el contenido a la plataforma CMF o almacena para auditoría

## Próximos pasos

-   [Configuración de REDEC](https://docs.soyio.id/docs/integration-guide/redec/configuration) - Configura reportes automáticos y webhooks
-   [Captura de consentimientos](https://docs.soyio.id/docs/integration-guide/redec/consent-registration) - Registra consentimientos REDEC-compliant
-   [Cómo funciona REDEC](https://docs.soyio.id/docs/integration-guide/redec/how-it-works) - Entiende el modelo de datos completo