Розробка партнерського кабінету на 1С-Бітрікс
Партнерський кабінет — це інструмент для управління партнерською програмою через веб-сайт. Партнер реєструється, отримує реферальне посилання, привертає клієнтів і відстежує винагороди в особистому кабінеті. 1С-Бітрікс надає базовий механізм афіліатів у модулі sale, але для повноцінної партнерської програми його зазвичай потрібно значно доробляти.
Стандартний механізм афіліатів
Модуль sale включає підсистему «Афіліати» (\Bitrix\Sale\Affiliate). Базовий функціонал:
- Реєстрація партнера через компонент
bitrix:sale.affiliate.register - Генерація реферального посилання з параметром
partner_id - Відстеження переходів і замовлень, здійснених за реферальним посиланням
- Розрахунок комісії (фіксований відсоток від суми замовлення)
- Компонент
bitrix:sale.affiliate.cabinet— переглядання статистики та балансу
Обмеження стандартного рішення:
- Один рівень реферальності (немає багаторівневих програм)
- Фіксований відсоток без гнучких умов (без залежності від обсягу, категорії товару, рівня партнера)
- Мінімальний інтерфейс — статистика без візуалізації, немає графіків і аналітики
- Немає механізму виплат — лише нарахування на внутрішній рахунок
- Немає маркетингових матеріалів і промо-інструментів
Для реальної партнерської програми стандартний модуль використовується як фундамент, а бізнес-логіка надбудовується через кастомні обробники й додаткові сутності.
Реєстрація партнера
Реєстрація партнера відрізняється від звичайної реєстрації користувача. Партнер заповнює розширену анкету:
- ПІБ / Назва компанії
- ІНН (для юридичних осіб)
- Сфера діяльності, канали просування
- Реквізити для виплат (розрахунковий рахунок, електронний гаманець)
- Згода з умовами партнерської програми
Заявка не активується одразу — вона потрапляє на модерацію. Менеджер перевіряє дані, приймає рішення. При схвалюванні партнеру присвоюється група користувачів «Партнери» і початковий рівень програми.
Технічна реалізація: розширена форма на bitrix:main.register з додатковими полями UF_*. Обробник OnAfterUserRegister створює запис у таблиці партнерів (highload-блок) і відправляє сповіщення менеджеру.
Реферальна система
Партнер отримує унікальне посилання виду https://site.ru/?partner_id=XXX або https://site.ru/?ref=PROMO_CODE. При переході за посиланням в cookie записується ідентифікатор партнера з настроюваним терміном дії (зазвичай 30–90 днів).
Моделі атрибуції:
- Last click — винагороду отримує партнер, чиє посилання було використано останнім перед замовленням
- First click — винагороду отримує перший партнер у ланцюзі
- Лінійна — винагорода ділиться між партнерами пропорційно
Стандартний модуль підтримує лише last click. Для інших моделей створюється кастомна таблиця переходів, яка фіксує весь ланцюжок, та обробник на подію OnSaleOrderPaid, який застосовує потрібну логіку розподілу.
Промо-коди — альтернатива реферальним посиланням. Партнер отримує іменний промо-код, який клієнт вводить при оформленні замовлення. Промо-код пов'язаний з партнером через правило кошика (\Bitrix\Sale\Discount) і одночасно фіксує продаж за партнером.
Рівні партнерства
Багаторівневої програми мотивує партнерів збільшувати обсяги. Рівні зберігаються в окремому highload-блоці з параметрами:
| Рівень | Умова переходу | Комісія | Бонуси |
|---|---|---|---|
| Стартовий | Реєстрація | 5% від суми замовлення | Базові промо-матеріали |
| Срібний | Оборот від 500 000₽ за квартал | 7% | Розширені баннери, пріоритетна підтримка |
| Золотий | Оборот від 2 000 000₽ за квартал | 10% | Персональний менеджер, co-branding |
| Платиновий | Оборот від 5 000 000₽ за квартал | 12% + бонус за обсяг | Індивідуальні умови, спільні заходи |
Перерахунок рівня запускається агентом (\CAgent) за розписанням — раз на добу або при кожному оплаченому замовленні через обробник. При зміні рівня партнер отримує сповіщення, відсоток комісії оновлюється для майбутніх замовлень.
Додаткові моделі винагород:
- Фіксована сума за кожне замовлення (для послуг)
- Відсоток від першого замовлення залученого клієнта + відсоток від повторних (LTV-модель)
- Бонус за досягнення порогу: залучив 50 клієнтів — отримав разову премію
- Багаторівневий маркетинг: відсоток від продажів партнерів, яких ти залучив (реалізується через рекурсивне прив'язування
parent_partner_id)
Панель управління партнера
Основний екран кабінету відображає ключові метрики й інструменти управління.
Статистика:
- Переходи за реферальним посиланням (по днях, тижнях, місяцях)
- Реєстрації залучених клієнтів
- Замовлення: кількість, суми, середній чек
- Конверсія: перехід → реєстрація → замовлення
- Нараховані винагради й поточний баланс
- Динаміка по періодах — лінійні графіки, порівняння з попереднім періодом
Дані агрегуються в highload-блоці статистики. Деталізація по кожному переходу, реєстрації й замовленню зберігається в окремих таблицях. Графіки будуються на Chart.js або ApexCharts, дані завантажуються через AJAX-запити до кастомного контролера (\Bitrix\Main\Engine\Controller).
Інструменти:
- Генератор реферальних посилань з UTM-параметрами
- Список промо-кодів з можливістю створення нових (у межах ліміту рівня)
- Історія виплат з фільтруванням за періодом і статусом
Розрахунок винагород
Розрахунок виконується при зміні статусу замовлення на «Оплачено» через обробник OnSalePayOrder. Алгоритм:
- Визначається партнер за cookie
partner_idабо промо-кодом замовлення - Завантажується поточний рівень партнера й його відсоток комісії
- Обчислюється база для розрахунку — сума замовлення за вирахуванням доставки, купонів і ПДВ (настроюється)
- Винагорода нараховується на внутрішній баланс партнера
- Якщо увімкнено багаторівневий маркетинг — рекурсивно нараховуються винагради вищестоящим партнерам з убуваючим відсотком
- Створюється запис у журналі нарахувань (highload-блок: partner_id, order_id, amount, type, date)
Скасування й повернення: при скасуванні замовлення або поверненні коштів винагорода сторнується через зворотний запис у журналі. Якщо винагорода вже виплачена — створюється заборгованість партнера, яка враховується при наступній виплаті.
Виплати
Система виплат працює за принципом заявки. Партнер формує заявку на вивід коштів при досягненні мінімальної суми (поріг настроюється).
Процес обробки заявки:
- Партнер натискає «Вивести кошти», вказує суму й реквізити
- Заявка потрапляє в список на модерацію (менеджер бачить в адмінці)
- Менеджер перевіряє коректність даних, підтверджує виплату
- Після фактичної оплати статус заявки змінюється на «Виплачено», баланс партнера зменшується
Для юридичних осіб — виплата за актом виконаних робіт. Система генерує акт за шаблоном, партнер підписує, бухгалтерія проводить оплату.
Маркетингові матеріали
Розділ кабінету з промо-матеріалами для партнерів:
- Баннери різних форматів з вбудованим реферальним посиланням (HTML-код для вставки)
- Логотипи й брендбук для co-branding
- Шаблони email-розсилань
- Описи товарів/послуг для розміщення на сайті партнера
- Презентації в форматі PDF
Матеріали зберігаються в інфоблоці з прив'язкою до рівня партнерства. Партнер стартового рівня бачить базовий набір, золотого — розширений з індивідуальними варіантами.







