Обзор Velocity
Apache Velocity — это программный продукт, состоящий из нескольких библиотек Java. Основным компонентом продукта является Velocity Engine, библиотека, позволяющая генерировать динамический вывод контента (изображения, ссылки, текст) на основе шаблонов сообщений.
Условные переменные Velocity, такие как if/else, for и foreach, позволяют задавать гибкие условия для отображения контента в зависимости от параметров объекта JSON. Подробнее о типах переменных и функций Velocity, используемых в eSputnik >
Velocity Engine можно использовать как в массовых, так и в триггерных рассылках.
Динамический контент в сообщениях используется для подстановки персонализированных данных в момент отправки рассылки — например, товара из оформленного заказа, имени пользователя или его персонального промокода.
Данные для подстановки в сообщение могут передаваться:
Откуда бы вы ни передавали данные, в eSputnik они поступают в формате JSON-объекта. Чтобы подставить данные из такого объекта в сообщение, используются переменные Velocity. Они представляют собой ссылки на определенные элементы в JSON-коде. Чем больше пользовательских данных у вас есть, тем больше динамических переменных вы можете использовать.
Обращение к значениям объекта JSON через переменные
JSON (JavaScript Object Notation) — это человекочитаемый формат обмена текстовыми данными, основанный на JavaScript.
Форматирование JSON-объекта задается с помощью фигурных скобок { }, содержащих данные с ключами и значениями. Пары ключей и их значений разделяются двоеточием: {"ключ" : "значение"}. Каждая пара ключа и значения отделяется запятой:
{ "key" : "value", "key" : "value", "key": "value" }.
JSON
Например, объект, который передается в событии API-методом smartsend, содержит две пары ключа и значения и выглядит следующим образом:
{ "discount": "5%", "link": "https://example.site.com/items_for_sale" }
JSON
Чтобы отобразить переданные значения в сообщении, нужно использовать в сообщении velocity-структуру $!data.get('discount') и $!data.get('link'), где:
- $!data.get — команда извлечь данные,
- значение в скобках и кавычках указывает поле, из которого следует извлечь данные.
После подстановки данных сообщение будет выглядеть следующим образом:
Значение "5%" заменяет переменную "discount", а значение https://site.com/items_for_sale заменяет переменную "link" и подставляется в кнопку.
Дополнительные сведения об использовании velocity-переменных см. в следующих статьях: