Рассылка "Заказ оформлен"

Задача: отправить клиенту рассылку об успешном оформлении заказа.
В письме хотим вывести данные именно по этому заказу: его номер, состав, стоимость.

Для этой задачи используем базовый параметр Order, который доступен только в сценариях по событиям «Статус заказа изменен», «Заказ сделан клиентом, импортирован или добавлен через API» и «Данные заказа изменены».

Данные по заказу (стоимость доставки, стоимость, внешний идентификатор и т.д.) выводим так:

Стоимость доставки: ${Order.DeliveryCost}
        Конечная стоимость: ${Order.TotalAmount}
        

Заказ состоит из позиций. У каждой позиции есть данные, передающиеся в заказе:

  • продукт, у которого в свою очередь есть данные из yml-фида:
    • название
    • цена
    • старая цена
    • дополнительные данные по продукту
    • URL картинки и т.д.
  • стоимость за единицу продукта
  • количество
  • статус
  • скидки
  • дополнительные данные по позиции

Все позиции находятся в коллекции Order.Items

Выведем информацию по ним, используя цикл for...end for:

@{for item in Order.Items}
            Название: ${item.Product.Name}
            Ссылка на продукт: ${item.Product.Url}
            Цена за один продукт: ${item.Price}
            Количество: ${item.Count}
        @{end for}
        

Для вывода уникальных продуктов из заказа используйте коллекцию Order.Products.Take().
В таком случае у нас будет доступ не ко всем данным по позициям (см. перечисление выше), а только к продукту:

@{for item in Order.Products.Take(10)}
            Название: ${item.Name}
            Ссылка на продукт: ${item.Url}
        @{end for}
        

При использовании параметра Order.Products.Take() мы обращаемся к списку продуктов без привязки к статусу

Для вывода продуктов в виде товарной сетки воспользуйтесь инструкцией.

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

Сегментация, практические советы - запись и презентация с вебинара Mindbox