Skip to main content

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 FieldMenu Field
Order.items[x].idMenu[x].categories[x].items[x].variations[x].id
Order.items[x].item_idMenu[x].categories[x].items[x].id
Order.items[x].modifiers[x].idMenu[x].categories[x].items[x].modifier_groups[x].modifiers[x].id
Order.items[x].modifiers[x].modifier_group_idMenu[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.