Испол ьзование логических выражений в сообщениях
В сообщениях можно формировать условные блоки, используя данные подписчика, 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}
<!-- На случай, когда поля в профиле не оказывется -->
{else}
<p>Спецпредложение! Скидка 20% со второй покупки!</p>
{end}
Примеры использования
Условия
Простое условие
{if "par1"}
if true
{else}
if false
{end}
Комплексное условие
Пример 1:
{if "par1" in array["par1" "par2"] and ( 5 equal length("par 3") or false )}
if true
{else}
if false
{end}
Пример 2 с apicontent
:
{if apicontent.field_1 not_equal apicontent.field_2 and ( apicontent.field_1 or apicontent.field_2 )}
if true
{else}
if false
{end}
Пример 3:
{if crypt("md5" lead._fname "salt") like "123b003aa39d110d1333b37af9889e10" and crypt("base58" lead.lottery_id) like json.crypted_winner}
if true
{else}
if false
{end}