Obtener Auditoría General

Obtener Auditoría General

POST /cl/consent_manager/get_auditoria

Devuelve la lista paginada de eventos de auditoría de todos los consentimientos del cliente autenticado, con filtros opcionales. Para el audit trail de un consentimiento específico, usá get_auditoria_by_consent.

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

Headers requeridos

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

Filtros (todos opcionales, body JSON)

CampoTipoDescripción
consent_tokenstringUUID del consentimiento — filtra al historial de uno solo
person_rutstringRUT del titular — devuelve audit de todos los consentimientos de esa persona
accionstringCREATED | ACCESSED | REVOKED | EXPIRED | MODIFIED
modificado_por_tipostringFiltra por origen del cambio (típicamente API, WEB, BATCH, SYSTEM)
fecha_desdestringYYYY-MM-DD (filtra timestamp_cambio)
fecha_hastastringYYYY-MM-DD
limitintegerDefault 100, máximo 1000 (valores mayores se truncan)
offsetintegerDefault 0
order_directionstringDESC (default) | ASC

id_cliente se deriva del Bearer token. Si lo enviás, se ignora.


Ejemplo

curl --location 'https://api.floid.app/cl/consent_manager/get_auditoria' \
  --header 'Authorization: Bearer {{TOKEN}}' \
  --header 'Content-Type: application/json' \
  --data '{
    "accion": "REVOKED",
    "fecha_desde": "2026-01-01",
    "limit": 50
  }'

Respuesta exitosa (200)

{
  "code": "200",
  "msg": "OK",
  "caseid": "",
  "data": {
    "audit_records": [
      {
        "id": 901,
        "consentimiento_id": 12345,
        "consent_token": "550e8400-e29b-41d4-a716-446655440000",
        "accion": "REVOKED",
        "is_sandbox": 0,
        "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",
        "session_id": null,
        "api_endpoint": "/cl/consent_manager/revoke_consent",
        "metodo_http": "POST",
        "razon_cambio": "Solicitud del titular",
        "datos_adicionales": "{\"fecha_revocacion\":\"20260512\",\"hora_revocacion\":\"183022\",\"requested_via\":\"revoke_api\"}",
        "referencia_externa": null,
        "timestamp_cambio": "2026-05-12 18:30:22",
        "timestamp_servidor": "2026-05-12 18:30:22",
        "person_rut": "12345678-9",
        "codigo_institucion": "123456789"
      }
    ],
    "pagination": {
      "total": 412,
      "limit": 100,
      "offset": 0,
      "has_more": true
    },
    "filters_applied": {
      "accion": "REVOKED",
      "fecha_desde": "2026-01-01",
      "limit": 100,
      "offset": 0,
      "order_direction": "DESC"
    }
  }
}

Acciones (accion) registradas

ValorCuándo se genera
CREATEDAl crear el consentimiento (create_consent)
ACCESSEDEn cada llamada a get_consent o validate_consent exitosa
REVOKEDCuando se revoca con revoke_consent
EXPIREDCuando un job nocturno marca consentimientos vencidos
MODIFIEDCambios manuales de campos no de estado (poco frecuente)

Posibles errores

error_codeHTTPdisplay_message típico
INTERNAL_ERROR500Error de DB

Si no hay registros que cumplan los filtros, devuelve audit_records: [] con pagination.total: 0. No es error.

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