Топ-100

Произвольные триггеры

Произвольные триггеры позволяют отправлять автоматические сообщения в мессенджеры, по SMS или Email с привязкой к изменениям любых полей заказа сразу после изменения поля или через определенное время. При этом не обязательно привязываться к изменению статуса заказа.

Для каждого заказа произвольный триггер для мессенджеров может срабатывать только один раз. Сделано для защиты от переспама конечных покупателей.

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

При указании ссылки на сайт рекомендуем использовать переменную {{account.url}}. Другие переменные могут не использовать https в адресе сайта и браузер отобразит предупреждение о переходе на небезопасный сайт.

Создание триггера

1. Перейдите в Диалоги → Шаблоны и нажмите кнопку "Добавить" в разделе "Произвольные триггеры".

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

Настройка условия отправки

1. С помощью шаблонизатора Liquid опишите, при каких условиях будет срабатывать триггер.

2. Для инициации триггера используйте метод {{ send_message }}.

Поддерживаются циклы, условия, группы переменных ORDER, CLIENT и ACCOUNT.

Примеры условий отправки

Отправка данных из любого поля заказа, если оно было изменено и было пустым до изменения.

Может использоваться для отправки трек-номера заказа покупателю.

{% if change_set['Трек-номер Почта России'].appeared? %}
{{ send_message }}
{% endif %}

В примере выше важно использовать метод "change_set". Если производить отправку просто по проверке заполненности поля, а не по его изменению, то можно случайно отправить покупателям много однотипных сообщений, пересохраняя или повторно редактируя заказ.

Отправка сообщения при изменении конкретного поля, если до изменения оно не было пустым. 
{% if change_set['реквизиты'].changed? %} {{ send_message }} {% endif %}
Отправка сообщения после изменения статуса заказа на "Доставлен" и статуса оплаты на "Оплачен".

Может использоваться для сбора обратной связи через какое-то время после выполнения заказа.

{% if order.fulfillment_status == 'delivered' and order.paid? %}
{{ send_message }}
{% endif %}

Если возникают трудности с использованием шаблонизатора Liquid, то обратитесь в техническую поддержку за помощью по составлению условий отправки.

Настройка задержки отправки сообщений

Укажите, через какой промежуток времени будет выполнена отправка триггерного сообщения.

Доступно два варианта:

  • Сразу после выполнения условий — сообщение будет отправлено моментально.
  • Через промежуток времени — система добавит сообщение в очередь отправки сразу после того, как заказ начнет соответствовать условиям. Когда наступит время отправки, система еще раз проверит, соответствует ли заказ условиям отправки. И если заказ за промежуток времени не перестал соответствовать условиям отправки, отправит сообщение.

Настройка шаблона уведомления

Заполните шаблон содержимого отправляемого сообщения.

Описание полей аналогично полям при создании шаблонов по статусам заказов.

Если возникают трудности с использованием шаблонизатора Liquid, то можно обратиться в техническую поддержку за помощью по составлению условий отправки.

Практические примеры триггерных сообщений

Отправка трек-номера заказа при заполнении поля заказа с названием "Трек-номер Почты России"

Условие отправки

{% if change_set['Трек-номер Почты России'].appeared? %}
      {{ send_message }}
{% endif %}

Задержка отправки

Сразу после выполнения условий

Шаблон уведомления

Трек-номер вашего заказа {{ order.all_fields['Трек-номер Почта России'].value }}
Отследить заказ: https://www.pochta.ru/tRACKING
Интернет-магазин {{ account.main_host }}

Объяснение

В условии отправки проверяем изменение поля заказа с названием "Трек-номер Почты России". Если поле было изменено (change_set[].appeared?) и сохранено, то инициируется отправка триггерного сообщения {{ send_message }}.

Отправка выполняется без задержки сразу после ввода трек-номера в поле заказа.

В шаблоне уведомления указывается, что нужно подставить значение поля "Трек-номер Почты России" {{ order.all_fields['Трек-номер Почта России'].value }}, указывается ссылка на сайт для отслеживания отправления и подставляется домен интернет-магазина {{ account.main_host }}.

Запрос отзыва о магазине через один день после выполнения заказа

Условие отправки

{% if order.fulfillment_status == 'delivered' and order.paid? %}
{{ send_message }}
{% endif %}

Задержка отправки

Через промежуток времени – 1 день

Шаблон уведомления

{{ order.client.name }}, добрый день!
Вчера вы получили заказ №{{ order.number }} из нашего интернет-магазина.
Будем благодарны за честный отзыв на Яндекс.Маркете: https://vk.cc/abc1Gb
После публикации отзыва мы зачислим на ваш телефон {{ order.client.phone }} 200 рублей.
Магазин {{ account.main_host }}

Объяснение

В условии отправки указывается, что отправку сообщения нужно осуществлять, если статус заказа "Доставлен" и статус оплаты "Оплачен".

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

В шаблон уведомления подставляется имя покупателя из заказа {{ order.client.name }}, номер заказа {{ order.number }}, короткая ссылка на профиль магазина в Яндекс Маркете, номер телефона покупателя из заказа {{ order.client.phone }} и домен интернет-магазина {{ account.main_host }}.

Промокод на следующую покупку через две недели после выполнения заказа

Условие отправки

{% if order.fulfillment_status == 'delivered' and order.paid? %}
{{ send_message }}
{% endif %}

Задержка отправки

Через промежуток времени – 14 дней

Шаблон уведомления

{{ order.client.name }}, добрый день!
2 недели назад вы оформляли заказ №{{ order.number }} в нашем интернет-магазине.
Мы ждем Вас снова и дарим промо-код на следующую покупку со скидкой 20%
Промо-код: *sale20*
Магазин {{ account.main_host }}

Объяснение

В условии отправки указывается, что отправку сообщения нужно осуществлять, если статус заказа "Доставлен" и статус оплаты "Оплачен".

Скидку целесообразно предлагать через некоторое время после выполнения заказа, поэтому задержка отправки — 14 дней.

В шаблон уведомления подставляется имя покупателя из заказа {{ order.client.name }}, номер заказа {{ order.number }}, промокод (указан в "звездочках", чтобы текст в мессенджерах был жирным) и домен интернет-магазина {{ account.main_host }}.

Напоминание об оплате заказа, если был выбран способ оплаты с названием "Банковской картой", но заказ не был оплачен в течение 30 минут.

Условие отправки

{% if order.payment_title == 'Банковской картой' and order.paid? == false %}
{{ send_message }}
{% endif %}

Задержка отправки

Через промежуток времени – 30 минут

Шаблон уведомления

{{ order.client.name }}, добрый день!
Заказ №{{ order.number }} будет отправлен после оплаты.
Ссылка для оплаты {{ order.pay_url }}
Магазин {{ account.main_host }}

Объяснение

В условии отправки указывается, что отправку сообщения нужно осуществлять, если название способа оплаты в заказе "Банковской картой" и статус оплаты "Не оплачен".

Задержка отправки устанавливается 30 минут, чтобы дать покупателю время на оплату заказа после оформления.

В шаблон уведомления подставляется имя покупателя из заказа {{ order.client.name }}, номер заказа {{ order.number }}, прямая ссылка на оплату {{ order.pay_url }} и домен интернет-магазина {{ account.main_host }}.

Подробнее о работе с change_set

change_set показывает, что изменилось в заказе в момент постановки триггера. 

Стандартная конструкция, в которой используется change_set:

{% if change_set["order.fulfillment_status"].changed? %}
{{ send_message }}
{% endif %}

где:

  • changed? - проверка изменения данных, хранящихся в переменной;
  • order.fulfillment_status - переменная, содержащая статус заказа (можно использовать любые Liquid переменные из групп ORDER, CLIENT и ACCOUNT);
  • {{ send_message }} - команда отправки содержимого сообщения.

Как использовать переменные

Переменные указываются в квадратных скобках перед проверкой. 

  • Верно: `change_set["order.fulfillment_status"].changed?`.
  • Неверно: `change_set.order.fulfillment_status`.

Если переменной нет, то проверка не происходит, `changed?` будет содержать значение "false".

Проверки

  • `changed?` — отличается ли старое значение от нового;
  • `appeared?` — раньше поле было пустое, есть ли теперь значение?

Старое и новое значение переменной из `change_set` прочитать нельзя.

 

Оставить оценку

Оценка успешно отправлена.
Она будет проверена администратором перед публикацией.
Нажимая кнопку «Отправить оценку», я принимаю пользовательское соглашение и политику конфиденциальности
Перед публикацией все оценки проходят модерацию

Количество отзывов: 0

Недавно просмотренные статьи
Остались вопросы?
Отправьте обращение в техподдержку!
Для улучшения работы сайта, ООО «Инсейлс Рус» обрабатывает файлы Cookie, а также использует сервисы веб-аналитики. Для получения дополнительной информации, пожалуйста, ознакомьтесь с Политикой использования Cookie-файлов.