Условные операторы IF и Switch в n8n
📌 Введение
В автоматизации важно принимать решения на каждом этапе процесса. Например:
- Если заявка от VIP-клиента → отправить менеджеру.
- Если товар есть в наличии → сформировать заказ, иначе → отправить уведомление.
- Если сумма заказа больше 10 000 → предложить скидку.
В n8n для этого есть условные операторы: IF (простая проверка) и Switch (выбор из нескольких вариантов). Они позволяют разветвлять логику, отправляя данные по разным путям в зависимости от условий.
🔹 IF: Простая проверка условия
IF — это базовый условный оператор. Он проверяет одно или несколько условий и разделяет поток на:
✔ True (да) – если условие выполнено.
❌ False (нет) – если не выполнено.
📌 Как работает IF?
1️⃣ Добавляем IF Node в сценарий.
2️⃣ Выбираем поле для проверки (например, "сумма заказа").
3️⃣ Настраиваем условие (например, сумма > 10000).
📌 Пример 1: Проверка суммы заказа
Допустим, у нас есть интернет-магазин. Если сумма заказа больше 10 000, клиенту даётся скидка.
├──> (true) Добавить скидку 10%
└──> (false) Оставить цену без изменений
📌 Пример 2: Фильтрация заявок по статусу
Если заявка поступила от горячего клиента, сразу отправляем её менеджеру.
IF: статус == "горячий клиент"
├──> (true) Отправить заявку менеджеру
└──> (false) Добавить в базу на прогрев
🔹 Switch: Выбор из нескольких вариантов
Switch похож на IF, но позволяет задавать несколько условий сразу и выбирать разные пути.
📌 Как работает Switch?
2️⃣ Выбираем поле (например, "тип объекта").
3️⃣ Задаём разные условия (например, если "квартира" – одно действие, если "дом" – другое).
4️⃣ В зависимости от значения данные идут по нужному пути.
📌 Пример 3: Разные процессы для разных типов недвижимости
├──> "Квартира" → Отправить список квартир
├──> "Дом" → Отправить список домов
├──> "Коммерческая недвижимость" → Отправить коммерческие объекты
└──> (default) Сообщить, что не нашли подходящий вариант
📌 Пример 4: Обработка заказов в магазине
├──> "Курьер" → Создать курьерскую доставку
├──> "Самовывоз" → Отправить сообщение клиенту
├──> "Почта" → Распечатать накладную
└──> (default) Уточнить способ доставки
🔹 Switch удобнее, чем IF, если вариантов больше двух.
🔄 IF vs Switch: когда что использовать?
Если нужно просто проверить да/нет, то подходит IF.
Если нужно выбрать между несколькими вариантами, используем Switch.
- IF: Проверить, оплачен ли заказ – если да, отправить товар, если нет – напомнить о платеже.
- Switch: Проверить способ доставки – если самовывоз, отправить сообщение клиенту, если почта – создать накладную.
Switch удобен, когда у нас 3 и более вариантов, а IF – для бинарных решений.
Можно комбинировать IF и Switch, например, сначала Switch определяет категорию клиента, а потом IF проверяет, готов ли он к покупке.
📌 Часто задаваемые вопросы (FAQ)
1️⃣ Можно ли использовать IF с несколькими условиями?
Да! Можно проверять несколько параметров сразу (например, сумма заказа и регион доставки).
IF: (сумма > 5000) И (регион == "Москва")
├──> (true) Бесплатная доставка
└──> (false) Доставка по стандартному тарифу
2️⃣ Как сделать так, чтобы Switch проверял сразу несколько полей?
Можно добавить несколько Switch Nodes подряд.
1️⃣ Первый Switch проверяет тип клиента (физлицо или компания).
2️⃣ Второй Switch проверяет способ доставки.
├──> "Физлицо" → Switch (Способ доставки)
├──> "Компания" → Оформить корпоративный заказ
3️⃣ Что делать, если нужно учитывать несколько значений в Switch?
Можно использовать режим "Contains" (например, если категория товара содержит "электроника" или "гаджеты").
📌 Вывод
✔ IF – идеален для простых проверок (да/нет).