Saltar al contenido principal

Reporte de Resumen de Trabajo

Resumen de días trabajados agrupado por conductor/vehículo o por prestador, con tareas de apertura/cierre, ventanas de descanso y alertas de desvío geodésico.

GET/apidev/v1/reports/cpm/work-summary
PermisoAPICLI_RPTCPM_RESUMENTRABAJO
Límite de solicitudes10 req/min
Caché300s
Rango máximo31 días

Resumen

Devuelve una fila de resumen por cada día trabajado dentro del período seleccionado. En modo móvil, cada fila se ancla a un turno de trabajo del conductor (conductor + vehículo), y en modo prestador, cada fila se ancla a un prestador + día. Cada fila expone la tarea que abrió el día y la tarea que lo cerró, la ventana de descanso y el desvío geodésico entre la dirección de la tarea y el lugar donde realmente se registró el evento de campo.

  • Agrupacióngroup_by=movil ancla las filas a turnos de conductor; group_by=prestador las ancla a prestador + día
  • Modo de fechadate_mode controla a qué fecha de la tarea se aplica el período (finalización, ingreso o proceso completo)
  • Alertas de desvíodeviation_threshold define la distancia de alerta (metros); deviation_only=true devuelve solo las filas que la superaron
  • Filtros de alcance — acotá los resultados por vehículo, conductor, prestador o código de finalización de servicio

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
startdatestringFecha-hora de inicio en ISO 8601 (ej. 2026-03-01T00:00:00).
enddatestringFecha-hora de fin en ISO 8601. Rango máximo 31 días desde startdate.
group_bystringNomovilModo de agrupación: movil (turno de conductor/vehículo) o prestador (prestador + día).
date_modestringNofinalizacionA qué fecha de la tarea se aplica el período: finalizacion (fin de tarea), ingreso (llamado/ingreso de tarea) o todo (solapamiento del proceso completo).
vehiclesstringNoTodos los visiblesIDs de vehículo separados por coma. Aplica a group_by=movil. Máximo 500.
driversstringNoTodos los visiblesIDs de conductor separados por coma. Aplica a group_by=movil. Máximo 500.
providersstringNoTodos los visiblesIDs de prestador separados por coma. Aplica a group_by=prestador. Máximo 500.
finalization_codesstringNoIDs de finalización de servicio separados por coma. Máximo 100.
deviation_thresholdintegerNo200Distancia de alerta en metros. Una fila se marca cuando un evento se registra a mayor distancia que esta de la dirección de la tarea.
deviation_onlybooleanNofalseDevuelve solo las filas con al menos una alerta de desvío.
limitintegerNo25Cantidad de registros por página (1100).
offsetintegerNo0Cantidad de registros 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/work-summary?startdate=2026-03-01T00:00:00&enddate=2026-03-15T23:59:59&group_by=movil&date_mode=finalizacion&limit=25"

Respuesta

Campos de la respuesta

Cada fila representa un día trabajado. Los bloques opening y closing describen la tarea que abrió y cerró el día; ambos comparten la misma estructura de extremo de tarea.

CampoTipoDescripción
shift_idstring | nullIdentificador del turno de trabajo del conductor. null en modo prestador.
driver_idstringIdentificador del conductor.
driver_namestringNombre del conductor.
driver_image_urlstringURL de la foto del conductor.
vehicle_idstring | nullIdentificador del vehículo.
vehicle_namestring | nullNombre del vehículo.
provider_idstring | nullIdentificador del prestador (modo prestador).
provider_namestring | nullNombre del prestador (modo prestador).
shift_startstring | nullMarca de tiempo de inicio del turno (QRA).
shift_endstring | nullMarca de tiempo de fin del turno (QTP).
rest_startstring | nullInicio de la ventana de descanso.
rest_endstring | nullFin de la ventana de descanso.
openingobjectLa tarea que abrió el día (ver campos de Extremo de tarea).
closingobjectLa tarea que cerró el día (ver campos de Extremo de tarea).
tasksarrayTodas las tareas del día, cada una como un objeto de Extremo de tarea.

Campos de Extremo de tarea

CampoTipoDescripción
task_idstringIdentificador de la tarea.
task_numberstringNúmero de servicio/tarea.
status_namestringNombre del estado del evento.
finalization_code_idstring | nullIdentificador del código de finalización de servicio.
finalization_code_namestring | nullNombre del código de finalización de servicio.
account_external_codestring | nullCódigo externo de la cuenta.
account_namestring | nullNombre de la cuenta.
task_addressstringDirección de la tarea (calle/número/apartamento/esquina).
event_timestring | nullMarca de tiempo del evento (inicio o fin).
event_addressstring | nullDirección donde se registró el evento.
deviation_distancenumber | nullDistancia geodésica (metros) entre la dirección de la tarea y la ubicación del evento.
deviation_alertbooleanSi deviation_distance superó el umbral.
parametersstringResumen legible del evento (código de finalización, parámetros, notas).

Ejemplo de respuesta

{
"success": true,
"data": [
{
"shift_id": "982710394857201664",
"driver_id": "982710394857201700",
"driver_name": "Carlos Martinez",
"driver_image_url": "",
"vehicle_id": "982710394857201800",
"vehicle_name": "Unit-105",
"provider_id": null,
"provider_name": null,
"shift_start": "2026-03-05T07:00:00",
"shift_end": "2026-03-05T15:00:00",
"rest_start": "2026-03-05T11:30:00",
"rest_end": "2026-03-05T12:00:00",
"opening": {
"task_id": "982710394857202001",
"task_number": "100245",
"status_name": "Started",
"finalization_code_id": null,
"finalization_code_name": null,
"account_external_code": "CLI-0098",
"account_name": "Acme Logistics",
"task_address": "Av. Reforma 1234, Esq. Juarez",
"event_time": "2026-03-05T07:42:00",
"event_address": "Av. Reforma 1234, Col. Centro",
"deviation_distance": 35,
"deviation_alert": false,
"parameters": "Finalization Code: Completed | Notes: Delivered on time"
},
"closing": {
"task_id": "982710394857202055",
"task_number": "100312",
"status_name": "Finished",
"finalization_code_id": "982710394857203001",
"finalization_code_name": "Completed",
"account_external_code": "CLI-0142",
"account_name": "Globex Retail",
"task_address": "Calle Madero 456, Col. Centro",
"event_time": "2026-03-05T14:48:00",
"event_address": "Calle Madero 460, Col. Centro",
"deviation_distance": 320,
"deviation_alert": true,
"parameters": "Finalization Code: Completed | Signature: Yes"
},
"tasks": []
}
],
"meta": {
"total": 1,
"limit": 25,
"offset": 0
}
}

Errores

CódigoHTTPDescripción
VALIDATION_ERROR400Parámetros inválidos (ej. el rango de fechas supera los 31 días, o un valor desconocido de group_by / date_mode).
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.