פיתוח מערכת התראות למנהלי Bitrix

מנהל אתר Bitrix צריך לקבל התראות על אירועים קריטיים באופן מיידי: הזמנה חדשה, כשל בתשלום, שגיאת סוכן, חריגה ממכסת דיסק. התראות דוא"ל סטנדרטיות מכסות תרחישים בסיסיים, אך אנו נתקלים לעתים קרובות במקרים שבהם הן אינן מספיקות: עיכובים במשלוח, אין ערוץ Telegram, חוסר יכולת
השירותים שאנו מציעים
מציג 1 מתוך 1כל 1626 השירותים
פיתוח מערכת התראות למנהלי Bitrix
בינוני
~1-2 שבועות

הכישורים שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אתר חברה B2B ADVANCE
    פיתוח אתר חברה B2B ADVANCE
    1466
  • פיתוח אתר לחברת FIXPER
    פיתוח אתר לחברת FIXPER
    1019
  • פיתוח מבוסס Bitrix, Bitrix24, 1C לחברה פיתוח ווידג'ט להזמנת תורים אונליין למרכז רפואי
    פיתוח מבוסס Bitrix, Bitrix24, 1C לחברה פיתוח ווידג'ט להזמנת תורים אונליין למרכז רפואי
    764
  • פיתוח על בסיס 1C Enterprise עבור MIRSANBEL
    פיתוח על בסיס 1C Enterprise עבור MIRSANBEL
    882
  • פיתוח אתר על CRM Bitrix24 עבור DOLBIMBY
    פיתוח אתר על CRM Bitrix24 עבור DOLBIMBY
    811
  • פיתוח על בסיס Bitrix24 עבור חברת TECHNOTORGKOMPLEKS
    פיתוח על בסיס Bitrix24 עבור חברת TECHNOTORGKOMPLEKS
    1167

מנהל אתר Bitrix אמור לקבל התראות על אירועים קריטיים באופן מיידי: הזמנה חדשה, כשל בתשלום, שגיאת סוכן, חריגה ממכסת דיסק. אירועי דוא"ל סטנדרטיים מכסים תרחישים בסיסיים, אך לעתים קרובות אנו נתקלים במקרים שבהם הם אינם מספיקים: עיכובים במשלוח, אין ערוץ טלגרם, חוסר יכולת לסנן לפי עדיפות. אנו מפתחים מערכת התראות המשלבת דוא"ל, טלגרם, SMS ויומן פנימי — מוכנה לשימוש עם הגדרת עדיפויות ודיג'סט. לדוגמה, כאשר תשלום YooKassa נכשל, המנהל צריך לקבל התראה מיידית בטלגרם כדי ליצור קשר עם הלקוח במהירות. או כאשר חריגה משטח הדיסק, סוכן יכול לשלוח SMS אם האתר הוא קריטי לעסק. כל דקת השבתה עולה בממוצע $90–130, ולכן מהירות ההתראה היא קריטית. אנו מיישמים תרחישים כאלה על PHP 8.1+ באמצעות מודול מותאם אישית המבוסס על infoblocks v2.0 וקאש מתויג.

כיצד פועלת מערכת ההתראות הסטנדרטית של Bitrix?

ליבת Bitrix משתמשת במנגנון אירועי דוא"ל: קוד אירוע → תבנית דוא"ל → נמענים. כל האירועים רשומים בטבלת b_event, התבניות ב-b_event_message, והיסטוריית המיילים שנשלחו (אם רישום מופעל) ב-b_event_log.

למסחר אלקטרוני, קיימים כבר אירועים קריטיים: SALE_ORDER_NEW (הזמנה חדשה), SALE_ORDER_PAID (תשלום התקבל), SALE_ORDER_CANCEL (ביטול). אתה מגדיר נמענים בתבנית דרך המודול הראשי → "אירועי דוא"ל".

הבעיה עם המנגנון הסטנדרטי: מיילים נשלחים באופן סינכרוני ברגע האירוע, מה שמוסיף עד 500 אלפיות השנייה לזמן טעינת העמוד אם SMTP איטי. הפתרון הוא שימוש בתור דרך טבלת b_email_service או SMTP חיצוני עם קישוריות מהירה.

מדוע אירועי דוא"ל לבדם אינם מספיקים?

לאירועי דוא"ל יש שלוש מגבלות:

  • ערוץ דוא"ל בלבד (לא ניתן לשלוח טלגרם או SMS);
  • שליחה סינכרונית (מאטה את השרת);
  • אין תעדוף מובנה (כל האירועים שווים).

התראות טלגרם עובדות פי 10 מהר יותר מדוא"ל עבור אירועים קריטיים, ו-SMS מבטיח מסירה גם כשהאתר מושבת. לתרחישים לא סטנדרטיים, אנו מתחברים לאירועי מודול דרך init.php.

כיצד להגדיר התראות מותאמות אישית דרך אירועי מודול

שליחת טופס חדשהOnAfterAddResult של מודול form:

AddEventHandler("form", "OnAfterAddResult", function($formId, $resultId, $arResult) { if ($formId == CALLBACK_FORM_ID) { notifyAdmin('Новая заявка #' . $resultId, formatFormData($arResult)); } }); 

שגיאות סוכן — סוכנים ב-AddEventHandler("form", "OnAfterAddResult", function($formId, $resultId, $arResult) { if ($formId == CALLBACK_FORM_ID) { notifyAdmin('Новая заявка #' . $resultId, formatFormData($arResult)); } }); פועלים ללא רישום מפורש. עטף את קוד הסוכן שלך ב-try-catch ושלוח התראה על חריגה:

function MyModuleAgent() { try { // код агента } catch (\Throwable $e) { notifyAdmin('Ошибка агента', $e->getMessage() . "\n" . $e->getTraceAsString()); } return __FUNCTION__ . '();'; } 

חריגה ממכסת דיסק — ל-Bitrix יש סוכן b_agent. אתה יכול לעקוף אותו או להוסיף סוכן משלך שבודק גדלי תיקיות ושולח התראה כאשר חריגה מסף (לדוגמה, 90% מהמכסה).

שגיאות תשלום — אירוע function MyModuleAgent() { try { // код агента } catch (\Throwable $e) { notifyAdmin('Ошибка агента', $e->getMessage() . "\n" . $e->getTraceAsString()); } return __FUNCTION__ . '();'; } עם בדיקה לשינוי סטטוס למצב שגיאה:

AddEventHandler("sale", "OnSalePaymentUpdate", function($id, &$arFields) { if ($arFields['IS_RETURN'] === 'Y' || strpos($arFields['PS_STATUS_MESSAGE'], 'error') !== false) { notifyAdmin('Ошибка оплаты заказа', print_r($arFields, true)); } }); 

כיצד לשלוח התראה דרך טלגרם?

צור בוט דרך BotFather, קבל CIBlockAgent::CheckDiskQuota() ו-OnSalePaymentUpdate של צ'אט המנהל. שלח דרך AddEventHandler("sale", "OnSalePaymentUpdate", function($id, &$arFields) { if ($arFields['IS_RETURN'] === 'Y' || strpos($arFields['PS_STATUS_MESSAGE'], 'error') !== false) { notifyAdmin('Ошибка оплаты заказа', print_r($arFields, true)); } }); :

function notifyTelegram(string $message): void { $botToken = COption::GetOptionString('local', 'telegram_bot_token'); $chatId = COption::GetOptionString('local', 'telegram_admin_chat_id'); $httpClient = new \Bitrix\Main\Web\HttpClient(); $httpClient->post( "https://api.telegram.org/bot{$botToken}/sendMessage", ['chat_id' => $chatId, 'text' => $message, 'parse_mode' => 'HTML'] ); } 

אחסן טוקנים ב-BOT_TOKEN דרך CHAT_ID, לא בקוד — בעת סיבוב הטוקן, אין צורך לחפש בקבצים.

מסירה מרובת ערוצים: טלגרם, SMS, Push

דוא"ל הוא ערוץ הבסיס, אך לא תמיד מהיר מספיק. להתראות קריטיות, הוסף:

בוט טלגרם

מהירות מסירה: 0.5–2 שניות. אמינות כשהאתר מושבת: נמוכה (דורש אינטרנט). עלות: חינם.

SMS דרך API

לאירועים קריטיים באמת (שער תשלום לא זמין, ניסיונות פריצה) — SMS דרך SMSC.ru או SMS.ru. אותו HttpClient + מפתח API. עלות להודעה: $1–1, מוצדק כאשר יש סיכון לאובדן הזמנה.

התראות Push בדפדפן

להתראות כאשר המנהל נמצא בלוח הניהול — דרך מערכת Bitrix Push Server (push.1c-bitrix.ru) או דרך Web Push API עם מפתחות VAPID.

ערוץ מהירות מסירה אמינות כשהאתר מושבת עלות
דוא"ל שנייה עד 5 דקות נמוכה (תלוי ב-SMTP) חינם (דרך שרת משלך)
טלגרם 0.5–2 שניות נמוכה (אין אינטרנט) חינם
SMS 1–10 שניות גבוהה (רשת סלולרית) $1–1 להודעה
Push (לוח ניהול) מיידי בינונית (רק לוח הניהול פתוח) חינם (Bitrix Push Server)

מה כלול בפיתוח מערכת ההתראות

  • ניתוח תרחישים: אנו מזהים את כל האירועים הקריטיים של הפרויקט שלך.
  • עיצוב: ארכיטקטורת ערוצים, עדיפויות, דיג'סטים.
  • יישום: מודול מותאם אישית על infoblocks v2.0, אירועים, סוכנים.
  • הגדרת ערוצים: בוט טלגרם, שער SMS, התראות push.
  • אינטגרציה עם REST API לשירותים חיצוניים.
  • מרכז התראות בלוח הניהול עם סינון ומונה.
  • בדיקות: בדיקות עומס, סובלנות לתקלות.
  • תיעוד: תיאור אירועים, הגדרת ערוצים.
  • תמיכה: תחזוקה לחודש אחד לאחר היישום.

לוחות זמנים משוערים

שלב משך
ניתוח ועיצוב 1–2 ימים
פיתוח מודול 3–5 ימים
הגדרת ערוצים 1–2 ימים
בדיקות ותיעוד 1–2 ימים
סה"כ 5–10 ימים

שגיאות אופייניות בעיצוב התראות

בעיות נפוצות וכיצד להימנע מהן
  • שליחת כל האירועים לכל הערוצים יוצרת רעש מידע. הקצה עדיפויות.
  • אחסון טוקנים בקוד — השתמש ב-\Bitrix\Main\Web\HttpClient או function notifyTelegram(string $message): void { $botToken = COption::GetOptionString('local', 'telegram_bot_token'); $chatId = COption::GetOptionString('local', 'telegram_admin_chat_id'); $httpClient = new \Bitrix\Main\Web\HttpClient(); $httpClient->post( "https://api.telegram.org/bot{$botToken}/sendMessage", ['chat_id' => $chatId, 'text' => $message, 'parse_mode' => 'HTML'] ); } .
  • התעלמות מניקוי טבלת b_option — לאחר חודש, מסד הנתונים יכול לגדול בג'יגה-בייטים באתר פעיל. הגדר סוכן למחיקת רשומות ישנות מ-30 יום.
  • אי בדיקת השבתת אתר — ניטור חיצוני (UptimeRobot, Zabbix) הוא חובה, כי כשהשרת נופל, סוכנים פנימיים לא יפעלו.

אנו מפתחים מערכות התראות כבר יותר מ-8 שנים ויישמנו למעלה מ-30 פרויקטים לחנויות מקוונות של Bitrix. הזמן פיתוח של מערכת התראות, ואנו נגדיר את כל הערוצים לפרויקט שלך. אנו נעריך את הפרויקט שלך תוך יומיים — צור קשר.