Налаштування програми лояльності 1С-Bitrix
Під «програмою лояльності» у Bitrix розуміють різні речі: накопительні скидки, бонусні бали, рівні клієнта. Важливо одразу визначити механіку, тому що вбудовані інструменти Bitrix охоплюють лише частину сценаріїв, решта потребує кастомної розробки або сторонніх модулів.
Що є з коробки
Bitrix не має виділеного модуля «програма лояльності». Функціонал збирається з:
- Групи користувачів — різні рівні з різними цінами та правами
-
Накопительні скидки — автоматичний переведення між групами за сумою покупок (
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 днів.







