Огляд 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}% сьогодні$!{discount}Коректно відокремлює змінну та приглушує відсутні значення Якщо значення відсутнє, користувач побачить текст, що розташований поруч з закривною дужкою, наприклад: Зекономте % на наступному замовленні${discount|$otherGift}Якщо значення змінної відсутнє, підставляє запасне значення Найоптимальніший варіант, коли за відсутності значення користувач бачить альтернативний текст
Додаткові відомості про використання velocity-змінних ви знайдете у наступних статтях:
Updated 25 days ago