Как вывести в письме начисленные за заказ баллы

Чтобы собрать параметр для вывода начисленных баллов, используйте следующие составляющие:

1. Базовый параметр Order (для автоматических рассылок по конкретному заказу) или Recipient.Orders.FilterBySegment("X").Take(N) (для вывода заказов клиента без привязки к событию);

2. AppliedPromotions — обращается ко всем акциям в заказе;
3. Функция GetEarnedBonusPoints() — отбирает все начисления баллов за заказ:

Снимок экрана 2023-05-03 в 15.12.43.png

4. Дальше — по задаче:

  • TotalAmount — выводит все полученные баллы.

Параметр учитывает возвраты и отмены, поэтому выводит актуальное количество.

  • ByPromotion — используется для разбивки начислений по акциям, по каждой из которых можно вывести:
    • Amount — количество баллов;
    • Coupon.Code — использованный промокод;
    • Promotion.Name — название акции.

Если акция применилась по нескольким позициям, каждое начисление по акции выводится отдельно.

Например, есть заказ с двумя позициями. По акции получено в целом 200 баллов, по 100 на каждый товар. Хоть акция и одна, для системы это два разных начисления на каждую из позиций, поэтому параметр ByPromotion выведет каждое из них отдельно.

Примеры верстки по задачам.

Вывести все начисленные за заказ баллы:

За заказ получено баллов: ${Order.AppliedPromotions.GetEarnedBonusPoints("OsnovnojSchet").TotalAmount}

"OsnovnojSchet" — название балльного счета; может отличаться от проекта к проекту.

Разбивка по акциям:

В том числе:

@{for bonus in Order.AppliedPromotions.Discounts.GetBonusPointsDiscounts("OsnovnojSchet").ByPromotion}
    <br>${bonus.Amount} по акции ${bonus.Promotion.Name}.
@{end for}