Перейти к содержанию

Webhook

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

  • Уведомлять внешние системы, когда клиент совершает действие в Journey
  • Отправлять данные о клиентах в инструменты аналитики
  • Запускать отправку email, SMS или WhatsApp от сторонних сервисов при определенных событиях в Journey

Как настроить элемент Webhook

Anchor link to

Добавьте элемент Webhook

Anchor link to

Перетащите элемент Webhook на канвас. Разместите Webhook в любом месте, учитывая, какую информацию из Journey вы собираетесь отправлять в сторонний сервис.

Элемент Webhook на канвасе с настройками имени и запроса

Назовите шаг Webhook и укажите URL и тип запроса

Anchor link to

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

Далее в поле URL укажите URL-адрес запроса, на который должны быть отправлены данные. Рядом с полем URL выберите тип запроса из выпадающего списка REQUEST TYPE: GET или POST.

Интерфейс настройки Webhook, показывающий поле URL и выпадающий список REQUEST TYPE для выбора метода GET или POST

Настройте заголовки

Anchor link to

В разделе HEADERS установите тип контента.

По умолчанию тип контента — application/json. Если сервис, в который вы отправляете вебхук, требует другой тип контента, введите соответствующее значение в заголовок Content-Type.

Примеры типов контента:

  • x-www-form-urlencoded
  • text/plain
  • text/xml

При необходимости добавьте дополнительные заголовки, нажав + ADD HEADER. Вы можете удалить любой заголовок, нажав на значок «x» рядом с ним.

Например, некоторые API могут требовать базовую HTTP-аутентификацию. Для аутентификации таких запросов выполните следующие действия:

  1. Откройте простой текстовый редактор и введите ваше имя пользователя и пароль без пробелов, разделенные двоеточием. Например: myuser:mypass
  2. Закодируйте эту строку в Base64.
  3. Скопируйте полученную строку Base64 (например, bXl1c2VyOm15cGFzcw==).
  4. В настройках вебхука добавьте заголовок Authorization со значением: Basic <ВАША СТРОКА BASE64>. Убедитесь, что после слова «Basic» есть пробел.
Пример заголовка Authorization для базовой аутентификации в настройках вебхука, показывающий заголовки Content-Type и Authorization

Добавьте тело JSON-запроса

Anchor link to

В разделе DATA введите тело вашего JSON-запроса. Убедитесь, что тело запроса имеет правильный формат JSON.

Пример:

{
"hwid": "{{device:hwid}}"
}

Используйте динамические данные и макросы

Anchor link to

Панель DATA BUILDER позволяет вставлять динамическую информацию (например, данные о пользователе, устройстве, Tag или Event) непосредственно в тело вашего JSON-запроса. С помощью динамических данных вы можете включать значения, специфичные для конкретного пользователя, проходящего через Journey.

Для этого:

  1. Выберите категорию. Вы можете извлекать данные из трех категорий:
  • Device: Используйте данные об устройстве, когда вам нужна техническая информация, привязанная к устройству пользователя.

  • Tag: Используйте данные тегов, когда вы хотите отправить информацию, хранящуюся в профиле пользователя.

  • Event: Используйте данные о событии, когда вебхук должен отправлять значения из события, запустившего Journey.

  1. Выберите параметр (например, HWID, любимая категория и т. д.).
  2. Pushwoosh сгенерирует макрос, который выглядит следующим образом:
{{tag:Language}}
  1. Скопируйте макрос и вставьте его в тело JSON в разделе DATA.

Когда вебхук запускается в активном Journey, Pushwoosh автоматически заменяет макрос фактическим значением для этого пользователя.

Вставка плейсхолдеров динамических данных в тело запроса вебхука

Сопоставьте данные ответа вебхука с переменными

Anchor link to

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

В разделе RESPONSE MAPPING нажмите + ADD MAPPING и заполните два поля для каждого значения, которое вы хотите получить:

  • Path: расположение значения в теле JSON-ответа
  • Attribute: имя, которое вы будете использовать для ссылки на это значение позже в Journey
Раздел сопоставления ответов с полями Path и Attribute и кнопкой Add mapping в настройках вебхука

Например, если ваша CRM отвечает:

{
"data": {
"user": {
"id": "789xyz"
}
}
}

Установите Path в data.user.id и Attribute в crm_user_id, чтобы получить этот ID.

Протестируйте Webhook

Anchor link to

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

Сохраните вашу конфигурацию

Anchor link to

Нажмите Apply, чтобы сохранить конфигурацию вебхука.