Перейти к основному содержимому

HTTP

Нода HTTP выполняет HTTP-запрос к внешнему API и возвращает результат. Поддерживает все основные HTTP-методы, пользовательские заголовки и тело запроса с подстановкой переменных.

Назначение

  • Интеграция с внешними REST API
  • Отправка данных на вебхуки
  • Получение данных из внешних сервисов
  • Обновление записей через API

Настройки

URL

Адрес API-эндпоинта. Поддерживает подстановку переменных:

https://api.example.com/users/{{input.user_id}}
https://api.weather.com/forecast?city={{input.city}}

Метод HTTP

Выберите HTTP-метод из списка:

  • GET -- получение данных
  • POST -- создание ресурса
  • PUT -- полное обновление ресурса
  • PATCH -- частичное обновление ресурса
  • DELETE -- удаление ресурса

Заголовки (Headers)

Список пар «ключ-значение» для HTTP-заголовков. Значения поддерживают подстановку переменных:

КлючЗначение
Content-Typeapplication/json
AuthorizationBearer {{input.api_token}}
X-Custom-Header{{node_1.header_value}}

Тело запроса (Body)

Текстовое поле для тела запроса (используется для POST, PUT, PATCH). Поддерживает подстановку переменных:

{
"name": "{{input.name}}",
"email": "{{input.email}}",
"data": {{lastOutput}}
}

Входные данные

Нода получает данные от предыдущей ноды, которые доступны через переменные для подстановки в URL, заголовки и тело запроса.

Выходные данные

Результат в формате:

{
"status": 200,
"method": "GET",
"url": "https://api.example.com/data",
"data": { "ответ": "от API" },
"headers": { "content-type": "application/json" }
}

Если API возвращает JSON, поле data содержит распарсенный объект. Если ответ не является JSON, data содержит текст ответа.

Подключения

  • Вход: один вход (слева)
  • Выход: один выход output (справа)
Обработка ошибок

HTTP-нода выбрасывает ошибку при получении кодов 4xx и 5xx. Если вам нужно обработать ошибки API, используйте комбинацию из ноды HTTP внутри конструкции с обработкой ошибок или разместите её внутри ноды Функция с try/catch.

Тайм-аут

Тайм-аут HTTP-запроса составляет 30 секунд. Если сервер не ответит за это время, нода завершится с ошибкой тайм-аута.

Подстановка переменных

Все поля (URL, заголовки, тело) поддерживают синтаксис {{переменная}}:

ПеременнаяЧто подставляется
{{input}}Полные входные данные
{{input.field}}Поле из входных данных
{{lastOutput}}Результат предыдущей ноды
{{node_2}}Результат ноды с ID node_2

Примеры использования

GET-запрос к API

URL: https://api.openweathermap.org/data/2.5/weather?q={{input.city}}&appid={{input.api_key}}
Метод: GET

POST-запрос с данными

URL: https://hooks.slack.com/services/xxx
Метод: POST
Заголовки: Content-Type: application/json
Тело:
{
"text": "Новый заказ от {{input.name}}: {{lastOutput}}"
}

PUT-запрос на обновление

URL: https://api.crm.com/contacts/{{input.contact_id}}
Метод: PUT
Заголовки:
Content-Type: application/json
Authorization: Bearer {{input.token}}
Тело:
{
"status": "processed",
"result": {{node_3}}
}
Цепочка HTTP-запросов

Соедините несколько HTTP-нод последовательно для реализации сложных интеграционных сценариев. Результат каждой ноды доступен следующей через {{lastOutput}} или по ID ноды.