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

Core Nodes

Основные ноды n8n — HTTP Request, Code, Set, IF, Merge

Универсальная нода для работы с любыми API.

ПараметрОписание
MethodHTTP метод
URLEndpoint URL
AuthenticationТип авторизации
Send Query ParametersURL параметры
Send HeadersHTTP заголовки
Send BodyТело запроса
Method: GET
URL: https://api.example.com/users
Query Parameters:
- page: 1
- limit: 10

Автоматическая обработка пагинации:

РежимОписание
Update ParameterУвеличивать параметр (page++)
Response ContainsИспользовать cursor из ответа
  • Retry On Fail: количество повторов
  • Wait Between Tries: пауза (мс)

Выполнение произвольного кода.

// Доступ к данным
const items = $input.all();
// Обработка
const results = items.map(item => ({
json: {
...item.json,
processed: true,
timestamp: new Date().toISOString()
}
}));
return results;
# Доступ к данным
items = _input.all()
# Обработка
for item in items:
item['json']['processed'] = True
item['json']['timestamp'] = datetime.now().isoformat()
return items
ОбъектОписание
$inputВходные данные
$jsonJSON текущего item
$binaryBinary данные
$envПеременные окружения
$varsГлобальные переменные
$('Node')Данные из другой ноды

Использование npm пакетов:

const moment = require('moment');
const _ = require('lodash');
return items.map(item => ({
json: {
date: moment(item.json.date).format('DD.MM.YYYY'),
sorted: _.sortBy(item.json.items, 'name')
}
}));

Создание и модификация данных.

РежимОписание
Manual MappingРучное задание полей
JSONВвод JSON напрямую
Fields:
- Name: fullName
Value: {{ $json.firstName }} {{ $json.lastName }}
- Name: createdAt
Value: {{ $now.toISOString() }}
Options:
- Keep Only Set: false
- Include Other Input Fields: true
{
"userId": "{{ $json.id }}",
"status": "processed",
"metadata": {
"source": "n8n",
"timestamp": "{{ $now }}"
}
}

Условное ветвление.

ТипОператоры
Stringequals, contains, starts with, ends with, regex
Number=, !=, <, >, <=, >=
Booleanis true, is false
Generalexists, is empty, is not empty
Conditions:
{{ $json.status }} equals "active"
AND
{{ $json.age }} is greater than 18
Combine: AND
  • True branch: условие выполнено
  • False branch: условие не выполнено

Множественное ветвление.

Rules:
1. {{ $json.type }} equals "email" → Output 0
2. {{ $json.type }} equals "sms" → Output 1
3. {{ $json.type }} equals "push" → Output 2
Fallback: Output 3
// Возвращает индекс выхода
switch($json.priority) {
case 'high': return 0;
case 'medium': return 1;
default: return 2;
}

Объединение данных из нескольких входов.

РежимОписание
AppendСклеить items
CombineОбъединить по индексу
MultiplexВсе комбинации
Choose BranchВыбрать один поток
Mode: Combine
Merge By: Fields
Field Input 1: userId
Field Input 2: id
Join Mode: Inner Join

Разбиение на пакеты.

ПараметрОписание
Batch SizeРазмер пакета
OptionsReset on each run

Явный цикл по items.

ПараметрОписание
Batch SizeItems за итерацию
Loop CountОграничение итераций
  • Loop: следующая итерация
  • Done: цикл завершён

Пауза в выполнении.

РежимОписание
After Time IntervalПауза на N секунд/минут
At Specific TimeПродолжить в указанное время
On Webhook CallЖдать webhook

Фильтрация items по условию.

Condition: {{ $json.status }} equals "active"

Результат: только items с status === "active".

Удаление дубликатов.

ПараметрОписание
CompareПоле для сравнения
ActionKeep first / Keep last

Сортировка items.

ПараметрОписание
Sort ByПоле сортировки
OrderAscending / Descending
TypeString / Number / Date

Ограничение количества items.

ПараметрОписание
Max ItemsМаксимум items
KeepFirst / Last