› WEBHOOK

Что такое Webhook

На любом сайте, особенно с хорошим, активным трафиком, ежедневно происходит масса событий. Посетители регистрируются, закидывают товары в корзину, пишут отзывы, лайкают товары и т.д. Когда речь идет о собственном сервере, для отслеживания происходящего достаточно подключить систему мониторинга. Но в случае со сторонними сервисами этого сделать не получится. Никто не даст доступ к размещению скриптов, поэтому приходится пользоваться вебхуками.

Определение webhook

Сначала разберем, что означает термин. Технология Webhook – это метод отправки уведомлений пользователю онлайн-ресурса при условии, что на нем изменилась отслеживаемая информация. Например, появились новые отзывы или была скорректирована цена, остатки.
Заранее настроенная система создаст HTTP-вызов и отправит сведения заданному получателю через вебхук. Внутри сообщения обязательно присутствует тип события и ссылка на объект. Принимают их обычно автоматизировано, например, товарно-учетной системой.

Принцип работы вебхука

Технически вебхук представляет собой программный код, состоящий из переменных и значений, им соответствующих. Глубоко вникать в принцип функционирования не требуется, настраиваются уведомления через удобный графический интерфейс.

Вот пример срабатывания вебхука, если пользователю нужно знать о новых комментариях:
  1. Посетитель ресурса публикует комментарий.
  2. Сообщение автоматически вносится в БД сервера.
  3. Хост обращается к URL настроенного вебхука.
  4. Клиенту отправляется уведомление о новой записи.

Все, что от него требуется при настройке, это указать вид уведомления и свой адрес. Категории для отслеживания практически ничем не ограничены. Главное, чтобы они представляли собой объект, подлежащий количественному учету.

Разница между API и вебхуками

Выбор между API и вебхуком зависит от задач. На практике нередко используют оба способа для получения информации. Но с учетом специфики. Например, для API характерно получение ответа по запросу, сгенерированному автоматически или вручную.
Чтобы получить информацию с сайта через этот интерфейс, нужно обратиться к нему. Вебхуки же действуют по принципу подписки. Стоит однажды настроить уведомления и пользователю будут поступать сообщения без его участия, «на автомате».
Преимущества вебхуков проявляется в снижении нагрузки на сервер по сравнению с тем же API, потому что отправка событий осуществляется только по их наступлению, нет постоянной проверки статуса и т.п. Еще эта система не требует постоянного коннекта с сервером.

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

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

Типовые варианты применения webhook:
  1. Сформировать заказ, обновить его статус.
  2. Изменить цену на товар вслед за производителем.
  3. Обновить контакты партнеров, поставщиков.

Чтобы полноценно работать с базами, нужен интерфейс API. В нем поддерживаются необходимые функции вроде создания, изменения, удаления информации.

Примеры использования вебхуков

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

Примеры пользователей:
  1. Github. Это веб-ресурс для хостинга IT-проектов любого масштаба. На нем нередко ведут совместную разработку удаленными командами. Компания при помощи вебхуков отсылает пользователям сведения о появлении новых релизов программ, сообщениях от коллег и пр.
  2. Мой склад. Отечественная складская система, включая функционал управления торговлей. Через систему вебхуков в ней отправляются уведомления об изменении статуса заказа или обновлении стоимости товаров, контактов контрагентов и т.д.
  3. Callibri. Система коллтрекинга. Оповещает пользователей о поступивших звонках, письмах, сообщениях в онлайн-чате, установленном на сайте.

Многие поставщики услуг вебхуков разрабатывают удобные графические интерфейсы для быстрой настройки параметров. Например, у Callibri достаточно ввести отслеживаемый URL, выбрать тип события и проставить галочки на информации, какую следует включать в сообщение.
Пользователю остается лишь настроить, например, CRM на получение сведений, их распределение внутри карточки клиента и реагировать на входящие. Минимум ручного труда при максимальной эффективности.

Как создать тестовый вебхук

Чтобы убедиться в удобстве вебхуков, достаточно воспользоваться сервисом доступным по адресу https://webhook.site/. На этом ресурсе легко за пару минут создать тестовый образец запроса.

Последовательность действий:
  1. Зайдите на сайт. Система автоматом сгенерирует уникальную ссылку вебхука.
  2. Скопируйте URL кликом по кнопке, расположенной рядом (страницу не закрывайте).
  3. Зайдите в раздел настроек на интересующем вас сайте и выберите опцию «Вебхук».
  4. Внесите скопированную ссылку в строку для URL открывшейся формы.
  5. Задайте значение «application/json» в поле «Тип контента» (Content Type).
  6. Сохраните вебхук и вернитесь на вкладку с сайтом webhook.site.

Если процедура проведена корректно, поставщик сведений отправит ответ на отправленный запрос. Тогда слева увидите оповещение, а справа детализированный отчет.

Проверка работы вебхука

Проверяют работоспособность настроенного вебхука через тот же сервис, webhook.site. Это проще, чем пытаться сначала создать систему «с нуля».

Основные шаги:
  1. Зайдите на сайт и скопируйте ссылку из строки, включающей подпись Your unique URL (Please cope it form here, not from the address bar!).
  2. Создайте вебхук и в теге URL укажите только что сгенерированную проверочную ссылку (сделали шагом выше).
  3. Создайте новое событие на своем ресурсе. Например, введите его через JSON API. В итоге система должна уведомить об изменениях.

Такими задачами обычно занимаются технические специалисты. Но понимать функционал стоит и тем же маркетологам, чтобы полноценно использовать для решения своих задач.
Покажем, как пользоваться, ответим на вопросы, предложим подходящий тариф.

Безопасность использования вебхуков

При работе с вебхуками желательно учитывать, что сведения они передают через «открытые» URL, а это риски перехвата или даже подмены информации.

Чтобы минимизировать негативные моменты, стоит придерживаться правил:
  1. Работайте через протокол HTTPS. Он поддерживает шифрование.
  2. Создавайте ссылки с уникальными идентификаторами, избегайте типовых фраз.
  3. Сотрудничайте с поставщиками, поддерживающими коды идентификации (типа HMAC).

Еще нередко используют доступ к вебхуку по технологии HTTP Basic Authentication. Это позволяет защитить систему путем запроса имени пользователя и пароля.