Все ноды/Integrations/HTTP & Web

HTTP-запрос

Выполняет HTTP-запрос (GET/POST/PUT/PATCH/DELETE/HEAD) и возвращает статус, заголовки и тело ответа. Поддерживает JSON/text/form-тело, bearer/basic/custom-header авторизацию, шаблонизацию URL/headers/body через Jinja. Защита от SSRF — запросы в приватные сети заблокированы.

HTTP-запрос
RunResponse

Тип в графе: http_request

Exec

Можно включить ветку ошибки (expose_error_output) и обработать сбой отдельным путём.

Как попробовать

Минимальный рабочий воркфлоу

Вход
HTTP-запрос
Выход
  • Исполнение + данные
  • Данные
Нажмите «Скопировать ноды», откройте редактор и нажмите Ctrl+V на холсте.

Запускается сразу

Как применять

Универсальный шаг к любому HTTP API, у которого нет своей ноды. Если своя нода есть — Telegram, amoCRM, Bitrix24, календарь, почта — берите её: там уже разобраны авторизация, пагинация и формат ошибок. Чтобы прочитать веб-страницу как текст для модели, есть Fetch Webpage, для MCP-сервера — MCP Tool.

Эта нода — шаг графа, а не инструмент агента: у неё нет порта tool_out, и модель вызвать её не может. Чтобы дать агенту свой HTTP-вызов, заверните его в WF-инструмент.

Как это работает

URL, заголовки, параметры запроса, тело и поля авторизации рендерятся через Jinja — можно подставлять {{ inputs.input.id }}, {{ variables.token }}, {{ secret.API_KEY }}.

Заголовки, Параметры запроса и тело типа form — это JSON-объект строкой. Невалидный JSON роняет ноду с прямым сообщением. Для методов GET и HEAD тело не отправляется, что бы в нём ни лежало.

У ноды два выхода: Success ведёт исполнение дальше, а Response отдаёт объект ответа — status_code, ok, headers, body, text, url, elapsed_ms. text — всегда сырая строка; body разбирается в JSON только если включён параметр Парсить JSON-ответ и сервер прислал Content-Type с json, иначе там та же строка.

Запросы в приватные сети и на loopback заблокированы, и каждый редирект проверяется заново. Ответ обрезается по Макс. байт ответа (по умолчанию 1 000 000, потолок 10 000 000). Таймаут по умолчанию 30 секунд, максимум 120; тариф может опустить и это.

Частые ошибки

  • Ожидание ответа на выходе Success. Значение отдаёт порт Response — тяните ребро данных от него или читайте {{ nodes.<id>.output.body }}.
  • Забытая обработка 4xx/5xx. По умолчанию Ошибка при 4xx/5xx включена:非-2xx уводит на ответ вне диапазона 2xx уводит на выход Error. Если хотите разбирать статус сами, выключите её — тогда сработает Success, а решение принимайте по ok и status_code.
  • body там, где пришёл не JSON. Сервер, отдающий text/plain с JSON внутри, оставит строку — разбирайте её сами.
  • Обрезанный ответ, принятый за ответ сервера. Большой JSON после обрезки перестаёт парситься; поднимите лимит байт.

Входы

ПортПроводДанныеПримечания
RuninputИсполнение + данныеexecute_data

Execution trigger and optional payload available in templates

Выходы

ПортПроводДанныеПримечания
ResponseoutputДанныеdataobject

Настройки

ПолеТипПо умолчаниюОписание
Имя кастомного заголовкаauth_header_namestringAuthorization

Имя заголовка для типа авторизации custom_header

показывается при auth_type = custom_header

Токен авторизации / парольauth_tokenstring""

Bearer-токен, пароль basic-авторизации или значение custom-header

секрет

показывается при auth_type = bearer | basic | custom_header

Тип авторизацииauth_typestringnone

none, bearer (токен), basic (логин+пароль), custom_header

Варианты: none, bearer, basic, custom_header

Логин для Basicauth_usernamestring""

Логин для basic-авторизации

показывается при auth_type = basic

Телоbodystring""

Тело запроса. Для 'json' — строка JSON; для 'form' — JSON-объект пар ключ/значение.

поддерживает шаблоны

показывается при body_type = json | text | form

Тип телаbody_typestringnone

none — без тела; json — JSON-payload; text — сырой текст; form — application/x-www-form-urlencoded

Варианты: none, json, text, form

Ошибка при 4xx/5xxfail_on_statusbooleantrue

Направлять на выход Error при ответах не-2xx (иначе всегда Success с ok=False)

Следовать редиректамfollow_redirectsbooleantrue

Заголовкиheadersstring""

JSON-объект заголовков запроса, напр. {"X-Foo": "bar"}

поддерживает шаблоны

Макс. байт ответаmax_response_bytesinteger1000000

Усечь тело ответа, если оно превышает этот размер

МетодmethodstringGET

HTTP-метод

Варианты: GET, POST, PUT, PATCH, DELETE, HEAD

Парсить JSON-ответparse_jsonbooleantrue

Декодировать тело ответа как JSON, когда Content-Type равен application/json

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

JSON-объект query-параметров URL, напр. {"page": 1}

поддерживает шаблоны

Таймаут (секунды)timeout_secondsnumber30

Таймаут запроса

URLurlstring""

Целевой URL (http/https). Поддерживается шаблонизация Jinja.

поддерживает шаблоны

Общие поля

Эти три поля есть у каждой ноды: платформа добавляет их сама, а не автор ноды.

  • expose_error_output — Если включено, показывает выход выполнения для подключения нод, которые запускаются при сбое этого шага.