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

Правила автоматизации

5 мин чтения

Правило — это способ поручить системе то, что иначе делает человек и забывает: вернуть зависший заказ в общую очередь, написать клиенту при отправке, снять с оператора просроченный перезвон. В LeadVertex такая автоматика раскидана по трём местам, и понять, почему заказ переехал, нельзя, не обойдя все три. Здесь правила лежат одним списком, а рядом — журнал срабатываний.

Повод, условия, действия

НастройкиПравила

Модель одна на все сценарии. Повод будит правило: произошло событие с заказом. Условия решают, подходит ли именно этот заказ. Действия выполняются сверху вниз. Если условий нет, правило сработает на каждом таком событии — иногда это ровно то, что нужно, но чаще признак недоделанного правила.

Настройки → Правила → Новое правило

Название

Зависшие в обработке — вернуть в общий пул

Повод

Заказ висит в статусе

Ждать1440мин (1 дн)

Условия

выполняются все сразу; «или» — это второе правило+ Условие
СтатусравноОбработка
Операторзаполнено
Сумма заказабольше или равно1000сом

Действия

+ Действие
Снять с оператораЗаказ вернётся в общий пул вместе с перезвоном
Дописать комментарийСутки без движения — вернули в общую очередь
Один раз на заказДля повода по времени иначе нельзя
Реагировать на автоматикуВидит изменения других правил. Так делают цепочки — и петли
Остановить остальныеСледующие правила этого повода пропускаются
Правило включеноВыключенное остаётся в списке, но не срабатывает
Повод будит правило, условия решают, подходит ли заказ, действия выполняются сверху вниз. Условия соединяются только через «и»: «или» — это второе правило. Переключатели снизу отвечают за повторы и за то, видит ли правило работу других правил.

Поводы

ПоводКогда просыпается
Заказ созданЗаявка попала в систему любым способом: с лендинга, по ключу приёма, из импорта.
Сменился статусЛюбая смена статуса. Доступно условие на предыдущий статус.
Сменилась группа статусовЗаказ перешёл между группами — например, из работы в отправленные. Реже шумит, чем «сменился статус».
Изменился состав заказаОператор добавил или убрал товар, изменилась сумма.
Назначен перезвонОператор или другое правило поставили время следующего звонка.
Заказ висит в статусеЗаказ не двигается дольше заданного времени.

У повода Заказ висит в статусе появляется поле Ждать в минутах — рядом система переводит его в часы и дни, чтобы 2880 не пришлось считать в голове. Проход по таким правилам идёт раз в пять минут, поэтому «ждать 60» на практике означает от 60 до 65 минут. Это единственный повод, который система проверяет сама, без события: остальные привязаны к действиям людей.

Условия

Набор полей закрытый, и это осознанно: «любое поле заказа» выглядит гибче, но правило, сравнивающее выплату вебмастеру с адресом, не нужно никому, а объяснять, почему оно не сработало, придётся.

  • Статус заказаСтатус, Группа статусов, Предыдущий статус (только для поводов по смене статуса), Часов в статусе, Часов с создания.
  • Деньги и составСумма заказа, Единиц в заказе, Товар в заказе.
  • Люди и источникОператор, Вебмастер, Поток, Источник заказа, UTM source.
  • География и доставкаГород, Область, Трек-номер, Служба доставки.
  • ПрочееПохожих заказов по телефону, Назначен перезвон и Произвольное поле из реестра полей заказа.

Сравнения предлагаются те, что имеют смысл для поля: у числа — больше, больше или равно, меньше, меньше или равно; у текста — содержит и не содержит; у списков — один из и ни один из. Сравнения пусто и заполнено поля ввода не требуют — «город больше Оша» в редакторе просто не собрать.

Действия

ДействиеЧто произойдёт
Перевести в статусОбычная смена статуса со всеми последствиями: запись в истории, свои правила, автоотправка.
Назначить оператораЗаказ закрепляется за конкретным человеком.
Снять с оператораЗаказ вернётся в общий пул вместе с перезвоном.
Назначить перезвонЧерез указанное число минут. Ответственным останется текущий оператор.
Отправить сообщение клиентуПо готовому шаблону — тому же, что и при входе в статус.
Дописать комментарийТекст в ленту заказа, можно с подстановками вида {track}.
Записать произвольное полеЗначение в поле из реестра полей заказа — так помечают заказы для фильтра.
Сообщить в TelegramУведомление администраторам, не клиенту.

Больше десяти действий в одном правиле сохранить нельзя — это верный признак того, что правил должно быть два. Статус, оператор и шаблон проверяются при сохранении: правило со ссылкой на удалённый статус упало бы уже на живом заказе, в фоне, где ошибку никто не увидит. Если одно действие всё же не выполнилось, остальные правила не страдают, а смена статуса не откатывается — ошибка уходит в журнал.

Флаги и порядок

ПереключательЗачем
Один раз на заказПовторно по этому заказу правило не сработает. Для повода по времени включён принудительно: иначе заказ дёргался бы каждые пять минут, пока не уедет из статуса.
Реагировать на автоматикуПравило видит изменения, сделанные другими правилами. Так собираются цепочки — и так же появляются петли.
Остановить остальныеСледующие правила этого повода пропускаются. Полезно для правил-исключений, поставленных выше общих.
Правило включеноВыключенное остаётся в списке со всей настройкой, но не срабатывает.
Настройки → Правила
ПравилоКогдаЧто делаетСработало

Трек клиенту при отправке

один раз на заказ

Сменилась группа статусов

  • Группа статусов равно Отправлен
  • Трек-номер заполнено
  • Отправить сообщение клиенту: Уведомление об отправке
1 284

Недозвон трижды — в отказ

один раз на заказ

Заказ висит в статусе 2880 мин

  • Статус равно Недозвон
  • Часов в статусе больше 48
  • Перевести в статус: Отменён
  • Дописать комментарий: «Двое суток без ответа»
312

Зависшие в обработке

один раз на заказ · останавливает остальные

Заказ висит в статусе 1440 мин

  • Статус равно Обработка
  • Оператор заполнено
  • Снять с оператора
  • Дописать комментарий
96

Последние срабатывания

  • 10.08 14:31Трек клиенту при отправкезаказ #10498отправлено сообщение
  • 10.08 13:02Зависшие в обработкезаказ #10322снят с оператора, комментарий
  • 10.08 12:44Дорогой заказ — метказаказ #10480записано поле «Проверить адрес»
Правила лежат одним списком в том порядке, в котором выполняются, и рядом видно, сколько раз каждое сработало: ноль у боевого правила означает, что условия не сходятся ни на одном заказе. Ниже журнал — без него автоматика необъяснима: заказ переехал, а кто его переместил, непонятно.

Порядок в списке — это порядок выполнения для правил одного повода; меняется он стрелками. Важно, что все правила одного события судят о заказе по тому, каким его застало событие. Иначе первое же правило, сменившее статус, подняло бы следующие в обход запрета реагировать на автоматику, и порядок правил начал бы тихо менять их смысл.

От петель защищают два механизма. Первый — выключенное по умолчанию Реагировать на автоматику. Второй — потолок в 12 срабатываний по одному заказу за минуту: два правила, которым разрешили отвечать друг другу, упрутся в него и остановятся. Достигнутый потолок всегда означает ошибку настройки, но чинить её будет человек, а не сломанный заказ.

Проверка и журнал

Настройки → Правила → Правило

Проверка на заказе

10553Проверить

Заказ подходит

  • Статус равно Обработка — сейчас Обработка
  • Оператор заполнено — сейчас Айгуль
  • Сумма заказа больше или равно 1000 сом — сейчас 780

Сделает: снят с оператора, дописан комментарий

Проверка ничего не выполняет: она показывает, сошлось ли каждое условие и что стоит в заказе сейчас. Проверяется сохранённое правило, а не набранное в этот момент, — поправили условие, сохранили, проверили заново.

В сохранённом правиле есть блок Проверка на заказе: введите идентификатор заказа из адресной строки и нажмите Проверить. Система построчно покажет, сошлось ли каждое условие и что стоит в заказе сейчас, и перечислит, что правило сделало бы. Ничего при этом не выполняется — иначе первую проверку боевого правила приходилось бы делать на клиенте, а отозвать отправленную SMS уже нельзя. Проверяется сохранённое правило, а не набранное в этот момент.

Ниже списка — Последние срабатывания: время, правило, ссылка на заказ и что именно сделано. Неудачные попытки видны красным вместе с текстом ошибки. Журнал хранится 30 дней: автоматику разбирают по свежим следам. В колонке Сработало у каждого правила стоит общий счётчик и время последнего срабатывания — ноль у боевого правила означает, что условия не сходятся ни на одном заказе.

Разобранные сценарии с конкретными поводами и условиями собраны в Готовые сценарии автоматизации. Шаблоны для действия Отправить сообщение клиенту заводятся отдельно — см. Шаблоны сообщений.

Не нашли ответ

Напишите на hello@xe.kg — ответим и дополним статью. Так она и растёт.