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

HTTP-запрос

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

HTTP-запрос▶
ВходОтвет сервиса
ФайлыФайл

Тип в графе: http_request

Exec

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

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

Минимальный рабочий сценарий

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

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

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

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

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

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

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

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

У ноды два выхода: Успех ведёт исполнение дальше, а Ответ сервиса отдаёт объект ответа — 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; тариф может опустить и это.

Файлы: скачать и отправить

Скачать файл. Поставьте Ответ = «Сохранить файлом». Тело не декодируется, а сохраняется как есть в файлы пространства — в папку беседы (sessions/<беседа>/out/) или запуска (executions/<запуск>/out/), с подписью «Скачан сценарием» во вкладке «Файлы». Появляется порт Файл: подключите его к порту files ноды Сообщение, и модель получит картинку или PDF как вложение, а не как строку. Имя берётся из поля Имя файла, затем из заголовка Content-Disposition, затем из адреса. Файл больше Макс. размер файла (по умолчанию 20 МБ, потолок 50 МБ) останавливает шаг с ошибкой — обрезанный PDF не открылся бы нигде. Ответ 4xx/5xx файлом не сохраняется.

Отправить файл. Тип тела «Форма с файлами (multipart)» отправляет multipart/form-data: текстовые поля из Тела (JSON-объект) и все файлы с порта Файлы под именем из Имя поля для файлов. «Файл целиком» отправляет один файл как всё тело с его типом в Content-Type. На порт Файлы подключают скачанный файл, вложение из сообщения или результат Записать XLSX — у нод записи есть такой же порт Файл. Свой Content-Type для multipart не задавайте: граница формы ставится автоматически.

Сохранённые файлы учитываются в квоте файлов тарифа и хранятся, пока их не удалят во вкладке «Файлы».

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

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

Входы

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

Запускает шаг и приносит значение, доступное в шаблонах.

ФайлыfilesДанныеdatafile

Файлы для отправки: поля формы для «Формы с файлами», всё тело для «Файла целиком». Подключите скачанный файл, записанную таблицу или вложение.

показывается, когда body_type = "multipart" или "file"

Выходы

ПортПроводДанныеПримечания
Ответ сервисаoutputДанныеdataobject
ФайлfileДанныеdatafile

показывается, когда response_format = "file"

Настройки

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

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

показывается при «Тип авторизации» = Свой заголовок

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

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

секрет

показывается при «Тип авторизации» = Токен (Bearer) | Логин и пароль | Свой заголовок

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

Как запрос авторизуется. Значение вводится в поле ниже.

Варианты: none — Нет, bearer — Токен (Bearer), basic — Логин и пароль, custom_header — Свой заголовок

Логин для Basicauth_usernamestring""

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

показывается при «Тип авторизации» = Логин и пароль

Телоbodystring""

Тело запроса. Для 'json' — строка JSON; для формы и формы с файлами — JSON-объект пар ключ/значение, они уходят текстовыми полями.

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

показывается при «Тип тела» = JSON | Обычный текст | Форма | Форма с файлами (multipart)

Тип телаbody_typestringnone

Что несёт запрос. «Форма» — application/x-www-form-urlencoded; «Форма с файлами» — multipart/form-data с файлами из порта «Файлы»; «Файл целиком» — один файл из порта «Файлы» как всё тело.

Варианты: none — Без тела, json — JSON, text — Обычный текст, form — Форма, multipart — Форма с файлами (multipart), file — Файл целиком

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

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

Имя поля для файловfile_fieldstringfile

Поле формы, под которым уходят файлы из порта «Файлы». Несколько файлов повторяют одно и то же поле.

показывается при «Тип тела» = Форма с файлами (multipart)

Имя файлаfile_namestring""

Под каким именем сохранить скачанный файл. Пусто — из заголовка Content-Disposition, затем из адреса.

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

показывается при «Ответ» = Сохранить файлом

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

Переходить по переадресации на адрес, который называет сервер.

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

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

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

Макс. размер файла (байт)max_file_bytesinteger20000000

Файл больше этого размера останавливает шаг с ошибкой, а не сохраняется обрезанным.

показывается при «Ответ» = Сохранить файлом

Макс. байт ответа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}

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

Ответresponse_formatstringtext

Текст — тело декодируется и доступно как body/text. Файл — тело сохраняется в файлы пространства как есть и уходит дальше через порт «Файл»: так скачивают PDF, картинку или таблицу.

Варианты: text — Текст, file — Сохранить файлом

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

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

URLurlstring""

Целевой URL (http/https). Поддерживаются шаблоны {{ }}.

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

Дополнительно
Проксиproxy_urlstring""

Отправить запрос через прокси: http://, https://, socks5:// или socks5h:// (логин и пароль можно указать в адресе). Пусто — напрямую. Маршрут платформы сюда не подставляется: адреса здесь выбираете вы, значит и маршрут ваш.

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

Общие поля

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

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

Готовые примеры с этой нодой