Skip to content

Ноды (Nodes)

Ноды — это строительные блоки ваших воркфлоу. Каждая нода выполняет определенное действие.

Категории нод

Core Nodes (Основные)

Встроенные ноды для базовых операций.

HTTP Request

Выполнение HTTP запросов к API.

Параметры:

  • Method: GET, POST, PUT, DELETE, PATCH
  • URL: адрес endpoint
  • Authentication: Basic, OAuth, API Key
  • Headers: дополнительные заголовки
  • Body: данные для отправки

Пример:

json
{
  "method": "GET",
  "url": "https://api.github.com/users/octocat",
  "headers": {
    "Accept": "application/json"
  }
}

Code (Function)

Выполнение JavaScript или Python кода.

JavaScript пример:

javascript
// Доступ к входным данным
const items = $input.all();

// Обработка
const processed = items.map(item => ({
  ...item.json,
  timestamp: new Date().toISOString(),
  processed: true
}));

return processed;

Python пример:

python
import json

# Обработка данных
for item in _input.all():
    item['timestamp'] = datetime.now().isoformat()
    
return _input.all()

Set

Создание или изменение данных.

Режимы:

  • Manual Mapping: ручное указание полей
  • Keep Key Matches: фильтрация полей
  • Remove Key Matches: удаление полей

IF

Условная логика для ветвления воркфлоу.

Условия:

  • String: содержит, равен, начинается с
  • Number: больше, меньше, равен
  • Boolean: true/false
  • Date: до, после, между

Пример:

IF ({{ $json.status }} === "active") 
  → true → Continue processing
  → false → Send notification

Trigger Nodes (Триггеры)

Schedule Trigger

Запуск по расписанию.

Режимы:

  • Interval: каждые N секунд/минут/часов
  • Cron: cron выражение
  • Every X: каждый день/неделю/месяц

Webhook Trigger

Прием HTTP запросов.

Настройка:

  • Path: уникальный путь вебхука
  • Method: GET, POST, etc.
  • Response: что вернуть после обработки

Manual Trigger

Ручной запуск для тестирования.

Integration Nodes (Интеграции)

Google Sheets

Работа с Google таблицами.

Операции:

  • Append: добавить строки
  • Update: обновить строки
  • Read: прочитать данные
  • Delete: удалить строки

PostgreSQL / MySQL

Работа с базами данных.

Операции:

  • Execute Query: выполнить SQL запрос
  • Insert: вставить данные
  • Update: обновить данные
  • Delete: удалить данные

Discord / Slack / Telegram

Отправка сообщений в мессенджеры.

Возможности:

  • Отправка текста и файлов
  • Форматирование markdown
  • Упоминания пользователей
  • Кнопки и interactive элементы

Работа с данными в нодах

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

Доступ к данным из предыдущих нод:

javascript
// Текущая нода
{{ $json.fieldName }}

// Конкретная нода
{{ $node["Node Name"].json.field }}

// Все элементы
{{ $input.all() }}

// Первый элемент
{{ $input.first() }}

// Последний элемент
{{ $input.last() }}

Выражения

JavaScript выражения

javascript
// Дата и время
{{ new Date().toISOString() }}
{{ new Date().getTime() }}

// Строки
{{ $json.name.toUpperCase() }}
{{ $json.text.replace("old", "new") }}

// Числа
{{ $json.price * 1.2 }}
{{ Math.round($json.value) }}

// Массивы
{{ $json.items.length }}
{{ $json.items.map(x => x.name).join(", ") }}

Встроенные функции

javascript
// $jmespath - фильтрация данных
{{ $jmespath($json, "items[?price > 100]") }}

// $now - текущее время
{{ $now.toISO() }}

// $today - сегодняшняя дата
{{ $today.toFormat("yyyy-MM-dd") }}

Настройка нод

Общие параметры

Always Output Data: выводить данные даже при ошибке

Continue On Fail: продолжать выполнение при ошибке

Retry On Fail: повторить попытку при ошибке

  • Max Tries: количество попыток
  • Wait Between Tries: задержка между попытками

Режимы выполнения

Run Once for All Items: обработать все элементы сразу

Run Once for Each Item: обработать каждый элемент отдельно

Создание пользовательских нод

Если встроенных нод недостаточно, можно создать свою:

  1. Используйте Code ноду для простых случаев
  2. Используйте HTTP Request для API интеграций
  3. Создайте npm пакет для сложных нод

Полезные комбинации нод

Получение и сохранение данных

Schedule → HTTP Request → PostgreSQL (Insert)

Обработка с условиями

Webhook → IF → [true: Process, false: Ignore]

Агрегация данных

Trigger → Loop Over Items → Code (aggregate) → Send Result

Обработка ошибок

Main Flow → (Error) → Error Trigger → Notify Admin

Следующие шаги

Документация n8n