Details of all notifications (webhooks) are available in the API documentation here and here. For menu P&A changes: We subscribe to the Configuration Notification webhook. Configuration notification runs on a scheduled job every 15 minutes for pricing changes, whereas it is near real-time for availability changes. The notification doesn't specify what item(s) have become unavailable at a store-level, the whole menu needs to be fetched. Price update can take up to 30min to get to the restaurant. CALC is a cloud call, POST will have old price. A manual update can be forced using the “Update” button in the POS.
For order status changes: We subscribe to the Check Notification webhook. Order statuses depend on the KDS setup in the store. 2 statuses are received in most cases: Submitted & Done Check notification statuses are based on what happens in the KDS. On the post a transaction, we must say notificationOption - “enabled”: true. This means that when the check is submitted, it will track notification from KDS.
There is no webhook to get store status updates. Q&A How do we know that an order has been cancelled (voided) at the POS? Is there a notification for that? → Only a check that was sent in an open state can be cancelled via STS. If a check is voided after it has been closed there is no notification. What POS action triggers each of the following notifications: Uninitialized, Submitted, Prepared, Packaged? Uninitialized - No notifications options enabled Submitted - Check sent with notifications options enabled Prepared - When all prep KDS have bumped their orders (if using) Packaged - When expo KDS has bumped the order
You explained that the configuration notification runs on a scheduled job every 15 minutes for pricing changes, and that the price update can take up to 30min to get to the restaurant. If I understood correctly, the restaurant can work around this time lag via the manual update using the “Update” button in the POS. Is there a similar workaround for digital to avoid price mismatch during that up-to-15-minutes gap period? → There is no way to speed up the process for the application cache to update in the cloud. If an order is injected with a pickupTime in the future, can it be manually sent to the kitchen (‘fired’) from the POS? If so, will we get notified of that status change? –> If you use pickupTime for a future dated check, whenever that check is fired, you will receive a submitted response to your webhook URL. That being said, I (Oracle colleague) would consider using fireTime.
|