Настройка программы лояльности 1С-Битрикс
Под «программой лояльности» в Битрикс понимают разные вещи: накопительные скидки, бонусные баллы, уровни клиента. Важно сразу определить механику, потому что встроенные инструменты Битрикс покрывают только часть сценариев, остальное требует кастомной разработки или сторонних модулей.
Что есть из коробки
Битрикс не имеет выделенного модуля «программа лояльности». Функционал собирается из:
- Группы пользователей — разные уровни с разными ценами и правами
-
Накопительные скидки — автоматический перевод между группами по сумме покупок (
b_sale_user.DISCOUNT_VALUE) -
Скидки на заказ — условие «сумма предыдущих заказов» в конструкторе правил модуля
sale -
Купоны — персональные промокоды (
b_sale_discount_coupon)
Для бонусных баллов (начисление N баллов за покупку, списание при следующем заказе) встроенного механизма нет — нужен либо кастомный модуль, либо интеграция с внешней системой лояльности (Mindbox, UDS, 1С:Лояльность).
Реализация уровневой программы
Трёхуровневая программа (Базовый / Серебряный / Золотой) через группы пользователей:
- Создать три группы с соответствующими группами цен
- Настроить автоматический перевод через событие
OnSaleOrderSaved - В личном кабинете вывести текущий уровень и прогресс до следующего
Данные для расчёта прогресса:
// Текущая сумма покупок пользователя
$userSaleData = \Bitrix\Sale\Internals\UserTable::getList([
'filter' => ['=USER_ID' => $userId],
'select' => ['DISCOUNT_VALUE'],
])->fetch();
$currentTotal = (float)$userSaleData['DISCOUNT_VALUE'];
Интеграция с внешними системами лояльности
Если требуются бонусные баллы — подключение через REST API внешней системы. Точки интеграции:
-
OnSaleOrderSaved— начисление баллов при оформлении заказа -
OnSaleOrderStatusChange— начисление при переводе в статус «оплачен» - Компонент корзины — добавление поля списания баллов
Отображение в личном кабинете
Для вывода статуса программы лояльности используется кастомный шаблон компонента bitrix:sale.personal. В шаблоне подключается собственная логика расчёта уровня и бонусов.
Сроки выполнения
Базовая уровневая программа через группы с отображением прогресса — 1–2 рабочих дня. Полноценная система с бонусными баллами и интеграцией с внешней платформой — 3–7 дней.







