Використання Velocity у Email

Дізнайтеся, як створити емейл-шаблон із динамічними змінними.

Для прикладу додамо у лист з підтвердженням замовлення динамічні дані про замовлення.

Ви можете створити будь-яке інше повідомлення за допомогою тих самих принципів. Докладніше у статті Змінні у профілі контакту та можливості Velocity.

Підготовка даних замовлення

Щоб передати інформацію про замовлення до системи, скористайтеся одним з API-ресурсів:

Приклад тіла запиту:

{
  "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 тощо.

Створення повідомлення

Перейдіть до розділу Повідомлення → Повідомлення → Email, створіть нове повідомлення або відкрийте створене раніше.

Додавання динамічних змінних

Додайте змінні у контентну частину повідомлення, де потрібно відобразити персоналізовані дані замовлення. Кількість і назви змінних залежать від структури контенту.

Позначення блоку динамічного вмісту

Щоб система розуміла, яку частину шаблону потрібно повторювати для кожного елемента списку (наприклад, товару у замовленні), обгорніть цю частину коду директивами #foreach і #end.

Під час надсилання повідомлення система бере дані з події (наприклад, перелік товарів у замовленні) і створює окремий блок для кожного з них. Завдяки цьому лист автоматично містить повний список товарів, а не лише один приклад.

  1. Натисніть структуру зі змінними, відкрийте редактор коду і додайте #foreach($item in $!items) та #end на початку та в кінці блока.
  1. Натисніть Застосувати зміни.
📘

Важливо

Додайте цикл #foreach#end до кожної структури, що містить динамічні змінні.

Змінні для зображень

Щоб підставити динамічні параметри в елементи зображення, відкрийте налаштування блоку Зображення і додайте такі вирази Velocity:

  • $!item.imageUrlШлях до картинки;
  • $!item.urlПосилання (Інше);
  • $!item.nameАlt-текст.

Перевірка повідомлення з динамічним контентом

  1. На панелі Керування листом натисніть Додаткові параметриНалаштування динамічного контенту.

Дані у форматі JSON беруться з того самого замовлення, переданого на етапі підготовки через API-ресурс Add orders або Generate event, або з будь-якого іншого замовлення, переданого до системи. Таким чином, під час перегляду повідомлення система підставляє реальні значення з замовлення (наприклад, назву товару, вартість, валюту, адресу доставки).

  1. Вставте дані із замовлення у поле Динамічний контент і натисніть Перегляд повідомлення.

Ви можете взяти параметри замовлення з будь-якої події замовлення.

Перейдіть до розділу Тригери → Замовлення, клікніть на статус замовлення та скопіюйте його параметри до буфера обміну.

Натисніть Попередній перегляд. Якщо у коді є помилки — система покаже їх опис. Перевірте код і повторіть перегляд.

Якщо код правильний — лист відобразиться з підставленими даними.

Створений Velocity-код можна використовувати в інших повідомленнях. Після створення шаблону додайте його до сценарію з задачею Отримати замовлення, щоб автоматизувати відправлення повідомлень.