Skip to main content

Live Location Report

Tracking link usage analytics — creation, opens, and response counts.

GET/apidev/v1/reports/gt/live-location
PermissionAPICLI_RPTGT_LIVELOCATION
Rate Limit10 req/min
Cache300s
Max Range31 days

Overview​

Returns usage analytics for tracking links shared with end customers over a date range — how many links were created, opened, used, and responded to, along with unique receiver counts. Use group_by to aggregate by day, product, cause, or device, and filter by devices, drivers, service types, causes, or geography.


Request​

Request Headers​

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

Query Parameters​

ParameterTypeRequiredDefaultDescription
startdatestringYes—ISO 8601 start date-time (e.g. 2026-03-01T00:00:00).
enddatestringYes—ISO 8601 end date-time. Max range 31 days from startdate.
devicesstringNo—Comma-separated device IDs. Max 500.
driversstringNo—Comma-separated driver IDs. Max 500.
service_typesstringNo—Comma-separated service type IDs. Max 100.
causesstringNo—Comma-separated cause IDs. Max 100.
countriesstringNo—Comma-separated country IDs. Max 50.
departmentsstringNo—Comma-separated department IDs. Max 50.
group_byenumNodayGrouping mode: detail (one row per tracking link — the web report's default view), day, product, cause, device.
limitintegerNo25Number of records per page (1–100).
offsetintegerNo0Number of records to skip for pagination.

Code Examples​

curl -s -H "Authorization: Bearer $TOKEN" \
-H "X-API-Key: $APIKEY" \
-H "tenant: $TENANT" \
"https://$TENANT/apidev/v1/reports/gt/live-location?startdate=2026-03-01T00:00:00&enddate=2026-03-15T23:59:59&group_by=day&limit=25"

Response​

Response Fields​

FieldTypeDescription
task_numberstring | nullTask number.
product_namestringProduct name.
product_typestringProduct type.
service_typestringService type.
causestringCause name.
device_namestringVehicle name. Present with detail and device.
receiverstringdetail only — where the last notification went (email or phone).
channel_namestringdetail only — channel of the last notification, already readable (Correo, SMS, WhatsApp, Webhook).
created_atstring | nulldetail only — when the tracking link was created.
used_atstring | nulldetail only — when the receiver opened the link. null if never opened.
access_countnumber | nulldetail only — how many times the link was opened.
status_namestringdetail only — link status, already readable (Activo, Vencido, Inactivo).
link_pathstringdetail only — relative path of the shareable link (prepend your portal origin).
link_countnumber | nullGrouped modes only — number of links in the group.
created_countnumberLinks created.
used_countnumberLinks used.
receiver_countnumberUnique receivers.
hashstringTracking link hash.
total_linksnumberTotal links generated.
unopenednumberLinks not opened.
openednumberLinks opened.
datestring | nullDate (when grouped by day).
response_countnumberResponses received.
Grouping mode changes the shape

The web report opens ungrouped (group_by=detail): one row per tracking link, with receiver, channel, open times, access count, status and the link itself. The grouped modes (day, product, cause, device) return one row per group with link_count, unopened and opened instead. Fields that do not apply to the mode you asked for come back empty ('') or null — they are not available in that mode.

Example Response​

{
"success": true,
"data": [
{
"task_number": "104820580001",
"product_name": "Installation",
"product_type": "Field",
"service_type": "Maintenance",
"cause": "Scheduled",
"device_name": "Truck A-101",
"receiver": "cliente@ejemplo.com",
"channel_name": "Correo",
"created_at": "2026-03-05T08:15:00",
"used_at": "2026-03-05T08:41:00",
"access_count": 2,
"status_name": "Activo",
"link_path": "/seg/6f2b9c1d",
"link_count": null,
"created_count": 3,
"used_count": 2,
"receiver_count": 1,
"hash": "abc123",
"total_links": 3,
"unopened": 1,
"opened": 2,
"date": "2026-03-05",
"response_count": 1
}
],
"meta": {
"total": 1,
"limit": 25,
"offset": 0
}
}

Errors​

CodeHTTPDescription
VALIDATION_ERROR400Invalid params: missing dates, range > 31 days, invalid enum values.
UNAUTHORIZED401Missing, invalid, or expired tenant / Authorization / X-API-Key
FORBIDDEN403User lacks required permission.
RATE_LIMITED429Exceeded 10 req/min.
INTERNAL_ERROR500Unexpected server error.