אוטומציה של התראות הזמנות דרך טלגרם ב-1C-Bitrix
כאשר סטטוס הזמנה משתנה ב-1C-Bitrix, התראות דוא"ל סטנדרטיות מגיעות לרוב לספאם—שיעור הפתיחה rarely עולה על 20%. טלגרם מספקת הודעות באופן מיידי עם שיעור קריאה של 90%. הטמעת בוט טלגרם מפחיתה פניות לתמיכה ב-30–40% ומקצצת משמעותית בעלויות SMS, כפי שאושר במחקר של RetailCRM. בנוסף, עלויות התפעול יורדות: התראות push מקצצות תגובות ידניות של נציגים ב-50%, וחוסכות כסף רב בזרימת הזמנות ממוצעת. אנו מעריכים את הפרויקט שלך ביום אחד—צור קשר לדיון בפרטים.
טלגרם מהירה פי 4 מדוא"ל במשלוח וזולה פי 2 מ-SMS. ב-9 מתוך 10 מקרים, משתמשים קוראים התראת push בטלגרם בתוך הדקות הראשונות. זה מפחית עומס על התמיכה ומאיץ תקשורת עם לקוחות. עבור חנויות מקוונות על 1C-Bitrix, האינטגרציה מיושמת דרך מטפל האירועים OnSaleOrderStatusChange ואינה דורשת החלפת מערכת ההתראות הקיימת.
בעיות שבוט טלגרם פותר
- דוא"ל בספאם: עד 30% מההודעות לא מגיעות ללקוח. טלגרם מבטיחה משלוח של 99%.
- עיכובים בהתראות: דוא"ל יכול לקחת עד 5 דקות. טלגרם—1–2 שניות.
- קריאות נמוכה: 80% מהדוא"ל לא נקרא. הודעות טלגרם נפתחות תוך דקות.
- תמיכה ידנית: נציגים מבזבזים זמן במענה לשאלות על סטטוס. הבוט משתלט על כך.
מדוע התראות טלגרם יעילות יותר מדוא"ל?
השוואה לפי מדדים מרכזיים:
| פרמטר | דוא"ל | טלגרם |
|---|---|---|
| משלוח | עד 5 דקות, לעיתים קרובות ספאם | מיידי, 99% משלוח |
| קריאות | 20% שיעור פתיחה | 90% שיעור קריאה |
| התקנה | מובנה ב-Bitrix | דורש בוט + מטפל |
| עלות | כלול באחסון | חינם דרך Bot API |
כיצד עובדת האינטגרציה עם Bitrix
כאשר סטטוס הזמנה משתנה, Bitrix מפעיל את אירוע OnSaleOrderStatusChange. מנגנון ההתראות הסטנדרטי (/bitrix/admin/posting_list.php) שולח דוא"ל. טלגרם מחוברת כערוץ נוסף דרך מטפל אירועים. לפרטים נוספים על אירועים, ראה תיעוד Bitrix הרשמי.
אילו סטטוסי הזמנה נתמכים?
| סטטוס | קוד | טקסט ההתראה |
|---|---|---|
| הזמנה חדשה | N | הזמנה #%d התקבלה וממתינה לעיבוד. |
| נשלחה למשלוח | P | הזמנה #%d נשלחה למשלוח. |
| הושלמה | F | הזמנה #%d הושלמה. תודה על הרכישה! |
| בוטלה | X | הזמנה #%d בוטלה. |
יצירת מטפל לשינוי סטטוס הזמנה
יצירת בוט טלגרם להתראות
הבוט להתראות הזמנות הוא push-only: הוא רק שולח, לא מקבל פקודות. נוצר דרך @BotFather:
/newbot Название: Уведомления MyShop Username: myshop_orders_bot קבל טוקן כמו /newbot Название: Уведомления MyShop Username: myshop_orders_bot . שמור את הטוקן בהגדרות המודול או ב-1234567890:AAHb-xxxxxx, לא בקוד התבנית.
המשתמש חייב להתחיל שיחה עם הבוט (/bitrix/.settings.php) כדי שהבוט יקבל את /start שלו. לשם כך, הוסף כפתור בחשבון האישי שפותח את הקישור chat_id.
שמירת ה-chat_id של המשתמש
// Webhook бота принимает /start с параметром
$update = json_decode(file_get_contents('php://input'), true);
$text = $update['message']['text'] ?? '';
$chatId = $update['message']['chat']['id'];
if (preg_match('/^\/start uid_(\d+)$/', $text, $matches)) {
$userId = (int)$matches[1];
// Сохраняем chat_id в пользовательское поле UF_TELEGRAM_CHAT_ID
\Bitrix\Main\UserTable::update($userId, [
'UF_TELEGRAM_CHAT_ID' => $chatId,
]);
// Подтверждение пользователю
TelegramApi::sendMessage($chatId, 'Telegram-уведомления о заказах подключены.');
} מטפל לשינוי סטטוס הזמנה
// /local/php_interface/init.php
\Bitrix\Main\EventManager::getInstance()->addEventHandler(
'sale',
'OnSaleOrderStatusChange',
function (\Bitrix\Main\Event $event) {
$order = $event->getParameter('ENTITY');
$statusId = $order->getField('STATUS_ID');
$userId = $order->getUserId();
// Читаем chat_id пользователя
$user = \Bitrix\Main\UserTable::getById($userId)->fetch();
$chatId = $user['UF_TELEGRAM_CHAT_ID'] ?? null;
if (!$chatId) {
return; // Пользователь не подключил Telegram
}
// Формируем текст по статусу
$messages = [
'N' => 'Заказ #%d принят и ожидает обработки.',
'P' => 'Заказ #%d передан в доставку.',
'F' => 'Заказ #%d выполнен. Спасибо за покупку!',
'X' => 'Заказ #%d отменён.',
];
$template = $messages[$statusId] ?? null;
if (!$template) {
return;
}
$text = sprintf($template, $order->getId());
$text .= "\n\nПодробнее: " . SITE_SERVER_NAME . '/personal/orders/' . $order->getId() . '/';
// Отправляем через Telegram Bot API
TelegramBotService::send($chatId, $text);
}
);
מחלקת שליחה של Telegram Bot API
class TelegramBotService {
private static string $token = '1234567890:AAHb-xxxxxx';
public static function send(string $chatId, string $text, array $options = []): bool {
$params = array_merge([
'chat_id' => $chatId,
'text' => $text,
'parse_mode' => 'HTML',
], $options);
$ch = curl_init('https://api.telegram.org/bot' . self::$token . '/sendMessage');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode($params),
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 5,
]);
$response = curl_exec($ch);
curl_close($ch);
return json_decode($response, true)['ok'] ?? false;
}
}שמור את הטוקן לא בקוד אלא בקונפיג:
// /bitrix/.settings.php 'custom' => [ 'value' => [ 'telegram_bot_token' => '1234567890:AAHb-xxxxxx', ], ], טיפול בשגיאות בשליחה
הוסף למחלקת TelegramBotService בדיקה של התשובה ורישום שגיאות. אם curl מחזיר שגיאה או שה-API מחזיר `ok: false`, כתוב לוג לקובץ או ללוג המערכת של Bitrix. זה עוזר לאבחן בעיות במהירות.מה כלול בעבודה
- יצירה והגדרה של בוט טלגרם דרך @BotFather
- פיתוח דף חיבור בחשבון האישי של הקונה
- יישום מטפל האירועים על
https://t.me/myshop_orders_bot?start=uid_12345 - שמירת
// Webhook бота принимает /start с параметром $update = json_decode(file_get_contents('php://input'), true); $text = $update['message']['text'] ?? ''; $chatId = $update['message']['chat']['id']; if (preg_match('/^\/start uid_(\d+)$/', $text, $matches)) { $userId = (int)$matches[1]; // Сохраняем chat_id в пользовательское поле UF_TELEGRAM_CHAT_ID \Bitrix\Main\UserTable::update($userId, [ 'UF_TELEGRAM_CHAT_ID' => $chatId, ]); // Подтверждение пользователю TelegramApi::sendMessage($chatId, 'Telegram-уведомления о заказах подключены.'); }בשדה המשתמש// /local/php_interface/init.php \Bitrix\Main\EventManager::getInstance()->addEventHandler( 'sale', 'OnSaleOrderStatusChange', function (\Bitrix\Main\Event $event) { $order = $event->getParameter('ENTITY'); $statusId = $order->getField('STATUS_ID'); $userId = $order->getUserId(); // Читаем chat_id пользователя $user = \Bitrix\Main\UserTable::getById($userId)->fetch(); $chatId = $user['UF_TELEGRAM_CHAT_ID'] ?? null; if (!$chatId) { return; // Пользователь не подключил Telegram } // Формируем текст по статусу $messages = [ 'N' => 'Заказ #%d принят и ожидает обработки.', 'P' => 'Заказ #%d передан в доставку.', 'F' => 'Заказ #%d выполнен. Спасибо за покупку!', 'X' => 'Заказ #%d отменён.', ]; $template = $messages[$statusId] ?? null; if (!$template) { return; } $text = sprintf($template, $order->getId()); $text .= "\n\nПодробнее: " . SITE_SERVER_NAME . '/personal/orders/' . $order->getId() . '/'; // Отправляем через Telegram Bot API TelegramBotService::send($chatId, $text); } ); - בדיקת כל סטטוסי ההזמנה (N, P, F, X ומותאמים אישית)
- תיעוד לתפעול ותמיכה עתידית
- הדרכת מנהלים לעבודה עם הבוט
לוחות זמנים להגדרה
יצירת הבוט, שדה המשתמש, דף החיבור, מטפל האירועים—6–10 שעות. במקרים מורכבים (סטטוסים רבים, לוגיקה לא סטנדרטית) לוח הזמנים מתארך ל-2–3 ימים. אנו מבטיחים פעילות יציבה של ההתראות לאחר ההגדרה. הצוות שלנו מוסמך 1C-Bitrix ויש לו ניסיון של למעלה מ-10 שנים בפיתוח על פלטפורמה זו. במהלך עבודתנו, יישמנו 50+ פרויקטים עם אינטגרציית התראות טלגרם. קבל ייעוץ להגדרת בוט טלגרם לחנות שלך.
טעויות הגדרה נפוצות
- אחסון הטוקן בקובץ תבנית—הטוקן צריך להיות ב-
class TelegramBotService { private static string $token = '1234567890:AAHb-xxxxxx'; public static function send(string $chatId, string $text, array $options = []): bool { $params = array_merge([ 'chat_id' => $chatId, 'text' => $text, 'parse_mode' => 'HTML', ], $options); $ch = curl_init('https://api.telegram.org/bot' . self::$token . '/sendMessage'); curl_setopt_array($ch, [ CURLOPT_POST => true, CURLOPT_POSTFIELDS => json_encode($params), CURLOPT_HTTPHEADER => ['Content-Type: application/json'], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 5, ]); $response = curl_exec($ch); curl_close($ch); return json_decode($response, true)['ok'] ?? false; } }או בהגדרות המודול. - חוסר בדיקה לקיומו של
// /bitrix/.settings.php 'custom' => [ 'value' => [ 'telegram_bot_token' => '1234567890:AAHb-xxxxxx', ], ],—אם המשתמש לא חיבר את הבוט, הקוד צריך לצאת בצורה חלקה ללא שגיאות. - לא כל סטטוסי ההזמנה מטופלים—עבור כל סטטוס יש לספק תבנית הודעה, אחרת לא תישלח התראה.
- התעלמות מהתראות ביטול הזמנות—סטטוס זה מוחמץ לעיתים קרובות, אך הלקוח צריך לדעת על ביטול.
כיצד לאבחן בעיות משלוח?
אם ההתראות לא מגיעות, בדוק אם המשתמש התחיל שיחה עם הבוט (פקודת /start). ודא שהטוקן פעיל ו-chat_id נשמר ב-UF_TELEGRAM_CHAT_ID. סקור את לוג המטפל—ייתכן שיש הגבלת קצב של טלגרם (30 הודעות/שנייה). במקרים מורכבים, הפעל רישום שלב-אחר-שלב.
הזמן הגדרת בוט טלגרם—קבל ייעוץ והערכת פרויקט תוך יום אחד ללא תשלום מראש. אנו משלבים את הבוט עם ה-CRM וה-1C שלך, ומבטיחים התראות יציבות בכל שלבי ההזמנה.

