К основному содержимому
Все коллекцииАвтоматизация рассылокАвтоматизация
Персонализированный контент в автоматизациях
Персонализированный контент в автоматизациях

Поддержка циклов из триггерных событий

Евгений avatar
Автор: Евгений
Обновлено более 2 мес. назад

В автоматизациях реализована поддержка итераций (циклов) массива data из триггерных событий

Массив data - это данные, которые описаны в разделе "структура данных" для конкретного события из раздела Сайты, например:

{ "customer": { "fname": "<Имя покупателя>", "lname": "<Фамилия покупателя>", "email": "<Email покупателя>", "mobilePhone": "Телефон покупателя" }, "order": { "orderId": "<ID заказа в системе интернет-магазина>", "totalPrice": "<Финальная цена с учетом всех скидок>", "status": "created", "deliveryType": "<express, pickup>", "deliveryAddress": "<Адрес доставки (в случае варианта express)>", "deliveryTime": "<Дата и время доставки, формат: YYYY-MM-DD HH:ii:ss>", "paymentType": "<cash, robokassa, card, invoice>", "lines": [ { "productId": "\"<ID продукта из атрибута offer YML-файла>", "price": "<Цена товара>", "quantity": "<Количество товара>" } ] } }

В описанной выше структуре при подстановке данных в шаблон рассылки можно итерировать, например, следующим образом:

{{data.order.lines}}

{{price}}

{{/data.order.lines}}

Такая итерация выведет подряд цены из переменной price. В произвольных событиях может быть любая кастомная структура.

Также есть расширенные возможности для динамического контента

Например, можно сделать:

{{ if data.customer.fname == 'Петя' }} Добро пожаловать! {{ else }} Идите в лес! {{ endif }}

Или в сочетании с циклом:

{{data.order.lines}}

{{ if price > 100 }} {{price}} {{ else }} Даром! {{ endif }}

{{/data.order.lines}}.

Нашли ответ на свой вопрос?