Saltar al contenido principal

Reporte de Auditoría de Configuración

Rastro de auditoría unificado de ediciones y eliminaciones en las entidades de configuración — cuentas, dispositivos, personal, catálogos y registros del portal.

GET/apidev/v1/audit/config
PermisoAPICLI_AUDITORIA_CONFIG
Límite de solicitudes10 req/min
Caché60s
Rango máximo92 días

Resumen​

Devuelve el rastro de auditoría de los cambios realizados en las entidades de configuración. Cada fila registra quién cambió qué, cuándo, desde dónde y las diferencias exactas a nivel de campo (valor anterior → valor nuevo).

Solo se registran modificaciones y eliminaciones — las creaciones nunca se auditan. Usá este reporte para investigar quién editó una cuenta, cuándo se desactivó una lista de precios o qué usuario eliminó una configuración del portal.

  • Filtro de entidad — acotá a un único tipo de configuración (cuenta, dispositivo, personal, etc.)
  • Filtro de acción — conservá solo las ediciones o solo las eliminaciones
  • Filtro de origen — observá si el cambio provino del panel web, la app móvil, una integración externa, una importación masiva, una automatización o un proceso interno
  • Filtros de actor y objetivo — enfocate en un usuario específico o en un registro de entidad específico
  • Búsqueda de texto libre — coincidí contra el nombre de la entidad y el contexto del cambio

Solicitud​

Encabezados de la solicitud​

Every request to a protected endpoint requires these headers:

HeaderRequiredDescription
AuthorizationYesBearer token obtained from the Login endpoint. Format: Bearer <token>
X-API-KeyYesCompany integration key provided during onboarding. Format: gtk_xxx...
tenantYesYour assigned tenant domain (default: geotareas.com) — always send your assigned tenant
Content-TypeConditionalapplication/json — required for POST and PUT requests

Parámetros de consulta​

ParámetroTipoRequeridoPredeterminadoDescripción
startdatestringSí—Fecha-hora de inicio en ISO 8601 (ej. 2026-03-01T00:00:00).
enddatestringSí—Fecha-hora de fin en ISO 8601. Rango máximo 92 días desde startdate.
entitystringNoTodasTipo de entidad de configuración. Uno de los valores de Entidad.
actionstringNoTodasTipo de cambio. Uno de los valores de Acción.
sourcestringNoTodosOrigen del cambio. Uno de los valores de Origen.
user_idstringNoTodosRestringe a los cambios realizados por el ID de un usuario (actor) específico.
entity_idstringNoTodosRestringe a los cambios que afectan al ID de un registro de entidad específico.
searchstringNo—Búsqueda de texto libre contra el nombre de la entidad y el contexto del cambio.
limitintegerNo25Cantidad de registros por página (1–100). Un valor fuera de ese rango devuelve 400 VALIDATION_ERROR: no se ajusta en silencio.
offsetintegerNo0Cantidad de registros a omitir para la paginación.

Valores de Entidad​

El filtro entity acepta uno de los siguientes tipos de entidad de configuración:

CódigoDescripción
CUENTACuenta (registro raíz).
DISPOSITIVODispositivo / vehículo.
PERSONALPersonal / conductor.
PLANTILLA_COMPlantilla de comunicación (registro raíz).
PLANTILLA_ESTADOEntrada de estado de una plantilla de comunicación (sub-recurso de PLANTILLA_COM).
CAMPO_DINAMICODefinición / esquema de campo dinámico.
PROCEDENCIAEntrada del catálogo de procedencia / origen.
PRODUCTOEntrada del catálogo de productos.
COBERTURAEntrada de cobertura (sub-recurso de PRODUCTO).
PRESTACIONTipo de servicio (clasificación).
CAUSACausa (clasificación).
SUBCAUSASubcausa (clasificación, sub-recurso de CAUSA).
MOTIVOMotivo de servicio.
FINSERVICIOCódigo de finalización de servicio.
RECHAZOCódigo de rechazo de servicio.
ESTADO_TAREAEstado de tarea (catálogo configurable).
PORTAL_FACTURAFactura de prestador (Portal).
PORTAL_LIQUIDACIONLiquidación de prestador (Portal).
PORTAL_CONFIGConfiguración del portal.

Valores de Acción​

El filtro action acepta uno de los siguientes. Las creaciones no se auditan.

CódigoDescripción
EDITAREdición de campo — se modificaron uno o más campos de la entidad (incluye la desactivación cuando viaja como un cambio de campo en el formulario de edición).
ELIMINAREliminación — borrado, desactivación o desvinculación de la entidad o de un sub-recurso.

Valores de Origen​

El filtro source acepta uno de los siguientes orígenes:

CódigoDescripción
WEBCambio realizado desde el panel web.
MDTCambio realizado desde la app móvil.
API_EXTERNACambio realizado a través de la API externa / integraciones.
IMPORTCambio realizado por el proceso de importación masiva.
WORKFLOWCambio realizado por una automatización de flujo de trabajo.
SISTEMACambio realizado por un proceso interno del sistema (cron, limpieza, mantenimiento).

Ejemplos de código​

curl -s -H "Authorization: Bearer $TOKEN" \
-H "X-API-Key: $APIKEY" \
-H "tenant: $TENANT" \
"https://$TENANT/apidev/v1/audit/config?startdate=2026-03-01T00:00:00&enddate=2026-03-31T23:59:59&entity=CUENTA&action=EDITAR&source=WEB&limit=25"

Respuesta​

Campos de la respuesta​

CampoTipoDescripción
audit_idstringIdentificador del registro de auditoría.
timestampstringCuándo se registró el cambio.
entitystringTipo de entidad de configuración. Uno de los valores de Entidad.
entity_idstring | nullIdentificador del registro de entidad afectado.
entity_namestringNombre legible de la entidad afectada.
actionstringTipo de cambio. Uno de los valores de Acción.
sourcestringOrigen del cambio. Uno de los valores de Origen.
user_idstring | nullIdentificador del usuario que realizó el cambio.
user_namestringNombre del usuario que realizó el cambio.
is_adminbooleanSi el actor es un administrador de la plataforma.
changesarrayDiferencias a nivel de campo (ver más abajo).
contextobject | nullContexto adicional capturado con el cambio.

Cada elemento en changes tiene la siguiente estructura:

CampoTipoDescripción
fieldstringNombre del campo que cambió.
labelstringNombre legible del campo.
oldstring | nullValor anterior.
newstring | nullValor nuevo.

Ejemplo de respuesta​

{
"success": true,
"data": [
{
"audit_id": "982710394857201664",
"timestamp": "2026-03-05T16:53:00",
"entity": "CUENTA",
"entity_id": "982710394857100200",
"entity_name": "Distribuidora del Norte S.A.",
"action": "EDITAR",
"source": "WEB",
"user_id": "982710394857009999",
"user_name": "Laura Hernandez",
"is_admin": false,
"changes": [
{
"field": "cuetel",
"label": "Phone",
"old": "555-1234",
"new": "555-9876"
}
],
"context": null
},
{
"audit_id": "982710394857201665",
"timestamp": "2026-03-06T09:12:00",
"entity": "PRODUCTO",
"entity_id": "982710394857100455",
"entity_name": "Roadside Assistance — Premium",
"action": "ELIMINAR",
"source": "IMPORT",
"user_id": "982710394857009100",
"user_name": "System Import",
"is_admin": true,
"changes": [
{
"field": "proestado",
"label": "Status",
"old": "A",
"new": "I"
}
],
"context": null
}
],
"meta": {
"total": 2,
"limit": 25,
"offset": 0
}
}

Errores​

CódigoHTTPDescripción
VALIDATION_ERROR400Parámetros inválidos (ej. el rango de fechas supera los 92 días, o un valor desconocido de entity / action / source).
UNAUTHORIZED401tenant / Authorization / X-API-Key faltante, inválido o expirado
FORBIDDEN403El usuario carece del permiso requerido.
RATE_LIMITED429Se superaron las 10 req/min.
INTERNAL_ERROR500Error inesperado del servidor.