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

Настройка блока
- Добавьте на рабочую область блок «API запрос».
- Установите параметр «Таймаут» — время ожидания ответа после отправки запроса.
Если ответ не получен в течение указанного времени, в результатах блока фиксируется ошибка, после чего сценарий продолжает выполнен.
Параметры таймаута:- минимальное значение — 1 секунда;
- максимальное значение — 60 секунд.
- Нажмите «Настроить запрос».
Настройка запроса
- Укажите адрес сервиса в поле «Ссылка запроса».
- При необходимости используйте переменные.
- Выберите тип HTTP-запроса:
- GET — получение ресурса;
- POST — передача данных или создание ресурса;
- PUT — полное обновление ресурса;
- PATCH — частичное обновление ресурса;
- DELETE — удаление ресурса.

Добавьте тело запроса во вкладке «Body» в формате JSON.
Пример:
{
"params": {
"chat_id": "{{id_chat}}",
"context_id": 1,
"messenger_type": "{{messenger_type}}"
}
}

- Перейдите во вкладку «Headers» для добавления заголовков.
- Перейдите во вкладку «Params» для добавления параметров запроса.
- Укажите:
- название параметра в поле «Keys»;
- значение в поле «Values».
При необходимости используйте переменные.

- Откройте вкладку «Testing».
- Нажмите «Отправить тестовый запрос».
Ответ сервера в формате JSON отобразится в поле «Результат».
Если в теле запроса допущена ошибка, система отобразит сообщение: Your request body is invalid json
Для повторной отправки запроса нажмите кнопку повторной отправки.

Чтобы сохранить значения ответа в переменные:
- Откройте вкладку «Mapping».
- Можете дополнительно «Передать данные из тестирования», в таком случае будут добавлены значения, которые получены во время тестирования.
- Укажите диалоговые переменные для необходимых значений.
Если значение не требуется сохранять:
- оставьте поле переменной пустым;
- или укажите путь вручную в формате: $.значение

В разделе поддерживается протокол SOCKS5, что позволяет гибко настраивать соединение и использовать современные прокси-серверы для передачи данных.
Обеспечение доступности внешних сервисов
В системе реализован механизм повышения стабильности доступа к внешним ресурсам. При обращении к сайту:
- сначала выполняется прямой запрос
- при возникновении ошибок соединения система автоматически использует альтернативные маршруты
- при успешном ответе выбранный маршрут будет использован для последующих запросов к внешнему ресурсу
Это позволяет повысить надёжность работы интеграций с внешними сервисами.
Логика работы
- Бот отправляет сообщение с просьбой ввести IP-адрес
- Сценарий переходит в блок «Ожидание сообщения» и принимает ввод пользователя
- Введённое значение передается в блок «Условие»
- Выполняется проверка IP-адреса с помощью регулярного выражения
Некорректный ввод
Если IP-адрес указан в неверном формате:
- срабатывает ветка
FALSE - бот отправляет сообщение с просьбой повторить ввод
- сценарий возвращается к шагу ожидания сообщения
Корректный ввод
Если IP-адрес проходит проверку:
- срабатывает ветка
TRUE - сценарий переходит к блоку «API-запрос»
Выполнение API-запроса
Блок «API-запрос» отправляет запрос к внешнему сервису (например, 2IP) для получения данных по IP-адресу пользователя.

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

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