Order Management
After a merchant connects one of your locations to Stream, you will be able to send orders to us to forward to their POS system via the New Webhook Event (DSP -> Stream) endpoint.
After we process an order, there are multiple actions that may take place before the final fulfillment of the order. These actions include:
Order Identifiers
To ensure successful ingestion of the order, ensure the line item identifiers align with the following.
Order Field | Menu Field |
---|---|
Order.items[x].id | Menu[x].categories[x].items[x].variations[x].id |
Order.items[x].item_id | Menu[x].categories[x].items[x].id |
Order.items[x].modifiers[x].id | Menu[x].categories[x].items[x].modifier_groups[x].modifiers[x].id |
Order.items[x].modifiers[x].modifier_group_id | Menu[x].categories[x].items[x].modifier_groups[x].id |
Accepting Orders
When an order is successfully injected into the merchant's POS system, we will notify you via the New Webhook Event (Stream -> DSP) endpoint with an event type of location.order.accept
.
Failing Orders
When we are unable to inject an order into the merchant's POS system, we will notify you via the New Webhook Event (Stream -> DSP) endpoint with an event type of location.order.fail
.
Notifying Order Status Change
When the status of an order changes in a way that affects the customer (e.g. Ready to pickup, Out for delivery), we will notify you via the New Webhook Event (Stream -> DSP) endpoint with an event type of location.order.notify_status_change
.
Canceling Orders
Although we do our best to make sure that orders that can not be fulfilled do not get accepted. Sometimes orders are accepted and then canceled by the merchant. When this happens, we will notify you via the New Webhook Event (Stream -> DSP) endpoint with an event type of location.order.cancel
.
If a customer decides to cancel an order from your platform, you can notify us via the New Webhook Event (DSP -> Stream) endpoint.