Webhooks notifications

Webhooks are URLs that Quandoo calls when a status change to an entity happens. Webhooks are specific for a merchant, an agent and a notification type. That means that Quandoo can have individual webhooks registered for each combination of those dimensions.

A webhook only gets called for entities created with the agent id it is registered for.

Registration

Webhooks need to be registered in our system manually for each agent and notification type (please send a request to your contact at Quandoo).

Notification types

We provide webhooks notifications for the following events:

  • reservation status update
  • enquiry status update

Custom Headers

Quandoo supports additional static custom headers when calling your webhook endpoint, for example:

X-Your-Custom-Token: 1234567890

Reservation webhook request

Quandoo will send a webhook notification for online reservations, created by the customer, or offline ones, created by the merchants using BC / RMA / BA etc. Different endpoints must be set for online and offline reservations. The ids of the request bodies can be used to extract further information from the API, using other endpoints described on Interactive API.

For reservations we send notifications for the following events:

  • RESERVATION_CREATED (When a new reservation is created);
  • RESERVATION_CONFIRMED (When a reservation is confirmed by the merchant or automatically);
  • RESERVATION_REJECTED (When the reservation was rejected by the merchant);
  • RESERVATION_EDITED (When a reservation is edited);
  • RESERVATION_CUSTOMER_CANCELED (When the reservation was canceled by the customer);
  • RESERVATION_MERCHANT_CANCELED (When the reservation was canceled by the merchant);
  • RESERVATION_NOTIFICATION_REQUESTED (When the restaurant chose the send a reconfirmation request to the customer about the reservation);
  • RESERVATION_NOTIFIED (When the reconfirmation request was sent to the customer);
  • RESERVATION_RECONFIRMED (When the customer reconfirmed his reservation);
  • RESERVATION_NO_SHOW (When the customer didn’t come to the restaurant after he made a reservation);
  • RESERVATION_CHECKED_IN (When the customer arrives at the restaurant);
  • RESERVATION_CHECKED_OUT (When the customer left the restaurant and the reservation is checked out manually by the merchant or automatically).

Quandoo will make POST requests to the webhook URLs provided. Each reservation notification has this JSON structure:

{
  "reservation": {
    "id": "170135f0-3282-11e8-b467-0ed5f89f718b"
  },
  "customer": {
    "id": "220ecb60-3282-11e8-b467-0ed5f89f718b"
  },
  "merchant": {
     "id": 123
  },
  "notificationType": "RESERVATION_CONFIRMED"
}

Enquiry webhook request

Quandoo will send a webhook notification for reservation enquiries created online, by the customer. The ids of the request bodies can be used to extract further information from the API, using other endpoints described on Interactive API.

For enquiries we send notifications for the following events:

  • RESERVATION_ENQUIRY_CREATED (When a new enquiry is created);
  • RESERVATION_ENQUIRY_CONFIRMED (When the enquiry was confirmed by the merchant);
  • RESERVATION_ENQUIRY_REJECTED (When the enquiry was rejected by the merchant).

Each reservation enquiry notification has this JSON structure:

{
 "reservationEnquiry": {
   "id": "170135f0-3282-11e8-b467-0ed5f89f718b"
 },
 "customer": {
   "id": "220ecb60-3282-11e8-b467-0ed5f89f718b"
 },
 "merchant": {
    "id": 123
 },
 "notificationType": "RESERVATION_ENQUIRY_CONFIRMED"
}

Response

If the notification reached the endpoint successfully, a response with status code of 200 is expected. The response body is ignored. We implemented a retry mechanism for failed notification, so each one with status code different than 200 will be resent 2 times. We recommend that each partner creates his own error logging system to manage the failed notifications.