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 зависит от события и может быть одним из вариантов:
BookingExternalDtoRestaurantExternalDto
Обработка webhook на вашей стороне
Требования
- Endpoint должен быть доступен по HTTPS
- Endpoint должен отвечать статусом 200-299 для подтверждения получения
- Таймаут соединения 10 секунд
- Проверяйте токен авторизации для безопасности
Политика повторов
Если ваш сервер не ответит успешно (статус 200-299), GuestMe будет повторять запрос с экспоненциальной задержкой 3 раза.
warning
После 3 неудачных попыток webhook может быть деактивирован. Вам нужно будет создать его заново.
Best Practices
- Отвечайте быстро - Обрабатывайте событие асинхронно, сначала отправьте 200 OK
- Используйте HTTPS
- Валидируйте Authorization header
Нужна помощь? Написать в поддержку