Все ноды/Integrations/HTTP & Web
HTTP-запрос
Выполняет HTTP-запрос (GET/POST/PUT/PATCH/DELETE/HEAD) и возвращает статус, заголовки и тело ответа. Поддерживает JSON/text/form-тело, форму с файлами (multipart) и файл целиком, bearer/basic/custom-header авторизацию, шаблоны {{ }} в URL/headers/body. Ответ можно сохранить файлом в файлы пространства и передать дальше через порт «Файл». Защита от SSRF — запросы в приватные сети заблокированы.
Тип в графе: http_request
Exec
Можно включить выход ошибки и обработать сбой отдельным путём.
Как попробовать
Минимальный рабочий сценарий
- Исполнение + данные
- Данные
Запускается сразу
Как применять
Универсальный шаг к любому 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 | Данныеdata | file | Файлы для отправки: поля формы для «Формы с файлами», всё тело для «Файла целиком». Подключите скачанный файл, записанную таблицу или вложение. показывается, когда body_type = "multipart" или "file" |
Выходы
| Порт | Провод | Данные | Примечания |
|---|---|---|---|
Ответ сервисаoutput | Данныеdata | object | |
Файлfile | Данныеdata | file | показывается, когда response_format = "file" |
Настройки
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
Имя своего заголовкаauth_header_name | string | Authorization | Имя заголовка для типа авторизации custom_header показывается при «Тип авторизации» = Свой заголовок |
Токен авторизации / парольauth_token | string | "" | Bearer-токен, пароль basic-авторизации или значение custom-header секрет показывается при «Тип авторизации» = Токен (Bearer) | Логин и пароль | Свой заголовок |
Тип авторизацииauth_type | string | none | Как запрос авторизуется. Значение вводится в поле ниже. Варианты: |
Логин для Basicauth_username | string | "" | Логин для basic-авторизации показывается при «Тип авторизации» = Логин и пароль |
Телоbody | string | "" | Тело запроса. Для 'json' — строка JSON; для формы и формы с файлами — JSON-объект пар ключ/значение, они уходят текстовыми полями. поддерживает шаблоны показывается при «Тип тела» = JSON | Обычный текст | Форма | Форма с файлами (multipart) |
Тип телаbody_type | string | none | Что несёт запрос. «Форма» — application/x-www-form-urlencoded; «Форма с файлами» — multipart/form-data с файлами из порта «Файлы»; «Файл целиком» — один файл из порта «Файлы» как всё тело. Варианты: |
Ошибка при 4xx/5xxfail_on_status | boolean | true | Направлять на выход Error при ответах не-2xx (иначе всегда Success с ok=False) |
Имя поля для файловfile_field | string | file | Поле формы, под которым уходят файлы из порта «Файлы». Несколько файлов повторяют одно и то же поле. показывается при «Тип тела» = Форма с файлами (multipart) |
Имя файлаfile_name | string | "" | Под каким именем сохранить скачанный файл. Пусто — из заголовка Content-Disposition, затем из адреса. поддерживает шаблоны показывается при «Ответ» = Сохранить файлом |
Следовать редиректамfollow_redirects | boolean | true | Переходить по переадресации на адрес, который называет сервер. |
Заголовкиheaders | string | "" | JSON-объект заголовков запроса, напр. {"X-Foo": "bar"} поддерживает шаблоны |
Макс. размер файла (байт)max_file_bytes | integer | 20000000 | Файл больше этого размера останавливает шаг с ошибкой, а не сохраняется обрезанным. показывается при «Ответ» = Сохранить файлом |
Макс. байт ответаmax_response_bytes | integer | 1000000 | Усечь тело ответа, если оно превышает этот размер показывается при «Ответ» = Текст |
Методmethod | string | GET | HTTP-метод Варианты: |
Разбирать JSON-ответparse_json | boolean | true | Декодировать тело ответа как JSON, когда Content-Type равен application/json показывается при «Ответ» = Текст |
Параметры запросаquery_params | string | "" | JSON-объект query-параметров URL, напр. {"page": 1} поддерживает шаблоны |
Ответresponse_format | string | text | Текст — тело декодируется и доступно как body/text. Файл — тело сохраняется в файлы пространства как есть и уходит дальше через порт «Файл»: так скачивают PDF, картинку или таблицу. Варианты: |
Таймаут (секунды)timeout_seconds | number | 30 | Таймаут запроса |
URLurl | string | "" | Целевой URL (http/https). Поддерживаются шаблоны {{ }}. поддерживает шаблоны |
| Дополнительно | |||
Проксиproxy_url | string | "" | Отправить запрос через прокси: http://, https://, socks5:// или socks5h:// (логин и пароль можно указать в адресе). Пусто — напрямую. Маршрут платформы сюда не подставляется: адреса здесь выбираете вы, значит и маршрут ваш. поддерживает шаблоны |
Общие поля
Эти три поля есть у каждой ноды: платформа добавляет их сама, а не автор ноды.
expose_error_output— Если включено, показывает выход выполнения для подключения нод, которые запускаются при сбое этой ноды.