Баннер

Изменение условий триггера на отправку трек-номера
Скопировать ссылку на статью
Скопировано

Процесс оформления доставок добавляет трек номер после обработки заказа в системе менеджером. В связи с этим, в одном триггере не должны использоваться одновременно условия, связанные с трек номером:

  • Добавление
  • Изменение
  • Удаление

И изменением заказа:

  • Изменение статуса заказа
  • Изменение статуса оплаты
  • Изменение любого поля заказа и др.

Если использовать эти условия в одном триггере, он не будет срабатывать так, как вы ожидаете.

Рекомендации по настройке триггера для отправки трек-номера

При настройке триггеров для отправки уведомлений с трек-номером важно учитывать, что он может добавляться в заказ не одновременно с изменением статуса. Триггер, основанный на смене статуса, может сработать до того, как система успеет присвоить трек-номер. В этом случае клиент получит уведомление без него.

Чтобы гарантировать отправку корректных данных, рекомендуется строить условие триггера на факте появления трек-номера в заказе.

Некорректный пример (может не сработать)

Условие проверяет только переход заказа в определённый статус. В момент выполнения этого условия трек-номер в заказе может еще отсутствовать.

changeSet.hasChangedField("status") and changeSet.getNewValue("status").getCode() == "send-to-delivery"

Корректный пример

Условие проверяет непосредственно факт появления трек-номера в заказе. Триггер сработает именно в тот момент, когда трек-номер будет добавлен.

changeSet.hasChangedField("integration_delivery_data.track_number") and order.integrationDeliveryData.trackNumber != null
Благодарим за отзыв.
Была ли статья полезна?
Нет
  • Рекомендации не помогли
  • Нет ответа на мой вопрос
  • Текст трудно понять
  • Не нравится описанный функционал
Да
Следующая статья
Общая информация о триггерах
Триггеры — это событийное средство автоматизации процессов. Триггер срабатывает в момент совершения события, проверяет условия и выполняет действия, если условия выполняются.