Auditoría por Consentimiento

Auditoría por Consentimiento

POST /cl/consent_manager/get_auditoria_by_consent

Devuelve el audit trail completo de un único consentimiento (todos los eventos desde su creación). Equivalente al campo audit_log de get_consent, pero sin devolver el resto del consentimiento.

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

Headers requeridos

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

Identificadores aceptados

Tenés que enviar uno de estos en el body:

CampoTipoDescripción
consent_tokenstringUUID Floid (preferido)
codigo_interno_consentimientostringCódigo RDC30 propio del cliente
custom_id o id_externostringUUID externo opcional
idintegerPrimary key numérico

Si no enviás ninguno, devuelve code: 400 con error: "Missing consent identifier (consent_token, codigo_interno_consentimiento, custom_id/id_externo, or id)".


Ejemplos

Por consent_token

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

Por codigo_interno_consentimiento

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

Respuesta exitosa (200)

{
  "code": "200",
  "msg": "OK",
  "caseid": "550e8400-e29b-41d4-a716-446655440000",
  "data": {
    "consent": {
      "id": 12345,
      "consent_token": "550e8400-e29b-41d4-a716-446655440000",
      "person_rut": "12345678-9",
      "codigo_institucion": "123456789"
    },
    "audit_log": [
      {
        "consent_token": "550e8400-e29b-41d4-a716-446655440000",
        "accion": "REVOKED",
        "estado_anterior": "ACTIVE",
        "estado_nuevo": "REVOKED",
        "campo_modificado": "current_state",
        "valor_anterior": "ACTIVE",
        "valor_nuevo": "REVOKED",
        "modificado_por_tipo": "API",
        "modificado_por_id": "operator-001",
        "modificado_por_rut": "12345678-9",
        "modificado_por_nombre": "Carlos Operador",
        "ip_origen": "172.19.0.7",
        "user_agent": "curl/7.68.0",
        "razon_cambio": "Solicitud del titular",
        "datos_adicionales": "{\"fecha_revocacion\":\"20260512\",\"hora_revocacion\":\"183022\"}",
        "timestamp_cambio": "2026-05-12 18:30:22",
        "timestamp_servidor": "2026-05-12 18:30:22"
      },
      {
        "consent_token": "550e8400-e29b-41d4-a716-446655440000",
        "accion": "ACCESSED",
        "modificado_por_tipo": "API",
        "modificado_por_id": "consent_api_detail",
        "ip_origen": "172.19.0.7",
        "user_agent": "curl/7.68.0",
        "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_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"
      }
    ],
    "total_records": 3
  }
}

Notas

  • El audit_log viene ordenado por timestamp_cambio DESC (más reciente primero).
  • data.consent viene resumido (solo id, consent_token, person_rut, codigo_institucion). Para el detalle completo del consentimiento, llamá a get_consent.
  • Llamar este endpoint no agrega un evento ACCESSED al audit trail (a diferencia de get_consent).

Posibles errores

error_code o errorHTTPMensaje
error: "Missing consent identifier ..."400No enviaste ninguno de los 4 identificadores
NOT_FOUND400"Consent not found" — el identificador no existe para tu id_cliente
INTERNAL_ERROR500Error de DB

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