Webhook is called when the status of a channel changes. For instance, when a new customer adds a channel, we send a register event. After this event, it should be possible to push the menu to the channel.

This endpoint gets called when:

  • a customer registers a location for this channel (register).
  • a customer wants to start receiving orders for this location (active).
  • a customer wants to stop receiving orders for this location (inactive).

We always expect a JSON result which contains the endpoints to:

  • receive order status updates (statusUpdateURL)
  • receive menus (menuUpdateURL)
  • snooze or unsnooze (snoozeUnsnoozeURL)
  • enable or disable busy mode (busyModeURL)
  • update preparation time (updatePrepTimeURL)

If an endpoint is empty or not included in this response we will not use it. For instance, if you choose not to set the receive status update endpoint, we will not send status updates to you. We do not require a standardized webhook URL for any of the above, however, we always require a standardised channel status URL which would function in the same way for any customer.

    "status": "active",
    "channelLocationId": "{{externalChannelLocationId}}",
    "channelLinkId": "{{channelLinkId}}",
    "locationId": "{{locationId}}",
    "channelName": "Space Channel"
    "statusUpdateURL": "https://integrator.com/orderstatusUpdate",
    "menuUpdateURL": "https://integrator.com/menuUpdate",
    "snoozeUnsnoozeURL": "https://integrator.com/snoozeUnsnooze",
    "busyModeURL": "https://integrator.com/busyMode",
    "updatePrepTimeURL": "https://integrator.com/updatePrepTimeURL"