Перейти к основному содержимому

Webhooks

Обзор

Webhooks позволяют получать уведомления о событиях в системе GuestMe в реальном времени. Вместо постоянного опроса API, система будет автоматически отправлять HTTP-запросы на ваш сервер при возникновении событий.


Подключение веб хуков

Создайте веб хук через POST /api/v1/external/webhook, чтобы получать уведомления о событиях:

  • События: CREATE, UPDATE, DELETE
  • Сущности: BOOKING, RESTAURANT

При регистрации веб хука вы должны указать:

  • url: адрес вашей системы, куда GuestMe будет отправлять события.

И опционально вы можете указать токен и префикс хедера авторизации:

  • authorizationHeaderPrefix: префикс который будет добавлен в заголовок Authorization перед токеном
  • token: ваш собственный токен, который будет добавлен в заголовок Authorization каждого запроса вида:
Authorization: {authorizationHeaderPrefix} {token}

Формат входящего события

Тело события приходит в виде объекта WebhookEventExternalDto.

  • В поле data находится полезная нагрузка (payload).
  • Тип payload зависит от события и может быть одним из вариантов:
    • BookingExternalDto
    • RestaurantExternalDto

Обработка webhook на вашей стороне

Требования

  1. Endpoint должен быть доступен по HTTPS
  2. Endpoint должен отвечать статусом 200-299 для подтверждения получения
  3. Таймаут соединения 10 секунд
  4. Проверяйте токен авторизации для безопасности

Политика повторов

Если ваш сервер не ответит успешно (статус 200-299), GuestMe будет повторять запрос с экспоненциальной задержкой 3 раза.

warning

После 3 неудачных попыток webhook может быть деактивирован. Вам нужно будет создать его заново.


Best Practices

  1. Отвечайте быстро - Обрабатывайте событие асинхронно, сначала отправьте 200 OK
  2. Используйте HTTPS
  3. Валидируйте Authorization header

Нужна помощь? Написать в поддержку