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

Как из блока "Действие" отправлять запросы во внешние сервисы по их 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 для заголовков?

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


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

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


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


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

 


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

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

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

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