Огляд Velocity
Apache Velocity — це програмний продукт, що складається з кількох бібліотек Java. Основним компонентом продукту є Velocity Engine, бібліотека, що дозволяє генерувати динамічне виведення контенту (зображення, посилання, текст) на основі шаблонів повідомлень.
Умовні змінні Velocity, такі як if/else, for та foreach, дозволяють задавати гнучкі умови для відображення контенту залежно від параметрів об'єкта JSON. Докладніше про типи змінних та функцій Velocity, що використовуються в eSputnik >
Velocity Engine можна використовувати як у масових, так і в тригерних розсилках.
Динамічний контент у повідомленнях використовується для підставлення персоналізованих даних у момент відправки розсилки — наприклад, товару з оформленого замовлення, імені користувача або його персонального промокоду.
Дані для підстановки у повідомлення можуть передаватися:
- з картки контакту в eSputnik
- із зовнішніх джерел даних
- з подій
Звідки б ви передавали дані, в 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-змінних див. у наступних статтях: