Logs de Acceso

Logs de Acceso

Dos endpoints relacionados:

  • POST /cl/consent_manager/get_accesos — lista paginada de cada acceso a un consentimiento (validación, lectura, listado).
  • POST /cl/consent_manager/get_accesos_stats — agregados de los accesos en un período.

⚠️

Importante: la doc anterior mencionaba un endpoint /get_access_logs. No existe. Los reales son /get_accesos y /get_accesos_stats (en español).

  • URLs (prod):
    • https://api.floid.app/cl/consent_manager/get_accesos
    • https://api.floid.app/cl/consent_manager/get_accesos_stats
  • URLs sandbox:
    • https://sandbox.floid.app/cl/consent_manager/get_accesos
    • https://sandbox.floid.app/cl/consent_manager/get_accesos_stats

Headers requeridos

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

get_accesos — listado paginado

Filtros (todos opcionales, body JSON)

CampoTipoDescripción
person_rutstringRUT del titular cuyos accesos querés ver
tipo_accesostringVer tabla de tipos abajo
ip_accesostringIP exacta desde la que se accedió
fecha_desdestringYYYY-MM-DD (filtra timestamp_acceso)
fecha_hastastringYYYY-MM-DD
limitintegerDefault 100, máximo 1000
offsetintegerDefault 0
order_directionstringDESC (default) | ASC

Ejemplo

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

Respuesta exitosa (200)

{
  "code": "200",
  "msg": "OK",
  "caseid": "",
  "data": {
    "access_records": [
      {
        "id": 789,
        "person_rut": "12345678-9",
        "tipo_acceso": "API_DETAIL",
        "is_sandbox": 0,
        "consentimientos_consultados": [12345],
        "filtros_aplicados": { "consent_id": 12345 },
        "resultados_mostrados": 1,
        "ip_acceso": "172.19.0.5",
        "user_agent": "curl/7.68.0",
        "timestamp_acceso": "2026-05-12 14:32:11"
      },
      {
        "id": 790,
        "person_rut": "12345678-9",
        "tipo_acceso": "API_VALIDATE",
        "is_sandbox": 0,
        "consentimientos_consultados": null,
        "filtros_aplicados": {
          "codigo_institucion": "123456789",
          "finalidad": 2,
          "validation_result": true
        },
        "resultados_mostrados": 1,
        "ip_acceso": "172.19.0.5",
        "user_agent": "curl/7.68.0",
        "timestamp_acceso": "2026-05-12 14:35:00"
      }
    ],
    "pagination": {
      "total": 2,
      "limit": 100,
      "offset": 0,
      "has_more": false
    },
    "filters_applied": {
      "tipo_acceso": "API_DETAIL",
      "limit": 100,
      "offset": 0,
      "order_direction": "DESC"
    }
  }
}

Tipos de acceso (tipo_acceso)

ValorCuándo se registra
API_LISTLlamada a list_consents
API_DETAILLlamada a get_consent
API_VALIDATELlamada a validate_consent
API_REVOKELlamada a revoke_consent
API_AUDIT_QUERYLlamada a get_auditoria
API_AUDIT_DETAILLlamada a get_auditoria_by_consent
API_ACCESS_QUERYLlamada a este mismo endpoint (get_accesos)
REPORT_RDC30 / REPORT_*Generación de reporte (generate_report)

Cuando person_rut no es identificable (ej. listados sin filtro), se registra como MULTIPLE.


get_accesos_stats — estadísticas agregadas

Parámetros (body JSON)

CampoTipoDefaultDescripción
fecha_desdestringhoy - 30 díasYYYY-MM-DD
fecha_hastastringhoyYYYY-MM-DD

Ejemplo

curl --location 'https://api.floid.app/cl/consent_manager/get_accesos_stats' \
  --header 'Authorization: Bearer {{TOKEN}}' \
  --header 'Content-Type: application/json' \
  --data '{
    "fecha_desde": "2026-04-01",
    "fecha_hasta": "2026-05-12"
  }'

Respuesta exitosa (200)

{
  "code": "200",
  "msg": "OK",
  "caseid": "",
  "data": {
    "date_range": {
      "desde": "2026-04-01",
      "hasta": "2026-05-12"
    },
    "access_by_type": {
      "API_DETAIL": 412,
      "API_LIST": 87,
      "API_VALIDATE": 35,
      "API_REVOKE": 4
    },
    "access_by_date": [
      { "date": "2026-04-01", "count": 12 },
      { "date": "2026-04-02", "count": 23 },
      { "date": "2026-05-12", "count": 5 }
    ],
    "top_ips": [
      { "ip": "172.19.0.5", "count": 234 },
      { "ip": "172.19.0.7", "count": 189 }
    ]
  }
}

top_ips devuelve los 10 más frecuentes ordenados desc.


Posibles errores (ambos endpoints)

error_codeHTTPCuándo
INTERNAL_ERROR500Error de DB

Si no hay registros, devuelve listas vacías (no es error).

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