Як побудувати програму лояльності на 1С-Бітрікс під свої завдання
Уявіть: клієнт накопичив бонуси, але ви не можете їх списати в потрібній категорії — стандартний модуль лояльності не дозволяє. Або бонуси не згорають, і база нарахувань зростає безконтрольно. Таке трапляється, коли використовують готові рішення без адаптації під бізнес-логіку. Програми лояльності збільшують повторні продажі на 15–25%, але тільки при правильній механіці. Ми створюємо кастомні бонусні системи, які дають повний контроль: будь-які правила нарахування, списання, рівні та термін дії.
На відміну від типових модулів, кастомна розробка не прив'язана до щомісячної оплати і може розширюватися в міру зростання магазину. Ви самі керуєте логікою, а не підлаштовуєтеся під обмеження вендора.
Чому кастомна система перевершує готові модулі?
Готові модулі часто не вміють нараховувати бонуси за реєстрацію, відгук або підписку. Вони не дозволяють задати різні відсотки для новинок і товарів зі знижкою. Кастомна система краща за стандартний модуль у 2–3 рази за гнучкістю: ви можете реалізувати будь-яку схему — від простих балів до багаторівневої програми з періодами згоряння та привітальними бонусами.
| Характеристика | Стандартний модуль | Кастомна система |
|---|---|---|
| Гнучкість правил | Низька | Висока |
| Термін дії балів | Ні | Так, будь-який період |
| Рівні лояльності | Фіксовані | Довільні |
| Інтеграція з 1С | Стандартна | Без змін |
| Вартість супроводу | Щомісячна підписка | Разова розробка |
Як працює кастомна бонусна система на 1С-Бітрікс?
Система будується на власних таблицях і обробниках подій. Нарахування бонусів після оплати замовлення через подію OnSaleOrderPaid:
AddEventHandler('sale', 'OnSaleOrderPaid', function($order) { $userId = $order->getUserId(); $sumOrder = $order->getPrice(); $bonusRate = getBonusRateForUser($userId); // % нарахування $bonusAmount = round($sumOrder * $bonusRate / 100); addBonusTransaction($userId, $bonusAmount, 'EARN', $order->getId()); }); Списання реалізовано як окрема платіжна система: вона зменшує баланс і створює транзакцію типу SPEND. Для захисту від дублів використовуємо блокування рядків SELECT ... FOR UPDATE.
Як відбувається списання бонусів?
Користувач в особистому кабінеті обирає бонуси для оплати. Система перевіряє поточний баланс, резервує суму і при успішному завершенні замовлення списує. Якщо замовлення скасовується — бонуси повертаються зворотною транзакцією. Це стандартний патерн, що реалізується через подію OnSaleOrderCanceled.
Як уникнути втрати балів?
Використовуйте транзакції з блокуванням при списанні. Налаштуйте агента з перезапуском на випадок помилки. Логуйте всі операції в окрему таблицю для аудиту.
Що робити при помилці нарахування?
Агент щоденно перевіряє наявність непроведених транзакцій і повторює спробу. У логах фіксується причина збою — ви завжди можете відновити дані. Ми також налаштовуємо сповіщення адміністратору при аномаліях.
Рівні програми лояльності
| Рівень | Накопичена сума | Відсоток нарахування |
|---|---|---|
| Стандарт | 0–10 000 грн. | 3% |
| Срібло | 10 000–50 000 грн. | 5% |
| Золото | від 50 000 грн. | 7% |
Рівень перераховується при кожному завершеному замовленні — обробник дивиться на сумарні покупки користувача за період і оновлює його рівень у полі UF_BONUS_LEVEL. BONUS_EXPIRE_DATE задається для кожної партії.
При розробці модуля для Бітрікс24 (b24) ми використовуємо події та агенти. Система легко інтегрується з Mindbox та іншими платформами через REST API. Інтеграція з 1С через CommerceML не потребує доопрацювання — обмін замовленнями стандартний.
Процес розробки
- Аналітика — вивчаємо бізнес-модель, формулюємо правила нарахування, списання, рівні.
- Проєктування — створюємо схему БД, список подій, агентів, інтерфейси ОК.
- Розробка — пишемо код, налаштовуємо обробники, агентів, інтеграції.
- Тестування — перевіряємо коректність розрахунків, тестуємо граничні випадки (великий баланс, одночасні списання).
- Деплой — розгортаємо на бойовому сервері, налаштовуємо агенти, переносимо дані.
Що входить в роботу
- Код модуля з таблицями, обробниками, агентами, компонентом особистого кабінету.
- Документація з описом правил нарахування, структури БД, API для зовнішніх інтеграцій.
- Міграція існуючих бонусів зі старої системи (якщо є).
- Консультація з адміністрування.
- Гарантійне обслуговування 1 місяць після запуску.
Терміни виконання
| Обсяг роботи | Термін |
|---|---|
| Базова система: нарахування + списання + ОК | 2–3 тижні |
| З рівнями, терміном згоряння, аналітикою | 4–6 тижнів |
| Інтеграція із зовнішньою платформою лояльності | 1–2 тижні |
Для точної оцінки зв'яжіться з нами — ми проаналізуємо ваше завдання і запропонуємо оптимальне рішення. Всі роботи виконуються з використанням актуальних версій PHP та Бітрікса. Детальніше про можливості платформи читайте в документації 1С-Бітрікс.
Хочете збільшити повторні продажі? Замовте аудит вашої поточної системи лояльності. Отримайте консультацію з розробки та точну оцінку термінів.







