New Order

Sends the full order whenever a new order is received.

Purpose

The order data containing all information available at the point of webhook delivery can be sent, it can be fed into e.g. stock management or sales reporting services

Reporting Service Pricing
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.

Payload

Sent by Deliverect as a JSON payload.

Please note any Deprecated parameters should be ignored

date-time

Time the order was created in Deliverect, in the format yyyy-MM-ddTHH:mm:ss.SSSSSSZ.

date-time

Time the order was last updated in Deliverect, in the format yyyy-MM-ddTHH:mm:ss.SSSSSSZ.

string

Unique identifier of the order in Deliverect. Please note cancel requests are processed as new orders with "status": 100 and bearing original order _id (see cancellation guide here).

string

Unique customer account ID in Deliverect.

string

The full unique ID from the delivery channel. Together with the channel is guaranteed to be unique for 48h after pickup.

string

Alternative order ID set by ordering channel, primarily for convenience and readability. This is not unique and typically a shortened version of channelOrderId consisting of 4-5 alphanumeric characters, although may go up to 12 characters.

string

The POS order ID.

string

Provided by the POS in response to incoming orders as a reference to a specific POS receipt.

string

posLocationId is an identifier of the location known on the POS side, it is stored within the POS config in Deliverect.

string

locationId is the unique ID for the POS to identify the store location.

integer

Current order status (see all Order statuses here).

statusHistory
array of objects

All status changes of the order up to the point the webhook is sent.

statusHistory
packaging
object

Order-level packaging preferences.

string

Order source (if known) e.g. app or mobile, not the same as channel that specifies the ordering platform (see guide here).

integer
enum

Type of order.

  • Pickup: 1
  • Delivery: 2
  • Eat in: 3
  • Curbside: 4
  • Drive thru: 5
Allowed:
integer

Unique ID of the channel (see GET Integrated channels).

integer

Unique ID of the POS.

rating
array of objects
deprecated

Legacy attribute, not to be referenced as part of an integration.

rating
date-time

Time the order is due to be picked up, in the format yyyy-MM-ddTHH:mm:ss.SSSSSSZ.

date-time

Time the order is due to be delivered, in the format yyyy-MM-ddTHH:mm:ss.SSSSSSZ.

boolean

Signifies if the order is required as soon as possible.

courier
object

Details of courier, see the Courier Update webhook for the full object.

courierUpdateHistory
array of objects

History of every courier update received for the order.

courierUpdateHistory
customer
object

Customer is the end-consumer.

deliveryAddress
object

Provided address for an order.

boolean

Statement of whether an order was paid online or not.

taxes
array of objects

All taxes applied to an order (in tax exclusive regions only).

taxes
payment
object

Payment details.

string

Overall note for an order.

items
array of objects

All the items included in an order.

items
integer

Decimal precision of order and payment amounts.

integer

Indicates how many diners (applicable to table ordering).

string

Deliverect internal ID of an order.

channelOrderHistoryRawIds
array of strings
deprecated

Legacy attribute, not to be referenced as part of an integration.

channelOrderHistoryRawIds
integer

Service charge applied. It will be sent as an integer with 2 decimal digits e.g. 1 euro would be sent as 100.

integer

Delivery cost applied. It will be sent as an integer with 2 decimal digits e.g. 1 euro would be sent as 100.

integer

A surcharge applied for the packaging. It will be sent as an integer with 2 decimal digits e.g. 1 euro would be sent as 100.

integer

A tip intended for the restaurant operator. It will be sent as an integer with 2 decimal digits e.g. 1 euro would be sent as 100.

integer

A tip intended for the driver/courier. It will be sent as an integer with 2 decimal digits e.g. 1 euro would be sent as 100.

integer

A surcharge applied by channels who impose minimum basket fees. It will be sent as an integer with 2 decimal digits e.g. 1 euro would be sent as 100.

integer

Ordering platforms may offer multiple forms of discount e.g. % discount. A discount total is sent as a minus value representing the deduction from the total order (see guide here). It will be sent as an integer with 2 decimal digits e.g. 1 euro would be sent as 100.

discounts
array of objects

All applied discounts within an order.

discounts
capacityUsages
array of objects
deprecated

Legacy attribute, not to be referenced as part of an integration.

capacityUsages
boolean
deprecated

Legacy attribute, not to be referenced as part of an integration.

string
deprecated

Legacy attribute, not to be referenced as part of an integration.

string

Appears where the customer operates multiple brands from one location (see Get account brands).

boolean

Only applicable as true in staging environment via menu preview orders.

string

Timezone of the location, e.g. Europe/London (see TZ list here).

integer

Order created date in format YMD.

tags
array of strings

Custom tag(s) applied to the store location, typically a brand name, e.g. ["Best Burger"].

tags
Headers
string
required

Identifies Deliverect as the sender, in the format Deliverect/{version}.

string
required

Signature of the raw request body using your shared secret; recompute it on receipt to verify the request came from Deliverect (see HMAC authentication guide).

Response
200

Return a 2xx status to acknowledge receipt.

LoadingLoading…