Skip to end of metadata
Go to start of metadata

Описание

В сообщениях можно формировать условные блоки, используя данные подписчика, json данные и прочие переменные.

{if lead.field in json.promo_actions1}

Они расширяют возможности персонификации сообщений, существенно сокращают объём работы.

Например, в сообщении используется подпись, которая меняется от подписчика к подписчику.

Нашим лучшим клиентам скидка 42%  или Спецпредложение! Скидка 20% со второй покупки!

Вместо того, чтобы делать разные сообщения, можно использовать два условия

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

  • затем проверяется значение в этом поле - совершал ли он хоть раз дорогую покупку


<!-- Если в профиле подписчика есть поля "shop_name" и "best_buy_type" -->
{if lead.shop_name and lead.best_buy_type}

    {if lead.shop_name equal "my_shop"}
    
    <!-- Если подписчик покупал "premium" товары -->
    {if lead.best_buy_type contains "premium"}
        <p>Нашим лучшим клиентам скидка 42%.</p>
        
    <!-- Если он покупал что-то другое -->
    {else}
        <p>Спецпредложение! Скидка 20% со второй покупки!</p>
    {end}

<!-- На случай, когда поля в профиле не оказывется -->
{else}
    <p>Спецпредложение! Скидка 20% со второй покупки!</p>
{end}

Примеры использования

Условия

Простое условие
{if "par1"}
	if true
{else}
	if false
{end}
Комплексное условие
{if "par1" in array["par1" "par2"] and ( 5 equal length("par 3") or false )}
	if true
{else}
	if false
{end}

Циклы

Простой цикл
{for array[1 "2" 3.3]}
	{.}
{else}
	if empty array
{end}
Цикл с переменными
{for $index, $el = array[1 "2" 3.3]}
	{$index}: {$el}
{else}
	if empty array
{end}

Соответствие значения

Равно
{if "par1" equal "par2"}
	if true
{else}
	if false
{end}
Не равно
{if "par1" not_equal "par2"}
	if true
{else}
	if false
{end}
Строка равна (не учитывается регистр)
{if "par1" like "par2"}
	if true
{else}
	if false
{end}
Строка не равна (не учитывается регистр)
{if "par1" not_like "par2"}
	if true
{else}
	if false
{end}
Строка содержит (не учитывается регистр)
{if "par1" contains "par2"}
	if true
{else}
	if false
{end}
Строка не содержит (не учитывается регистр)
{if "par1" not_contains "par2"}
	if true
{else}
	if false
{end}

Сравнение чисел и дат

Больше числа/даты
{if 0 gt 1}
	if true
{else}
	if false
{end}
Больше или равно числа/даты
{if 0 gte 1}
	if true
{else}
	if false
{end}
Меньше числа/даты
{if 0 lt 1}
	if true
{else}
	if false
{end}
Меньше или равно числа/даты
{if 0 lte 1}
	if true
{else}
	if false
{end}

Массивы и поля с тэгами

Элемент в массиве
{if "par1" in array["par1" "par2"]}
	if true
{else}
	if false
{end}
Элемент в поле тэгов
{if "tag1" in lead.TagsField}
	if true
{else}
	if false
{end}
Элемент не в массиве
{if "par1" not_in array["par1" "par2"]}
	if true
{else}
	if false
{end}
Элемент не в поле тэгов
{if "tag1" not_in lead.TagsField}
	if true
{else}
	if false
{end}
Все элементы первого массива
{if array["par1" "par2"] all_in array["par1" "par2"]}
	if true
{else}
	if false
{end}
Не все элементы первого массива
{if array["par1" "par2"] not_all_in array["par1" "par2"]}
	if true
{else}
	if false
{end}
Хотя-бы одно совпадение в массивах
{if array["par1" "par2"] any_of array["par1" "par2"]}
	if true
{else}
	if false
{end}
Нет совпадений в массивах
{if array["par1" "par2"] not_any_of array["par1" "par2"]}
	if true
{else}
	if false
{end}
  • No labels