Как вывести персональные цены на сайте
Персональные цены на сайте показывают клиенту минимальную цену с учетом его скидок, тем самым мотивируя его к оформлению заказа. Задача: настроить отображение персональных цен на сайте.
Шаг 1. Создайте операцию с шагом «Каталог — Рассчитать цены».
Подробнее про описание метода можно прочитать в документации.
Шаг 2. Настройте промоакции.
Создайте балльную или скидочную промоакцию или используйте существующие. Убедитесь, что в них выбраны подходящие бенефиты:
- Выдать скидку;
- Разрешить скидку баллами;
- Использовать цену из дополнительного поля;
- Начислить баллы;
- Начислить баллы из дополнительного поля.
Обратите внимание, что промоакция не будет участвовать в расчете персональных цен, если в ней:
- Выдаются или применяются промокоды;
- Выбраны наборные бенефиты: каскадная скидка, выдать скидку за набор, выдать скидку на N продуктов при оформлении заказа на N единиц продукта, выдать скидку на продукт за каждые n рублей, потраченные на продукты из сегмента;
- Указаны сложные условия по составу заказа. В сегменте заказов, на которые действует промоакция, можно указывать только условия стандартных полей в «Линии чека — есть такие»: базовая цена, текущая цена, сегмент продуктов. При выборе других фильтров промоакция не будет участвовать в расчете персональных цен.
Шаг 3. Настройте интеграцию на стороне сайта.
Настройте вызов операции перед отображением на сайте одного продукта или списка. В теле запроса нужно передать список товаров, а также при необходимости пользователя и акции.
В теле ответа будет указана информация по персональным ценам с учетом скидок; количество баллов, которое будет начислено при покупке товара; лейблы промоакций для отображения рядом с товаром. Для вывода:
- Информации по бонусам, доступных к начислению при покупке продукта — обращайтесь к массиву
"earnBonusPoints"
. В нем будет рассчитано начисление бонусов на каждый балльный счет.
"earnBonusPoints": [
{
"amount": "<Количество баллов, которые клиент получит за покупку этого продукта>",
"balance": {
"systemName": "<Системное имя балльного счёта>"
}
},
{
"amount": "<Количество баллов, которые клиент получит за покупку этого продукта>",
"balance": {
"systemName": "<Системное имя балльного счёта>"
}
}
]
-
Персональной цены только с учетом скидочных акций —
"priceForCustomer": "<Цена продукта для текущего клиента c учетом скидок>"
-
Персональной цены с учетом скидочных акций и применения доступных баллов —
"priceWithDiscountsAndSpentBonusPoints": "<Цена продукта для текущего клиента c учетом скидок и списания его баллов>"
Если у промоакции заполнено дополнительное поле «лейбл промоакции» и его нужно отображать рядом с продуктом — используйте массив PromoLabels. Если дополнительное поле не заполнено — данные не попадут в массив.
"promoLabels": [
{
"label": "<Лейбл акции>",
"promotionExternalId": "<Внешний идентификатор промоакции>"
},
{
"label": "<Лейбл акции>",
"promotionExternalId": "<Внешний идентификатор промоакции>"
}
]