🗣Webhook. Что это такое и когда используется



Вебхук — это способ оповещения клиента о произошедшем в системе событии с помощью пользовательских обратных вызовов по HTTP.



Вебхук запускается, когда в системе происходит какое-то событие. Например, человек написал комментарий на сайте. Когда происходит такое событие, сервер создает HTTP-вызов и отправляет его на адрес, который клиент указал для получения вебхуков.



Кроме самого события, сервер может передавать дополнительные данные: время события, логин пользователя, количество регистраций и другие параметры. Что именно передаёт сервер и в каком порядке — зависит от настроек сервера.



Чем Webhook отличается от API?



Большинство API работает по принципу «Спроси меня и я отвечу». То есть для получения свежих данных, программному клиенту нужно постоянно отправлять запросы на сервер.



Вебхуки работают иначе. Они как бы говорят: «Дружище, больше не нужно названивать. Если произойдет что-то для тебя важное, я сам сообщу».

Если простыми словами, вебхук — как бы подписка на обновления для определенных событий. Сервер будет оповещать клиента только о тех изменениях, которые ему по-настоящему важны. Он сам сообщит об этих событиях при настройке вебхука.



Когда использовать API, когда вебхуки?



Вебхуки подходят для ситуаций, когда нужно реагировать на события в режиме реального времени, а не опрашивать серверы периодически. Однако вебхуки не могут полностью заменить API, так как они не позволяют просматривать, изменять или удалять данные на сервере. Для этого нужно использовать API-запросы. Вебхуки же служат только для уведомления об изменении данных.



⛔️ Когда НЕ следует использовать вебхуки?



Когда нужна гарантированная доставка. У вебхуков такого нет Это значит, что если по каким-то причинам мы не успели обработать запрос, то данные будут потеряны. Поэтому привязывать к вебхукам критичные события не стоит — лучше поискать другой механизм мониторинга.



Ещё бывает так, что проблемы могут быть на самом сервере. Например, если зависнет сервис, который рассылает вебхуки, то мы об этом не узнаем и не получим новых данных.



📎 Материалы по теме

1. Вебхук

2. Вебхук — простой способ получить уведомление с сайта

3. Что такое вебхук, как и зачем его использовать

4. Реализация вебхуков на примере взаимодействия сторонних сервисов с онлайн-кассами

5. Попробовать поэксперементировать онлайн — webhook.site



#интеграции