Order Summary API
v2Retrieve comprehensive order information including status, locations, package details, and the recommended status-feed sync pattern.
Where this fits in your operation
This is how order progress flows back into your systems without anyone re-keying it:
- Keep your ERP in sync: poll the status feed and update each sales order as it moves through pickup and delivery.
- Trigger downstream processes on completion: when the feed reports an order delivered, your system can release the invoice or close the work order.
- Answer “where is order X?” in your own customer portal by reading the summary by your internal order number.
Interactive API Explorer
Loading API Documentation...
Authentication
Authorization: apikey YOUR_API_KEY_HEREBase URLs
- Production:
https://app.zenderatms.com/api/ - Staging:
https://staging.zenderatms.com/api/
Endpoints
Get Order by Internal Number
Retrieve a specific order using your internal order number. Returns an OrderSummary for one order, looked up by the internalOrderNumber you used when importing it.
GET /v2/orders/summary/internal/{internalOrderNumber}Parameters:
internalOrderNumber(path): Your internal order identifier
Response:
{
"internalOrderNumber": "ORDER_123",
"order": {
"orderId": 12345,
"orderSerial": 67890,
"internalOrderNumber": "ORDER_123",
"orderDetails": {
"organizationId": 1,
"orderId": 12345,
"statusId": 6,
"statusName": "complete",
"customerDetails": {
"id": 123,
"name": "Customer Name"
},
"orderTypeId": 2,
"orderTypeName": "Delivery",
"vehicleTypeId": 5,
"vehicleTypeName": "Van",
"reference": "Customer Reference"
},
"pickup": {
"details": {
"id": 1001,
"name": "Warehouse",
"statusName": "complete",
"earliest": "2024-01-15T08:00:00Z",
"latest": "2024-01-15T10:00:00Z",
"arrivedAt": "2024-01-15T08:30:00Z",
"completedAt": "2024-01-15T09:00:00Z"
},
"address": {
"address1": "Main Street 123",
"city": "Oslo",
"postalCode": "0123",
"country": "Norway",
"latitude": "59.9139",
"longitude": "10.7522"
}
},
"delivery": {
"details": {
"id": 1002,
"name": "Customer Location",
"statusName": "complete",
"completedAt": "2024-01-15T15:30:00Z"
}
},
"driverDetails": {
"id": 456,
"name": "Driver Name",
"internalDriverNumber": "DRV_001"
},
"packageDetails": {
"quantityColli": 2,
"totalWeightKg": 21.0,
"totalVolumeLitre": 30.0
}
}
}List Orders by Date
Get orders filtered by date and status.
GET /v2/orders/summary/listbydateParameters:
date(query): Date filter in “YYYY-MM-DD” format (defaults to today)timezone(query): Timezone (e.g., “Europe/Oslo”, defaults to organization timezone)statuses(query): Comma-separated status list
Available Statuses:
completedeliveredin_transitarriveddispatchedplannedunassignedcancelled
Response:
{
"orders": [ { "...": "OrderSummary..." } ],
"date": "2024-01-15",
"timezone": "Europe/Oslo",
"statusFilters": ["complete", "delivered"]
}Order Status Feed
Get a paginated feed of order status changes for real-time monitoring. This is the recommended sync pattern — if you want to mirror Zendera order state into your own system, don’t poll the orders list, use the status feed so you only ever fetch deltas regardless of order volume.
GET /v2/orders/summary/orderstatusfeedParameters:
token(query): Base64 pagination token. Pass empty (?token=) on your very first call; Zendera uses a sane default starting point. On every subsequent call, pass thenextTokenfrom the previous response.pageSize(query): Number of items per page
With pagination token:
Response:
The status changes are returned in the response array (not orders). Each item is an order-status feed item:
{
"response": [
{
"orderId": 12345,
"internalOrderNumber": "ORDER_123",
"statusUpdatedAt": "2026-04-19T08:30:00Z",
"orderStatusId": 6,
"orderStatusName": "complete"
}
],
"nextToken": "eyJzaW5jZSI6IjIwMjYtMDQtMTlUMDg6MzA6MDBaIn0="
}Pattern:
- First call:
?token=&pageSize=100. - Save
nextTokenfrom each successful response. - Next call:
?token=<savedNextToken>&pageSize=100. - Re-poll on whatever cadence works for you — every 30–60 seconds is typical.
Response Fields Explained
Order Details
orderId: Zendera internal order IDorderSerial: Sequential order numberinternalOrderNumber: Your external order identifierstatusId/statusName: Current order statusreference: Customer reference number
Status Feed Item
orderId: Zendera internal order IDinternalOrderNumber: Your external order identifierstatusUpdatedAt: Timestamp the status changed (ISO 8601)orderStatusId/orderStatusName: The new order statuspickupInformation/deliveryInformation: Stop information for each legorderTrackingToken/orderTrackingExpires: Tracking token data when present
Location Details
earliest/latest: Scheduled time windows (ISO 8601 format)arrivedAt: Actual arrival timestampcompletedAt: Actual completion timestampstatusName: Location-specific status
Address Information
- Standard address fields with optional GPS coordinates
latitude/longitude: GPS coordinates if available
Package Summary
quantityColli: Number of colli/packagestotalWeightKg: Total weight in kilogramstotalVolumeLitre: Total volume in liters
Driver Information
id: Driver ID in Zendera systemname: Driver nameinternalDriverNumber: Your driver identifier