Что такое вебхук и как его использовать

Что такое webhook

Вебхук — это способ встроить функцию уведомления на сайт или в сервис.

Webhook с английского переводится как «веб-перехватчик» или «веб-крючок».

Представляет собой запрос в виде кода, который передаёт информацию в реальном времени на любой указанный адрес в сети, если произошло целевое событие или действие.

Как используют вебхуки в маркетинге и продажах:

💰 Интегрируют квизы с CRM или теми сервисами, которые не подключены к сервисам аналитики.

💰 Настраивают уведомления  о новых сообщениях, комментариях, заказах, заявках, подписчиках.

💰 Упрощают интеграцию разных приложений и сервисов — позволяют передавать данные между системами.

💰 Позволяют автоматизировать рабочие процессы — например, при получении заказа в интернет-магазине, вебхук автоматически обновляет статус и отправляет уведомление о новом заказе на склад.

Как помогают в программной аналитике и системной разработке:

💙 Используются для мониторинга систем и уведомления об авариях или сбоях.

💙 Помогают приложениям и сервисам взаимодействовать с внешними API и получать обновления и данные от других систем.

💙 Могут быть использованы для обновления авторизационных токенов и обеспечения безопасного доступа к API.

API (Application Programming Interface) — это набор правил и команд, который позволяет программам взаимодействовать друг с другом, обмениваться данными и функциональностью. Он определяет, как приложения могут общаться между собой.

💙 Вебхуки позволяют фиксировать события и данные для последующего анализа и отслеживания активности системы.

Вебхуки автоматически передают информацию о регистрациях, покупках, просмотре страниц и многом другом. В работе маркетолога это помогает:

🌟 Следить за важными метриками и анализировать данные для лучшего понимания поведения клиентов.

🌟 Создавать персональные предложения.

🌟 Создавать автоматические кампании на основе событий или действий пользователей, что экономит время и силы.

🌟 Повышать координацию между разными инструментами и платформами.

🌟 Автоматизировать публикации в социальных сетях и отслеживать активности.

🌟 Улучшить эффективность своей работы и быстро реагировать на изменения в поведении клиентов.

В чем разница между API и вебхуками

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

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

Оба метода важны и нужны, в зависимости от конкретных потребностей интеграции и взаимодействия между приложениями.

Вебхук API
Сервер отправляет HTTP-запросы клиенту, когда нужно уведомить о событиях или изменениях.  Клиент получает уведомления, а не запрашивает данные.
Запрос на обновление информации о пользователе выглядит так: POST /webhooks/user-update Content-Type: application/json //{ "user_id": 123, "updated_data": //{ "name": "Новое имя", "email": "новый_email@example.com", "age": 30 } }
Клиент отправляет запросы данных к серверу.  Клиент управляет тем, когда и какие запросы отправлять.
Например, запрос на обновление информации о пользователе выглядит так: PUT /api/users/123 //{ "name": "Новое имя" }
Используется для уведомления клиента о событиях в реальном времени, таких как новое сообщение, обновление статуса заказа API работает по схеме «вызов-ответ», где клиент делает запрос, и сервер отвечает данными
Взаимодействие через вебхуки асинхронное, клиент реагирует на уведомления, когда они поступают Взаимодействие через API чаще всего синхронное, и клиент ожидает ответа от сервера

Принцип работы и немного занудства от разработчиков

Принцип работы вебхуков (Webhooks) базируется на том, чтобы реагировать на события в режиме реального времени и передаче данных с сервера получателю без активных запросов со стороны клиента.

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

  1. Владелец сервера или приложения определяет URL-адрес, на который будут отправляться уведомления.
  2. Когда на сервере происходит то самое событие, вебхук формирует HTTP-запрос и отправляет его на заранее определенный URL-адрес.
  3. Получатель вебхука ожидает HTTP-запрос на указанном URL-адресе. Когда запрос приходит, клиент обрабатывает данные о событии, переданные в запросе, и выполняет соответствующие действия.

Пример:

Пример кода, как выглядит вебхук

В этом примере:

POST /webhook-endpoint — это URL-адрес, на который отправляется HTTP-запрос.

Host: example.com — указывает на сервер, куда отправляется запрос.

Content-Type: application/json — определяет формат данных (в данном случае JSON).

Content-Length: 64 — указывает на длину данных в запросе.

В блоке данных передается JSON-объект, который содержит информацию о событии ("event": "new_message") и само событие ("message": "Привет, мир!").

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

Зачем нужен и как создать вебхук в квизе

Webhook — что это в квизах? В контексте квизов вебхуки могут использоваться для передачи информации о результатах, ответах клиентов или других событиях в реальном времени.

💡 Надежда Лобастова, директор клиентского сервиса Марквиз: «Если у нас нет прямой интеграции с каким-то сервисом, в который юзер хочет отправлять заявки, то можно настроить любую интеграцию через вебхук»

Для создания вебхука в квизе нужно настроить сценарий, который будет автоматически принимать данные и направлять их к нужному сервису. Этот метод подходит для интеграции с CRM-системой или с сервисами, которые пока не имеют непосредственной интеграции с квизом. Вот то, что есть в Марквиз, а для остального подойдёт вебхук:

CRM-системы — AmpCRM, Bitrix4, U-ONTravel, lpTacker

Для добавления адреса, на который будут отправляться вебхуки, выполните следующие шаги:

1. Зайдите в редактирование квиза из вашего личного кабинета.

2. Перейдите во вкладку Интеграции и выберите Webhooks.

Кнопка Вебхук в панели Марквиз

3. Добавьте вебхук и введите адрес, на который следует отправлять вебхуки.

Как подключить вебхук в квиз
💡 Подробная инструкция по настройке вебхука

Чтобы создать вебхук, можно воспользоваться сервисами Albato и Zapier. Они есть в  Марквиз, в разделе Интеграции.

Кроме вебхука, можно настраивать любую интеграцию сAlbato и Zapier

Когда вебхук будет активирован, на указанный URL будет отправляться POST-запрос о событии.

Протестировать работу вебхука можно тут: http://webhook.site.

Сайт, где можно настроить и проверить вебхук

Как проверить, что вебхук работает

Чтобы убедиться, что вебхук работает, можно воспользоваться несколькими методами проверки:

1. Проводим тесты.

Создаём тестовые события, которые активируют вебхук. Например, делаем тестовый заказ и смотрим, что вебхук активировал уведомление. Проверяем, как обрабатываются данные вебхука. Смотрим, чтобы они интерпретировались корректно.

2. Пользуемся инструментами для проверки вебхуков.

Существуют онлайн-сервисы и инструменты, такие как "http://webhook.site" или "RequestBin", которые позволяют создавать временные URL-адреса для приёма вебхуков и анализа полученных данных. Можно настроить вебхук на такой временный URL и отправить тестовое событие, чтобы увидеть, как данные передаются.

3. Фиксируем входящие запросы.

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

4. Проводим мониторинг.

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

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

⭐ Уведомления о новых заказах в интернет-магазинах

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

⭐ Оповещения о новых сообщениях в чатах и социальных сетях

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

⭐ Мониторинг и уведомления о событиях в системах мониторинга и управления

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

⭐ Интеграция с платёжными системами

Вебхуки отслеживают транзакции и уведомления об успешных или неуспешных платежах.

⭐ Обновление задач и проектов в управлении проектами

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

⭐ Интеграция с электронными письмами

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

⭐ Обновление статуса заказов и доставки

Вебхуки позволяют магазинам и службам доставки автоматически обновлять статус заказов и предоставлять клиентам информацию о доставке в режиме реального времени.

⭐ Интеграция с внешними аналитическими инструментами, например MixPanel, Crowdbooster, SEMrush и другими.

Безопасность использования

Для безопасности рекомендуем использовать следующие методы:

✅ Подтверждайте подлинность запросов и проверяйте, что только доверенные источники могут отправлять вебхуки.

✅ Используйте защищенное соединение для передачи данных между серверами HTTPS.

✅ Ведите журнал событий, чтобы отслеживать работу вебхуков и реагировать на проблемы.

Ограничения при работе

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

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

Что важно запомнить о вебхуках в квизах

Когда речь идёт о вебхуках в контексте квизов, важно следующее:

  • Используем вебхуки для интеграции с другими системами, чтобы обрабатывать и уведомлять о результатах квиза.
  • Определяем, какие конкретные события или действия в квизе должны активировать вебхуки. Например, это может быть отправка ответов, завершение квиза или получение новой анкеты.
  • При создании вебхука указываем URL-адрес, на который будут отправляться уведомления.
  • Перед внедрением вебхука проводим тестирование, чтобы убедиться, что он корректно взаимодействует с квизом. Создаём тестовые сценарии, чтобы проверить его работу.
  • Обеспечиваем безопасность вебхука, включаем аутентификацию и проверку подлинности запросов, чтобы предотвратить несанкционированный доступ.
  • Организуем мониторинг для отслеживания работы вебхука.
  • Ведём журнал событий, связанных с вебхуком, чтобы анализировать его работу и восстанавливать данные в случае необходимости.

С помощью вебхуков квизы могут дружить с любым веб-ресурсом или приложением.

Узнайте больше о возможностях квизов.

Попробуйте весь функционал квизов в панели Марквиз

Блог

Кейсы, дайджесты и отборные рекомендации

Упс! Что-то пошло не так при отправке формы.