StreloБаза знанийВ кабинет

Как отправить запрос на внешний API из сценария

Действие «Внешний запрос (API)» отправляет HTTP-запрос на внешний адрес прямо во время прохождения сценария: дергает сторонний API, шлет вебхук, забирает данные. Синонимы: «вебхук», «webhook», «HTTP-запрос», «интеграция по URL», «отправить данные на сервер». Поддерживает методы GET, POST, PUT, DELETE с заголовками и JS

Пошагово

  1. Откройте сценарий в редакторе и добавьте на холст действие «Внешний запрос (API)».
  2. Соедините его с предыдущим шагом (обычно это нода, которая собирает данные для запроса).
  3. Кликните по ноде - справа откроется панель настройки.
Здесь будет скриншотS-7.5
Панель «Внешний запрос» - метод, URL, заголовки и переменная для ответа
Редактор сценария, панель «Внешний запрос (API)» · открыть страницу
Снять: вся панель - блок «Запрос (HTTP Request)» с методом и URL, секция «Заголовки (Headers)», поле «Сохранить ответ в переменную»
Выделить: поле URL
  1. В блоке «Запрос (HTTP Request)» выберите метод из выпадающего списка: GET, POST, PUT или DELETE.
  2. В поле адреса введите URL, например https://api.example.com/webhook. Можно вставлять переменные через {{имя}}.
  3. В блоке «Заголовки (Headers)» нажмите «Добавить», впишите «Ключ» (например Authorization) и «Значение» (например Bearer ВАШ_ТОКЕН). Заголовок Content-Type: application/json добавляется автоматически для любого метода; при необходимости переопределите его своим значением с тем же ключом.
  4. Если метод POST или PUT - появится поле «Тело запроса (JSON Body)». Введите JSON с переменными, например {"email": "{{email}}", "name": "{{first_name}}"}. Для GET и DELETE тело не отправляется.
  5. Если нужен ответ сервиса - заполните поле «Сохранить ответ в переменную» (например api_response). После ноды используйте {{api_response}} в сообщениях и условиях.
  6. Соедините выход со следующим шагом и сохраните. У действия один выход - отдельных веток «успех/ошибка» нет, сценарий продолжается в любом случае.

Как проверить результат запроса и ветвиться по нему?

Сама нода не ветвится. Сохраните ответ в переменную, а затем поставьте ноду «Условие» - она проверит значение переменной и разведет по нужным веткам.

Превью цепочки
Ветвление по ответу API - нужна отдельная нода «Условие»

Какие адреса разрешены?

Только публичные адреса, начинающиеся с http:// или https://. Запросы на внутренние адреса блокируются: нельзя обращаться к localhost, приватным сетям (10.x, 192.168.x, 172.16-31.x, 100.64-127.x), адресу облачной метадаты (169.254.169.254) и аналогичным.

Что если сервер не отвечает?

Таймаут запроса - 10 секунд. Если сервер не ответил за это время, запрос прерывается, а сценарий продолжается дальше по тому же выходу.

Если не получается

  • Узел заблокирован, нельзя добавить. Тариф Free - действие доступно с Pro и выше.
  • Запрос не уходит, адрес отклоняется. URL не начинается с http:// или https://, либо это внутренний/служебный адрес. Проверьте, что адрес публичный и корректный.
  • Сервис не получил данные (метод POST/PUT). Проверьте, что поле «Тело запроса» заполнено и содержит валидный JSON. Для GET и DELETE тело не отправляется в принципе.
  • В теле или URL пришел текст {{phone}} вместо значения. Переменной нет в сессии на этом шаге. Убедитесь, что она создается нодой выше, и имя совпадает точно.
  • Запрос обрывается. Сработал таймаут 10 секунд. Ускорьте эндпоинт или вынесите тяжелую работу на сторону сервера.
  • Сервер отвечает 401/403. Добавьте заголовок авторизации (Authorization) с корректным токеном в блоке «Заголовки».
  • Переменная ответа пустая. Проверьте имя в поле «Сохранить ответ в переменную». JSON-ответ сохраняется как текст JSON, не как готовый объект.

Лимиты и тариф

Доступно на Pro, Business и Enterprise. На Free заблокировано. Ограничения:

  • Только публичные адреса (http/https).
  • Таймаут 10 секунд на один запрос.
  • Ошибка запроса не останавливает сценарий: при неудаче выполнение идет дальше.

Смежные вопросы

Не нашли ответ?

Спросите ИИ-ассистента или напишите живой поддержке - поможем разобраться.