Saltar al contenido principal

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:

  1. El compliance status de la entidad es complies.
  2. redec_pdf_hash del consent_action REDEC no es null. El hash solo está disponible después de que Soyio generó el recibo PDF. Si aún es null, espera el webhook consent_action.redec_receipt_generated y 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 SoyioCómo obtenerlo
consent_actionRespuesta de POST /redec/consent_actions o GET /redec/consent_actions/{id}
consent_templateGET /consent_templates/{consent_template_id} usando el consent_template_id del consent_action
agreement.data_permissions[]Respuesta de GET /entities/{id}/agreement
entity_ninCampo del titular del consentimiento (RUT)

Tabla de mapeo

Campo CMFFuente en SoyioTransformación / Formato
rut_consultadoRUT del titular (entity_nin)Solo dígitos + dígito verificador, sin puntos ni guion. Ej.: "12.345.678-9""123456789"
fecha_inicio_otorgamientoconsent_action.created_atYYYYMMDD en zona horaria local. Ej.: "20240315"
hora_inicio_otorgamientoconsent_action.created_atHHmmss en zona horaria local. Ej.: "143022"
fecha_fin_consentimientoagreement.data_permissions[].expires_atYYYYMMDD (ver nota sobre expiración sin fecha)
hora_fin_consentimientoagreement.data_permissions[].expires_atHHmmss (ver nota sobre expiración sin fecha)
hash.algoritmovalor fijo"SHA-256"
hash.hashconsent_action.redec_pdf_hashHash SHA-256 en hexadecimal, 64 caracteres
codigo_internoID interno de tu sistemaIdentificador de la solicitud de consulta en tu plataforma
codigo_institucionCódigo REDEC de tu empresaProvisto por CMF al registrar tu institución
medio_consentimientoconsent_action.channelVer catálogo abajo
objetivo_consentimientoprimer valor de consent_template.data_requirements[].data_uses[]Ver catálogo abajo
finalidad_consentimientoAlcance del producto REDECVer catálogo abajo

Catálogos CMF

medio_consentimiento — Canal de obtención del consentimiento

Valor en Soyio (channel)Código CMF
digital1
phone_call2
in_person3

objetivo_consentimiento — Finalidad del uso de datos

Valor en Soyio (data_use)Código CMF
finance.commercial_risk_assessment1
finance.credit_risk_assessment2

finalidad_consentimiento — Alcance del consentimiento

Valor en Soyio (redec_kind)Código CMF
commercial_credits1
consumer_credits2
housing_credits3
financial_operations4
acquired_debt_instruments5
contingent_credits6
freely_available_credit_line_limits7

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.

CampoEjemplo
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