Order webhook urls can be configured in our portal under the Business > Webhooks > Order section.
Webhooks are triggered whenever Order Status changes.
Property | Type | Provided | Description |
---|---|---|---|
orderId | string | true | Order Id created in our system. |
storeExternalId | string | true | Unique Id of the pickup location generated in your system and configured in our system. |
orderExternalId | string | true | Unique Id of the order generated in your system and configured in our system. Can be configured to be non-unique. |
groupId | string | false | Group ID allows you to group a number of orders together. It further helps in providing a combined post-purchase experience for these orders. |
tips | decimal | true | Tip amount for driver in major units as decimals. In case of US Dollars above value will be |
orderValue | decimal | true | The value of the order in major units as decimals. E.g; In case of US Dollars above value will be |
pickupTime | true | Time Window in which the package will be ready to be picked up. | |
dropoffTime | true | Time Window in which the package must be delivered by. | |
deliveryContact | true | Customer contact details. | |
deliveryAddress | true | Delivery address details. | |
packages | true | Package details. | |
isSpirit | bool | true | Checks whether order contains Spirit as |
isBeerOrWine | bool | true | Checks whether order contains Beer or Wine as |
isTobacco | bool | true | Checks whether order contains Tobacco as |
isFragile | bool | true | Checks whether order items is Fragile or not as |
isRx | bool | true | Checks whether order items is Rx or not as |
hasRefrigeratedItems | bool | true | Checks whether order items are Refrigerated or not as |
hasPerishableItems | bool | true | Checks whether order items are Perishable or not as |
notifications * | true | Recipients for order status update notifications. | |
estimatedPickupTime | integer | true | Provider Estimated Pickup Start Time. Unix time in milliseconds e.g., |
estimatedPickupTimeEnds | integer | true | Provider Estimated Pickup End Time. Unix time in milliseconds e.g., |
estimatedDeliveryTime | integer | true | Provider Estimate Delivery Start Time. Unix time in milliseconds e.g., |
estimatedDeliveryTimeEnds | integer | true | Provider Estimate Delivery End Time. Unix time in milliseconds e.g., |
labelLink * | string | true | Label link that contains the label provided by DS or by the provider. |
labels | Array of Label | true | Label details for the order. This attribute should only be used in case where Labels module is not subscribed. Otherwise see labelLink. |
provider | string | true | Providers name. This field will only available after Order Dispatched status. |
amount | integer | true | Estimated amount that the provider will charge. In case of US Dollars above value will be |
currencyCode | string | true | ISO 4217 alphabetical code, e.g. |
brandExternalId | string | true | Unique Id of the brand generated in your system and configured in our system. |
timeZone | string | true | Timezone of the pickup location. |
pickupContact | true | Contact Details of the pickup location. | |
pickupAddress | true | Address of the pickup location. | |
pickupTime | true | Order pickup time. | |
status | string | true | Order Statuses e.g., |
tenantId | string | true | Unique Id to identify each tenant / business. |
deliveryInstructions | string | true | Delivery instructions for drop-off. |
lastUpdatedAt | string | true | updated date and time of order in UTC format. |
createdAt | string | true | Create date and time of order in UTC format. |
signature | true | Signature requirement for the delivery. | |
driver | true | Courier details associated to the delivery. Available if provided by the Provider, else Generally this information is available after Order Assigned status in case of Delivery Orders. In case of Pickup Orders if Customer has delegated pickup to someone else. | |
vehicle | true | Vehicle details associated with the delivery. Available if provided by the Provider, else In case of Pickup Orders it will contain vehicle information of the Customer. | |
attachments | array of File | true | Array of files associated with the delivery. Available if provided by the Provider, else This field can contain Proof of Pickup , Proof of Delivery or Signature images. This information will be available at various status of the lifecycle of the order. |
lastLocation | true | Last geo-coordinates of the delivery. Available if provided by the provider, else | |
type | string | false | Order type selected/given for the order ( |
serviceType | string | true | Providers type chosen for the order. |
serviceId | string | true | Providers Id chosen for the order. |
shipments | array of Shipment | false | In case of shipping order, array of shipment details. |
itemList | array of Item - Order | true | Array of items in the order. Dimension and weight details of the products help in orchestrating the best provider. Details offer improved post-purchase experiences. |
alternateLocation | false | Alternate location details in case order is to be delivered to alternate location. | |
batchId | string | false | Unique id generated by DS system for the batch. |
batchSequence | integer | false | Condition number in batch rule which this order satisfied. |
hostedTrackingUrl * | string | false | If you are using the hosted tracking feature then this key will contain the link for hosted tracking url for the specific order. |
customerWebflowUrl * | string | false | If you are using the pickup webflow feature this key will contain the link for the specific order. |
trackingUrl | string | true | Order tracking URL given by provider. |
isSelfHealed | boolean | false | If the already dispatched order is processed again due to an exception. |
feedback | Object | false | Feedback shared by the Customer for the respective order. Feedback can be added using our Post Purchase modules like Live Tracking , Hosted Tracking or Pickup Webflow. |
providerBatch | false | Providers optimising deliveries based on routes may batch orders together. This object will contain the IDs to help identify the orders that were batched by the Provider. | |
webhookType | string | true | Type of the webhook update. It can be one of the following\ |
subStatus | string | false | Sub-statuses give information about sub-flows which might happen for certain statuses. |
eventReason | false | Event Reason provided by the provider | |
exceptionDetails | false | Exception details for the Retries of an order configured in Exception Management. | |
returnStoreId | string | true | Unique Id of the pickup location generated in your system and configured in our system. |
undeliverableOrderReturnLocation | true | Return Location for Undeliverable Orders, so that driver can take the package at this Location, if the Order was Undeliverable. | |
deliveryDistance | decimal | true | Distance in a straight line from Pickup Location to Delivery Address (miles). |
drivingDistance | decimal | false | Estimated driving distance from Pickup Location to Delivery Address (miles). This information becomes available after the Place Order response is sent. |
Keys marked with * are subscription-based.
{
"event": "event.courier_update",
"note": "Processed by Delivery Solutions",
"status": "ORDER_UNDELIVERABLE",
"receivedAt": "June 23rd 2022, 11:41:16 pm",
"trackingNumber": "del_fGVo7rZjTfiTYWluoLXcpA",
"provider": "Point Pickup",
"orderId": "62b53cfbc85b10d7ffe3882f",
"orderExternalId": "24June0001",
"groupId": "100405",
"tenantId": "trackers_business",
"statusUser": "Delivery Solutions",
"orderAttributes": {},
"storeExternalId": "Postmates_Store",
"attachments": [],
"driver": {
"name": "Elena N. driver",
"phone": "+17204667578",
"photo": "",
"driverExternalId": "",
"driverId": "",
"orgUnit": ""
},
"vehicle": {
"type": "car/taxi",
"color": "",
"number": "",
"vehicleExternalId": "",
"vehicleId": ""
},
"lastLocation": {
"updatedAt": "2022-06-24T04:41:09.330Z",
"longitude": -118.44801605583696,
"latitude": 34.21976775539418
},
"amount": 600,
"trackingUrl": "https://s.dl-s.co/hcl3p6RRzW4",
"providerTrackingUrl": "https://www.ubereats.com/orders/7c6568ee-b663-4df8-9361-696ea0b5dca4",
"customerWebflowUrl": "",
"estimatedPickupTime": 1656045035000,
"estimatedPickupTimeByZone": "June 23rd 2022, 11:44 pm CDT",
"estimatedDeliveryTime": 1656059435000,
"estimatedDeliveryTimeByZone": "June 23rd 2022, 11:52 pm CDT",
"pickupInstructions": "store pickupInstructions",
"deliveryInstructions": null,
"deliveryContact": {
"name": "Mei Wan",
"phone": "+1 201-555-1023",
"customerId": "",
"email": "",
"notifySms": true,
"notifyEmail": true
},
"deliveryAddress": {
"street": "8849 North Sam Houston Parkway West",
"street2": "",
"apartmentNumber": "",
"city": "Houston",
"state": "TX",
"zipcode": "77064",
"country": "US",
"latitude": 29.9259823,
"longitude": -95.5523879
},
"pickUpAddress": {
"street": "8849 North Sam Houston Parkway West",
"street2": "",
"secondary": "",
"city": "Houston",
"zipcode": "77064",
"country": "US",
"state": "TX",
"latitude": 29.9259823,
"longitude": -95.5523879
},
"hostedTrackingUrl": "https://s.dl-s.co/yMM_ftdtEsF",
"errors": [],
"estimatedPickupTimeStarts": null,
"estimatedPickupTimeEnds": 1656045999000,
"estimatedDeliveryTimeStarts": null,
"estimatedDeliveryTimeEnds": 1656048222000,
"labelLink": "https://sandbox.api.deliverysolutions.co/api/v2/label?orderId=62b53cfbc85b10d7ffe3882f&token=NjJiNTNjZmJjODViMTBkN2ZmZTM4ODJm",
"timeZone": "America/Chicago",
"receivedAtEpoch": 1656045676018,
"currency": "cents",
"currencyCode": "USD",
"alternateLocation": null,
"type": "delivery",
"serviceType": "Delivery",
"isTipsPosted": false,
"tips": null,
"fee": null,
"proposedProviders": [],
"feedback": null,
"clonedFrom": "62b4adcdc85b10d7ffdd82be",
"serviceId": "delivery",
"pickupTime": {
"startsAt": 1656044855530
},
"dropoffTime": {
"endsAt": 1656044915530
},
"isSelfHealed": false,
"providerBatch": {
"batchId": "62b46cfbc12b18e7bae1986f"
},
"subStatus": "RETURN_AT_LOCATION",
"eventReason": {
"code": "DRIVER_REFUSED",
"title": "Driver refused to pickup the order",
"note": "CD-011 - Driver: Refused Order",
"status": "ORDER_UNDELIVERABLE",
"subStatus": "RETURN_AT_LOCATION",
"updatedAtEpoch": 1666817167059
},
"exceptionDetails": {
"lastTriggered": "preDispatch",
"preDispatch": {
"exceptionType": "phone-number-failure"
}
},
"undeliverableOrderReturnLocation": {
"address": {
"street": "502 Park Avenue",
"street2": "",
"secondary": "",
"city": "New York",
"zipcode": "10022",
"country": "US",
"state": "NY",
"latitude": 40.76321409999999,
"longitude": -73.9698963
},
"contact": {
"name": "John Smith",
"phone": "+1 201-555-0123"
},
"name": "WareHouse 301",
"pickupInstructions": "Valid driver’s license or government issued photo ID is required"
},
"returnStoreId": "301",
"deliveryDistance": 2,
"drivingDistance": 3
}