Налаштування купонів та промокодів 1С-Bitrix
Купони у Bitrix — це коди, при введенні яких активується пов'язане маркетингове правило. Купон не працює сам по собі: він завжди прив'язаний до правила скидки в b_sale_discount. Керування купонами: Магазин → Маркетинг → Купони.
Типи купонів
| Тип | Опис | Таблиця |
|---|---|---|
| Загальний (багаторазовий) | Один код, кілька користувачів, необмежена кількість застосувань | b_sale_discount_coupon, TYPE = 1 |
| Унікальний одноразовий | Один код — одне використання для всіх | TYPE = 2 |
| Унікальний для користувача | Один код — одне використання для конкретного користувача | TYPE = 3 |
Створення купона через інтерфейс
Магазин → Маркетинг → Скидки та акції → [вибрати правило] → Купони → Додати:
- Код купона — вводиться вручну або генерується автоматично
- Тип — з таблиці вище
- Дата активації/деактивації — опціонально
- Максимальна кількість застосувань — для обмежених акцій
Для масової генерації унікальних купонів (наприклад, 1000 кодів для email-розсилки) використовується вбудований генератор у розділі купонів або програмна генерація через \Bitrix\Sale\DiscountCouponsManager.
Програмна генерація купонів
$coupon = \Bitrix\Sale\DiscountCouponsManager::generateCoupon(true); // true = унікальний
\Bitrix\Sale\Internals\DiscountCouponTable::add([
'DISCOUNT_ID' => $discountId,
'ACTIVE' => 'Y',
'COUPON' => $coupon,
'TYPE' => \Bitrix\Sale\Internals\DiscountCouponTable::TYPE_ONCE,
'MAX_USE' => 1,
]);
Застосування купона в кошику
Купон вводиться через форму в кошику. Стандартний компонент bitrix:sale.basket.basket містить поле введення купона. При натисканні «Застосувати» викликається \Bitrix\Sale\DiscountCouponsManager::add($coupon), який перевіряє код та активує пов'язане правило.
Одночасно можна застосувати кілька купонів, якщо це не заборонено налаштуваннями правил. Прапор «Припинити обробку» (LAST_DISCOUNT = Y) у правилі блокує застосування інших скидок після цього купона.
Відстеження використання
Використані купони фіксуються в b_sale_discount_coupon (USE_COUNT, DATE_LAST_USE). Для аналітики: скільки разів застосований купон, за якими замовленнями, на яку суму — ці дані можна отримати джойном b_sale_discount_coupon та b_sale_order_discount.
Строки виконання
Налаштування системи купонів з одним типом скидки та полем введення в кошику — 3–5 годин. Масова генерація + інтеграція з розсилкою — 1 робочий день.







