Огляд 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-об'єкту визначається за допомогою фігурних дужок { }, що містять дані з ключами та значеннями. Пари ключів та їх значень поділяються двокрапкою: {"ключ" : "значення"}. Кожна пара ключа та значення відокремлюється комою:
{
"key1": "value1",
"key2": "value2",
"key3": "value3"
}Наприклад, об'єкт, який передається в події API-методом smartsend, містить дві пари ключа та значення і виглядає так:
{
"discount": "5%",
"link": "https://example.site.com/items_for_sale"
}Щоб відобразити надіслані значення в повідомленні, потрібно використовувати в повідомленні velocity-структуру $!data.get('discount') і $!data.get('link'), де:
data.get— команда витягти дані,- значення у дужках та лапках вказує поле, з якого слід витягти дані.
Після підстановки даних повідомлення буде виглядати так:
Значення 5% замінює змінну discount, а значення https://site.com/items_for_sale замінює змінну link та підставляється в кнопку.
Зверніть увагуКоманда витягти дані
data.getнеобхідна лише при зверненні до рекомендаційних або зовнішніх джерел даних. В усіх інших випадках ви також можете використовувати формат, описаний в документації Velocity версії 2.4.1. Наприклад:
Формат Змінна Опис Скорочний $discountЯкщо змінної немає —виводиться буквальний текст $discountТихий $!discountЯкщо значення відсутнє, нічого не виводиться Формальний ${discount}Дужки для однозначного відокремлення імені змінної від сусіднього тексту Тихий формальний $!{discount}Коректно відокремлює змінну та приглушує відсутні значення Альтернативне значення ${discount|Free Shipping}Якщо значення змінної відсутнє, підставляє запасне значення
Додаткові відомості про використання velocity-змінних ви знайдете у наступних статтях:
Updated about 1 month ago