Связаться с поддержкой:
Выберите страну или язык

API запрос

Блок «API запрос» отправляет HTTP-запрос в формате JSON на внешний сервис и получает ответ. Полученные данные можно записать в переменные и использовать их в сценарии.

Например, блок может:

Настройка блока

  1. Добавьте на рабочую область блок «API запрос».
  2. Установите параметр «Таймаут» — время ожидания ответа после отправки запроса.
    Если ответ не получен в течение указанного времени, в результатах блока фиксируется ошибка, после чего сценарий продолжает выполнен.
    Параметры таймаута:

    • минимальное значение — 1 секунда;
    • максимальное значение — 60 секунд.
  3. Нажмите «Настроить запрос».

Настройка запроса

Тип и ссылка запроса
  1. Укажите адрес сервиса в поле «Ссылка запроса».
  2. При необходимости используйте переменные.
  3. Выберите тип HTTP-запроса:
    • GET — получение ресурса;
    • POST — передача данных или создание ресурса;
    • PUT — полное обновление ресурса;
    • PATCH — частичное обновление ресурса;
    • DELETE — удаление ресурса.

Тело запроса (Body)

Добавьте тело запроса во вкладке «Body» в формате JSON.

Пример:

{
"params": {
"chat_id": "{{id_chat}}",
"context_id": 1,
"messenger_type": "{{messenger_type}}"
}
}

Заголовки и параметры (Headers и Params)
  1. Перейдите во вкладку «Headers» для добавления заголовков.
  2. Перейдите во вкладку «Params» для добавления параметров запроса.
  3. Укажите:
    • название параметра в поле «Keys»;
    • значение в поле «Values».

При необходимости используйте переменные.

4
Тестирование запроса(Testing)
  1. Откройте вкладку «Testing».
  2. Нажмите «Отправить тестовый запрос».

Ответ сервера в формате JSON отобразится в поле «Результат».

Если в теле запроса допущена ошибка, система отобразит сообщение: Your request body is invalid json

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

Сохранение результатов запроса(Mapping)

Чтобы сохранить значения ответа в переменные:

  1. Откройте вкладку «Mapping».
  2. Можете дополнительно «Передать данные из тестирования», в таком случае будут добавлены значения, которые получены во время тестирования.
  3. Укажите диалоговые переменные для необходимых значений.

Если значение не требуется сохранять:

  • оставьте поле переменной пустым;
  • или укажите путь вручную в формате: $.значение
Пример: $.title
Также результат запроса доступен в результате «data» блока, подробнее в статье «Результаты блоков».
Подключение прокси (Proxy)
Раздел Proxy предназначен для настройки подключения через промежуточный сервер при выполнении HTTP-запросов из сценария. В этом разделе можно указать параметры прокси, через который будет проходить запрос перед отправкой в целевой API. При включении опции «Использовать прокси» становятся доступны поля для ввода адреса? порта сервера и учетных данных (логин и пароль) для авторизации. Все запросы из данного блока будут направляться через указанный прокси-сервер. Это может быть полезно, например, если требуется маршрутизация трафика через внешний сервер, использование фиксированного IP-адреса или работа с API, доступ к которому ограничен по сети.

В разделе поддерживается протокол SOCKS5, что позволяет гибко настраивать соединение и использовать современные прокси-серверы для передачи данных.

Обеспечение доступности внешних сервисов

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

  • сначала выполняется прямой запрос
  • при возникновении ошибок соединения система автоматически использует альтернативные маршруты
  • при успешном ответе выбранный маршрут будет использован для последующих запросов к внешнему ресурсу

Это позволяет повысить надёжность работы интеграций с внешними сервисами.

Пример сценария
Сценарий демонстрирует получение данных по IP-адресу пользователя с помощью блока API-запроса.

Логика работы

  1. Бот отправляет сообщение с просьбой ввести IP-адрес
  2. Сценарий переходит в блок «Ожидание сообщения» и принимает ввод пользователя
  3. Введённое значение передается в блок «Условие»
  4. Выполняется проверка IP-адреса с помощью регулярного выражения

Некорректный ввод

Если IP-адрес указан в неверном формате:

  • срабатывает ветка FALSE
  • бот отправляет сообщение с просьбой повторить ввод
  • сценарий возвращается к шагу ожидания сообщения

Корректный ввод

Если IP-адрес проходит проверку:

  • срабатывает ветка TRUE
  • сценарий переходит к блоку «API-запрос»

Выполнение API-запроса

Блок «API-запрос» отправляет запрос к внешнему сервису (например, 2IP) для получения данных по IP-адресу пользователя.

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

Мы подготовили сценарий. Ознакомиться с ним можно по ссылке.