Перейти к основному содержимому

Бонусные баллы

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

Бонусные баллы позволяют:

  • оплачивать покупки (согласно настройкам акционных механик)
  • приобретать подарки за баллы

Начисление, списание и передача бонусов возможны через:

  • акционные механики
  • триггерные сценарии
  • карточку клиента в интерфейсе Sailplay
  • API-запросы
Где настраивается

В интерфейсе Sailplay доступна страница настроек бонусной программы: Настройки → Лояльность → Бонусные баллы.


Начисление баллов

Базой для начисления является коэффициент конвертации.

Пример: если покупка составляет 100 условных единиц, а коэффициент равен 0.01, клиент получит 1 балл за покупку.

Дополнительно, на уровне акций можно изменять коэффициент.

Пример: для клиента со специальным статусом множитель может быть равен 10, и за каждые 100 условных единиц клиент получит уже 10 баллов вместо 1.

Округление

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

  • для каждой позиции заказа
  • для всего чека
Неподтверждённые покупки

Если заказ создан в статусе «не подтверждён», бонусы могут быть рассчитаны и отображены, но клиент не сможет использовать их до момента подтверждения покупки.


Сгорание баллов

Для бонусов можно настроить срок действия (сгорания), если этого требует бизнес-логика.

Если у клиента одновременно есть:

  • баллы со сроком действия
  • бессрочные баллы

то при списании сначала будут расходоваться сгораемые баллы (FIFO), и только затем — бессрочные.


Списание баллов в счет скидки

Настройки в личном кабинете

Для возможности списания бонусов в счет скидки настроить акцию с типом вознаграждения "Бонусные баллы в счет скидки", в настройках которой задается обратный коэффициент (стоимость 1 бонусного балла к условное единице валюты) и Максимальный размер скидки в %, в рамках которого рассчитывается какое количество бонусных баллов может списать в покупке клиента.

Списание бонусных баллов при оформлении заказа

писание бонусных баллов должно быть реализовано на этапе оформления заказа.
Для этого на странице необходимо отобразить три поля:

  1. Количество бонусных баллов у клиента
    Используется значение points_confirmed, получаемое из ответа метода
    /api/v2/users/info/.

  2. Количество баллов, доступных для списания в заказе
    Используется значение total_discount_points_max_for_user, возвращаемое в ответе метода
    /api/v2/marketing-actions/calc/light/.
    Для получения этого значения необходимо выполнить запрос с параметром
    discount_points_writeoff=0.

  3. Поле ввода количества баллов к списанию
    Клиент указывает количество бонусных баллов, которые он хочет списать в рамках текущего заказа.


Передача данных в 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.

Важно!

После передачи сгораемые бонусы станут "несгораемыми"!