Використання Velocity у email
Дізнайтеся, як створити емейл-шаблон із динамічними змінними.
Для приклада додамо у лист з підтвердженням замовлення динамічні дані по замовленню. Ви можете створити будь-яке інше повідомлення за допомогою тих самих принципів (див. як персоналізувати email залежно від параметрів профілю контакту).
Для передачі інформації про замовлення необхідно надіслати запит API-ресурсами Add orders або Generate event.
Приклад тіла запиту:
{
"orders": [
{
"externalOrderId": "100500",
"externalCustomerId": "12345",
"totalCost": 1000,
"status": "INITIALIZED",
"date": "2017-03-08T09:30:00+02:00",
"email": "[email protected]",
"phone": "380942583691",
"firstName": "John",
"lastName": "Smith",
"currency": "USD",
"shipping": 10,
"discount": 0,
"deliveryMethod": "express",
"paymentMethod": "cash",
"deliveryAddress": "First str. 1",
"items": [
{
"externalItemId": "200600",
"name": "Super Device",
"category": "devices",
"quantity": 1,
"cost": 990,
"url": "http://example.com/item/200600",
"imageUrl": "http://example.com/item/200600/image.png",
"description": "High quality"
}
]
}
]
}Цей запит містить кілька параметрів замовлення та їх значення, такі як externalItemId, name, quantity, cost, url, imageUrl тощо.
Щоб показати персоналізовані дані із замовлення в транзакційному повідомленні, додайте назви параметрів у шаблон і задайте правила їх інтерпретації за допомогою змінних Velocity.
Створення повідомлення
- В обліковому записі перейдіть до Повідомлення → Повідомлення, і створіть нове повідомлення або відкрийте створене раніше.
- Використовуйте Velocity, щоб додати динамічні змінні до блоків, де мають підставлятися персоналізовані дані. Кількість змінних та їх назви залежатимуть від контенту повідомлення.
Наприклад, щоб показати спосіб оплати в email, помістіть змінну $!data.get('paymentMethod') у відповідний блок шаблону.
Зверніть увагуКоманда витягти дані
data.getнеобхідна лише при зверненні до рекомендаційних або зовнішніх джерел даних. В усіх інших випадках ви також можете використовувати формат, описаний в документації Velocity версії 2.4.1. Наприклад:
Формат Змінна Опис Скорочний $discountЯкщо змінної немає —виводиться буквальний текст $discountТихий $!discountЯкщо значення відсутнє, нічого не виводиться Формальний ${discount}Дужки для однозначного відокремлення імені змінної від сусіднього тексту Тихий формальний $!{discount}Коректно відокремлює змінну та приглушує відсутні значення Альтернативне значення ${discount|Free Shipping}Якщо значення змінної відсутнє, підставляє запасне значення
- Щоб відзначити початок і кінець блоку коду з динамічним вмістом, натисніть структуру зі змінними. Відкрийте редактор коду і додайте
#foreach($item in $!data.get('items'))та#endна початку та в кінці блоку відповідно.
ВажливоДодайте ці фрагменти коду до кожної структури з динамічними змінними.
- Щоб додати динамічні змінні для зображення, натисніть потрібне зображення → Адреса та вставте:
$!item.get('imageUrl')у Шлях до зображення;$!item.get('url')у Посилання (Інший);$!item.get('name')у Альтернативний текст.
Щоб побачити повідомлення з динамічним контентом натисніть Додаткові параметри (значок Три крапки) → Налаштування динамічного контенту.
Вставте дані по замовленню в JSON-форматі.
Параметри замовлення можна взяти з будь-якого переданого до системи замовлення. Перейдіть до Тригери → Замовлення, клацніть на замовлення та скопіюйте його параметри.
Натисніть кнопку Перегляд повідомлення. Ви побачите відповідний опис помилки, якщо код має помилки. Динамічний контент не відображатиметься.
Якщо код правильний, ви побачите повідомлення з динамічним контентом так, як його побачить користувач, чиї дані ви використовували для тесту.
Ви можете використовувати той же Velocity-код для підставляння даних в інших повідомленнях.
Після створення повідомлення побудуйте сценарій із задачею Отримати замовлення
Updated 28 days ago