Разметка шаблонизатора

На данный момент, в шалонизаторе SailPlay реализована возможность работы с переменными и условиями.

Переменные

Одной из базовых возможностей SailPlay Sender является возможность назначать пользователям переменные. Переменная - специальная фраза, которая при отправке письма будет заменена сохраненным значением. Например переменная $[first_name] при отправке будет заменена на имя получателя. 

При использовании любой переменной можно указать значение, которое будет подставлено, если переменная отсутствует или её значение не задано. Также механизм замены можно реализовать через условные конструкции.

Использовать переменные можно как в массовых E-mail и SMS-рассылках, так и в триггерных E-mail и SMS-сообщениях. Указывать переменные вы можете не только непосредственно в теле письма, но и, например, в заголовке или URL-адресе. 

В системе SailPlay реализовано четыре типа переменных:

  • Системные переменные - содержат общую информацию о клиенте и совершаемом действии.

  • Не системные переменные - содержат дополнительную информацию о клиенте. Значения переменной хранятся отдельно для каждого клиента.

  • Переменные, привязанные к тегам - содержат дополнительную информацию, необходимую для действия по конкретному тегу. Значения этих переменных хранятся отдельно для каждого тега.

  • Глобальные переменные - значения этих переменных не привязаны ни к тегам ни к пользователям.

Создание и редактирование переменных производится с помощью методов /api/v2/users/custom-vars/add/ для не системных, и /api/v2/tags/vars/set/ для переменных, привязанных к тегу и глобальных переменных. Так же не системные переменные можно задавать с помощью метода SP.api.customVariables.add JS SDK.

Системные переменные

Системные переменные содержат общую информацию о клиенте и совершаемом действии.

Список доступных переменных отображается в подсказке внизу страницы редактирования сообщения:

Изменить данные пользователя можно при помощи метода API /api/v2/users/update/ 

Синтаксис переменной:

$[var|замена]

Где:

   var - символьный идентификатор переменной,

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

Пример использования переменной в тексте:

$[first_name|Клиент]

Не системные переменные

Такие переменные могут быть использованы для удобного хранения персональной информации клиента. Переменные этого типа привязываются только к клиенту и могут быть доступны при любом обращении.

Задать значение не системной переменной можно с помощью метода API /api/v2/users/custom-vars/add/ и с помощью метода SP.api.customVariables.add JS SDK.

Синтаксис переменной:

$[custom_vars[“var”]|замена]

Где:

   var - символьный идентификатор переменной,

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

Пример использования переменной в тексте:

$[custom_vars[“Последний просмотренный товар”]]

Переменные, привязанные к тегам

Для удобства организации общих рассылок/цепочек , существует тип переменных, привязанных к тегам (событиям).

Значение переменной можно задать с помощью метода /api/v2/tags/vars/set/ 

Синтаксис переменной:

$[tag_vars[“tag”][“var”]|замена]

Где:

   tag - символьный идентификатор тега, к которому привязана переменная,

   var - символьный идентификатор переменной,

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

Пример использования переменной в тексте:

$[tag_vars['Письмо о регистрации'][“URL подтверждения регистрации”]|#]

Глобальные переменные

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

Значение глобальной переменной моожно задать с помощью метода /api/v2/tags/vars/set/.

Синтаксис переменной:

$[global_vars[“var”]|замена]

Где:

   var - символьный идентификатор переменной,

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

Пример использования переменной в тексте:

$[global_vars[“Сегодняшняя дата”]|Сегодня]

Условные конструкции

Условные конструкции позволяют реализовать в тексте сообщения логику “если”.

В качестве выражения условия может выступать наличие тега у клиента, наличие значения переменной и само значение переменной (строковое сравнение).

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

Обязательным являются только элементы if и endif:

$$[if condition]

строка

$$[endif]

Где строка - строка, которая будет добавлена в текст сообщения, если условие выполнится, а condition - выражение условия.

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

elif - строка будет добавлена, если условие elif выполняется, а предыдущие условия if и elif не выполняются,

else - строка будет добавлена, если все предыдущие условия if и elif не выполняются.

Синтаксис выражения условия:

Проверка наличия тега:

$$[elif tags["tag1"]]

где tag1 - символьный идентификатор проверяемого тега

Проверка наличия переменной:

$$[if custom_vars["custom_var1"]]

Где custom_var1 - символьный идентификатор проверяемой переменной.

Проверка значения переменной:

Производится только строковое сравнение.

$$[if custom_vars["custom_var1"] = “OK”]

Где custom_var1 - символьный идентификатор проверяемой переменной,

OK - проверяемое значение.

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

$$[if custom_vars["custom_var1"]]

   У пользователя есть custom_var1 => $[custom_vars["custom_var1"]]

$$[elif tags["tag1"]]

   У пользователя нет custom_var1, но есть tag1

$$[else]

   У пользователя нет ни custom_var1, ни tag1

$$[endif]