Действие "Внешний запрос"

Как из блока "Действие" отправлять запросы во внешние сервисы по их API

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


Примеры сценариев использования "Внешнего запроса" в ботах:

1. "Подписчик выбирает какой он персонаж из фильма "Звездные войны": ссылка

  • Отправка запроса
  • Тестирование запроса
  • Описание простого JSON Path и запись данных из ответа в пользовательское поле
  • Использование полученных данных в боте

2. Интеграция с Google-таблицами для считывания данных из таблицы: ссылка

  • Настройка и подготовка гугл-аккаунта для интеграции
  • Отправка и тестирование запроса
  • Описание более сложного JSON Path и запись данных из ответа в пользовательское поле
  • Использование полученных данных в боте

3. Отправка СМС через сервис СМС Aero: ссылка на видео

4. Генератор случайных чисел: ссылка

5. Отправка уведомлений Агенту в Telegram: ссылка

6. Выдача сертификатов через сервис ГрамотаДел: ссылка на видео

Общее описание

Действие "Внешний запрос" позволяет:

  • Отправлять запросы во внешние сервисы по их API. Доступные типы запросов:
    • GET
    • POST
    • PUT
    • PATCH
    • DELETE
  • Записывать данные, полученные от внешнего сервиса в ответ на отправленный запрос, в пользовательские поля подписчиков
  • Выполнять тестовую отправку запроса и прием ответа внутри модального окна
    • Если для отправки запроса используются макросы, то при тестировании будут использоваться вместо макросов будут подставляться тестовые данные, значения которых можно изменить перед тестированием

Все настройки Внешнего запроса выполняются в отдельном всплывающем (модальном) окне, которое открывается при редактировании.

Настройка и назначение всех элементов Внешнего запроса описаны ниже.

Тип запроса и URL-адрес

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

В поле "URL-адрес" указывается адрес, на который будет отправляться запрос. Его также нужно искать в описании API сервиса.

При вводе URL-адреса допускается использование стандартных макросов (все макросы, которые есть в кабинете). Для того, чтобы подставить к ссылке макросы, нужно после самой ссылки поставить знак ? а при перечислении параметров макросы соединить знаком & (амперсанд). Пример: link.ru?utm_content=1&{%pole%}.

Раздел "Заголовки"

В этом разделе задаются Заголовки для отправляемого запроса.

Вы можете:

  • Добавлять/удалять заголовки
  • Использовать стандартные макросы в поле со значением Заголовков. При использовании макросов значение заголовка будет свое для каждого подписчика

Раздел "Тело"

В этом разделе описывается тело запроса. Код для раздела Тело нужно взять из настроек стороннего сервиса.

Тело должно быть описано в формате JSON. 

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

В правой части "Предпросмотр" выполняется автоматическая валидация и форматирование введенного тела.

ВАЖНО! Данный раздел недоступен для запросов с типом GET

Раздел "Ответ"

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

Чтобы запустить тестирование запроса нажмите на "Отправить запрос" или "Протестировать запрос".

Если в заголовках, теле или URL-адресе используются макросы, то для при тестировании вместо макросов будут подставлены тестовые значения. Вы можете изменить тестовые значения - для этого нужно раскрыть выпадающий список "Данные для тестирования" и изменить указанное значение в поле "Тестовое значение" для нужного макроса.

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

Значения, полученные в теле ответа можно сохранять в пользовательские поля подписчиков с помощью вкладки "Сопоставление ответов"

Раздел "Сопоставление ответов"

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

Данные и их структуру можно посмотреть после запуска тестирования запроса, на вкладке "Ответ" в разделе "Тело ответа":

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

Для настройки сопоставления нужно:

  • Добавить правило сопоставления, нажав на кнопку "+ добавить сопоставление"
  • Указать JSON Path - путь в теле ответа, по которому нужно забираться полученной значение. Подробная инструкция, как нужно писать JSON Path: ссылка
  • Указать пользовательское поле, в которое будет сохраняться полученное в ответе значение


ВАЖНО! После настройки и тестирования запроса обязательное нажмите "Сохранить"

ВАЖНО! Чтобы настройки внешнего запроса сохранились обязательно сохраните шаг "Действие", в котором был добавлен внешний запрос

Частые вопросы:

Где взять Key для заголовков?

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


Какие SSL сертификаты подходят для работы с внешним запросом?

Для работы с внешним запросом необходимо использовать сертификаты от доверенных центров сертификации (CA). BotHelp не принимает самоподписные сертификаты по соображениям вашей безопасности.


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

Автоматическая выдача именных сертификатов


Отправка SMS сообщений подписчикам


Уведомления в Telegram-канал 

 


Если вы не нашли ответ на свой вопрос, задайте его нам в чате внутри кабинета либо напишите на hello@bothelp.io 😃

Получите 14 дней полного функционала платформы для создания рассылок, автоворонок и чат-ботов BotHelp:

Получить 14 дней бесплатно

👆 На этом пока всё