Сквозной проект: обработка заявки

Маршрутизация и сохранение результата

Содержание курса

Сохранение обеих категорий в Data Table

Data Table — это встроенное хранилище n8n, удобное для прототипирования и учебных сценариев: никакой внешней базы данных подключать не нужно, результаты видны прямо внутри workflow.

Чтобы записать строку в таблицу, узел Data Table нужно настроить так:

  • Resource: Row
  • Operation: Insert
  • Table: выбрать нужную таблицу из выпадающего списка
  • Map Automatically: включить

При включённом Map Automatically узел сам сопоставляет поля item с колонками таблицы по именам. Если имена совпадают — данные ложатся в нужные ячейки без ручного маппинга. Если структура item отличается от структуры таблицы, маппинг придётся настраивать вручную.

Перед тем как подключать узлы, нужно создать сами таблицы. Это делается в разделе Data tables в боковом меню n8n:

  1. Создать таблицу priority_requests с колонками name, priority, email.

  2. Создать таблицу regular_requests с теми же колонками.

Теперь — подключение. К ветке true маршрутизирующего IF подключается узел Data Table, настроенный на priority_requests. К ветке false — отдельный узел Data Table на regular_requests. Это два независимых узла, каждый со своей таблицей. Каждый item проходит только через одну ветку, поэтому дублирования не будет: приоритетная заявка попадёт только в priority_requests, обычная — только в regular_requests.

Как это выглядит на конкретных данных. Workflow получает два item:

{ "name": "Иван", "priority": "Срочно", "email": "ivan@example.com" }
{ "name": "Мария", "priority": "Обычная", "email": "maria@example.com" }

Узел IF проверяет {{ $json.priority === 'Срочно' }}:

  • Иван → ветка true → Data Table priority_requests → в таблице появляется строка с его данными.
  • Мария → ветка false → Data Table regular_requests → в таблице появляется строка с её данными.

После тестового запуска в Output каждого узла Data Table видна ровно одна строка. Именно это нужно проверять: если в priority_requests нет ни одной записи при заявке со значением 'Срочно' — скорее всего, ветка IF подключена неправильно или имена колонок в таблице не совпадают с именами полей item.

Разветвление заявок по приоритету и сохранение в Data Table

Разветвление заявок по приоритету и сохранение в Data Table.