Validar Consentimiento
Validar Consentimiento
POST /cl/consent_manager/validate_consent
Verifica si existe un consentimiento ACTIVE y no expirado para una combinación de (person_rut, institution_code, purpose). Útil antes de hacer una consulta crediticia para confirmar que el titular otorgó consentimiento.
- URL de producción:
https://api.floid.app/cl/consent_manager/validate_consent - URL de sandbox:
https://sandbox.floid.app/cl/consent_manager/validate_consent
Contrato en inglés. Los nombres de los campos del request y de la respuesta van en inglés. Los errores usan el envelope legacy con un
error_codegranular.
Headers requeridos
Authorization: Bearer {{TOKEN}}
Content-Type: application/json
Parámetros del body
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
person_rut | string | Sí | RUT chileno del titular. |
institution_code | string | Sí | Código de institución de 9 dígitos. |
purpose | integer | Sí | 1 (riesgo comercial) o 2 (riesgo crediticio). |
El
client_idse deriva del Bearer token. Si lo envías, se ignora. Cuando más de un consentimiento cumple, se devuelve el más reciente.
Ejemplo
curl --location 'https://api.floid.app/cl/consent_manager/validate_consent' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{TOKEN}}' \
--data '{
"person_rut": "12345678-9",
"institution_code": "123456789",
"purpose": 2
}'
Respuesta — consentimiento válido (200)
{
"code": 200,
"msg": "OK",
"caseid": "550e8400-e29b-41d4-a716-446655440000",
"data": {
"valid": true,
"consent": {
"id": 12345,
"consent_token": "550e8400-e29b-41d4-a716-446655440000",
"client_id": 42,
"framework": "REDEC",
"person_type": "NATURAL",
"person_rut": "12345678-9",
"institution_code": "123456789",
"internal_code": "BCH-NAT-001",
"purpose": 2,
"objective": "02",
"medium": 1,
"state": "ACTIVE",
"granted_date": "20260512",
"expiration_date": "20260602",
"expiration_time": "235959",
"caseid": "550e8400-e29b-41d4-a716-446655440000"
},
"validation_date": "2026-05-12 18:30:00",
"checked_criteria": {
"person_rut": "12345678-9",
"institution_code": "123456789",
"purpose": 2,
"state": "ACTIVE",
"not_expired": true
}
}
}
Respuesta — sin consentimiento válido (200)
{
"code": 200,
"msg": "OK",
"caseid": "550e8400-e29b-41d4-a716-446655440000",
"data": {
"valid": false,
"consent": null,
"validation_date": "2026-05-12 18:30:00",
"checked_criteria": {
"person_rut": "12345678-9",
"institution_code": "123456789",
"purpose": 2,
"state": "ACTIVE",
"not_expired": true
}
}
}
El HTTP es 200 y
codees 200 incluso cuandovalidesfalse. La inexistencia de consentimiento no es un error — es un resultado de la validación. Parseadata.valid.
Este endpoint nunca valida datos de sandbox: siempre verifica contra el ambiente que implica el host.
Errores
error_code | error_type | HTTP | Cuándo |
|---|---|---|---|
VALIDATION_CRITERIA_REQUIRED | VALIDATION | 400 | Faltan person_rut, institution_code o purpose. |
INVALID_RUT | VALIDATION | 400 | person_rut con formato o dígito verificador inválido. |
INTERNAL_ERROR | INTERNAL | 500 | Error de base de datos. |
Updated 5 days ago
