המודול הסטנדרטי של sale כולל מנגנון הנחות באמצעות b_sale_discount — כללים המבוססים על תנאי סל הקניות. זהו כלי חזק, אך הוא מותאם להנחות אוטומטיות ברמת ההזמנה. מבצעים שיווקיים עם באנרים, תקופות, מוני משתתפים, מגבלות שימוש, מכניקת "קנה 2 קבל 3" — כל אלה לא ניתנים ליישום באמצעות הכלים הסטנדרטיים או דורשים פתרונות עוקפים מסורבלים. לקוחות מגיעים פעמים רבות עם בקשה: "צור מבצע קנה 2 במחיר של 1", אך בביטריקס זה לא הנחה על מוצר אלא חבילה מלאה. היכולות הסטנדרטיות חסרות גמישות לתנאים ברמת הסל — לדוגמה, הנחה רק למשתמשים רשומים או בהגעה לסכום עם מוצר ספציפי. כל זה דורש מודול נפרד. במשך יותר מ-5 שנים של פיתוח מודולי ביטריקס, צברנו עשרות מקרים שבהם הנחות סטנדרטיות לא הספיקו. מודול ניהול המבצעים שלנו משפר את הנחות ביטריקס, קופוני ביטריקס, חבילות ביטריקס, מתנות ביטריקס וקאשבק ביטריקס עם תנאים מותאמים אישית. הוא ממלא את הפער הזה — אנו מציעים מודל ORM מוכן, בונה מבצעים גמיש, ואינטגרציה עם כל ערוצי המכירה. השתמשו במודול המוכן ושכחו מכאב הראש של אירועים מותאמים אישית. קבלו ייעוץ — נעזור לכם לבחור את התצורה האופטימלית.
למה הנחות סטנדרטיות לא מספיקות
b_sale_discount הוא כללים ליניאריים: הנחה על סכום, על מוצר, על קבוצה. כל דבר מעבר לכך — מבצעים עם קופונים, חבילות, מתנות המבוססות על תנאים מותאמים אישית — דורש אירועים עוקפים או מודול חיצוני. הגישה שלנו: טבלת b_vendor_promo_action נפרדת עם תנאי JSON ותגמולים. זה נותן גמישות ללא תקורה. חיסכון בזמן פיתוח — עד 60% בהשוואה לפתרונות מותאמים אישית, בעלות נמוכה ב-40% בממוצע.
ארכיטקטורה ותכונות
מודל נתונים
מודול vendor.promo עם הטבלאות הבאות:
-
b_vendor_promo_action— מבצעים: id, code, name, type (discount/gift/bundle/coupon/cashback), date_from, date_to, is_active, priority, usage_limit, usage_count, conditions (JSON), reward (JSON), banner_image_id, description -
b_vendor_promo_coupon— קופונים: id, action_id, code, discount_type (percent/fixed), discount_value, usage_limit, usage_count, user_id (null = shared), expires_at, is_active -
b_vendor_promo_usage— היסטוריית שימוש: id, action_id, coupon_id, order_id, user_id, discount_amount, applied_at -
b_vendor_promo_gift— מוצרי מתנה של המבצע: id, action_id, product_id, quantity
סוגי מבצעים
- הנחה לפי תנאי:
"conditions": {"min_sum": 3000, "iblock_section_id": 12}— הנחה של 10% על הזמנות מ-$27–39 בקטגוריית "אלקטרוניקה". - חבילה:
"type": "bundle"— כאשר מוצר A מתווסף לסל, מוצר B מתווסף אוטומטית עם הנחה. מיושם באמצעות אירועOnSaleBasketItemAdd. - קופון: יצירת קודים ייחודיים ב-
b_vendor_promo_coupon, אימות במהלך התשלום. - מתנה: כאשר תנאי הסל מתקיימים — מוצר מ-
b_vendor_promo_giftמתווסף אוטומטית במחיר 0. - קאשבק: צבירת נקודות תוכנית נאמנות במקום הנחה.
כיצד פועלת בדיקת התנאים
class PromoChecker {
public function check(PromoAction $action, \Bitrix\Sale\Order $order): CheckResult {
$conditions = $action->getConditions();
$basket = $order->getBasket();
if (isset($conditions['min_sum']) && $basket->getPrice() < $conditions['min_sum']) {
return CheckResult::fail('Минимальная сумма заказа не достигнута');
}
if ($action->getUsageLimit() && $action->getUsageCount() >= $action->getUsageLimit()) {
return CheckResult::fail('Лимит использования акции исчерпан');
}
return CheckResult::success();
}
} עדיפות מבצעים ותאימות
מבצעים מרובים יכולים להיות פעילים בו זמנית. הפרמטר class PromoChecker { public function check(PromoAction $action, \Bitrix\Sale\Order $order): CheckResult { $conditions = $action->getConditions(); $basket = $order->getBasket(); if (isset($conditions['min_sum']) && $basket->getPrice() < $conditions['min_sum']) { return CheckResult::fail('Минимальная сумма заказа не достигнута'); } if ($action->getUsageLimit() && $action->getUsageCount() >= $action->getUsageLimit()) { return CheckResult::fail('Лимит использования акции исчерпан'); } return CheckResult::success(); } } קובע את סדר היישום. השדה priority בהגדרות המבצע פירושו שמבצעים אחרים לא משולבים איתו.
לוגיקה: מבצעים פעילים ממוינים לפי עדיפות יורדת. עבור כל אחד, מוערך CheckResult. אם מבצע הוא exclusive ועובר את הבדיקה, הוא מיושם והלולאה נעצרת.
כלים ניהוליים
מחולל קופונים
יצירה המונית של קודים ייחודיים לקמפיינים בדוא"ל:
$generator = new CouponGenerator($action);
$coupons = $generator->generate(1000, [
'length' => 8,
'prefix' => 'SALE-',
'charset' => 'ABCDEFGHJKLMNPQRSTUVWXYZ23456789',
]);
// batch insert в b_vendor_promo_coupon + CSV-файл для экспортаתווים הדומים לספרות (O/0, I/1) אינם נכללים במערך התווים כדי למנוע שגיאות בהזנה ידנית. ניתן ליצור עד 10,000 קודים בקבוצה אחת.
סטטיסטיקת מבצעים
הממשק הניהולי מציג עבור כל מבצע:
- מספר הפעמים שהופעל ואחוז המגבלה
- ההנחה הכוללת בתקופה
- המרה: כמה משתמשים הוסיפו קופון להזמנה שלא הושלמה לעומת אלה ששילמו
- המוצרים המובילים המכוסים על ידי המבצע
- דינמיקת שימוש יומית (גרף)
ממשק ניהולי
- רשימת מבצעים עם סינון לפי סטטוס, סוג, תאריך
- בונה תנאים ותגמולים
- ניהול קופונים: יצירה המונית, השבתה, ייצוא ל-CSV
- דוח לכל מבצע עם פירוט לפי הזמנות
היקף הפרויקט
מה כלול בפיתוח המודול
| רכיב | תיאור |
|---|---|
| טבלאות ORM | ישויות D7 מוכנות למבצעים, קופונים, שימוש |
| בונה תנאים | ממשק להגדרת כללי סל (סכום, קטגוריה, מוצר, משתמש) |
| סוגי תגמול | הנחה באחוזים/קבועה, מתנה, חבילה, קופון, קאשבק |
| מחולל קופונים | יצירה המונית עם בדיקת digest וייצוא ל-CSV |
| תאימות מבצעים | עדיפויות, בלעדיות, תיוג |
| סטטיסטיקה | דוחות לכל מבצע: מספר הפעלות, הנחה, המרה |
| ממשק ניהולי | סינונים, דוחות, ניהול קופונים |
| בדיקות | בדיקות עומס המדמות 1000+ בדיקות בו זמנית |
| תיעוד | הוראות מודול, תיעוד API, מדריך התקנה |
| גישה | פאנל ניהול, מאגר קוד מקור |
| הדרכה | מפגש מקוון של שעתיים למנהלים |
| תמיכה | אחריות לחודש, תמיכה מורחבת זמינה |
לוח זמנים לפיתוח
| שלב | זמן |
|---|---|
| טבלאות ORM, מודל | יום אחד |
| בדיקת תנאים, הנחות | יומיים |
| מתנות וחבילות | יומיים |
| מחולל קופונים | יום אחד |
| עדיפויות ותאימות | יום אחד |
| דוחות וסטטיסטיקה | יום אחד |
| ממשק ניהולי | יומיים |
| בדיקות אינטגרציה | יום אחד |
סה"כ: 11 ימי עבודה במפתח מלא. אינטגרציה עם פלטפורמת דוא"ל — יום עד יומיים נוספים.
כיצד ליישם מבצע "קנה 2 קבל 3" (שלבים מהירים)
- צרו מבצע חדש מסוג "חבילה".
- הגדירו תנאי: הסל חייב להכיל לפחות 2 פריטים של מוצר X.
- הגדירו תגמול: הוספת פריט אחד של מוצר X בהנחה של 100%.
- הגדירו מגבלת שימוש ועדיפות.
- שמרו והפעילו.
זה לוקח 5 דקות, לעומת ימים של קידוד אירועים מותאם אישית.
השוואה בין הגישה הסטנדרטית למודול שלנו
| קריטריון | הנחות סטנדרטיות | המודול שלנו |
|---|---|---|
| מבצע "קנה 2 קבל 3" | דורש אירועים ופתרונות עוקפים | מוגדר ב-5 דקות |
| קופונים לקמפיינים בדוא"ל | אין מחולל מובנה | יצירה המונית של 1000+ קודים |
| עדיפויות מבצעים | לא נתמך | עדיפויות מובנות ובלעדיות |
| דוחות על מבצעים | בסיסיים בלבד | המרה, דינמיקה, מוצרים מובילים |
| מהירות פיתוח | ~20 ימים מותאם אישית | 11 ימים במפתח מלא, מהיר ב-60% |
| עלות | גבוהה יותר בשל עבודה מותאמת אישית | נמוכה בעד 40% |
המודול שלנו מקצר את זמן הפיתוח ב-60% בהשוואה לאירועים מותאמים אישית, ועלותו נמוכה ב-40% בממוצע לפרויקטים טיפוסיים.
צרו קשר — נעריך את הפרויקט שלכם ונציע את הפתרון האופטימלי. בהסתמך על יותר מ-5 שנות ניסיון עם ביטריקס, אנו מבטיחים את הפונקציונליות של המודול ואת יכולת השילוב שלו בארכיטקטורה הקיימת שלכם. הזמינו פיתוח של מודול ניהול מבצעים וקבלו כלי גמיש לקמפיינים שיווקיים.
הפניה לתיעוד הרשמי: ORM D7. 1C-Bitrix: D7 ORM

