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, codigo_institucion, finalidad). Útil antes de hacer una consulta crediticia para confirmar que el titular dio consentimiento.
- URL completa (prod):
https://api.floid.app/cl/consent_manager/validate_consent - URL sandbox:
https://sandbox.floid.app/cl/consent_manager/validate_consent
Importante: este endpoint nunca valida consentimientos sandbox, incluso desde
sandbox.floid.app. Es un control regulatorio: no se permite "validar" con data de testing.
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 |
codigo_institucion | string | Sí | Código de 9 dígitos de la institución |
finalidad | integer | Sí | 1 (riesgo comercial) o 2 (riesgo crediticio) |
id_clientese deriva del Bearer token. Si lo enviás, se ignora.
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",
"codigo_institucion": "123456789",
"finalidad": 2
}'
Respuesta — consentimiento válido (200)
{
"code": "200",
"msg": "OK",
"caseid": "",
"data": {
"valid": true,
"consent": {
"id": 12345,
"consent_token": "550e8400-e29b-41d4-a716-446655440000",
"codigo_institucion": "123456789",
"codigo_interno_consentimiento": "BCH-NAT-001",
"person_rut": "12345678-9",
"tipo_persona": "NATURAL",
"finalidad": 2,
"objetivo": "02",
"current_state": "ACTIVE",
"timestamp_otorgamiento_fecha": "20260512",
"timestamp_otorgamiento_hora": "143022",
"timestamp_expiracion_fecha": "20270512",
"timestamp_expiracion_hora": "143022"
},
"validation_date": "2026-05-12 18:30:00",
"checked_criteria": {
"person_rut": "12345678-9",
"codigo_institucion": "123456789",
"finalidad": 2,
"state": "ACTIVE",
"not_expired": true
}
}
}
Si hay más de un consentimiento que cumpla, devuelve el más reciente (mayor
timestamp_otorgamiento).
Respuesta — sin consentimiento válido (200)
{
"code": "200",
"msg": "OK",
"caseid": "",
"data": {
"valid": false,
"consent": null,
"validation_date": "2026-05-12 18:30:00",
"checked_criteria": {
"person_rut": "12345678-9",
"codigo_institucion": "123456789",
"finalidad": 2,
"state": "ACTIVE",
"not_expired": true
}
}
}
Importante: el HTTP es 200 y el
codees"200"incluso cuandovalidesfalse. La inexistencia de consentimiento no es un error — es un resultado de la validación. Parsédata.valid.
Posibles errores
error_code | HTTP | display_message típico |
|---|---|---|
INVALID_REQUEST | 400 | "Missing required fields: person_rut, codigo_institucion, finalidad" |
RUT_NO_VALIDO | 400 | RUT con formato o checksum inválido |
INTERNAL_ERROR | 500 | Error de DB |
Última actualización: 12 de mayo de 2026.
Updated 1 day ago
