curl -X POST https://api.hellotracks.com/api/getjobs --header 'API-Key: ...' -d '
{
"data": {
"worker":"*",
"day": 20230813
}
}
'
{
"status": 0,
"jobs": [
{
"id": "650000000000000000000002",
"day": 20251008,
"number": 1,
"type": 0,
"priority": 5,
"destinationName": "Acme Corp - Headquarters",
"destinationText": "Main entrance, building A",
"destinationLat": 37.7749,
"destinationLng": -122.4194,
"radius": 100,
"contactName": "John Smith",
"contactPhone": "+14155551234",
"contactEmail": "john.smith@acme.com",
"worker": "worker@example.com",
"workerName": "Jane Doe",
"workerEmail": "jane@example.com",
"workerPhone": "+14155559876",
"receiverUid": "abc123",
"assigneeName": "Jane Doe",
"assigneeUsername": "worker@example.com",
"dispatcherName": "Dispatcher Mike",
"dispatcherUid": "disp456",
"textDispatcher": "Please deliver before 3 PM",
"textReceiver": "Call customer on arrival",
"itemsToPickup": 0,
"itemsToDropoff": 3,
"onSiteSeconds": 900,
"windowStart": 800,
"windowEnd": 1500,
"tsCreated": 1696723200000,
"tsSaved": 1696723245000,
"tsAssigned": 1696723250000,
"tsAccepted": 1696723300000,
"tsScheduled": 1696748400000,
"tsCheckIn": 1696752000000,
"tsCheckOut": 1696752900000,
"tsDoneSuccess": 1696752950000,
"scheduledStart": 1696748400000,
"scheduledEnd": 1696749300000,
"orderId": 1012345,
"uidSecondary": "EXT-9876",
"labels": "urgent,vip",
"carryOver": 0,
"placeName": "Acme Corp HQ",
"placeUid": "place789",
"linkedForms": "delivery-form,signature-form",
"linkedZones": "zone1,zone2",
"teamId": 2,
"confirmationEmails": "manager@acme.com,ops@acme.com",
"customFields": [
{"key": "PO_Number", "val": "PO-2024-5678"},
{"key": "Department", "val": "Facilities"}
],
"extra_number_1_key": "Weight (kg)",
"extra_number_1_val": 45.5,
"extra_text_1_key": "Special Instructions",
"extra_text_1_val": "Fragile - Handle with care",
"signatureName": "John Smith",
"signatureSvg": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0...",
"tsSignature": 1696752900000,
"createdBy": "admin123",
"createdVia": "api",
"isTemplate": false,
"jobType": "Delivery"
}
]
}
Job Management
Get Jobs
This endpoint retrieves jobs.
POST
/
api
/
getjobs
curl -X POST https://api.hellotracks.com/api/getjobs --header 'API-Key: ...' -d '
{
"data": {
"worker":"*",
"day": 20230813
}
}
'
{
"status": 0,
"jobs": [
{
"id": "650000000000000000000002",
"day": 20251008,
"number": 1,
"type": 0,
"priority": 5,
"destinationName": "Acme Corp - Headquarters",
"destinationText": "Main entrance, building A",
"destinationLat": 37.7749,
"destinationLng": -122.4194,
"radius": 100,
"contactName": "John Smith",
"contactPhone": "+14155551234",
"contactEmail": "john.smith@acme.com",
"worker": "worker@example.com",
"workerName": "Jane Doe",
"workerEmail": "jane@example.com",
"workerPhone": "+14155559876",
"receiverUid": "abc123",
"assigneeName": "Jane Doe",
"assigneeUsername": "worker@example.com",
"dispatcherName": "Dispatcher Mike",
"dispatcherUid": "disp456",
"textDispatcher": "Please deliver before 3 PM",
"textReceiver": "Call customer on arrival",
"itemsToPickup": 0,
"itemsToDropoff": 3,
"onSiteSeconds": 900,
"windowStart": 800,
"windowEnd": 1500,
"tsCreated": 1696723200000,
"tsSaved": 1696723245000,
"tsAssigned": 1696723250000,
"tsAccepted": 1696723300000,
"tsScheduled": 1696748400000,
"tsCheckIn": 1696752000000,
"tsCheckOut": 1696752900000,
"tsDoneSuccess": 1696752950000,
"scheduledStart": 1696748400000,
"scheduledEnd": 1696749300000,
"orderId": 1012345,
"uidSecondary": "EXT-9876",
"labels": "urgent,vip",
"carryOver": 0,
"placeName": "Acme Corp HQ",
"placeUid": "place789",
"linkedForms": "delivery-form,signature-form",
"linkedZones": "zone1,zone2",
"teamId": 2,
"confirmationEmails": "manager@acme.com,ops@acme.com",
"customFields": [
{"key": "PO_Number", "val": "PO-2024-5678"},
{"key": "Department", "val": "Facilities"}
],
"extra_number_1_key": "Weight (kg)",
"extra_number_1_val": 45.5,
"extra_text_1_key": "Special Instructions",
"extra_text_1_val": "Fragile - Handle with care",
"signatureName": "John Smith",
"signatureSvg": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0...",
"tsSignature": 1696752900000,
"createdBy": "admin123",
"createdVia": "api",
"isTemplate": false,
"jobType": "Delivery"
}
]
}
Request
POST https://api.hellotracks.com/api/getjobs
{
data: {
id: "<id>",
ids: [ "<id1>", "<id2>", "<idn>" ],
uidSecondary: "<your-id>" (optional),
day: 20231105,
worker: "<worker-username>",
team: <number> (optional),
teamIds: [<number1>,<number2>,...] (optional),
includeUnsetTeam: true (optional),
orderId: <number> (optional),
orderIds: [<number1>,<number2>,...] (optional array of multiple orderIds),
progressSuccess: 1 (optional),
progressActive: 1 (optional),
includeArchived: 1 (optional),
omitSignatureSvg: true (optional),
sort: {
field: "<field_name>",
ascending: true/false,
limit: <number>,
skip: <number>,
from: <timestamp>,
until: <timestamp>,
status: <number> (optional)
} (optional),
query: {
filterIds: ["updated"],
updatedSince: <timestamp>,
text: "<search text>",
allDates: true
} (optional)
}
}
Retrieve the job with this ID from your own system (the
uidSecondary you set when creating it). Returns that one job, whatever its day and worker, or an empty jobs list.day is optional and defaults to today. To retrieve jobs with no date assigned, set day:0.
To specifically ignore the day field, set day:-1.To retrieve jobs that are not assigned to a worker, set
worker:"". To request jobs assigned to any worker, set worker:"+". To request all jobs, assigned and unassigned, for a specific date, set worker:"*". Without worker, only jobs assigned to the caller are returned; with an API key the caller is the company account, so this is usually empty.progressSuccess is an optional filter to only retrieve jobs that are marked as successfully completed. For this, set the value to 1, else set it either to 0 or do not set the field at all.progressActive is an optional filter to only retrieve jobs that are not marked as completed (neither success nor issue). For this, set the value to 1, else set it either to 0 or do not set the field at all.Set to
1 to include archived jobs in the results. Defaults to 0 (exclude archived jobs). Deleted jobs are never returned.Optional sorting and pagination configuration object with the following properties:
field(string, required): Field name to sort by (e.g., “tsCreated”, “priority”, “number”)ascending(boolean, required): Sort direction - true for ascending, false for descendinglimit(number, required): Maximum number of jobs to returnskip(number, required): Number of jobs to skip (for pagination)from(long): Only jobs whose sortfieldis at or after this value (e.g. a timestamp in milliseconds when sorting by “tsCreated”)until(long): Only jobs whose sortfieldis at or before this valuestatus(number):0normal jobs only,1archived jobs only,-1(default) both
sort is provided, the day parameter defaults to undefined (all days) unless explicitly specified, and archived jobs are included. A missing required property returns status -1.Optional filters, mostly used together with
sort for paging:filterIds(array):"updated"keeps jobs changed at or afterupdatedSince,"today"jobs of today,"nodate"jobs without a dateupdatedSince(long): timestamp in milliseconds for"updated". Defaults to one hour ago.text(string): jobs whose name, address or notes contain this text, ignoring case; a job id or order id also matchesallDates(boolean): search all dates instead of one day
query and sort, an empty sort field orders by the time the job was last saved.RESPONSE
{
status: 0,
jobs : [
{ <job_1> },
{ <job_2> },
...
{ <job_n> }
],
totalCount: <number>,
hasMore: <boolean>
}
totalCount and hasMore come with sort or query: totalCount is the number of matching jobs, and hasMore is true when more pages follow.
Keeping jobs in sync
To copy changes into your own system, ask regularly for the jobs saved since your last run, oldest first, page by page:{
"data": {
"worker": "*",
"sort": { "field": "tsSaved", "ascending": true, "limit": 200, "skip": 0 },
"query": { "filterIds": ["updated"], "updatedSince": 1793520000000 }
}
}
skip by limit while hasMore is true. Next time, use the newest tsSaved you received as updatedSince. Archived jobs are included (their status is archived); deleted jobs are not returned.
curl -X POST https://api.hellotracks.com/api/getjobs --header 'API-Key: ...' -d '
{
"data": {
"worker":"*",
"day": 20230813
}
}
'
{
"status": 0,
"jobs": [
{
"id": "650000000000000000000002",
"day": 20251008,
"number": 1,
"type": 0,
"priority": 5,
"destinationName": "Acme Corp - Headquarters",
"destinationText": "Main entrance, building A",
"destinationLat": 37.7749,
"destinationLng": -122.4194,
"radius": 100,
"contactName": "John Smith",
"contactPhone": "+14155551234",
"contactEmail": "john.smith@acme.com",
"worker": "worker@example.com",
"workerName": "Jane Doe",
"workerEmail": "jane@example.com",
"workerPhone": "+14155559876",
"receiverUid": "abc123",
"assigneeName": "Jane Doe",
"assigneeUsername": "worker@example.com",
"dispatcherName": "Dispatcher Mike",
"dispatcherUid": "disp456",
"textDispatcher": "Please deliver before 3 PM",
"textReceiver": "Call customer on arrival",
"itemsToPickup": 0,
"itemsToDropoff": 3,
"onSiteSeconds": 900,
"windowStart": 800,
"windowEnd": 1500,
"tsCreated": 1696723200000,
"tsSaved": 1696723245000,
"tsAssigned": 1696723250000,
"tsAccepted": 1696723300000,
"tsScheduled": 1696748400000,
"tsCheckIn": 1696752000000,
"tsCheckOut": 1696752900000,
"tsDoneSuccess": 1696752950000,
"scheduledStart": 1696748400000,
"scheduledEnd": 1696749300000,
"orderId": 1012345,
"uidSecondary": "EXT-9876",
"labels": "urgent,vip",
"carryOver": 0,
"placeName": "Acme Corp HQ",
"placeUid": "place789",
"linkedForms": "delivery-form,signature-form",
"linkedZones": "zone1,zone2",
"teamId": 2,
"confirmationEmails": "manager@acme.com,ops@acme.com",
"customFields": [
{"key": "PO_Number", "val": "PO-2024-5678"},
{"key": "Department", "val": "Facilities"}
],
"extra_number_1_key": "Weight (kg)",
"extra_number_1_val": 45.5,
"extra_text_1_key": "Special Instructions",
"extra_text_1_val": "Fragile - Handle with care",
"signatureName": "John Smith",
"signatureSvg": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0...",
"tsSignature": 1696752900000,
"createdBy": "admin123",
"createdVia": "api",
"isTemplate": false,
"jobType": "Delivery"
}
]
}