Webhook
Вебхуки позволяют отправлять данные из Journey во внешние сервисы, такие как системы аналитики, CRM и маркетинговые инструменты. Вы можете:
- Уведомлять внешние системы, когда клиент совершает действие в Journey
- Отправлять данные о клиентах в инструменты аналитики
- Запускать отправку email, SMS или WhatsApp от сторонних сервисов при определенных событиях в Journey
Как настроить элемент Webhook
Anchor link toДобавьте элемент Webhook
Anchor link toПеретащите элемент Webhook на холст. Разместите Webhook в любом месте, учитывая, какую информацию из Journey вы собираетесь отправлять в сторонний сервис.

Назовите шаг Webhook и укажите URL и тип запроса
Anchor link toВ поле STEP NAME введите название для вебхука. Может быть удобно называть вебхуки в соответствии с сервисами, в которые они отправляют данные, или по сценарию использования.
Далее, в поле URL укажите URL-адрес запроса, на который должны быть отправлены данные. Рядом с полем URL выберите тип запроса из выпадающего списка REQUEST TYPE: GET или POST.

Настройте заголовки
Anchor link toВ разделе HEADERS установите тип контента.
По умолчанию тип контента — application/json. Если сервис, в который вы отправляете вебхук, требует другой тип контента, введите соответствующее значение в поле заголовка Content-Type.
Примеры типов контента:
x-www-form-urlencodedtext/plaintext/xml
При необходимости добавьте дополнительные заголовки, нажав + ADD HEADER. Вы можете удалить любой заголовок, нажав на значок ‘x’ рядом с ним.
Добавьте любой заголовок аутентификации, который требует ваша конечная точка, например:
Authorization: Bearer <token>X-Api-Key: <key>Authorization: Basic <base64(user:pass)>
Поддерживается только статический секрет в заголовке. Процессы обмена токенами OAuth2, mTLS и подписание запросов на стороне Pushwoosh не поддерживаются. Вы также можете ограничить доступ к конечной точке по IP-адресам Pushwoosh вместо или в дополнение к секрету в заголовке. См. IP-адреса Pushwoosh.
Для HTTP Basic аутентификации, в частности, выполните следующие действия:
- Откройте простой текстовый редактор и введите ваше имя пользователя и пароль без пробелов, разделенные двоеточием. Например:
myuser:mypass - Закодируйте эту строку в Base64.
- Скопируйте полученную строку Base64 (например,
bXl1c2VyOm15cGFzcw==). - В настройках вебхука добавьте заголовок Authorization со значением:
Basic <ВАША СТРОКА BASE64>. Убедитесь, что после слова “Basic” стоит пробел.

Добавьте тело JSON-запроса
Anchor link toВ разделе DATA введите тело вашего JSON-запроса. Убедитесь, что тело запроса имеет правильный формат JSON.
Пример:
{ "hwid": "{{device:hwid}}"}Используйте динамические данные и макросы
Anchor link toПанель DATA BUILDER позволяет вставлять динамическую информацию (например, данные о пользователе, устройстве, тегах или событиях) непосредственно в тело вашего JSON-запроса. С помощью динамических данных вы можете включать значения, специфичные для конкретного пользователя, проходящего через Journey.
Для этого:
- Выберите категорию. Вы можете извлекать данные из трех категорий:
-
Device: Используйте данные об устройстве, когда вам нужна техническая информация, привязанная к устройству пользователя.
-
Tag: Используйте данные тегов, когда вы хотите отправить информацию, хранящуюся в профиле пользователя.
-
Event: Используйте данные о событии, когда вебхук должен отправлять значения из события, запустившего Journey.
- Выберите параметр (например, HWID, любимая категория и т.д.).
- Pushwoosh генерирует макрос, который выглядит следующим образом:
{{tag:Language}}- Скопируйте макрос и вставьте его в тело JSON в разделе DATA.
Когда вебхук запускается в активном Journey, Pushwoosh автоматически заменяет макрос фактическим значением для этого пользователя.

Сопоставьте данные ответа вебхука с переменными
Anchor link toПомимо отправки данных, элемент Webhook может также захватывать данные из полученного ответа и превращать их в переменные. Эти переменные затем можно использовать далее в Journey. Например, установить тег с помощью Update user profile или запланировать Time Delay на основе значения, возвращенного внешним сервисом. Полный пример Journey см. в разделе Использование данных ответа вебхука в вашем Journey.
В разделе RESPONSE MAPPING нажмите + ADD MAPPING и заполните два поля для каждого значения, которое вы хотите захватить:
- Path: местоположение значения в теле JSON-ответа
- Attribute: имя, которое вы будете использовать для ссылки на это значение далее в Journey

Например, если ваша CRM отвечает:
{ "data": { "user": { "id": "789xyz" } }}Установите Path в data.user.id и Attribute в crm_user_id, чтобы захватить этот ID.
Тайм-аут, повторные попытки и неудачные запросы
Anchor link toPushwoosh ожидает ответа до 10 секунд. Весь шаг Webhook, включая отправку запроса и обработку ответа, ограничен 30 секундами. Каждый “путешественник” запускает запрос один раз, автоматических повторных попыток нет.
Это касается только случаев, когда сам запрос не может быть выполнен. Ответ, который получен, но не может быть корректно сопоставлен, например, из-за невалидного JSON, неразрешенного Path или тела ответа более 64 КБ, не приводит к выбыванию “путешественника”. См. примечание в разделе Сопоставление ответа выше.
Протестируйте Webhook
Anchor link toНажмите Test webhook, чтобы убедиться, что конфигурация вашего вебхука верна и запрос успешно отправлен.
Сохраните вашу конфигурацию
Anchor link toНажмите Apply, чтобы сохранить конфигурацию вебхука.