Условия — это мозг любого сценария: именно они решают, сработает правило или нет. А ветвления позволяют пустить разные заказы по разным маршрутам. Разберём, как строить логику так, чтобы автоматизация была точной и предсказуемой.
Как работают условия
Условие — это проверка одного или нескольких параметров заказа, клиента или события. Триггер выполняет действия только тогда, когда набор условий даёт «истину». Каждое условие описывается тройкой: поле → оператор → значение.
Примеры:
Сумма заказа > 10000— крупные заказы;Способ оплаты = Наложенный платёж— постоплата;Статус изменился на «Согласование»— реакция на переход.
Логика И / ИЛИ
Когда условий несколько, важно, как они объединяются. RetailCRM позволяет комбинировать проверки по логике И (все условия должны выполниться) и ИЛИ (достаточно одного).
| Логика | Смысл | Пример |
|---|---|---|
| И | Срабатывает, если верны ВСЕ условия | Предоплата И сумма > 5000 |
| ИЛИ | Срабатывает, если верно хотя бы одно | Канал = Ozon ИЛИ канал = Wildberries |
Сложную логику лучше разбивать на несколько простых триггеров, чем городить одно правило с десятком вложенных условий — так его проще читать и отлаживать.
По каким полям фильтровать
Условия можно строить на данных заказа, клиента и контекста события. Наиболее востребованные поля:
- По заказу: статус, сумма, состав, способ оплаты и доставки, склад, источник, менеджер;
- По клиенту: сегмент, город, количество заказов, сумма покупок, тип (новый / постоянный);
- По событию: какое поле изменилось, старое и новое значение статуса;
- По товарам: наличие конкретного товара, категории или бренда в заказе.
Именно проверка старого и нового значения статуса — ключ к корректным переходам: она позволяет реагировать именно на смену, а не на любое изменение заказа.
Ветвления: разные маршруты для разных заказов
Ветвление — это разделение потока заказов по условиям на отдельные маршруты. В RetailCRM ветвления реализуют не «деревом» внутри одного правила, а набором триггеров с взаимоисключающими условиями.
Например, обработку по способу оплаты разбивают на два сценария:
- Триггер А:
оплата = предоплата→ статус «Ожидает оплаты», уведомление со ссылкой; - Триггер Б:
оплата = при получении→ статус «В комплектацию», задача на сборку.
Условия на основе сегментов
Мощный приём — использовать в условиях динамические сегменты клиентов. Сегмент собирает клиентов по правилам (например, «покупали 3+ раза за год»), а триггер проверяет принадлежность заказа клиенту из сегмента.
Это позволяет строить персонализированную логику:
- Постоянным клиентам — приоритетная обработка и особый менеджер;
- Новым — расширенное согласование и приветственная цепочка;
- Уходящим (по RFM) — реактивационные предложения.
Сегменты пересчитываются автоматически, поэтому один и тот же сценарий адаптируется под меняющуюся базу без ручного вмешательства.
Типичные ошибки в условиях
Большинство проблем автоматизации — это ошибки в логике условий, а не в действиях. На что смотреть:
| Ошибка | Последствие | Решение |
|---|---|---|
| Нет проверки исходного статуса | Зацикливание триггера | Указать «из какого статуса» |
| Пересекающиеся ветви | Конфликт действий | Взаимоисключающие условия |
| Слишком широкий фильтр | Правило бьёт по всему потоку | Добавить канал/источник/сумму |
| Логика И вместо ИЛИ | Правило не срабатывает никогда | Проверить объединение условий |
Итог
Условия определяют, когда сценарий сработает, а ветвления — набор взаимоисключающих правил — направляют заказы по нужным маршрутам. Ключевые принципы: проверять смену статуса через старое и новое значение, делать ветви непересекающимися и опираться на сегменты для персонализации.
Мы в B2Bsite проектируем логику автоматизации так, чтобы правила не конфликтовали и легко читались спустя месяцы. Если условия в ваших сценариях разрослись и запутались — поможем навести порядок и упростить схему.
Частые вопросы
Как объединять несколько условий в одном правиле?
По логике И (нужны все условия) или ИЛИ (достаточно одного). Сложные комбинации лучше разбивать на несколько простых триггеров.
Можно ли сделать ветвление внутри одного сценария?
В RetailCRM ветвления строят набором триггеров с взаимоисключающими условиями, а не деревом внутри одного правила. Так логика остаётся прозрачной.
Почему сценарий не срабатывает ни на одном заказе?
Частая причина — слишком строгая логика И или противоречивые условия. Проверьте, что все проверки одновременно выполнимы.
Как реагировать именно на смену статуса?
Используйте проверку старого и нового значения статуса. Это отличает реальный переход от любого другого изменения заказа.
Можно ли фильтровать по сегменту клиента?
Да, условие может проверять принадлежность клиента динамическому сегменту. Сегменты пересчитываются автоматически, и логика адаптируется под базу.
Что будет, если два триггера сработают на одном заказе?
Выполнятся оба, что может привести к конфликту статусов. Поэтому условия ветвей делают взаимоисключающими.
Пересчитывается ли условие, если данные изменятся позже?
Нет, условия проверяются в момент события. Для реакции на новые изменения нужно соответствующее событие-триггер.
Поможем с настройкой и поддержкой RetailCRM
Поможем с настройкой, доработкой и поддержкой RetailCRM.