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ón — group_by=movil ancla las filas a turnos de conductor; group_by=prestador las ancla a prestador + día
  • Modo de fecha — date_type controla a qué fecha de la tarea se aplica el período (finalización, ingreso o proceso completo)
  • Alertas de desvío — deviation_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
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 31 días desde startdate.
group_bystringNomovilModo de agrupación: movil (turno de conductor/vehículo) o prestador (prestador + día).
date_typestringNofinalizacionA 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).
devicesstringNoTodos 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.
suppliersstringNoTodos los visiblesIDs de prestador separados por coma. Aplica a group_by=prestador. Máximo 500.
service_end_codesstringNo—IDs 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 (1–100).
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_type=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.
schemastringConjunto de tablas del que salió la jornada: public (abierta/vigente) o historic (cerrada).
driver_idstring | nullIdentificador del conductor.
driver_namestring | nullNombre del conductor.
driver_image_urlstring | nullURL de la foto del conductor.
device_idstring | nullIdentificador del móvil (vehículo).
device_namestring | nullNombre del móvil (vehículo).
supplier_idstring | nullIdentificador del prestador (modo prestador).
supplier_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.
openingobject | nullLa tarea que abrió el día (ver campos de Extremo de tarea). null si la jornada no emparejó ninguna tarea.
closingobject | nullLa tarea que cerró el día (ver campos de Extremo de tarea). null si la jornada no emparejó ninguna tarea.
tasksarrayTodas las tareas del día, cada una como un objeto de Extremo de tarea.
task_countnumberCantidad de elementos de tasks.
Nombres de los campos

device_* y supplier_* son los nombres del dominio GeoTareas para lo que versiones anteriores de esta página llamaban vehicle_* / provider_*. La API usa el vocabulario del dominio.

Campos de Extremo de tarea​

CampoTipoDescripción
task_idstringIdentificador de la tarea.
task_numberstring | nullNúmero de servicio/tarea.
status_namestring | nullNombre 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_addressstring | nullDirecció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.
parametersstring | nullResumen legible del evento (código de finalización, parámetros, notas).

Ejemplo de respuesta​

{
"success": true,
"data": [
{
"shift_id": "982710394857201664",
"schema": "historic",
"driver_id": "982710394857201700",
"driver_name": "Carlos Martinez",
"driver_image_url": null,
"device_id": "982710394857201800",
"device_name": "Unit-105",
"supplier_id": null,
"supplier_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": [
{
"task_id": "982710394857202001",
"task_number": "100245",
"status_name": "Finalizada",
"finalization_code_id": "982710394857203001",
"finalization_code_name": "Completada",
"account_external_code": "CLI-0098",
"account_name": "Acme Logistics",
"task_address": "Av. Reforma 1234, Esq. Juarez",
"event_time": "2026-03-05T08:15:00",
"event_address": "Av. Reforma 1234, Col. Centro",
"deviation_distance": 35,
"deviation_alert": false,
"parameters": "Codigo de finalizacion: Completada | Notas: Entregado en tiempo"
},
{
"task_id": "982710394857202055",
"task_number": "100312",
"status_name": "Finalizada",
"finalization_code_id": "982710394857203001",
"finalization_code_name": "Completada",
"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": "Codigo de finalizacion: Completada | Firma: Si"
}
],
"task_count": 2
}
],
"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_type).
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.