Использование 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": "mail@example.com", "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" }] }] }
JSON
Этот запрос содержит несколько параметров заказа и их значений, таких как externalItemId, name, quantity, cost, url, imageUrl и т. д.
Чтобы показать персонализированные данные из заказа в транзакционном сообщении, добавьте названия параметров в шаблон и задайте правила их интерпретации с помощью переменных Velocity.
Создание сообщения
1. В учетной записи перейдите в “Сообщения” → “Сообщения”, и создайте новое сообщение или откройте созданное ранее.
2. Используйте Velocity, чтобы добавить динамические переменные в блоки, где должны подставляться персонализированные данные. Количество переменных и их названия будут зависеть от контента сообщения.
Например, чтобы показать способ оплаты в email, поместите переменную $!data.get(‘paymentMethod’) в соответствующий блок шаблона.
3. Чтобы отметить начало и конец блока кода с динамическим содержимым, кликните по структуре с переменными. Откройте редактор кода и добавьте #foreach($item in $!data.get('items')) и #end в начале и конце блока соответственно.
Важно
Добавляйте эти фрагменты кода в каждую структуру с динамическими переменными.
4. Чтобы добавить динамические переменные для изображения, кликните нужное изображение → “Адрес” и вставьте:
$!item.get('imageUrl') в “Путь к картинке”;
$!item.get('url') в “Ссылка” (Другой);
- $!item.get('name') в “Альтернативный текст”.
Чтобы увидеть сообщение с динамическим контентом, нажмите “Дополнительные параметры” (значок “Три точки”) → “Настройка динамического контента”.
Вставьте данные заказа в JSON-формате.
Параметры заказа можно взять из любого переданного в систему заказа. Перейдите в “Триггеры” → “Заказы”, кликните по заказу и скопируйте его параметры.
Нажмите кнопку “Просмотр сообщения”. Вы увидите соответствующее описание ошибки, если в коде есть ошибки. Динамический контент не будет отображаться.
Если код правильный, вы увидите сообщение с динамическим контентом так же, как его увидит пользователь, чьи данные вы использовали для теста.
Вы можете использовать тот же Velocity-код для подстановки данных в другие сообщения.
После создания сообщения постройте сценарий, с задачей “Получить заказ”.