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-Type | application/json |
Authorization | Bearer {{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-нод последовательно для реализации сложных интеграционных сценариев. Результат каждой ноды доступен следующей через {{lastOutput}} или по ID ноды.