Автоматизация оповещений о статусе доставки в 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 дня ваши клиенты начнут получать трекинг-ссылки.







