A channel integration can use this endpoint to place a new order or process a cancellation of an existing order.
Channel 'Scope'
The channelName represents the Scope provided to create orders.
If the channelname used is invalid or does not have access to an account, the request is considered unauthorised. Remember to write the channelname in lowercase letters.
Channel Link ID
The {channelLinkId} is the unique identifier of the channel in the restaurant location. Obtained via a registration webhook event delivered via Register Channel
If the channelLinkId used is invalid or has not been made available to your partner account, the request is considered unauthorised.
Order Types
Depending on the format of the order created, the relevant orderType should be sent;
| Type | Integer Value |
|---|---|
| pick up | 1 |
| delivery | 2 |
| Eat-in | 3 |
| Curbside | 4 |
| Drive Thru | 5 |
❗️ Order Response
All orders sent in a valid format with the correct scope applied will receive a 201.
This does not indicate that the POS has successfully processed the order. You should reference the events sent to your
Order Status Update
webhook to confirm whether the order was successfully processed.
Request Parameters
See full list of order attributes;
Payments
Details on processing discounts, payments, taxes or other charges in the guide below;
Create Orders for 3rd Party Dispatch / Last Mile Fulfillment
For platforms who don't directly handle delivery or aren't currently offering this order type, Deliverect allows for an order to be routed to an integrated 'Dispatch' service.
Standalone Integration
Our Dispatch functionality can be integrated as a “Standalone” solution, enabling full courier assignment and delivery, whilst bypassing POS order injection. This approach is suitable for scenarios such as:
- First-party ordering that already integrates with your POS via an existing direct integration
- Phone orders entered directly into your POS that require delivery
Follow the link below to find out more about this option;
Processing Channel Cancelations
Your channel integration can process a cancellation using the same endpoint used create a new order
Sending a secondary order with the same channelOrderId and "status": 100 (Cancel) will initiate a POS cancellation request which typically involves 'voiding' the order.
Once the cancellation is processed by the POS, a status CANCELED (110) will be returned to confirm this has been handled. See Update Order Status Webhook on how to receive this, and other statuses from the POS.
❗️ Cancelling Already Accepted Orders
Once an order has been accepted by the POS, it is often operationally impossible to halt preparation of the order.
Therefore, order cancellations should not be attempted once the status of Accepted (20) or higher has been returned.
NB: There is no validation on our side to prevent cancellation requests based on the order status.
