Вебхуки в сценариях | Support eSputnik

Пользовательские данные

Email

Омниканальность

Автоматизация

Отслеживание событий и поведения

Вебхуки в сценариях

Блок сценария Webhook позволяет работать с параметрами из событий и из карточки контакта в eSputnik.

Блок сценария “Webhook”

Этот запрос выгружает и отправляет данные контакта из eSputnik в другие системы и, наоборот, забирает в eSputnik данные из сторонних систем. С его помощью в рамках сценария вы можете:

  1. Обратиться к собственному ресурсу, который обработает запрос и вернет в сообщение данные для персонализации (например, личный промокод или токен для авторизации).

  2. Отдать на внешний ресурс данные из события или из карточки контакта (например, id заказа, дополнительное поле “id контакта в мессенджере” или “День рождения”).

Важно

Передать через вебхук можно только данные контакта (поля + дополнительные поля) и параметры из события, которое запустило сценарий с вебхуком. Передача данных в вебхуках в большинстве случаев настраивается в формате JSON, но также доступны форматы XML и Text.

Создание вебхука в сценарии

  1. Перейдите в раздел “Триггеры” → “Сценарии” и нажмите “Новый сценарий”.

Создание нового сценария

  1. На панели слева откройте вкладку “Другое” и выберите блок “Webhook”.

Добавление блоков в сценарий

  1. Справа на панели настроек этого блока нажмите кнопку “Создать wewbhook”.

Создание вебхука

  1. В окне настройки вебхука выберите из выпадающего меню тип запроса: GET или POST.

Выбор типа запроса

Работа с GET-запросом

Используйте этот тип, когда нужно через ссылку запросить данные на стороннем источнике для использования в сценарии и подстановки в сообщение внутри этого сценария. Данные передаются в URL в виде пар “имя – значение”. 

GET-запрос

Настройте вебхук:

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

2. Впишите URL ресурса через защищенный протокол HTTPS (если ввести HTTP, система не даст сохранить ссылку). После знака вопроса пропишите переменные, которые хотите вернуть. В примере мы хотим передать значение параметра email из события, которое запускает сценарий, и обращаемся к полю EMAIL, которое относится к карточке контакта на ресурсе, куда мы отправляем GET-запрос.

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

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

Параметр Значение
phone $phone
email $email
name $name
city $city
contactID $contact_ID
param $workflowInstanceId 

Примечание

Для GET запроса в параметрах вебхука можно передавать значение $workflowInstanceId — это уникальный идентификатор запуска сценария. Он позволяет определить, какие именно события относятся к запуску, и на основе этого рассчитывать статистику и конверсии.

Важно

Для $workflowInstanceId регистр символов имеет значение, а для полей контакта — нет.

4. Выберите коннектор для авторизации. Если нужно настроить новый, выберите из выпадающего списка вариант “Новый коннектор”.

5. В окне “Создать коннектор” введите такие данные: 

Создание коннектора

  • Название нового коннектора.

  • Нужный тип аутентификации: Basic, Bearer token, API key.

  • Впишите логин и пароль/токен/ключ.

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

Тестирование GET-запроса

  1. Нажмите кнопку “Отправить тест”. 

Тестирование GET-запроса

  1. Выберите соответствующий контакт из списка или найдите через поиск и нажмите кнопку “Далее”.

Выбор контакта

Для поиска контактов через группы выберите “Просмотр контактов из выбранной группы”.

Просмотр контактов из выбранной группы

  1. Нажмите “Отправить запрос”.

Отправка запроса

В окне тестирования вы получите ответ запроса:

Ответ запроса

Нажмите по стрелке “Назад” в левом верхнем углу диалогового окна и закончите создание вебхука, нажав кнопку “Готово”.

Завершение настроек вебхука

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

Созданный вебхук

Работа с POST-запросом

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

Для настройки вебхука с POST-запросом выполните такие действия:

  1. В настройках блока “Webhook” нажмите кнопку “Создать вебхук”.

Работа с POST-запросом

  1. В окне создания или редактирования вебхука дайте ему название и выберите тип POST. Впишите URL ресурса, используя защищенный протокол HTTPS. В этой ссылке вы можете использовать переменные, обращаясь к параметрам события или полям контакта. В примере мы обращаемся к TOWN – это стандартное поле контакта в eSputnik.

Настройте адреса

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

Параметры в заголовках

Примечание

Для POST запроса в параметрах вебхука можно передавать значение $workflowInstanceId — это уникальный идентификатор запуска сценария. Он позволяет определить, какие именно события относятся к запуску, и на основе этого рассчитывать статистику и конверсии.

Важно

Для $workflowInstanceId регистр символов имеет значение, а для полей контакта — нет.

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

Аутентификация

  1. Чтобы создать новый набор для аутентификации, в выпадающем списке выберите вариант “Новый коннектор”.

Параметры коннектора

В окне задайте название нового коннектора, выберите нужный тип аутентификации. Затем введите идентификационные данные (логин и пароль/токен/ключ) и нажмите кнопку “Готово”.

В POST-запросе разрешено отправлять произвольное количество данных. Для этого активируйте соответствующий переключатель, выберите формат данных из списка и укажите их ниже. Доступные форматы: JSON, XML, Text."

Данные тела запроса

К параметрам из события нужно обращаться с помощью apache velocity, пример: "param": "$data.get('param')".

Примечание

В теле запроса можно передавать значение $workflowInstanceId.

Значение $workflowInstanceId в теле запроса

Отображение значения $workflowInstanceId в параметрах события:

Значение $workflowInstanceId в параметрах события

Тестирование POST-запроса

  1. В окне настроек нажмите кнопку “Отправить тест”.

Тестирование POST-запроса

  1. Система предложит откуда взять данные для тестирования: из карточки контакта или из события. Если в URL вебхука настроено обращение к параметру из события, то при тестировании система предложит выбрать событие из списка тех, которые приходили когда-либо в систему, либо вписать тело события вручную.

Заполнение тела события

Поскольку в нашем примере указано обращение к полю контакта, то для теста необходимо выбрать контакт из базы в аккаунте eSputnik.

Выбор контакта

Вы можете выбрать другой контакт (1) либо просмотреть выбранный (2).

После того как нажмете “Далее” и “Отправить заявку”, вы получите ответ с Headers и Body запроса:

Результат тестирования

Чтобы отобразить полученный промокод в сообщении, впишите в текстовую область выражение такого вида:

$data.get('WH5').get('promocode'), 

где WH5 – название источника (название вебхука),

promocode – название переменной, которая содержит значение промокода.

Переменная в сообщении

Результат подстановки полученного промокода в письмо:

Результат подстановки промокода из вебхука

Расширенные параметры блока

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

Управление webhooks

В настройках блока “Webhook” нажмите “Управление webhooks”. Вы попадете в раздел со списком вебхуков, где сможете:

  • создать новый вебхук,

  • редактировать любой существующий,

  • протестировать вебхук,

  • удалить ненужный,

  • посмотреть список удаленных.

Управление вебхуками

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

История запусков вебхука

Остались вопросы?
Специалисты обязательно ответят и помогут решить вашу проблему!
Обратный звонок
Оставьте заявку – и наш специалист свяжется с вами в рабочее время.
Отправить заявку
Консультация в чате
Готовы к вашим вопросам!
Написать в чат
Электронная почта
Напишите в службу поддержки eSputnik.
Отправить email