# Триггеры
НазваниеСимвольный кодСобытиеУсловие (код или конструктор)Условие (описание, если условие в виде кода)Действие Активность
\[Fenix\] Выполненfenix-vipolnenИзменение заказаСтатус заказа == «В ожидании оплаты (курьер/ТК/МП)» или «Принят клиентом» И Заказ оплачен «Да» И Заказ Тип оплаты != «Наличные (АТОЛ)» И Тип доставки != «Курьерская служба 2008 (КС 369-29)» Изменить данные заказа «Статус заказа» == 'complete' (Выполнен)Да
Из согласовано в ожидание оплаты (кроме наложенного)iz-soglasovano-v-ogidanie-oplati-krome-nalogennogoИзменение заказа(order.status.GetCode() == 'client-confirmed' // Заказ в статусе "Согласован с клиентом" and // И (order.PaymentType.GetCode() == 'yakassa' // тип оплаты "Онлайн оплата" or order.PaymentType.GetCode() == 'bank-transfer'//ИЛИ "Банковский перевод" or order.PaymentType.GetCode() == 'paypal' // ИЛИ "PayPal" or order.PaymentType.GetCode() == 'rassrochka' // ИЛИ "В рассрочку" or order.PaymentType.GetCode() == 'kredit' // ИЛИ "В кредит" ) and // И order.getCustomField('cod') == false // нет галочки на "Наложный платеж" ) and // И ( order.toPaySumm > 0 // Сумма, оставшаяся к оплате больше нуля and // И changeSet.isUpdate() // Сущность изменяется ) (Заказ в статусе "Согласован с клиентом" И (тип оплаты "Онлайн оплата" ИЛИ тип оплаты "Банковский перевод" ИЛИ тип оплаты "PayPal" ИЛИ тип оплаты "В рассрочку" ИЛИ тип оплаты "В кредит") И нет галочки на "Наложный платеж" ) И ( Сумма, оставшаяся к оплате больше нуля И заказ изменяется ) Изменить данные заказа «Статус заказа» == 'v-ozhidanii-oplaty' (в ожидании оплаты)Да
\[Fenix\] Из ожидания оплаты в согласовано (кроме наложенного)iz-ogidaniya-oplati-v-soglasovano-krome-nalogennogИзменение заказаorder.getStatus.getCode() == 'v-ozhidanii-oplaty' // заказ в статусе "В ожидании оплаты клиента" and //И changeSet.hasChangedField("payments.status") // Изменияется статус оплаты and //И changeSet.getNewValue("payments.status").getCode() == 'paid' // статус опаты - оплачен and //И order.getCustomField('cod') == false //галочки на наложный палтеж нет and //И ( order.getCustomField("planneddate") != null // поле "Планируемая дата доставки" не путое or //ИЛИ order.getCustomField("neobh\_data\_dost") != null // поле "Необходимая дата доставки" не путое or //ИЛИ order.getDeliveryTime() != null // Время доставки не пустое )заказ в статусе "В ожидании оплаты клиента" И Изменияется статус оплаты И статус опаты - оплачен И галочки на наложный палтеж нет И (поле "Планируемая дата доставки" не путое ИЛИ поле "Необходимая дата доставки" не путое ИЛИ Время доставки не пустое)Изменить данные заказа «Статус заказа» =='client-confirmed' (клиент подтвержден)Да
\[Fenix\] Из ожидания оплаты в согласовано2fenix-iz-ogidaniya-oplati-v-soglasovano2Изменение заказаchangeSet.isUpdate() and order.getStatus().getCode() == 'v-ozhidanii-oplaty' and order.getToPaySumm() == 0 and order.getCustomField('cod') == false and ( order.getCustomField("planneddate") != null or order.getCustomField("neobh\_data\_dost") != null or order.getDeliveryTime() != null ) заказ изменяется И заказ в статусе "В ожидании оплаты клиента" И сумма, оставшаяся к оплате = 0 И галочки на наложный палтеж нет И ( поле "Планируемая дата доставки" не путое ИЛИ поле "Необходимая дата доставки" не путое ИЛИ Время доставки не пустое ) Изменить данные заказа «Статус заказа» =='client-confirmed' (клиент подтвержден)Да
Отправка sms с номером заказаsms-order-numИзменение заказаchangeSet.hasChangedField("status") and changeSet.getNewValue("status").getCode() == "client-confirmed" and changeSet.getOldValue("status").getCode() != "v-ozhidanii-oplaty" and not (order.orderMethod.code == 'wildberries' or order.orderMethod.code == 'ozon' or order.orderMethod.code == 'jandeks-market') Изменяется статус И новое значение статуса "Согласован с клиентом" И старое значение статуса не равно "В ожидании оплаты клиента" И не (Способ оформления Wildberries ИЛИ Способ оформления Ozon ИЛИ заказ с ЯндексМаркета) Отправить SMS«Подтверждение заказа»Да
Менеджеры. Задача на пропущенныйmenedgeri-zadacha-na-propushchenniyПропущенный звонокcall.customer != null //клиент не новый and call.externalPhone matches '/79310092410/' or call.externalPhone matches '/74951087507/' //номер телефона на который звонят 79310092410 ИЛИ 74951087507 клиент не новый И номер телефона на который звонят 79310092410 ИЛИ 74951087507Поставить задачу«В кратчайшие сроки перезвонить {{ call.getCustomer() }} по номеру {{ call.getPhone() }}»Да
Дата последнего изменения статуса заказаdata-poslednego-izmeneniya-statusa-zakazaИзменение заказаchangeSet.hasChangedField("status") and changeSet.getNewValue("status") Изменяется статус И получить новый статус Изменить данные заказа«Дата изменения статуса заказа»Да
\[Fenix\] Автозамена менеджераfenix-avtozamena-menedgeraИзменение заказаchangeSet.hasChangedField("expired") // изменяется просроченность заказа and changeSet.getNewValue("expired") // новое значение просроченности заказа and order.getStatus().getCode() in \['new','waiting'\] // заказ в стасуте "новый" или "в ожидании клиента" and order.getManager().getId() != 29 // менеджер заказа не Еременко А.С. and order.orderMethod.code not in \['wildberries','ozon','jandeks-market','logistika'\] //способ овормления не WB или Ozon или ЯндексМаркет или Логистикаизменяется просроченность заказа И новое значение просроченности заказа И заказ в статусе "новый" или "в ожидании клиента" И менеджер заказа не Еременко А.С. И способ овормления не WB или Ozon или ЯндексМаркет или ЛогистикаВыполнить HTTP-запрос«POST https://fenix-development.ru/garti/expired/run»Да
\[Fenix\] Недозвон1 просроченfenix-nedozvon1-prosrochenИзменение заказаchangeSet.hasChangedField("expired") and changeSet.getNewValue("expired") and order.getStatus().getCode() == 'nedozvon-1' изменяется просроченность заказа И новое значение просроченности заказа И Статус = 'nedozvon-1'Поставить задачу«Нет звонка клиенту через 3 часа, необходимо связаться с клиентом»Да
\[Fenix\] Недозвон2 просроченfenix-nedozvon2-prosrochenИзменение заказаchangeSet.hasChangedField("expired") and changeSet.getNewValue("expired") and order.getStatus().getCode() == 'nedozvon-2' изменяется просроченность заказа И новое значение просроченности заказа И Статус = 'nedozvon-2'Поставить задачу«Нет звонка клиенту в течении суток, необходимо связаться с клиентом»Да
\[Fenix\] ожидает в пункте выдачиfenix-ogidaet-v-punkte-vidachiИзменение заказа( changeSet.hasChangedField("status") and changeSet.getNewValue("status").getCode() == "ozhidaetpvz" and order.getDeliveryType("sdek") ) and ( not last\_run("25 years","fenix-ogidaet-v-punkte-vidachi",order) ) ( Изменяется статус И получить новый статус = "ozhidaetpvz" И Тип доставки СДЕК ) И (Не запускался тригер "fenix-ogidaet-v-punkte-vidachi" ) Отправить письмо«\[Fenix\] ожидает в пункте выдачи»Да
\[Fenix\] ожидает в пункте выдачи 1fenix-ogidaet-v-punkte-vidachi-1Изменение заказа( changeSet.hasChangedField("status") and changeSet.getNewValue("status").getCode() == "ozhidaetpvz" ) and ( not last\_run("25 years","fenix-ogidaet-v-punkte-vidachi-1",order) ) and order.orderMethod.code not in \['wildberries','ozon','jandeks-market'\] //способ овормления не WB или Ozon или ЯндексМаркет ( Изменяется статус И получить новый статус.getCode() == "ozhidaetpvz" ) И ( Не запускался тригер "fenix-ogidaet-v-punkte-vidachi-1" ) И способ овормления не WB или Ozon или ЯндексМаркетПоставить задачу«Заказ ожидает в пункте выдачи, связаться с клиентом»Да
\[Fenix\] В ожидании оплаты от курьераfenix-v-ogidanii-oplati-ot-kureraИзменение заказаchangeSet.isUpdate() and order.getStatus().getCode() == 'received' and order.getToPaySumm()>1 заказ изменяется И Статус заказа "получен" И Полученная сумма заказа > 1 Изменить данные заказа«Статус заказа»Да
\[Fenix\] Себестоимость курьераfenix-sebestoimost-kureraИзменение заказа( changeSet.isUpdate() and order.getDeliveryType().getCode() == 'courier' and not last\_run("25 years","fenix-sebestoimost-kurera",order) and order.getOrderMethod().getCode() != 'wildberries' ) or ( changeSet.isCreate() and order.getDeliveryType().getCode() == 'courier' and not last\_run("25 years","fenix-sebestoimost-kurera",order) and order.getOrderMethod().getCode() != 'wildberries' ) ( заказ изменяется И Поле тип доставки - "Доставка курьером" И Не запускался тригер "fenix-sebestoimost-kurera" И Способ оформления заказа не 'wildberries' ) ИЛИ ( заказ создается И Поле тип доставки - "Доставка курьером" И Не запускался тригер "fenix-sebestoimost-kurera" И Способ оформления заказа не 'wildberries' ) Изменить данные заказа«Себестоимость доставки»Да
\[Fenix\] В ожидании оплаты клиента просроченfenix-v-ogidanii-oplati-klienta-prosrochenИзменение заказа( changeSet.isUpdate() and order.getStatus().getCode() == 'v-ozhidanii-oplaty' and order.getExpired() ) and ( not last\_run("25 years","fenix-v-ogidanii-oplati-klienta-prosrochen",order) ) ( заказ изменяется И заказ в статусе "В ожидании оплаты клиента" И Заказ просрочен ) И ( Не запускался тригер "fenix-v-ogidanii-oplati-klienta-prosrochen" ) Поставить задачу«Заказ не оплачен больше суток, необходимо связаться с клиентом и актуализировать статус»Да
\[Fenix\] Ошибка просроченfenix-oshibkaИзменение заказа( changeSet.isUpdate() and order.getStatus().getCode() == 'oshibka-v-soglasovanii' and order.getExpired() ) and ( not last\_run("25 years","fenix-oshibka",order) ) ( заказ изменяется И order.getStatus().getCode() == 'oshibka-v-soglasovanii' И Заказ просрочен ) И ( Не запускался тригер "fenix-oshibka" ) Поставить задачу«Заказ в ошибке - в СРОЧНОМ порядке изменить статус.»Да
\[Fenix\] Новый заказfenix-noviy-zakazИзменение заказа(changeSet.hasChangedField("manager") and ( 'manager' in order.getManager().getGroupCodes() or 'manager-reklama' in order.getManager().getGroupCodes() ) and order.getStatus().getCode() == 'new' ) and not last\_run("24 years","fenix-noviy-zakaz",order) and order.orderMethod.code not in \['wildberries','ozon','jandeks-market','sber-mega-market'\] //способ овормления не WB или Ozon или ЯндексМаркет или СберММ (если изменился менеджер И (Менеджер есть в группе ИЛИ Менеджер по рекламе есть в группе ) И Статус заказа = 'new' ) И Не запускался тригер "fenix-noviy-zakaz" И способ овормления не WB или Ozon или ЯндексМаркет или СберМегаМаркетПоставить задачу«Необходимо в течении одной минуты связаться с клиентом, заказ уйдет к другому менеджеру через 3 минуты.» И Отправить оповещение«Оповещение о поступлении нового заказа» Да
\[Fenix\] Телефонная маскаfenix-telefonnaya-maskaИзменение заказаchangeSet.isCreate() or ( changeSet.hasChangedField("phone") and not changeSet.getSourceOfChange("phone") != 'api' ) or ( changeSet.hasChangedField("additional\_phone") and not changeSet.getSourceOfChange("additional\_phone") != 'api' ) заказ создается ИЛИ ( Изменяется Телефон И не Источник изменения телефона не 'api' ) ИЛИ ( Изменяется дополнительный телефон И не Источник изменения дополнительного телефона не 'api' ) Выполнить HTTP-запрос«POST https://fenix-development.ru/garti/phone/run» И Выполнить HTTP-запрос«POST https://webhook.site/abb08203-0bb2-43a3-9cc2-b6929129e5e4» Да
\[Fenix\] Тип оплаты3fenix-tip-oplati3Изменение заказаchangeSet.hasChangedField("status") and changeSet.getNewValue("status").getCode() == "send-to-assembling" and order.getDeliveryType().getCode()!= 'courier' and order.getCustomField('cod') and order.getCustomField('paymentcourier').getCode() == '1' and not (order.getPayments() | first) Изменяется статус И новый статус= "send-to-assembling" И Тип доставки не курьер И галочка Наложенный платеж И поле "Тип оплаты курьеру"= '1' И не (Первый платеж) Изменить данные заказа«Тип оплаты»Да
\[Fenix\] Тип оплаты4fenix-tip-oplati4Изменение заказаchangeSet.hasChangedField("status") and changeSet.getNewValue("status").getCode() == "send-to-assembling" and order.getDeliveryType().getCode()!= 'courier' and order.getCustomField('cod') and order.getCustomField('paymentcourier').getCode() == '2' and not (order.getPayments() | first) Изменяется статус И получить новый статус.getCode() == "send-to-assembling" И Тип доставки не курьер И галочка Наложенный платеж И поле "Тип оплаты курьеру"= '2' И не (Первый платеж) Изменить данные заказа«Тип оплаты»Да
\[Fenix\] Передано курьеру | Телеграм Ботfenix-peredano-kureru-telegram-botИзменение заказа( changeSet.hasChangedField("status") //И изменился стаус заказа and changeSet.getNewValue("status").getCode() == "courier" //И новый статус заказа "В ожидании курьера МОСКВА" and order.getCourier() //И Курьер, назначенный на заказ and order.getDeliveryDate() //И Дата доставки ) or //ИЛИ ( changeSet.hasChangedField("delivery\_date") //Изменяется Дата доставки and changeSet.getNewValue("delivery\_date") //Новое значение Даты доставки and order.getCourier()//И Курьер, назначенный на заказ and order.getStatus().getCode() == "courier" //И статус заказа "В ожидании курьера МОСКВА" ) ( И изменился стаус заказа И новый статус заказа "В ожидании курьера МОСКВА" И Курьер, назначенный на заказ И Дата доставки) ИЛИ ( Изменяется Дата доставки И Новое значение Даты доставки И Курьер, назначенный на заказ И статус заказа "В ожидании курьера МОСКВА" )Выполнить HTTP-запрос«POST https://fenix-development.ru/garti/courier-bot/run»Да
\[Fenix\] Доставляется - срок жизниfenix-dostavlyaetsya-srok-gizniИзменение заказаorder.getSite().getCode() == 'send-to-delivery' and ( ( changeSet.hasChangedField("delivery\_date") and changeSet.hasChangedField("delivery\_time") ) or ( order.getDeliveryDate() and changeSet.hasChangedField("delivery\_time") ) or ( order.getDeliveryTime() and changeSet.hasChangedField("delivery\_date") ) ) статус заказа = "Отправить доставку" И ( ( Изменяется Дата доставки И Изменяется Время доставки ) ИЛИ ( Дата доставки И Изменяется Время доставки ) ИЛИ ( Время доставки И Изменяется Дата доставки ) ) Выполнить HTTP-запрос«POST https://fenix-development.ru/garti/status-lifetime/run»Да
\[Fenix\] Доставляется - конец срока жизни статуса 2fenix-dostavlyaetsya-konets-sroka-gizni-statusa-2После срабатывания триггера для заказа (1 ч.)\[Fenix\] Доставляется - конец срока жизни статуса order.getStatus().getCode() == "send-to-delivery"\[Fenix\] Доставляется - конец срока жизни статуса Статус заказа = отправка-доставкаВыполнить HTTP-запрос«POST https://fenix-development.ru/garti/expired/run»Да
\[Fenix\] Из согласовано в ожидание оплатыfenix-iz-soglasovano-v-ogidanie-oplatiИзменение заказаchangeSet.hasChangedField("status") and changeSet.getNewValue("status").getCode() == "client-confirmed" and order.toPaySumm > 0 and order.getCustomField('cod') == false and ( order.PaymentType.GetCode() == 'yakassa' or order.PaymentType.GetCode() == 'bank-transfer' or order.PaymentType.GetCode() == 'paypal' ) Изменяется статус И новое значение статуса "Согласован с клиентом" И Сумма, оставшаяся к оплате больше нуля И галочки на наложный палтеж нет И ( тип оплаты "Онлайн оплата" ИЛИ тип оплаты "Банковский перевод" ИЛИ тип оплаты "PayPal" ) Изменить данные заказа«Статус заказа»Да
\[Fenix\] Недозвон 1 смена статусаfenix-nedozvon-1-smena-statusaПосле срабатывания триггера для заказа (1 ч.)\[Fenix\] Недозвон1 просрочен order.getStatus.getCode() == 'nedozvon-1'\[Fenix\] Недозвон1 просрочен статус заказа = 'nedozvon-1'Изменить данные заказа«Статус заказа»Да
\[Fenix\] Недозвон2 смена статусаfenix-nedozvon2-smena-statusaПосле срабатывания триггера для заказа (1 д.)\[Fenix\] Недозвон2 просрочен order.getStatus.getCode() == 'nedozvon-2'\[Fenix\] Недозвон2 просрочен статус заказа = 'nedozvon-2'Изменить данные заказа«Статус заказа»Да
\[Fenix\] ожидает в пункте выдачи 2fenix-ogidaet-v-punkte-vidachi-2После срабатывания триггера для заказа (1 нед.)\[Fenix\] ожидает в пункте выдачи 1 order.getStatus.getCode() == 'ozhidaetpvz'\[Fenix\] ожидает в пункте выдачи 1 статус заказа = ожидает в пункте выдачиПоставить задачу«Заказ ожидает в пункте выдачи длительное время, связаться с клиентом любым способом»Да
\[Fenix\] ожидает в пункте выдачи 3fenix-ogidaet-v-punkte-vidachi-3После срабатывания триггера для заказа (1 нед. 5 дн.)\[Fenix\] ожидает в пункте выдачи 2 order.getStatus.getCode() == 'ozhidaetpvz'\[Fenix\] ожидает в пункте выдачи 2 статус заказа = ожидает в пункте выдачиПоставить задачу на менеджера: Ответственный менеджерДа
\[Fenix\] Копирование заказаfenix-kopirovanie-zakazaИзменение заказаchangeSet.hasChangesWithSource('copy') and changeSet.isCreate() изменение методом копирования И заказ создается Изменить данные заказа«Денежная скидка на весь заказ» И Изменить данные заказа«Процентная скидка на весь заказ» Да
\[Fenix\] СДЕК - комментfenix-sdek-kommentИзменение заказа( ( changeSet.isCreate() or ( changeSet.hasChangedField("order\_product") or changeSet.hasChangedField("order\_product.quantity") ) ) and order.getDeliveryType().getCode() == 'sdek' ) or ( changeSet.hasChangedField("delivery\_type") and changeSet.getNewValue("delivery\_type").getCode() == 'sdek' ) ( ( заказ создается ИЛИ ( изменяется заказ\_продукта) ИЛИ изменяется заказ\_продукта.количество) ) ) И Тип Доставки = СДЕК ) ИЛИ ( изменяется Тип Доставки И новое значение Тип Доставки = СДЕК) Выполнить HTTP-запрос«POST https://fenix-development.ru/garti/sdek-comment/run»Да
\[Fenix\] Заказ на входящий звонок нового клиентаfenix-zakaz-na-vhodyashchiy-zvonok-novogo-klientaНовый звонок( call.type in \['in'\] //звонок входящий and call.customer == null //клиент новый and (call.externalPhone matches '/79310092410/' or call.externalPhone matches '/74951087507/') //номер телефона на который звонят 79310092410 ИЛИ 74951087507 ) ( звонок входящий И клиент новый И (номер телефона на который звонят 79310092410 ИЛИ 74951087507)Создать заказДа
Отправка письма при переходе в статус «комплектация» RUSperehod\_v\_status\_«komplektacija»\_RUSИзменение заказаИзменение статуса заказас Любой на«Комплектуется» И Магазин из заказа«Garti» Условие Отправить письмо«Письмо клиенту при переходе в статус «комплектация» RUS»Да
Отправка письма при переходе в статус «комплектация» ENGperehod\_v\_status\_«komplektacija»\_ENGИзменение заказаИзменение статуса заказас Любой на«Комплектуется» И Магазин из заказа«Garti-eng» Условие Отправить письмо«Письмо клиенту при переходе в статус «комплектация» ENG»Да
Отправка письма при переходе в статус «доставляется» из статусов «в ожидании курьера Москва» и «передано курьеру» RUSperehod\_v\_status\_«dostavljaetsja»\_RUSИзменение заказаИзменение статуса заказас«В ожидании курьера МОСКВА» или «Передано курьеру (служба доставки)» на«Доставляется» И Магазин из заказа«Garti» Условие Отправить письмо«Письмо клиенту при переходе в статус «доставляется» RUS»Да
Отправка письма при переходе в статус «доставляется» из статусов «в ожидании курьера Москва» и «передано курьеру» ENGperehod\_v\_status\_«dostavljaetsja»\_ENGИзменение заказаИзменение статуса заказас«В ожидании курьера МОСКВА» или «Передано курьеру (служба доставки)» на«Доставляется» И Магазин из заказа«Garti-eng» Условие Отправить письмо«Письмо клиенту при переходе в статус «доставляется» ENG»Да
Отправка письма при переходе в статус «принят клиентом»perehod\_v\_status\_«prinjat klientom»Изменение заказаИзменение статуса заказас Любой на«Принят клиентом» И Магазин из заказа«Garti» или «Garti-eng» Условие Отправить письмо«Письмо клиенту при переходе в статус «принят клиентом»»Да
Отправка письма при переходе в статус ««недозвон (клиент не выходит на связь)»perehod\_v\_status\_nedozvonИзменение заказаИзменение статуса заказас Любой на«Недозвон (Клиент не выходит на связь)» И Магазин из заказа«Garti» Условие Отправить письмо«Письмо клиенту при переходе в статус «недозвон (клиент не выходит на связь)»»Да
Отправка письма при переходе в статус «отмена по инициативе клиента»perehod\_v\_status\_«otmena\_po\_iniciative\_klienta»Изменение заказаИзменение статуса заказа с Любой на «Отмена по инициативе заказчика без указания причины» Условие Отправить письмо«Письмо клиенту при переходе в статус «отмена по инициативе клиента»»Да
Отправка письма при переходе в статус «не устроила цена товара»perehod\_v\_status\_«ne\_ustroila\_cena\_tovara»Изменение заказаИзменение статуса заказас Любой на«Не устроила цена товара» Отправить письмо«Письмо клиенту при переходе в статус «не устроила цена товара»»Да
Отправка письма при переходе в статус «купил другой подарок»perehod\_v\_status\_«kupil\_drugoj\_podarok»Изменение заказаИзменение статуса заказас Любой на«Купил другой подарок» Отправить письмо«Письмо клиенту при переходе в статус «купил другой подарок»»Да
Скидка по промокодуskidka\_po\_promokoduИзменение заказа( changeSet.isCreate //Заказ создается and order.getCustomField("promokod") != null //Поле "Промокод" не пустое and order.getCustomField("promokod").code not matches '/\_na/' //Поле "Промокод" не содержит "\_na" ) or ( changeSet.isUpdate //Заказ имзеняется and changeSet.hasChangedField("custom\_promokod") //Поле "Промокод" изменилось and changeSet.newValue("custom\_promokod") != null //Новое значения поля "Промокод" не пустое and order.getCustomField("promokod").code not matches '/\_na/' //Поле "Промокод" не содержит "\_na" )(Заказ создается И Поле "Промокод" не пустое И Поле "Промокод" не содержит "\_na" ) ИЛИ (Заказ имзеняется И Поле "Промокод" изменилось И Новое значения поля "Промокод" не пустое И Поле "Промокод" не содержит "\_na")Изменить данные заказа«Процентная скидка на весь заказ»Да
Тестовый триггерTest-triggerИзменение заказаЗаказИмя «Test» И Статус заказа«Недозвон 1» или «Недозвон 2» или «Недозвон 3» или «Согласован с клиентом» Изменить данные заказаДа
Расчет "Общая стоимость рекламы (в руб)"raschet\_obsch\_stoim\_reklamyИзменение заказа( changeSet.isCreate and order.site.code == 'garti-pr' and (changeSet.hasChangedField("custom\_stoimost\_razmeschenija") or changeSet.hasChangedField("custom\_kolichestvo\_razmeschenij") or changeSet.hasChanges("summ")) ) or ( changeSet.isUpdate and order.site.code == 'garti-pr' and (changeSet.hasChangedField("custom\_stoimost\_razmeschenija") or changeSet.hasChangedField("custom\_kolichestvo\_razmeschenij") or changeSet.hasChanges("summ")) ) ( Заказ создается И магазин = 'garti-pr' И (изменяется пользовательская\_стоимость\_размещения ИЛИ изменяется пользовательское\_количество\_размещения ИЛИ изменяется Сумма) ) ИЛИ ( Заказ обновляется И магазин = 'garti-pr' И (изменяется пользовательская\_стоимость\_размещения ИЛИ изменяется пользовательское\_количество\_размещения ИЛИ изменяется Сумма) ) Изменить данные заказа«Общая стоимость рекламы (в руб)»Да
Оповещение на пропущенный всем менеджерам и отдельно СТ. менеджеру и Будаевойopoveschenie-propuschennyj-menedzheryПропущенный звонокПропущенный звонок«Да» Отправить оповещение«Оповещение при пророщенном для Ст. Менеджеру и Будаевой» И Отправить оповещение«Оповещение при пророщенном для Ст. Менеджеру и Будаевой» И Отправить оповещение«Оповещение при пророщенном для всех менеджеров.» И Отправить оповещение«Оповещение при пророщенном для всех менеджеров.» Да
Оповещение о новом заказе ст.менеджеруopoveschenie\_novyj\_zakaz\_anoshkinaИзменение заказаНовый заказ Отправить оповещение«Оповещение о поступлении нового заказа» И Отправить оповещение«Оповещение о поступлении нового заказа» Да
Оптимизация переноса ВБ заказов в срм (Даты)optimizacija-vb-zakazov-datyИзменение заказа(changeSet.isCreate and order.orderMethod.code == 'wildberries') or (changeSet.isUpdate and order.orderMethod.code == 'wildberries') (Заказ создается И Способ оформления Wildberries) ИЛИ (Заказ обновляется И Способ оформления Wildberries) Изменить данные заказа: Дата доставки Изменить данные заказа: Необходимая дата доставки Да
Дата отгрузки == дате перехода в статус "Комплектуется"data-otgruzki=date-perehoda-v-statusИзменение заказаИзменение статуса заказас«Передано в комплектацию» на«Комплектуется» И Способ оформления«OZON» или «Яндекс.Маркет» Изменить данные заказа«Дата отгрузки»Да
Оптимизация переноса Ozon заказов в срм (Даты)optimizacija-ozon-zakazov-datyИзменение заказа(changeSet.isCreate and order.orderMethod.code == 'ozon') or (changeSet.isUpdate and order.orderMethod.code == 'ozon') (Заказ создается И Способ оформления Ozon) ИЛИ (Заказ обновляется И Способ оформления Ozon) Изменить данные заказа«Дата доставки» И Изменить данные заказа«Необходимая дата доставки» Да
Не просрочен заказ после "\[Fenix\] Автозамена менеджера"ne\_prosrochen\_posle\_avtozameny\_meredzheraИзменение заказаchangeSet.hasChangedField("expired") and changeSet.getNewValue("expired") //если заказ просрочен and order.getStatus().getCode() in \['new','waiting', 'complete'\] //если статус заказа в однои из \[Новый, В ожидании клиента, Выполнен\] and changeSet.hasChangedField("Manager") //если изменился менеджер изменяется просроченность заказа И новое значение просроченности заказа И если статус заказа в однои из \[Новый, В ожидании клиента, Выполнен\] И если изменился менеджер Изменить данные заказа«Просрочен»Да
Сброс типа доставки при переходе в "ошибка согласования с клиентом"sbros-tipa-dostavkiИзменение заказаИзменение статуса заказас Любой на«Ошибка в согласовании с клиентом» Изменить данные заказа«Тип доставки»Да
1 Проверка даты перезвонаgroup1\_1Изменение заказа( user().hasGroup('manager') or user().hasGroup('manager-reklama') or user().hasGroup('star-manager') ) and not ( user().hasGroup('rop') or user().hasGroup('director') or order.site.code == 'ozon' or order.site.code == 'wildberries' ) and changeSet.hasChangedField('status') // изменяетс статус заказа and changeSet.getOldValue("status").getCode() in \['new','nedozvon-1','( пользователь менеджер ИЛИ менеджер реклама ИЛИ старший менеджер ) И не ( РОП ИЛИ группы руководитель ИЛИ Магазин = ОЗОН ИЛИ Магазин = wildberries ) И изменяетс статус заказа И Старое значение Статуса в ('new','nedozvon-1','Поставить задачу«Созвониться с клиентом и поменять/дополнить поле "комментарий к перезвону"»Да
2 Задача -предупреждениеgroup1\_2После срабатывания триггера для заказа( user().hasGroup('manager') or user().hasGroup('manager-reklama') or user().hasGroup('star-manager') ) and not ( user().hasGroup('rop') or user().hasGroup('director') or order.site.code == 'ozon' or order.site.code == 'wildberries' ) and order.getStatus().code == 'waiting' and order.getCustomField("kommentarij\_k\_perezvonu") not matches '/После перезвона/' ( пользователь менеджер ИЛИ менеджер реклама ИЛИ старший менеджер ) И не ( РОП ИЛИ группы руководитель ИЛИ Магазин = ОЗОН ИЛИ Магазин = wildberries ) И Статус заказа = ожидание И Комментарий не совпадает "После перезвона" Поставить задачу«Срочно созвониться с клиентом и внести изменения в поле "Комментарий к перезвону"»Да
3 Замена менеджера т.к. он не созвонился с клиентомgroup1\_3После срабатывания триггера для заказа( user().hasGroup('manager') or user().hasGroup('manager-reklama') or user().hasGroup('star-manager') ) and not ( user().hasGroup('rop') or user().hasGroup('director') or order.site.code == 'ozon' or order.site.code == 'wildberries' ) and order.getStatus().code == 'waiting' and order.getCustomField("kommentarij\_k\_perezvonu") not matches '/После перезвона/' ( пользователь менеджер ИЛИ менеджер реклама ИЛИ старший менеджер ) И не ( РОП ИЛИ группы руководитель ИЛИ Магазин = ОЗОН ИЛИ Магазин = wildberries ) И Статус заказа = ожидание И Комментарий не совпадает "После перезвона" Изменить данные заказа«Менеджер заказа» И Отправить оповещение«Менеджер не выполнил обязательства по дате перезвона.» Да
Задача на просроченный заказProsrochka\_zakazaИзменение заказаЗаказ просрочен И Статус заказа«Ошибка в согласовании с клиентом» Поставить задачу«Устранить ошибку.»Да
Галочка на "Наложенный платеж" для маркетплейсовgalochka-nalozhennyj-platezh-marketplejsyИзменение заказаНовый заказ И Способ оформления«OZON» или «Wildberries» или «Яндекс.Маркет» или «Сбер Мега Маркет» Изменить данные заказа«Наложенный платеж»Да
Оптимизация заказов из Wildberriesoptimizacija-zakazov-iz-wbИзменение заказаНовый заказ И Способ оформления«Wildberries» Изменить данные заказа«Менеджер заказа» И Изменить данные заказа«Статус заказа» И Изменить данные заказа«Телефон» Да
Расчет поля "Услуги банка" (рассрочка)raschet-polja-uslugi-banka Изменение заказаuser().hasGroup('buh') or user().hasGroup('rop') or user().hasGroup('director') //Пользователь вгруппе "Бухгалтер" ИЛИ "РОП" ИЛИ "Руководитель" and changeSet.hasChangedField("status") //Изменяется статус and changeSet.getOldValue("status").getCode() in \['new','nedozvon-1',' nedozvon-2','nedozvon-3-sutki','waiting','v-ozhidanii-na-sklade','nalichie-na-sklade-podtverzhdeno','predoplata-nedozvon-1-den'\] //старый статус заказа в группе "новый" and changeSet.getNewValue("status").getCode() == 'v-ozhidanii-oplaty' //новый статус заказа "В ожидании оплаты клиента" and order.paymentType.getCode()=='rassrochka' //тип оплаты "В РАССРОЧКУ" and order.getToPaySumm() == 0 //оставшаяся сумма к оплате равна нулюПользователь вгруппе "Бухгалтер" ИЛИ РОП ИЛИ группы руководитель И Изменяется статус И старый статус заказа в группе "новый" И новый статус заказа "В ожидании оплаты клиента" И тип оплаты "В РАССРОЧКУ" И сумма, оставшаяся к оплате = 0Изменить данные заказа«Услуги банка»Да
тип доставки "Почта России"Tip-PRИзменение заказаИзменение статуса заказас Любой на«В ожидании оплаты от курьера» И Тип доставки«Почта России» Поставить задачу«Нет оплаты по заказу. Уточнить причину. Уведомить руководителя если оплаты нет.»Да
тип доставки "СДЭК"Tip-SDEKИзменение заказаИзменение статуса заказас Любой на«В ожидании оплаты от курьера» И Тип доставки«СДЭК» Поставить задачу«Нет оплаты по заказу. Уточнить причину. Уведомить руководителя если оплаты нет.»Да
тип доставки "Доставка курьером"Tip-Dost\_KurierИзменение заказаИзменение статуса заказас Любой на«В ожидании оплаты от курьера» И Тип доставки«Доставка курьером» Поставить задачу«Нет оплаты по заказу. Уточнить причину. Уведомить руководителя если оплаты нет.»Да
тип доставки "Dostavista"Tip-DostavistaИзменение заказаИзменение статуса заказас Любой на«В ожидании оплаты от курьера» И Тип доставки«Dostavista» Поставить задачу«Нет оплаты по заказу. Уточнить причину. Уведомить руководителя если оплаты нет.»Да
Плохой менеджер (статус новый)Bad-managerИзменение заказаchangeSet.hasChangedField("status") and changeSet.getOldValue("status").code in \['new'\] and changeSet.getNewValue("status").code in \['waiting'\] and order.createdAt.format('d.m.Y') == date("now").format('d.m.Y') and (order.orderMethod.code == 'shopping-cart' or order.orderMethod.code == 'phone') Изменяется статус И Старый Статус в \['new'\] И новое значения статуса в "В ожидании клиента" И Формат даты заказа = сегодняшней дате (день, месяц, год) И (Способ оформления заказа = "Корзина" ИЛИ Способ оформления заказа = "Телефон") Поставить задачу«!!!СРОЧНО!!! Менеджер не обработал заявку! Разобраться немедленно!»Да
Заполнение поля "zamena\_random"Zap-pola-zamena-randomИзменение заказа(order.site.code in \['garti-me','garti-eng'\] //магазин заказа garti ИЛИ garti eng and changeSet.hasChangedField("status") //изменился статус заказа and order.orderProducts | every(item => (item.getOffer().getArticle() not in \['DO-RN01','DO-RN02','GR-RN01','GS-RN01','LI-RN01','LS-RN01','MI-RN01','PR-RN01','SI-RN01','SI-RN02'\]))) //условие если все товары заказа не имеет артикул из списка. //and(not last\_run("25 years","Zap-pola-zamena-random",order)) (магазин заказа garti ИЛИ garti eng И изменился статус заказа И условие если все товары заказа не имеет артикул из списка \['DO-RN01','DO-RN02','GR-RN01','GS-RN01','LI-RN01','LS-RN01','MI-RN01','PR-RN01','SI-RN01','SI-RN02'\] Изменить данные заказа«Замена позиции Random»Да
Оптимизация заказов из WB|Ozon (склад отгрузки)optimizacija-zakazov-sklad-otgryzkiИзменение заказаНовый заказ И Способ оформления«Wildberries» или «OZON» Изменить данные заказа«Склад отгрузки»Да
Если статус склада "отгружен" в статус "принят клиентом" для WB|Ozon|ЯМproverka-otgryzli-wb-ozon-smena-statysaИзменение заказа( order.orderMethod.code in \['wildberries','ozon','jandeks-market','sber-mega-market'\] // способ оформления WB или Ozon или ЯМ или СберММ and order.status.getCode() == 'send-to-delivery' //И статус заказа "Доставляется" and order.shipped == true //И значение склада отгружен )( способ оформления WB или Ozon или ЯМ или СберММ И И статус заказа "Доставляется" И значение склада отгружен)Изменить данные заказа«Статус заказа»Да
тип доставки "Директ доставка"Tip-Direkt-dostavkaИзменение заказаИзменение статуса заказас Любой на«В ожидании оплаты (курьер/ТК/МП)» И ЗаказТип доставки «Курьерская служба 2008 (КС 369-29)» Поставить задачу«Нет оплаты по заказу. Уточнить причину. Уведомить руководителя если оплаты нет.»Да
Заказ на пропущенный звонок нового клиентаfenix-zakaz-na-propycheniy-zvonok-novogo-klientaПропущенный звонок( call.customer == null //клиент новый and (call.externalPhone matches '/79310092410/' or call.externalPhone matches '/74951087507/') //номер телефона на который звонят 79310092410 ИЛИ 74951087507 )(клиент новый И (номер телефона на который звонят 79310092410 ИЛИ 74951087507)Создать заказДа
АвтоТег новому клиентуAutoTeg-new-customerИзменение информации о клиентеНовый клиент Изменить данные клиента«Теги (добавить)»Да
Передача изменений заказа в MeaSoftperedacha-izmenenii-zakaza-measoftИзменение заказаchangeSet.isUpdate() and ( changeSet.hasChangedField("first\_name") or changeSet.hasChangedField("last\_name") or changeSet.hasChangedField("patronymic") or changeSet.hasChangedField("phone") or changeSet.hasChangedField("site") or changeSet.hasChangedField("additional\_phone") or changeSet.hasChangedField("email") or changeSet.hasChangedField("customer.phones") or changeSet.hasChangedField("order\_product") or changeSet.hasChangedField("total\_summ") or changeSet.hasChangedField("delivery\_date") or changeSet.hasChangedField("delivery\_time") or changeSet.hasChangedField("payments") or changeSet.hasChangedField("prepay\_sum") or changeSet.hasChangedField("weight") or changeSet.hasChangedField("length") or changeSet.hasChangedField("width") or changeSet.hasChangedField("height") or changeSet.hasChangedField("payments.id") or changeSet.hasChangedField("payments.status") or changeSet.hasChangedField("payments.type") or changeSet.hasChangedField("payments.external\_id") or changeSet.hasChangedField("payments.amount") or changeSet.hasChangedField("payments.paid\_at") or changeSet.hasChangedField("payments.comment") or changeSet.hasChangedField("discount\_manual\_amount") or changeSet.hasChangedField("discount\_manual\_percent") ) and order.getDeliveryType().getCode() in \["kurerskaia-sluzhba-2008-ks-369-29"\] заказ изменяется И ( Изменяется Имя ИЛИ Изменяется Фамилия ИЛИ Изменяется Отчество ИЛИ Изменяется Телефон ИЛИ Изменяется Магазин ИЛИ Изменяется дополнительный телефон ИЛИ Изменяется электронная почта ИЛИ Изменяется телефон клиента ИЛИ изменяется заказ\_продукта) ИЛИ Изменяется Итоговая Сумма ИЛИ Изменяется Дата доставки ИЛИ Изменяется Время доставки ИЛИ Изменяется Платежи ИЛИ Изменяется Сумма предоплаты ИЛИ Изменяется Вес ИЛИ Изменяется Длина ИЛИ Изменяется Ширина ИЛИ Изменяется Высота ИЛИ Изменяется идентификатор платежа ИЛИ Изменияется статус оплаты ИЛИ Изменяется тип платежа ИЛИ Изменяется внешний идентификатор платежа ИЛИ Изменяется Сумма платежа ИЛИ Изменяется Платеж оплачен в ИЛИ Изменяется Комментарий Платежа ИЛИ Изменяется Сумма скидки ИЛИ Изменяется Процент скидки ) И Тип доставки в \["kurerskaia-sluzhba-2008-ks-369-29"\]Выполнить HTTP-запрос«GET https://home.courierexe.ru/reintegrations/requests/update/retailcrm»Да
Оптимизация заказов из Ozon|ЯМoptimizacija-zakazov-iz-ozon-yaИзменение заказаНовый заказ И Способ оформления«OZON» или «Яндекс.Маркет» Изменить данные заказа«Менеджер заказа» И Изменить данные заказа«Статус заказа» Да
Оптимизация данных заказов из Яндекс.Маркетаoptimizacija-zakazov-iz-yandex-marketaИзменение заказаСпособ оформления«Яндекс.Маркет» И Новый заказ Изменить данные заказа«Телефон»Да
Заполнение полей, если доставка "Яндекс"zapolnenie-dostavka-yandexИзменение заказаТип доставки«Доставка Беру» И Способ оформления«Яндекс.Маркет» И Новый заказ Изменить данные заказа«Время доставки» И Изменить данные заказа«Регион» И Изменить данные заказа«Город» И Изменить данные заказа«Улица» И Изменить данные заказа«Дом» И Изменить данные заказа«Корпус» И Изменить данные заказа«Комментарий оператора» Да
Заполнение полей, если доставка "СберМегаМаркет"zapolnenie-dostavka-sbermarketИзменение заказаМагазин из заказа«Garti-Сбер-Мега-Маркет» И Новый заказ Изменить данные заказа«Время доставки» И Изменить данные заказа«Комментарий оператора» И Изменить данные заказа«Менеджер заказа» И Изменить данные заказа«Телефон» И Изменить данные заказа«Наложенный платеж» И Изменить данные заказа«Способ оформления» И Изменить данные заказа«Склад отгрузки» И Изменить данные заказа«Комментарий оператора» И Изменить данные заказа«Номер заказа» И Изменить данные заказа«Тип оплаты» И Изменить данные заказа«Статус заказа» Да
Заполнение полей, если доставка "Ozon"zapolnenie-dostavka-ozonИзменение заказаСпособ оформления«OZON» И Новый заказ И Тип доставки«Доставка Ozon» Изменить данные заказа«Время доставки» И Изменить данные заказа«Регион» И Изменить данные заказа«Город» И Изменить данные заказа«Улица» И Изменить данные заказа«Дом» И Изменить данные заказа«Комментарий оператора» Да
Заполнение полей, если доставка "Wildberries"zapolnenie-polei-esli-dostavka-wbИзменение заказаСпособ оформления«Wildberries» И Новый заказ И Тип доставки«Wildberries FBS» Изменить данные заказа«Время доставки» И Изменить данные заказа«Регион» И Изменить данные заказа«Город» И Изменить данные заказа«Улица» И Изменить данные заказа«Дом» И Изменить данные заказа«Строение» И Изменить данные заказа«Комментарий оператора» Да
Передача номера заказа в СберМегаМаркетperedacha-nomera-zakaza-sbermarketПосле срабатывания триггера для заказаЗаполнение полей, если доставка "СберМегаМаркет" Выполнить HTTP-запрос«POST https://dev.crmagent.ru/goods/confirm/111»Да
Кто создал заказkto-sozdal-zakazИзменение заказаНовый заказ Изменить данные заказа«Кто создал заказ»Да
Оптимизация переноса ЯМ заказов в срм (Даты)optimizatsiia-perenosa-yam-zakazov-v-srm-datИзменение заказа(changeSet.isCreate and order.orderMethod.code == 'jandeks-market') or (changeSet.isUpdate and order.orderMethod.code == 'jandeks-market') (Заказ создается И заказ с ЯндексМаркета) ИЛИ (Заказ обновляется И заказ с ЯндексМаркета) Изменить данные заказа«Дата доставки» И Изменить данные заказа«Необходимая дата доставки» Да
Товар по промокодуtovar\_po\_promokoduИзменение заказа( changeSet.isCreate //Заказ создается and order.getCustomField("promokod") != null //Поле "Промокод" не пустое and order.getCustomField("promokod").code not matches '/\_na/' //Поле "Промокод" не содержит "\_na" and order.getCustomField("promokod").code matches '/\_tov/' //Поле "Промокод" содержит "\_tov" ) or ( changeSet.isUpdate //Заказ имзеняется and changeSet.hasChangedField("custom\_promokod") //Поле "Промокод" изменилось and changeSet.newValue("custom\_promokod") != null //Новое значения поля "Промокод" не пустое and order.getCustomField("promokod").code not matches '/\_na/' //Поле "Промокод" не содержит "\_na" and order.getCustomField("promokod").code matches '/\_tov/' //Поле "Промокод" содержит "\_tov" )( Заказ создается И Поле "Промокод" не пустое И Поле "Промокод" не содержит "\_na" И Поле "Промокод" содержит "\_tov") ИЛИ (Заказ имзеняется И Поле "Промокод" изменилось И Новое значения поля "Промокод" не пустое И Поле "Промокод" не содержит "\_na" И Поле "Промокод" содержит "\_tov" )Поставить задачу«\[Промокод с подарком\] Добавить подарок к заказу» И Поставить задачу«\[Промокод с подарком\] Контроль добавления подарка» Да
Выполнен 2vipolnen-2Изменение заказаИзменение статуса заказас Любой на«Принят клиентом» И Заказ оплачен«Да» И ЗаказТип оплаты «Онлайн оплата» Изменить данные заказа«Статус заказа»Да
Выполнен 3vipolnen-3Изменение заказа( (changeSet.hasChangedField("status") and changeSet.getOldValue("status").code in \['send-to-delivery','ozhidaetpvz'\] and changeSet.getNewValue("status").code in \['received'\]) and (order.site.code in \['garti-pr'\]) and (order.manager.id == 29) ) ( (Изменяется статус И Старый статус в \['send-to-delivery','ozhidaetpvz'\] И получить новый статус в \['полученный'\]) И (магазин в \['garti-pr'\]) И (Менеджер заказа = 29 ) Изменить данные заказа«Статус заказа»Да
Письмо если статус "Подписка на рассылку"pismo-esli-status-podpiska-na-rassylkuИзменение заказаИзменение статуса заказас Любой на«Подписка на рассылку» Отправить письмо«Шаблон для статуса "Подписка на рассылку"»Да
Выполнен 4vypolnen-4Изменение заказа(order.status.code in \['received'\]) and (order.summ == 0)(Статус заказа в \['полученный'\]) И (Сумма заказа = 0)Изменить данные заказа«Статус заказа»Да
В ожидании оплаты (курьер/ТК/МП)v-ozhidanii-oplaty-kyr-tk-mpИзменение заказаСтатус заказа«Принят клиентом» И Заказ оплачен«Да» И ЗаказТип оплаты «Наличные (АТОЛ)» или «Безналичные (АТОЛ)» Изменить данные заказа«Статус заказа»Да