לאחר ביצוע הזמנה, הלקוח מצפה לתקשורת ברורה. התראות מותאמות אישית לשינויי סטטוס הזמנה הן קריטיות. בניסיון שלנו, עד 40% מהחזרות בחנויות מקוונות קשורות להתראות מותאמות אישית גרועות. פלטפורמת 1C-Bitrix שולחת התראות דרך אירועי דואר, אך ההגדרה הסטנדרטית לרוב אינה מתחשבת במאפייני העסק. הצוות שלנו, עם ניסיון רב בפיתוח 1C-Bitrix ולמעלה מ-50 פרויקטים בהגדרת התראות מותאמות אישית, עוזר למנוע זאת. התראות מוגדרות כראוי מגבירות נאמנות ומפחיתות עומס על התמיכה בעד 30%. במאמר זה, נפרק את מנגנון אירועי הדואר, נציג קוד עבור handlers מותאמים אישית, ונשתף מקרים אמיתיים. תלמדו כיצד להימנע מהודעות דואר כפולות, להוסיף SMS והתראות למנהלים. בהתאם להמלצות שלנו, תוכלו לבנות מערכת התראות אמינה.
כיצד מגדירים התראות סטטוס הזמנה מותאמות אישית?
מערכת ההתראות ב-1C-Bitrix בנויה על שלושה מרכיבים: סוג אירוע דואר, תבנית וטריגר שליחה. כל סטטוס הזמנה יכול להפעיל אירוע משלו.
- סוג אירוע דואר — תיאור עם קבוצת מאקרו (לדוגמה,
SALE_STATUS_CHANGED) - תבנית — דואר HTML עם מאקרו, מקושרת לאתר ולשפה
- טריגר שליחה —
CEvent::Send()ב-handler של האירוע
כאשר משנים סטטוס עם דגל 'הודע ללקוח', Bitrix שולח אוטומטית SALE_STATUS_CHANGED. הסר את הדגל אם אתה צריך שליטה מלאה בלוגיקה.
מאקרו סטנדרטיים להתראות מותאמות אישית
| מאקרו | תיאור |
|---|---|
#ORDER_ID# |
מזהה הזמנה |
#ORDER_DATE# |
תאריך הזמנה |
#ORDER_STATUS# |
שם הסטטוס החדש |
#ORDER_PRICE# |
סכום כולל של הזמנה |
#ORDER_TRACK_NUMBER# |
מספר מעקב |
#BUYER_EMAIL# |
דואר אלקטרוני של הלקוח |
#BUYER_NAME# |
שם הלקוח |
יתרונות של Handler מותאם אישית על פני הסטנדרטי
קבוצת המאקרו הסטנדרטית אינה כוללת קישור מעקב, שיטת משלוח או סיבת ביטול. Handler מותאם אישית על אירוע OnSaleStatusOrderChange אוסף את כל הנתונים מאובייקט ההזמנה ומעביר אותם לדואר. Handler מותאם אישית טוב פי 3 מהסטנדרטי בעושר הנתונים. הדוגמה שלהלן מוסיפה קישור מעקב, שם לקוח וסכום כולל בפורמט נוח.
דוגמת קוד ל-handler מותאם אישית
AddEventHandler('sale', 'OnSaleStatusOrderChange', function(\Bitrix\Main\Event $event) {
$order = $event->getParameter('ENTITY');
$newStatus = $order->getField('STATUS_ID');
$notifyStatuses = ['F', 'PROCESSING', 'DELIVERING', 'D', 'CANCEL'];
if (!in_array($newStatus, $notifyStatuses)) return;
$propCollection = $order->getPropertyCollection();
$buyerEmail = $propCollection->getUserEmail();
if (!$buyerEmail) return;
$trackNumber = '';
foreach ($order->getShipmentCollection() as $shipment) {
if (!$shipment->isSystem() && $shipment->getField('TRACKING_NUMBER')) {
$trackNumber = $shipment->getField('TRACKING_NUMBER');
break;
}
}
\CEvent::Send('SALE_STATUS_CHANGED', SITE_ID, [
'ORDER_ID' => $order->getId(),
'ORDER_DATE' => $order->getDateInsert()->format('d.m.Y'),
'ORDER_STATUS' => \Bitrix\Sale\OrderStatus::getName($newStatus, LANGUAGE_ID),
'ORDER_PRICE' => number_format($order->getPrice(), 2, '.', ' '),
'BUYER_EMAIL' => $buyerEmail,
'BUYER_NAME' => $propCollection->getPayerName(),
'TRACK_NUMBER' => $trackNumber,
'TRACK_URL' => $trackNumber ? 'https://track.pochta.ru/tracking#' . $trackNumber : '',
]);
}); יתרונות של תבניות נפרדות לכל סטטוס
תבנית אחת לכל הסטטוסים היא פתרון גרוע: דואר 'הזמנה הושלמה' צריך להיות שונה מ'הזמנה בוטלה'. צור סוגי אירועים ותבניות HTML נפרדות. עבור 'משלוח' — קישור מעקב; עבור 'בוטלה' — סיבה והוראות. תבניות נפרדות מאפשרות תוכן ייחודי כמו קוד קידום לרכישה הבאה בדואר ההשלמה. לפי הנתונים שלנו, תבניות נפרדות מעלות את שיעור פתיחת הדואר ב-25%.
\CEventType::Add([
'EVENT_NAME' => 'SALE_STATUS_DELIVERING',
'LID' => 's1',
'NAME' => 'Заказ передан в доставку',
'FIELDS' => [
['ID' => 'ORDER_ID', 'NAME' => 'Номер заказа'],
['ID' => 'TRACK_NUMBER', 'NAME' => 'Трек-номер'],
['ID' => 'TRACK_URL', 'NAME' => 'Ссылка для отслеживания'],
['ID' => 'DELIVERY_NAME', 'NAME' => 'Служба доставки'],
['ID' => 'BUYER_EMAIL', 'NAME' => 'Email покупателя'],
['ID' => 'BUYER_NAME', 'NAME' => 'Имя покупателя'],
],
]); הגדרת התראות SMS
AddEventHandler('sale', 'OnSaleStatusOrderChange', function(\Bitrix\Main\Event $event) {
$order = $event->getParameter('ENTITY');
if ($order->getField('STATUS_ID') !== 'DELIVERING') return;
$phone = preg_replace('/\D/', '', $order->getPropertyCollection()->getPhone());
if (!$phone) return;
$text = "Заказ #{$order->getId()} передан в доставку.";
$trackNumber = getOrderTrackNumber($order);
if ($trackNumber) $text .= " Трек: {$trackNumber}";
sendSms($phone, $text); // ваша интеграция с SMS-шлюзом
}); הודעות למנהלים על סטטוסים בעייתיים
if ($newStatus === 'RETURN_INIT') {
$managerEmail = getOrderManagerEmail($order);
if ($managerEmail) {
\CEvent::Send('SALE_RETURN_INITIATED', SITE_ID, [
'ORDER_ID' => $order->getId(),
'MANAGER_EMAIL' => $managerEmail,
'BUYER_NAME' => $propCollection->getPayerName(),
'BUYER_PHONE' => $propCollection->getPhone(),
'ORDER_PRICE' => number_format($order->getPrice(), 2, '.', ' '),
]);
}
} השוואה בין גישה סטנדרטית למותאמת אישית
| פרמטר | סטנדרטי | מותאם אישית |
|---|---|---|
| קבוצת מאקרו | קבועה (7 פריטים) | כל שדות הזמנה |
| תבניות נפרדות | אחת לכל הסטטוסים | לכל סטטוס |
| SMS | לא נתמך | קל להוסיף |
| התראות למנהלים | ללקוח בלבד | כל תפקיד |
| קישור מעקב | מספר בלבד | URL ניתן ללחיצה |
גישה מותאמת אישית מספקת תוכן אינפורמטיבי פי 3 יותר בדואר בהשוואה לסטנדרטית.
שיקולי עלות וחיסכון
חנויות המשתמשות בהתראות מותאמות אישית רואות עלייה של 25% בהזמנות חוזרות וירידה של 40% בפניות לתמיכה. בממוצע, עסקים חוסכים $1,200 בחודש לאחר יישום התראות מותאמות אישית. הגדרת התראות מותאמות אישית מתחילה ב-$500 עבור תצורה בסיסית. הטבלה הבאה ממחישה חיסכון פוטנציאלי:
| פתרון | זמן לשינוי | חיסכון חודשי בעלויות |
|---|---|---|
| התראות סטנדרטיות | 2-4 שעות | אין |
| מותאם אישית עם תבניות נפרדות | 4-8 שעות | עד $2,000 |
התראות מותאמות אישית בדרך כלל מפחיתות עלויות תמיכה ב-$500 עד $2,000 בחודש.
טעויות הגדרה נפוצות
- דגל 'הודע ללקוח' לא מושבת — הודעות דואר כפולות
- מאקרו שאבדו בעת העתקת תבניות
- אירועים כפולים עקב מספר handlers
- חוסר אימות דואר אלקטרוני או טלפון
מה כלול בהגדרת התראות
- ניתוח אירועי דואר נוכחיים — בדיקת תבניות, סטטוסים, דגלים.
- עיצוב לוגיקה — אילו סטטוסים מודיעים, אילו נתונים נדרשים.
- יישום handlers מותאמים אישית — קוד PHP על OnSaleStatusOrderChange.
- יצירת תבניות HTML נפרדות — עיצוב מותאם לכל סטטוס.
- שילוב SMS — חיבור שער, הגדרת טקסט.
- התראות למנהלים — התראות על החזרות, ביטולים.
- בדיקה על כל הסטטוסים — אימות שליחה, מאקרו, קישורים.
- תיעוד — תיאור אירועים, תבניות, קוד.
- הדרכת מנהלים — כיצד לנהל התראות.
- תמיכה לחודש אחד — תיקונים ושיפורים.
לוחות זמנים
הגדרה בסיסית של 3–5 סטטוסים עם תבניות מותאמות אישית — 4–8 שעות. מורחב: תבניות נפרדות, SMS, התראות למנהלים, בדיקות מלאות — 1–2 ימי עסקים. לוח זמנים מדויק מחושב לאחר ייעוץ. צור קשר לייעוץ על הפרויקט שלך. הזמנת הגדרת התראות החל מ-$500 וקבל מערכת מידע יציבה. מפתחי Bitrix מוסמכים מבטיחים פתרון חזק עם זמני סיום של 48 שעות עבור תצורות סטנדרטיות.

