Правила автоматизации
5 мин чтения
Правило — это способ поручить системе то, что иначе делает человек и забывает: вернуть зависший заказ в общую очередь, написать клиенту при отправке, снять с оператора просроченный перезвон. В LeadVertex такая автоматика раскидана по трём местам, и понять, почему заказ переехал, нельзя, не обойдя все три. Здесь правила лежат одним списком, а рядом — журнал срабатываний.
Повод, условия, действия
НастройкиПравилаМодель одна на все сценарии. Повод будит правило: произошло событие с заказом. Условия решают, подходит ли именно этот заказ. Действия выполняются сверху вниз. Если условий нет, правило сработает на каждом таком событии — иногда это ровно то, что нужно, но чаще признак недоделанного правила.
Название
Зависшие в обработке — вернуть в общий пул
Повод
Заказ висит в статусе
Условия
выполняются все сразу; «или» — это второе правило+ УсловиеДействия
+ ДействиеПоводы
| Повод | Когда просыпается |
|---|---|
| Заказ создан | Заявка попала в систему любым способом: с лендинга, по ключу приёма, из импорта. |
| Сменился статус | Любая смена статуса. Доступно условие на предыдущий статус. |
| Сменилась группа статусов | Заказ перешёл между группами — например, из работы в отправленные. Реже шумит, чем «сменился статус». |
| Изменился состав заказа | Оператор добавил или убрал товар, изменилась сумма. |
| Назначен перезвон | Оператор или другое правило поставили время следующего звонка. |
| Заказ висит в статусе | Заказ не двигается дольше заданного времени. |
У повода Заказ висит в статусе появляется поле Ждать в минутах — рядом система переводит его в часы и дни, чтобы 2880 не пришлось считать в голове. Проход по таким правилам идёт раз в пять минут, поэтому «ждать 60» на практике означает от 60 до 65 минут. Это единственный повод, который система проверяет сама, без события: остальные привязаны к действиям людей.
Условия
Набор полей закрытый, и это осознанно: «любое поле заказа» выглядит гибче, но правило, сравнивающее выплату вебмастеру с адресом, не нужно никому, а объяснять, почему оно не сработало, придётся.
- Статус заказа — Статус, Группа статусов, Предыдущий статус (только для поводов по смене статуса), Часов в статусе, Часов с создания.
- Деньги и состав — Сумма заказа, Единиц в заказе, Товар в заказе.
- Люди и источник — Оператор, Вебмастер, Поток, Источник заказа, UTM source.
- География и доставка — Город, Область, Трек-номер, Служба доставки.
- Прочее — Похожих заказов по телефону, Назначен перезвон и Произвольное поле из реестра полей заказа.
Сравнения предлагаются те, что имеют смысл для поля: у числа — больше, больше или равно, меньше, меньше или равно; у текста — содержит и не содержит; у списков — один из и ни один из. Сравнения пусто и заполнено поля ввода не требуют — «город больше Оша» в редакторе просто не собрать.
Действия
| Действие | Что произойдёт |
|---|---|
| Перевести в статус | Обычная смена статуса со всеми последствиями: запись в истории, свои правила, автоотправка. |
| Назначить оператора | Заказ закрепляется за конкретным человеком. |
| Снять с оператора | Заказ вернётся в общий пул вместе с перезвоном. |
| Назначить перезвон | Через указанное число минут. Ответственным останется текущий оператор. |
| Отправить сообщение клиенту | По готовому шаблону — тому же, что и при входе в статус. |
| Дописать комментарий | Текст в ленту заказа, можно с подстановками вида {track}. |
| Записать произвольное поле | Значение в поле из реестра полей заказа — так помечают заказы для фильтра. |
| Сообщить в Telegram | Уведомление администраторам, не клиенту. |
Больше десяти действий в одном правиле сохранить нельзя — это верный признак того, что правил должно быть два. Статус, оператор и шаблон проверяются при сохранении: правило со ссылкой на удалённый статус упало бы уже на живом заказе, в фоне, где ошибку никто не увидит. Если одно действие всё же не выполнилось, остальные правила не страдают, а смена статуса не откатывается — ошибка уходит в журнал.
Флаги и порядок
| Переключатель | Зачем |
|---|---|
| Один раз на заказ | Повторно по этому заказу правило не сработает. Для повода по времени включён принудительно: иначе заказ дёргался бы каждые пять минут, пока не уедет из статуса. |
| Реагировать на автоматику | Правило видит изменения, сделанные другими правилами. Так собираются цепочки — и так же появляются петли. |
| Остановить остальные | Следующие правила этого повода пропускаются. Полезно для правил-исключений, поставленных выше общих. |
| Правило включено | Выключенное остаётся в списке со всей настройкой, но не срабатывает. |
| Правило | Когда | Что делает | Сработало | ||
|---|---|---|---|---|---|
Трек клиенту при отправке один раз на заказ | Сменилась группа статусов
|
| 1 284 | ||
Недозвон трижды — в отказ один раз на заказ | Заказ висит в статусе 2880 мин
|
| 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 — ответим и дополним статью. Так она и растёт.