*This is a webhook set by the POS
Purpose
When a customer is ready to integrate a location in their Deliverect account to their POS, a registration webhook event will be sent to a designated endpoint with all the information needed to establish the integration. This endpoint should be provided by the POS.
Content
Before this webhook is sent, the unique ID of the POS which is to be integrated will be set in the Deliverect location settings. This is referred to as the externalLocationId
Our onboarding teams will be provided with this ID, either by the customer or from the POS partner's support team.
We include this externalLocationId
along with both the Deliverect accountId
and locationId
in the register event. This should provide all the information needed to complete the mapping between the POS and Deliverect.
Response
In response to this event, the URLs needed for the integration should be returned as in the below example. In particular, the ordersWebhookURL
and syncProductsURL
should be returned in order to provide the means of syncing in products and injecting orders directly into the POS.
The register webhook needs to be standardised i.e. the same URL should be used for every customer install.
Webhook Content
The webhook payload is shown as an example below, with the properties defined as follows;
Attribute | Definition |
---|---|
accountId | The ID of the Deliverect customer account |
locationId | The ID of a specific location in the Deliverect customer account |
externalLocationId | The unique ID of the customer's POS |
locationName | Name of the location set in Deliverect |
{
"accountId":"606d8489fcd8eddf51b475a3",
"locationId":"606d8489fcd8eddf13b100a6",
"externalLocationId":"606b030b8d7beb2aa83e0564",
"locationName": "Space Bar"
}
Webhook Response
We always expect a JSON result containing the endpoints as per the example below. When returned as response, they will be automatically set in the location settings.
If an endpoint string empty or not included in this response, we will not use it.
Attribute | Definition |
---|---|
syncProductsURL (required) | Sync products from the POS to Deliverect (see GET Products) |
ordersWebhookURL (required) | Insert order from Deliverect to the POS (see POST Orders) |
syncTablesURL | Sync tables from the POS to Deliverect (see GET Tables) |
syncFloorsURL | Syncs floors from the POS to Deliverect (see GET Floors) |
operationsWebhookURL | To sync operational updates for published menu *activated only by customer request |
storeStatusWebhookURL | Sync any status changes made to channels per location *activated only by customer request |
{
"ordersWebhookURL": "https://integrator.com/ordersWebhookURL",
"syncProductsURL": "https://integrator.com/syncProductsURL",
"syncTablesURL": "https://integrator.com/syncTablesURL",
"syncFloorsURL": "https://integrator.com/syncFloorsURL",
"operationsWebhookURL": "https://integrator.com/operationsURL",
"storeStatusWebhookURL": "https://integrator.com/storeStatusURL"
}