Obtener Consentimiento

Obtener Consentimiento

POST /cl/consent_manager/get_consent

Devuelve el detalle completo de un consentimiento, incluyendo el bloque de auditoría (audit_log) con todos los cambios de estado.

  • URL completa (prod): https://api.floid.app/cl/consent_manager/get_consent
  • URL sandbox: https://sandbox.floid.app/cl/consent_manager/get_consent

Headers requeridos

Authorization: Bearer {{TOKEN}}
Content-Type: application/json

Identificadores aceptados

Tenés que enviar uno de estos en el body. El servidor los probará todos contra el mismo id_cliente y devuelve el match si existe:

CampoTipoDescripción
consent_tokenstringUUID Floid devuelto por create_consent (preferido)
codigo_interno_consentimientostringCódigo RDC30 propio del cliente
custom_id o id_externostringUUID externo opcional asignado en la creación
idintegerPrimary key numérico del consentimiento

Si no enviás ninguno, devuelve INVALID_REQUEST con display_message: "Missing consent identifier".
Si el identificador no corresponde a ningún consentimiento del cliente, devuelve NOT_FOUND con display_message: "Consent not found".


Ejemplos

Por consent_token

curl --location 'https://api.floid.app/cl/consent_manager/get_consent' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer {{TOKEN}}' \
  --data '{ "consent_token": "550e8400-e29b-41d4-a716-446655440000" }'

Por custom_id

curl --location 'https://api.floid.app/cl/consent_manager/get_consent' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer {{TOKEN}}' \
  --data '{ "custom_id": "CONSENT-DEMO-001" }'

Por codigo_interno_consentimiento

curl --location 'https://api.floid.app/cl/consent_manager/get_consent' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer {{TOKEN}}' \
  --data '{ "codigo_interno_consentimiento": "BCH-NAT-001" }'

Respuesta exitosa (200)

{
  "code": "200",
  "msg": "OK",
  "caseid": "550e8400-e29b-41d4-a716-446655440000",
  "data": {
    "consent": {
      "id": 12345,
      "id_cliente": 10,
      "is_sandbox": 0,
      "consent_token": "550e8400-e29b-41d4-a716-446655440000",
      "custom_id": "CONSENT-DEMO-001",
      "codigo_institucion": "123456789",
      "codigo_interno_consentimiento": "BCH-NAT-001",
      "tipo_persona": "NATURAL",
      "person_rut": "12345678-9",
      "person_name": "GARCIA/PEREZ/JUAN CARLOS",
      "person_email": "[email protected]",
      "person_cellphone": "+56912345678",
      "rut_empresa": null,
      "rut_ejecutivo": "98765432-1",
      "medio": 1,
      "finalidad": 2,
      "objetivo": "02",
      "current_state": "ACTIVE",
      "timestamp_otorgamiento_fecha": "20260512",
      "timestamp_otorgamiento_hora": "143022",
      "timestamp_expiracion_fecha": "20270512",
      "timestamp_expiracion_hora": "143022",
      "timestamp_revocacion_fecha": null,
      "timestamp_revocacion_hora": null,
      "evidence_url": "https://institution.com/evidence/consent-001.pdf",
      "evidence_hash": "0F6400343D627EEF5A5346BC3E8006EE17B888D9D37945959602A5EC28980A47",
      "evidence_file_format": "PDF_A",
      "evidence_storage_mode": "FLOID_STORAGE",
      "evidence_status": "SUCCESS",
      "codigo_encriptado_consentimiento": "0F6400343D627EEF5A5346BC3E8006EE17B888D9D37945959602A5EC28980A47",
      "evidence": {
        "url": "https://institution.com/evidence/consent-001.pdf",
        "hash": "0F6400343D627EEF5A5346BC3E8006EE17B888D9D37945959602A5EC28980A47",
        "format": "PDF_A",
        "storage_mode": "FLOID_STORAGE",
        "status": "SUCCESS"
      },
      "fingerprint_hash": null,
      "ip": "172.19.0.7",
      "navegador": "curl/7.68.0",
      "uploaded_by": "API",
      "timestamp_carga": "2026-05-12 14:30:22"
    },
    "audit_log": [
      {
        "consent_token": "550e8400-e29b-41d4-a716-446655440000",
        "accion": "ACCESSED",
        "estado_anterior": null,
        "estado_nuevo": null,
        "campo_modificado": null,
        "valor_anterior": null,
        "valor_nuevo": null,
        "modificado_por_tipo": "API",
        "modificado_por_id": "consent_api_detail",
        "modificado_por_rut": null,
        "modificado_por_nombre": null,
        "ip_origen": "172.19.0.7",
        "user_agent": "curl/7.68.0",
        "razon_cambio": null,
        "datos_adicionales": null,
        "timestamp_cambio": "2026-05-12 14:32:11",
        "timestamp_servidor": "2026-05-12 14:32:11"
      },
      {
        "consent_token": "550e8400-e29b-41d4-a716-446655440000",
        "accion": "CREATED",
        "estado_anterior": null,
        "estado_nuevo": "ACTIVE",
        "modificado_por_tipo": "API",
        "modificado_por_id": "consent_api_create",
        "ip_origen": "172.19.0.7",
        "timestamp_cambio": "2026-05-12 14:30:22",
        "timestamp_servidor": "2026-05-12 14:30:22"
      }
    ]
  }
}

Acerca de audit_log

  • Devuelve el historial completo del consentimiento ordenado por timestamp_cambio DESC (más reciente primero).
  • Acciones típicas: CREATED, ACCESSED, REVOKED, EXPIRED.
  • Cada llamada a get_consent agrega un nuevo registro ACCESSED — quedaron así por requerimiento de trazabilidad.

Posibles errores

error_codeHTTPdisplay_message típico
INVALID_REQUEST400"Missing consent identifier" — no enviaste ninguno de los 4 identificadores
NOT_FOUND400"Consent not found" — el identificador no existe para tu id_cliente
INTERNAL_ERROR500Error de DB / excepción no controlada

Última actualización: 12 de mayo de 2026.