В данной статье разберём что такое вебхук (webhook) и как его подключить.
Вебхук (webhook) — механизм оповещения системы о событиях.
Допустим, есть определённый сервис, который должен оповещать о событиях в момент когда они происходят, как вариант: постоянно запрашивать новые данные на сервере, но минус такого метода в скорости получения данных, если на сервере, например, стоит задержка на получения новых оповещений. Webhook же исправляет этот недочёт: когда происходит событие он запрашивает адрес сайта с параметрами, например: “example.com/webhook/notification”, и передаёт в теле POST запроса JSON (зачастую) со свежими данными.
Как подключить webhook к своему боту
- Сначала регистрируемся в сервисе Integromat;
- В левом меню переходим к “Scenarios”;
- Создаем новый сценарий — кнопка в верхнем правом углу "Create a new scenario";
- Система представит все модули. В поиске пишем "Webhook", выбираем, нажимаем на кнопку “Continue” (правый верхний угол);
- Теперь нам нужно применить функцию вебхука на модуль: кликаем на вопросительный знак — “Webhooks” — “Add” — Задаём название — “Save”;
Важно! Копируем ссылку, которую нам сгенерировал модуль — это и есть наш вебхук, не забудьте сохранить всё кнопкой "OК".
6. Теперь переходим в Личный кабинет, во вкладку Настройки вашего бота, раздел Подписки на события.
7. Нажимаем на синюю кнопку “Добавить”.
8. В графе Адрес вставляем наш вебхук (который скопировали). Редактирование происходит через кнопку “Изменить”.
9. В графе Тип события выбираем событие (сообщение), которое бот будет отправлять на сервер Integromat для дальнейшей обработки, подробнее о типах событиях в статье: Подписка на события.
Предварительный запуск
Перед тем, как запускать какой-либо сценарий, обязательно нужно получить данные (некое содержимое), чтобы мы могли работать с этими данными, например отправлять в другие сервисы. Это обязательно условие, которое необходимо выполнить сразу после привязки вебхука.
- Подключаем вебхук;
- В Integromat запускаем работу сценария (можно разово — кнопка “Run Once”, или циклично — нижний переключатель “On/Off");
- Переходим в бота и отрабатываем форму ввода;
- Как только Integromat получит то содержимое, которое ему изначально было отправлено (из нужной формы, или определенную команду, подробнее в статье: Подписки на события), над модулем Webhook образуется индикатор с цифрой 1, а также другие сопутствующие индикаторы;
- Всё, Integromat получил нужные данные. Теперь можно работать.