Как вывести персональные цены на сайте

Персональные цены на сайте показывают клиенту минимальную цену с учетом его скидок, тем самым мотивируя его к оформлению заказа. Задача: настроить отображение персональных цен на сайте.

Шаг 1. Создайте операцию с шагом «Каталог — Рассчитать цены».

personal-prices-operation.png

Подробнее про описание метода можно прочитать в документации.

Шаг 2. Настройте промоакции.

Создайте балльную или скидочную промоакцию или используйте существующие. Убедитесь, что в них выбраны подходящие бенефиты:

  • Выдать скидку;
  • Разрешить скидку баллами;
  • Использовать цену из дополнительного поля;
  • Начислить баллы;
  • Начислить баллы из дополнительного поля.

Обратите внимание, что промоакция не будет участвовать в расчете персональных цен, если в ней:

  • Выдаются или применяются промокоды;
  • Выбраны наборные бенефиты: каскадная скидка, выдать скидку за набор, выдать скидку на N продуктов при оформлении заказа на N единиц продукта, выдать скидку на продукт за каждые n рублей, потраченные на продукты из сегмента;
  • Указаны сложные условия по составу заказа. В сегменте заказов, на которые действует промоакция, можно указывать только условия стандартных полей в «Линии чека — есть такие»: базовая цена, текущая цена, сегмент продуктов. При выборе других фильтров промоакция не будет участвовать в расчете персональных цен.

Шаг 3. Настройте интеграцию на стороне сайта.

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

В теле ответа будет указана информация по персональным ценам с учетом скидок; количество баллов, которое будет начислено при покупке товара; лейблы промоакций для отображения рядом с товаром. Для вывода:

  • Информации по бонусам, доступных к начислению при покупке продукта — обращайтесь к массиву "earnBonusPoints". В нем будет рассчитано начисление бонусов на каждый балльный счет.
 "earnBonusPoints": [
                  {
                    "amount": "<Количество баллов, которые клиент получит за покупку этого продукта>",
                    "balance": {
                      "systemName": "<Системное имя балльного счёта>"
                    }
                  },
                  {
                    "amount": "<Количество баллов, которые клиент получит за покупку этого продукта>",
                    "balance": {
                      "systemName": "<Системное имя балльного счёта>"
                    }
                  }
                ]
        
  • Персональной цены только с учетом скидочных акций — "priceForCustomer": "<Цена продукта для текущего клиента c учетом скидок>"

  • Персональной цены с учетом скидочных акций и применения доступных баллов — "priceWithDiscountsAndSpentBonusPoints": "<Цена продукта для текущего клиента c учетом скидок и списания его баллов>"

Если у промоакции заполнено дополнительное поле «лейбл промоакции» и его нужно отображать рядом с продуктом — используйте массив PromoLabels. Если дополнительное поле не заполнено — данные не попадут в массив.

"promoLabels": [
                    {
                      "label": "<Лейбл акции>",
                      "promotionExternalId": "<Внешний идентификатор промоакции>"
                    },
                    {
                      "label": "<Лейбл акции>",
                      "promotionExternalId": "<Внешний идентификатор промоакции>"
                    }
                  ]