Construye la llamada para la CMF
Construye la llamada para la CMF
Una vez que verificaste el compliance status de la entidad, puedes construir el payload para llamar al endpoint POST /consultarDeudas de la API REDEC de CMF.
Precondiciones antes de llamar a CMF
Cumple estas condiciones antes de construir el payload:
- El compliance status de la entidad es
complies. redec_pdf_hashdelconsent_actionREDEC no esnull. El hash solo está disponible después de que Soyio generó el recibo PDF. Si aún esnull, espera el webhookconsent_action.redec_receipt_generatedy obtén el hash actualizado.
Fuentes de datos en Soyio
Todos los campos del payload provienen de recursos que ya obtuviste durante el flujo REDEC:
| Recurso Soyio | Cómo obtenerlo |
|---|---|
consent_action | Respuesta de POST /redec/consent_actions o GET /redec/consent_actions/{id} |
consent_template | GET /consent_templates/{consent_template_id} usando el consent_template_id del consent_action |
agreement.data_permissions[] | Respuesta de GET /entities/{id}/agreement |
entity_nin | Campo del titular del consentimiento (RUT) |
Tabla de mapeo
| Campo CMF | Fuente en Soyio | Transformación / Formato |
|---|---|---|
rut_consultado | RUT del titular (entity_nin) | Solo dígitos + dígito verificador, sin puntos ni guion. Ej.: "12.345.678-9" → "123456789" |
fecha_inicio_otorgamiento | consent_action.created_at | YYYYMMDD en zona horaria local. Ej.: "20240315" |
hora_inicio_otorgamiento | consent_action.created_at | HHmmss en zona horaria local. Ej.: "143022" |
fecha_fin_consentimiento | agreement.data_permissions[].expires_at | YYYYMMDD (ver nota sobre expiración sin fecha) |
hora_fin_consentimiento | agreement.data_permissions[].expires_at | HHmmss (ver nota sobre expiración sin fecha) |
hash.algoritmo | valor fijo | "SHA-256" |
hash.hash | consent_action.redec_pdf_hash | Hash SHA-256 en hexadecimal, 64 caracteres |
codigo_interno | ID interno de tu sistema | Identificador de la solicitud de consulta en tu plataforma |
codigo_institucion | Código REDEC de tu empresa | Provisto por CMF al registrar tu institución |
medio_consentimiento | consent_action.channel | Ver catálogo abajo |
objetivo_consentimiento | primer valor de consent_template.data_requirements[].data_uses[] | Ver catálogo abajo |
finalidad_consentimiento | Alcance del producto REDEC | Ver catálogo abajo |
Catálogos CMF
medio_consentimiento — Canal de obtención del consentimiento
Valor en Soyio (channel) | Código CMF |
|---|---|
digital | 1 |
phone_call | 2 |
in_person | 3 |
objetivo_consentimiento — Finalidad del uso de datos
Valor en Soyio (data_use) | Código CMF |
|---|---|
finance.commercial_risk_assessment | 1 |
finance.credit_risk_assessment | 2 |
finalidad_consentimiento — Alcance del consentimiento
Valor en Soyio (redec_kind) | Código CMF |
|---|---|
commercial_credits | 1 |
consumer_credits | 2 |
housing_credits | 3 |
financial_operations | 4 |
acquired_debt_instruments | 5 |
contingent_credits | 6 |
freely_available_credit_line_limits | 7 |
Notas sobre fechas y zona horaria
Expresa todas las marcas temporales en la zona horaria configurada para tu empresa. El formato YYYYMMDD para fechas y HHmmss para horas no incluye separadores.
| Campo | Ejemplo |
|---|---|
fecha_inicio_otorgamiento | "20240315" |
hora_inicio_otorgamiento | "143022" |
fecha_fin_consentimiento | "20250315" |
hora_fin_consentimiento | "143022" |
Permiso sin fecha de expiración
Si data_permission.expires_at es null (permiso sin fecha explícita de término), consulta con CMF si el endpoint acepta omitir esos campos o si requiere una fecha de referencia. No envíes null directamente.
Ejemplo de payload completo
POST /consultarDeudas
{
"rut_consultado": "123456789",
"fecha_inicio_otorgamiento": "20240315",
"hora_inicio_otorgamiento": "143022",
"fecha_fin_consentimiento": "20250315",
"hora_fin_consentimiento": "143022",
"hash": {
"algoritmo": "SHA-256",
"hash": "a3f5c2d1e4b67890123456789012345678901234567890abcdef1234567890ab"
},
"codigo_interno": "req_abc123",
"codigo_institucion": 12345,
"medio_consentimiento": 1,
"objetivo_consentimiento": 2,
"finalidad_consentimiento": 2
}
Próximos pasos
- Genera reportes RDC31 — Reporta cada acceso exitoso a la base de deuda usando el
redec_iddel consentimiento. - Recibos PDF REDEC — Obtén el
redec_pdf_hashnecesario para el campohash.hash. - Referencia oficial: consultarDeudas — Documentación completa del endpoint CMF.