ManyChat Help Portal
Submit a ticket

Инструменты для разработки: внешний запрос

Внешний запрос (PRO) позволяет отправлять на сервер HTTP-запрос с данными различных типов:

  • Статус контакта
  • Имя
  • Фамилия
  • Название
  • Пол
  • Язык
  • Часовой пояс
  • URL-адрес онлайн-чата
  • Пользовательские поля

Функция внешнего запроса поддерживает методы HTTP GET и POST. Чтобы создать узел внешнего запроса, перейдите в раздел Действия -> Внешний запрос.

По нажатию на кнопку Добавьте свой запрос открывается окно настройки. В окне настройки можно выбрать тип запроса (GET или POST):

После настройки типа запроса необходимо задать корректный URL-адрес и заполнить поля «Заголовки» и «Тело».
Вот пример тела внешнего запроса из https://api.manychat.com/swagger#/Sending/post_fb_sending_sendContent:

{
"subscriber_id": 0,
"data": {},
"message_tag": "ISSUE_RESOLUTION"
}

В data {} здесь передается формат запроса отсюда: https://manychat.github.io/dynamic_block_docs/.
Более подробную информацию о возможных заголовках можно найти в Интернете. Например: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers 

Когда запрос будет готов, его можно протестировать: на вкладке Запрос нажмите на кнопку Протестировать запрос

Если всё сделано правильно, вы получите код HTTP 200:

Предположим, что нам нужно создать сценарий ответа по умолчанию для фанатов «Звездных войн». Есть один хороший бесплатный сервис тестирования API — https://swapi.dev/. Мы хотим показывать название фильма и начальные титры, когда клиент отправит боту любое слово. Если это слово есть в названии, то мы покажем это название и титры.

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

Мы будем использовать метод API поиска https://swapi.co/api/films/?search=hope и отправим туда последние данные, введенные пользователем. Затем необходимо сопоставить параметры ответа JSON с нашими пользовательскими полями.

Вот результат, который мы увидим в Facebook Messenger.

Надеемся, что у вас всё получилось!

P.S.: Рекомендуем также прочитать нашу статью Инструменты для разработки: быстрое тестирование, чтобы больше узнать об этой теме.