Reporting Webhooks
A service is available to deliver various types of order data typically for reporting purposes
Introduction
Deliverect offer a service to route all incoming order data to a specified endpoint. Although this is typically used to feed into external reporting platforms, this isn't restricted to reporting partners only.
The data is sent in real time in a JSON format and is event based, meaning that delivery can be triggered upon specific order status e.g. delivering all new orders when they reach a status of 'Accepted'
Please note that this service has an associated cost, before this can be implemented, an agreement to accept the specific charges for receiving order data needs signed.
Order Data Types
Type | Description | Example Use Case |
---|---|---|
New Order | Full order containing all information available at the point of webhook delivery | By aggregating all order data, it can inform stock management services on items sold |
Status Update | Each order preparation status change can trigger a webhook specifying the order status (see list here) | In registering the timestamps of order statuses, this data can be included in BI dashboards or other reporting services to monitor order preparation efficiency |
Courier Update | Where delivery platforms provide courier statuses or a 3rd party 'Dispatch' service is enabled, the details of the delivery progress will be sent whenever they change | An integrated POS/KDS can display the progress of order delivery after pickup with various details e.g. pickup time, driver name etc |
Order definitions
Order Statuses
See the link below for all order statuses, each of which can be applied as a triggered event;
Data Samples
{
"_created": "YYYY-MM-DDTHH:mm:ss.SSSSSSZ",
"_updated": "YYYY-MM-DDTHH:mm:ss.SSSSSSZ",
"_id": "63********************a7",
"account": "65********************e9",
"channelOrderId": "T5*****17e",,
"channelOrderDisplayId": "**17E",
"posId": "",
"posReceiptId": "",
"posLocationId": "",
"location": "65********************a4",
"channelLink": "65********************e2",
"status": 2,
"statusHistory": [
{
"timeStamp": "YYYY-MM-DDTHH:mm:ss.SSSSSSZ",
"status": 4,
"response": "",
"source": 2
},
{
"timeStamp": "YYYY-MM-DDTHH:mm:ss.SSSSSSZ",
"status": 1,
"response": "",
"source": 5
},
{
"timeStamp": "YYYY-MM-DDTHH:mm:ss.SSSSSSZ",
"status": 2,
"response": "",
"source": 1
}
],
"packaging": {
"includeCutlery": false
},
"by": "",
"orderType": 2,
"channel": 7,
"pos": 10000,
"rating": [],
"pickupTime": "YYYY-MM-DDTHH:mm:ss.SSSSSSZ",
"deliveryTime": "YYYY-MM-DDTHH:mm:ss.SSSSSSZ",
"deliveryIsAsap": true,
"courier": {
"deliveryBy": ""
},
"courierUpdateHistory": [
{
"status": 81,
"received": "YYYY-MM-DDTHH:mm:ss.SSSSSSZ",
"courier": {},
"arrivalTime": "YYYY-MM-DDTHH:mm:ss.SSSSSSZ",
"deliveryTime": "YYYY-MM-DDTHH:mm:ss.SSSSSSZ",
"source": 5
}
],
"customer": {
"name": "",
"phoneNumber": "",
"phoneAccessCode": "",
"email": ""
},
"deliveryAddress": {
"street": "1 Greenwich Street, New York, NY 10013, US",
"postalCode": "10013",
"area": "Manhattan",
"city": "New York",
"country": "US",
"source": "1 Greenwich Street, New York, NY 10013, US, 10013, Manhattan, New York, US",
"extraAddressInfo": "Front door has bell"
},
"orderIsAlreadyPaid": true,
"taxes": [],
"payment": {
"amount": 11580,
"type": 3,
"due": 0,
"rebate": 0
},
"note": "",
"items": [
{
"_id": "65********************2c",
"plu": "658",
"name": "7UP",
"sortOrder": 0,
"price": 300,
"quantity": 2,
"productType": 1,
"remark": "",
"categoryInfo": {},
"subItems": [],
"packaging": {
"count": 1,
"reusable": false,
"packedItems": 0
},
"productTags": [],
"discountReferenceId": 1,
"discountReferenceIds": [
1
]
},
{
"_id": "65********************2d",
"plu": "492",
"name": "Burger + Drink",
"sortOrder": 0,
"price": 1290,
"quantity": 1,
"productType": 1,
"remark": "",
"categoryInfo": {},
"subItems": [
{
"_id": "64********************1h",
"plu": "742",
"name": "Big Burger",
"sortOrder": 0,
"price": 0,
"quantity": 1,
"productType": 1,
"categoryInfo": {},
"subItems": [],
"packaging": {
"count": 1,
"reusable": false,
"packedItems": 0
},
"productTags": []
},
{
"_id": "69********************6g",
"plu": "656",
"name": "Cola",
"sortOrder": 0,
"price": 0,
"quantity": 1,
"productType": 1,
"categoryInfo": {},
"subItems": [],
"packaging": {
"count": 1,
"reusable": false,
"packedItems": 0
},
"productTags": []
}
],
"packaging": {
"count": 1,
"reusable": false,
"packedItems": 0
},
"productTags": []
}
],
"decimalDigits": 2,
"numberOfCustomers": 0,
"channelOrderRawId": "65********************27",
"channelOrderHistoryRawIds": [
"64********************37",
"63********************27"
],
"serviceCharge": 0,
"deliveryCost": 0,
"bagFee": 0,
"tip": 0,
"driverTip": 0,
"discountTotal": -936,
"discounts": [
{
"type": "item_bogof",
"provider": "restaurant",
"name": "BOGO",
"channelDiscountCode": "",
"referenceId": 1,
"value": 300,
"amount": 300,
"amountRestaurant": 300,
"amountChannel": 0
},
{
"type": "order_percent_off",
"provider": "restaurant",
"name": "PERCENTOFF",
"channelDiscountCode": "",
"referenceId": 2,
"value": 4000,
"amount": 636,
"amountRestaurant": 636,
"amountChannel": 0
}
],
"capacityUsages": [],
"resolvedBy": "",
"brandId": "65********************e8",
"timezone": "Europe/Madrid",
"date": 20****7
}
}
{
"orderId": "62********************e4",
"status": 20,
"timeStamp": "YYYY-MM-DDTHH:mm:ss.SSSSSSZ",
"reason": "",
"channelOrderId": "T5*****17e",
"location": "61********************r2",
"isIgnoredPOSStatus": false
}
{
"received": "YYYY-MM-DDTHH:mm:ss.SSSSSSZ",
"orderId": "62********************e4",
"pickupTime": "YYYY-MM-DDTHH:mm:ss.SSSSSSZ",
"courier": {
"firstName": "",
"lastName": "",
"phoneNumber": "",
"deliveryBy": "Uber Eats",
"status": 83
},
"updatedOrigin": 2,
"rawDriverUpdate": "{}",
"location": "61********************r2"
}
{
"received": "YYYY-MM-DDTHH:mm:ss.SSSSSSZ",
"orderId": "62********************e4",
"pickupTime": "YYYY-MM-DDTHH:mm:ss.SSSSSSZ",
"courier": {
"firstName": "",
"lastName": "",
"phoneNumber": "",
"status": 83
},
"updatedOrigin": 6,
"rawDriverUpdate": "{}",
"deliveryTime": "YYYY-MM-DDTHH:mm:ss.SSSSSSZ",
"location": "65********************a4",
"deliverySystem": 10,
"deliveryJobId": "62********************e4"
}
Setting up the webhooks
Once an agreement is signed, you can provide a webhook URL to our API support team along with the details of the intended order data and accounts where these should be installed (contact via [email protected])
Updated 4 days ago