Saltar al contenido principal

Reporte de Resumen de Actividad

Calendario mensual de actividad por persona: una fila por persona, una celda por día, con estado de turno, descanso y ausencia.

GET/apidev/v1/reports/cpm/activity-summary
PermisoAPICLI_RPTCPM_RESUMENACTIVIDAD
Límite de solicitudes10 req/min
Caché300s
Rango máximo1 mes

Resumen

Devuelve un resumen tipo calendario para el mes seleccionado. Cada persona aparece una vez, con una lista de entradas de actividad diaria que muestran el turno trabajado, los períodos de descanso, las horas trabajadas y descansadas, los kilómetros recorridos y el estado a nivel de día (trabajado, día de descanso o ausencia). Úsalo para revisar la asistencia y la carga de trabajo de todo un mes de un vistazo.

  • Vista mensual — el período es un único mes calendario; se evalúan los días hasta la fecha actual de la compañía, y los días futuros quedan vacíos
  • Estado del día — cada día lleva un estado para que puedas detectar ausencias, días de descanso e incumplimientos sin analizar marcas de tiempo en bruto
  • Filtros de alcance — acotá los resultados por persona, dispositivo, tipo de dispositivo o categoría de turno

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
monthstringMes objetivo en ISO 8601 (ej. 2026-03 o 2026-03-01). Cubre el mes calendario completo.
driversstringNoTodos los visiblesIDs de persona separados por coma. Máximo 500.
devicesstringNoTodos los visiblesIDs de dispositivo separados por coma. Máximo 500.
device_typesstringNoIDs de tipo de dispositivo separados por coma. Máximo 100.
shift_categoriesstringNoIDs de categoría de turno separados por coma. Máximo 50.
limitintegerNo25Cantidad de personas por página (1100).
offsetintegerNo0Cantidad de personas a omitir para la paginación.

Ejemplos de código

curl -s -H "Authorization: Bearer $TOKEN" \
-H "X-API-Key: $APIKEY" \
-H "tenant: $TENANT" \
"https://$TENANT/apidev/v1/reports/cpm/activity-summary?month=2026-03&limit=25"

Respuesta

Campos de la respuesta

Cada elemento en data es una persona con un array activities de entradas diarias.

CampoTipoDescripción
person_idstringIdentificador de la persona.
person_namestringNombre de la persona.
person_imagestring | nullURL de la imagen de la persona.
activitiesarrayEntradas de actividad diaria del mes (ver más abajo).

Entrada de actividad (activities[])

CampoTipoDescripción
daynumberDía del mes (131).
datestring | nullFecha de la entrada.
shift_namestringNombre del turno/horario.
device_namestringNombre del vehículo.
shift_startstring | nullMarca de tiempo de inicio del turno.
shift_endstring | nullMarca de tiempo de fin del turno.
rest_startstring | nullMarca de tiempo de inicio del descanso.
rest_endstring | nullMarca de tiempo de fin del descanso.
worked_hoursnumberHoras trabajadas.
rested_hoursnumberHoras descansadas.
kms_shiftnumberKilómetros durante el turno.
kms_restnumberKilómetros durante el descanso.
statusstringEstado del día (ej. trabajado, día de descanso, ausencia).

Ejemplo de respuesta

{
"success": true,
"data": [
{
"person_id": "982710394857201700",
"person_name": "Carlos Martinez",
"person_image": "https://cdn.example.com/people/982710394857201700.jpg",
"activities": [
{
"day": 5,
"date": "2026-03-05",
"shift_name": "Morning Shift",
"device_name": "Unit-105",
"shift_start": "2026-03-05T07:00:00",
"shift_end": "2026-03-05T15:00:00",
"rest_start": "2026-03-05T11:00:00",
"rest_end": "2026-03-05T11:30:00",
"worked_hours": 7.5,
"rested_hours": 0.5,
"kms_shift": 145.3,
"kms_rest": 2.1,
"status": "worked"
},
{
"day": 6,
"date": "2026-03-06",
"shift_name": "",
"device_name": "",
"shift_start": null,
"shift_end": null,
"rest_start": null,
"rest_end": null,
"worked_hours": 0,
"rested_hours": 0,
"kms_shift": 0,
"kms_rest": 0,
"status": "absence"
}
]
},
{
"person_id": "982710394857201701",
"person_name": "Laura Hernandez",
"person_image": null,
"activities": [
{
"day": 5,
"date": "2026-03-05",
"shift_name": "Night Shift",
"device_name": "Unit-203",
"shift_start": "2026-03-05T22:00:00",
"shift_end": "2026-03-06T06:00:00",
"rest_start": null,
"rest_end": null,
"worked_hours": 8,
"rested_hours": 0,
"kms_shift": 210.5,
"kms_rest": 0,
"status": "worked"
}
]
}
],
"meta": {
"total": 2,
"limit": 25,
"offset": 0
}
}

Errores

CódigoHTTPDescripción
VALIDATION_ERROR400Parámetros inválidos (ej. month mal formado).
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.