Бонусные баллы
Сущность бонусных баллов используется для управления бонусным балансом клиента. У каждого клиента существует только один бонусный баланс, который меняется в зависимости от действий клиента и настроек программы лояльности.
Бонусные баллы позволяют:
- оплачивать покупки (согласно настройкам акционных механик)
- приобретать подарки за баллы
Начисление, списание и передача бонусов возможны через:
- акционные механики
- триггерные сценарии
- карточку клиента в интерфейсе Sailplay
- API-запросы
В интерфейсе Sailplay доступна страница настроек бонусной программы: Настройки → Лояльность → Бонусные баллы.
Начисление баллов
Базой для начисления является коэффициент конвертации.
Пример: если покупка составляет 100 условных единиц, а коэффициент равен 0.01, клиент получит 1 балл за покупку.
Дополнительно, на уровне акций можно изменять коэффициент.
Пример: для клиента со специальным статусом множитель может быть равен 10, и за каждые 100 условных единиц клиент получит уже 10 баллов вместо 1.
Бонусы начисляются как целочисленное значение.
В настройках можно задать правила округления:
- для каждой позиции заказа
- для всего чека
Если заказ создан в статусе «не подтверждён», бонусы могут быть рассчитаны и отображены, но клиент не сможет использовать их до момента подтверждения покупки.
Сгорание баллов
Для бонусов можно настроить срок действия (сгорания), если этого требует бизнес-логика.
Если у клиента одновременно есть:
- баллы со сроком действия
- бессрочные баллы
то при списании сначала будут расходоваться сгораемые баллы (FIFO), и только затем — бессрочные.
Списание баллов в счет скидки
Настройки в личном кабинете
Для возможности списания бонусов в счет скидки настроить акцию с типом вознаграждения "Бонусные баллы в счет скидки", в настройках которой задается обратный коэффициент (стоимость 1 бонусного балла к условное единице валюты) и Максимальный размер скидки в %, в рамках которого рассчитывается какое количество бонусных баллов может списать в покупке клиента.
Списание бонусных баллов при оформлении заказа
писание бонусных баллов должно быть реализовано на этапе оформления заказа.
Для этого на странице необходимо отобразить три поля:
-
Количество бонусных баллов у клиента
Используется значениеpoints_confirmed, получаемое из ответа метода
/api/v2/users/info/. -
Количество баллов, доступных для списания в заказе
Используется значениеtotal_discount_points_max_for_user, возвращаемое в ответе метода
/api/v2/marketing-actions/calc/light/.
Для получения этого значения необходимо выполнить запрос с параметром
discount_points_writeoff=0. -
Поле ввода количества баллов к списанию
Клиент указывает количество бонусных баллов, которые он хочет списать в рамках текущего заказа.
Передача данных в API
Для списания бонусных баллов в запросе расчёта или создания покупки необходимо передать параметр: discount_points_writeoff со значением количества баллов, введённых клиентом.
В таком случае общая сумма списанных бонусных баллов распределяется сервером Sailplay автоматически:
- распределение происходит по всем товарам в заказе (также акции списания в ЛК Sailplay можно настраивать на примерение только к конкретным товаров);
- распределение пропорционально стоимости каждой позиции относительно общей суммы заказа;
- все значения списываемых бонусов округляются до целых чисел.
Допускается также распределение бонусов к списанию на стороне партнера. Для каждой позиции в методе расчета акций /api/v2/marketing-actions/calc/ или /api/v2/marketing-actions/calc/light/ в массиве cart необходимо передать по каждой позиции параметр discount_points со значением, максимальное значение которого будет рассчитано по каждой позиции в параметре discount_points_max. Если по определенной позиции списание не предусмотрено или равно 0, то можно либо добавлять к этой позиции discount_points либо передать со значением 0.
Пример корзины с передачей бонусов к списанию по позиции cart={"1":{"sku":"1","price":1000,"quantity":1,“discount_points”:500},"2":{"sku":"2","price":555,"quantity":1,“discount_points”:0},"3":{"sku":"10001","price":123,"quantity":1}}
Логика ввода и проверки
Клиент может ввести количество баллов для списания не больше:
- своего подтверждённого баланса;
- лимита списания, доступного для текущего заказа.
Проверка этих условий должна выполняться на стороне сайта или клиентского приложения.
Передача баллов между клиентами
В Sailplay API предусмотрена возможность передавать бонусные баллы между клиентами. Для этого в запросе к методу /points/move необходимо указать идентификаторы клиентов, между которыми будет осуществлена передача, количество баллов, а также (опционально) текст комментария, который будет отображаться в карточке клиента в личном клиенте Sailplay.
После передачи сгораемые бонусы станут "несгораемыми"!