Автоматизація сповіщень про статус доставки в 1С-Бітрікс
Клієнти втрачають замовлення, коли не отримують трекінг-номер. Менеджери витрачають до 30% часу на ручний обдзвін. Ми автоматизуємо сповіщення: email, SMS, Telegram — з трекінг-посиланням та персоналізацією під перевізника. Типова ситуація: після передачі замовлення в СДЕК трекінг-номер з'являється в системі, але клієнт дізнається про нього лише при вході в особистий кабінет. Це збільшує навантаження на підтримку та знижує лояльність.
Стандартні шаблони Бітрікс статичні: вони не містять трекінг-номер, не враховують перевізника, не відправляють SMS чи Telegram. Система «Пошта» (/bitrix/admin/message_edit.php) дозволяє розширювати події, але потребує доопрацювання. Згідно з документацією 1С-Бітрікс, поштові події реєструються через \Bitrix\Main\Mail\Event::register. Ми створюємо кастомні події, які передають трекінг-номер, посилання, статус і дату — і прив'язуємо їх до шаблонів.
Як створити кастомну подію для трекінг-номера?
Реєструємо подію SALE_SHIPMENT_TRACKING_UPDATE і додаємо поля: ORDER_ID, TRACK_NUMBER, CARRIER_NAME, TRACKING_URL, STATUS_TEXT, DELIVERY_DATE. Потім в обробнику відвантаження викликаємо відправку. Приклад коду реєстрації:
\Bitrix\Main\Mail\Event::register([ 'EVENT_NAME' => 'SALE_SHIPMENT_TRACKING_UPDATE', 'LID' => SITE_ID, 'FIELDS' => [ ['NAME' => 'ORDER_ID', 'DESCRIPTION' => 'ID замовлення'], ['NAME' => 'TRACK_NUMBER', 'DESCRIPTION' => 'Трекінг-номер'], ['NAME' => 'CARRIER_NAME', 'DESCRIPTION' => 'Служба доставки'], ['NAME' => 'STATUS_TEXT', 'DESCRIPTION' => 'Статус доставки'], ['NAME' => 'TRACKING_URL', 'DESCRIPTION' => 'Посилання для трекінгу'], ['NAME' => 'DELIVERY_DATE', 'DESCRIPTION' => 'Очікувана дата доставки'], ], ]); // Відправка сповіщення private static function notifyCustomer(\Bitrix\Sale\Order $order, array $status): void { $carrier = $status['carrier']; $trackNumber = $status['track_number']; \Bitrix\Main\Mail\Event::send([ 'EVENT_NAME' => 'SALE_SHIPMENT_TRACKING_UPDATE', 'LID' => $order->getSiteId(), 'MESSAGE_ID' => '', // шаблон визначиться за подією та сайтом 'C_FIELDS' => [ 'ORDER_ID' => $order->getId(), 'ORDER_NUMBER' => $order->getField('ACCOUNT_NUMBER'), 'TRACK_NUMBER' => $trackNumber, 'CARRIER_NAME' => self::getCarrierName($carrier), 'STATUS_TEXT' => $status['text'], 'TRACKING_URL' => self::getTrackingUrl($carrier, $trackNumber), 'DELIVERY_DATE' => $status['expected_date'] ?? '', ], 'TO_EMAIL' => $order->getPropertyCollection()->getUserEmail()?->getValue(), ]); } Після реєстрації подія з'являється в списку поштових подій адміністративного розділу. Ви можете створити шаблон листа, використовуючи поля #TRACK_NUMBER#, #CARRIER_NAME# тощо. Шаблон налаштовується у візуальному редакторі за 10 хвилин.
Покрокова інструкція налаштування сповіщень
- Аудит поточних інтеграцій з перевізниками (СДЕК, Пошта Росії, СберЛогістика). Визначте, які статуси доступні у вашій CRM.
-
Реєстрація кастомної події
SALE_SHIPMENT_TRACKING_UPDATEз необхідними полями. - Створення поштового шаблону в розділі «Поштові події» адміністративного інтерфейсу Бітрікс. Вставте поля в HTML-шаблон.
- Інтеграція з SMS-провайдером через REST API. Підключаємо одного з: SMS.ru, SMSC.ru, МегаФон Messages.
- Налаштування Telegram-бота: створіть бота через @BotFather, отримайте токен, реалізуйте відправку через
sendMessage. Прив'яжіть бота до подіїSALE_SHIPMENT_TRACKING_UPDATE. - Тестування на всіх статусах: відправлено, прибуло у ПВЗ, невдала спроба. Переконайтеся, що листи не потрапляють у спам.
Чому SMS-сповіщення ефективніші за листи?
SMS-сповіщення відкриваються в 4 рази частіше за email. Для інтернет-магазину з 50 000 замовлень на місяць стандартні листи часто йшли у спам, а після впровадження SMS відкриваність зросла з 20% до 50%. Економія на обдзвоні: при великому обсязі відмова від ручних дзвінків дає відчутну економію. Ми інтегруємо одного з SMS-провайдерів (SMS.ru, SMSC.ru, МегаФон Messages). Ключові статуси для SMS:
- Замовлення відправлено (з'явився трекінг-номер)
- Замовлення прибуло в пункт видачі / на термінал
- Спроба вручення (кур'єр не застав)
class SmsNotifier { public function send(string $phone, string $message): bool { $phone = preg_replace('/\D/', '', $phone); if (strlen($phone) === 10) $phone = '7' . $phone; if (strlen($phone) === 11 && $phone[0] === '8') $phone = '7' . substr($phone, 1); $response = $this->httpPost('https://sms.ru/sms/send', [ 'api_id' => $this->apiKey, 'to' => $phone, 'msg' => $message, 'from' => $this->sender, ]); return ($response['status'] ?? '') === 'OK'; } } Шаблон SMS: «Замовлення #12345: ваш товар прибув у ПВЗ СДЕК за адресою вул. Леніна, 1. Трекінг: cdek.ru/track/AB123». Отримайте консультацію з налаштування SMS-каналу.
Сповіщення в Telegram
Telegram — безкоштовний канал з відкриваністю до 95%. Telegram-сповіщення відкриваються у 4–5 разів частіше за Email, а вартість відправки — нуль. Особливо актуальний для B2B з постійними клієнтами. Реалізується через Telegram Bot API (sendMessage з chat_id клієнта). chat_id клієнт надає при підписці через міні-форму на сайті. Ми налаштовуємо бота, прив'язуємо до події SALE_SHIPMENT_TRACKING_UPDATE і відправляємо повідомлення.
Порівняння способів сповіщень
| Канал | Відкриваність | Вартість | Складність інтеграції |
|---|---|---|---|
| 15-25% | Низька | Низька | |
| SMS | 90-98% | Середня | Середня |
| Telegram | 80-95% | Низька | Висока (потрібен бот) |
SMS відкривається в 4 рази частіше за Email, а Telegram — майже так само, але безкоштовно. Вибір каналу залежить від бюджету та аудиторії.
Типові помилки при налаштуванні
- Неправильний формат номера телефону для SMS. Код SmsNotifier вище нормалізує номер, але якщо база містить нестандартні формати, відправка може не пройти.
- Листи потрапляють у спам через відсутність DKIM/SPF записів. Перевірте налаштування домену та використовуйте SMTP-сервіси.
- Telegram-бот не відправляє повідомлення — часто через те, що
chat_idне збережено або клієнт не підписався. Реалізуйте кнопку підписки на сайті. - Дублювання сповіщень — подія може спрацьовувати кілька разів при зміні відвантаження. Використовуйте прапорець відправки або перевірку на дублікат.
Терміни
| Склад | Термін |
|---|---|
| Email-сповіщення через кастомну подію | 1–2 дні |
| + SMS при ключових статусах | +1 день |
| + Telegram-сповіщення | +1–2 дні |
Що входить в роботу
- Аудит поточної системи сповіщень та інтеграцій з перевізниками.
- Проектування подій, полів і шаблонів.
- Реалізація кастомних подій і шаблонів (email, SMS, Telegram).
- Інтеграція з SMS-провайдерами та Telegram Bot API.
- Тестування на всіх статусах доставки.
- Передача документації та навчання менеджерів.
- Гарантійна підтримка після впровадження.
Ми працюємо з Бітрікс 10+ років, виконали понад 200 проектів з доопрацювання інтернет-магазинів. Оцініть зростання відкриваності — зв'яжіться для консультації. Замовте налаштування прямо зараз — і вже через 2 дні ваші клієнти почнуть отримувати трекінг-посилання.







