Действие: HTTP-запрос к API

Действие «HTTP-запрос» обращается к внешней системе по её API прямо из сценария: проверить остаток на складе, узнать статус заказа, отправить данные в свою систему. Ответ можно разобрать в переменные и дальше ветвить сценарий или показать результат клиенту.

Параметры запроса

ПараметрОписание
МетодGET, POST, PUT, PATCH, DELETE — как требует API внешней системы.
URLАдрес эндпоинта. Можно подставлять переменные, например https://api.example.com/order/{{order_id}}.
Заголовки (Headers)Пары «ключ — значение», например Authorization или Content-Type.
Тело (Body)Данные запроса для POST/PUT/PATCH — обычно JSON.

Переменные и секреты

  • В URL, заголовках и теле подставляются переменные в фигурных скобках: {{phone}}, {{order_id}}.
  • Токены и ключи подставляются через секреты{{secret.имя}}. Сами ключи не хранятся в открытом виде в графе сценария и не видны в логах.

Никогда не вписывайте API-ключи прямо в заголовки текстом. Сохраните их как секрет и подставляйте через {{secret.имя}} — это безопаснее и переживёт смену ключа без правки сценария.

Разбор ответа

Ответ внешней системы можно разобрать в переменные: указать, какое поле ответа в какую переменную положить. Дальше эти переменные используются в «Условии» (ветвление по результату) или в тексте сообщения (показать клиенту).

Защита от SSRF

Действие защищено от SSRF: запросы к внутренним и служебным адресам блокируются, проверка идёт в несколько слоёв (статический разбор адреса и проверка при подключении, включая редиректы). Обращаться можно только к публичным внешним API.

Похожее действие: «Отправить вебхук»

Рядом есть действие «Отправить вебхук» — оно делает POST с карточкой подписчика (его поля) на ваш URL. Это упрощённый вариант, когда не нужно собирать тело вручную: достаточно указать адрес, куда отдать данные клиента.

Как настроить

  1. Добавьте ноду «Действия»

    На канвасе добавьте шаг «Действия» и выберите «HTTP-запрос».

  2. Укажите метод и URL

    Выберите метод и впишите адрес эндпоинта. Подставьте переменные через {{переменная}}.

  3. Добавьте заголовки и тело

    Заполните заголовки (авторизацию — через {{secret.имя}}) и тело запроса, если оно нужно.

  4. Разберите ответ в переменные

    Сопоставьте поля ответа с переменными бота, чтобы использовать их дальше.

  5. Обработайте результат

    Поставьте после ноды «Условие» или «Сообщение», чтобы среагировать на ответ.

Когда применять

  • Статус заказа. GET-запрос в вашу систему по {{order_id}}, ответ — в переменную, а сообщение показывает клиенту статус доставки.
  • Проверка наличия. Перед оформлением бот спрашивает API об остатке товара и ветвит сценарий: есть в наличии или предложить аналог.
  • Передача заявки. POST с данными клиента в стороннюю систему учёта сразу после заполнения формы.