Метод calculate предназначен, для получения:
— данных клиента;
— расчета скидок;
— списка акций, условиям которых удовлетворяет данная покупка;
— активного/общего бонусного баланса.
POST /purchase/calculate отвечает на вопрос: какие скидки, бонусы и ограничения будут применены к корзине при заданных условиях.
Важно
Метод не создаёт покупку, не списывает бонусы и не резервирует баланс. Между расчётом и фиксацией данные могут измениться, поэтому финансовый метод пересчитывает критичные условия.
Повторите расчёт, если изменились товар, количество, цена, дата, магазин, промокод, форма оплаты, доставка или сумма оплаты бонусами. Ответ calculate нельзя считать резервированием баллов.
Примечания
*Если продукт не найден в системе, будет выведен соответствующий ответ на запрос
{
"success": true,
"warnings": [
"Product with code 344 is unknown",
"Product with code 345 is unknown"
]
}
Если используется параметр bonusAmountToPay, распеределение списываемых бонусных баллов происходит на всю покупку, на каждый продукт, при помощи формулы:
распределение по позиции = [Сумма бонусов * (стоимость текущей позиции / сумма заказа итог)]
Если используется параметр minPrice и bonusAmountToPay, расчет производится по минимальному итогу из двух формул:
1. для каждого из продуктов = [amount — (minPrice*quantity) — общий discount по продукту(тип promotion)]2. amount * максимально допустимый % оплаты бонусами в акции
Параметры «availableBonusAmount» и » minAvailableBonusAmount » выводят информацию только для бонусных баллов с типа «Основные» код «default»
Чтобы параметры «availableAmount» и «minAvailableAmount» выводили доступные бонусы для оплаты, необходимо настроить акцию в которой будет разрешена оплата бонусами

Функционал «Подарки»
Функционал предназначен для того, чтобы поощрять покупателей подарками, которые выполнили определенные условия акции.
Для получения в ответе метода списка доступных подарков, необходимо настроить акцию, в которой будет выдана 100% скидка на сегмент товаров.

После запуска акции, в ответе метода будет предоставлен список доступных подарков.
Если в покупке отсутствуют товары из указанного сегмента, в ответе метода будет выведена подсказка о возможности выдать подарок.

Примечание
Если в сегменте товаров больше 1, у клиента имеется возможность выбрать тот подарок, который больше нравится
Например:

После добавления хотя бы одного товара из сегмента в покупке(так как в поощрении указано, «На 1 товар сегмента»), подсказка в ответе метода исчезнет