Кастомные уведомления о смене статуса заказа в 1С-Битрикс

После оформления заказа клиент ожидает чёткого информирования. Если первое письмо приходит с задержкой или содержит ошибки — доверие падает. В нашей практике до 40% возвратов в интернет-магазинах связаны с некачественными уведомлениями. 1С-Битрикс отправляет уведомления через почтовые события, но ст
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Кастомные уведомления о смене статуса заказа в 1С-Битрикс
Простой
~1 день

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1415
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    995
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    733
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    863
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    772
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1134

После оформления заказа клиент ожидает чёткого информирования. Если первое письмо приходит с задержкой или содержит ошибки — доверие падает. В нашей практике до 40% возвратов в интернет-магазинах связаны с некачественными уведомлениями. 1С-Битрикс отправляет уведомления через почтовые события, но стандартная настройка часто не учитывает специфику бизнеса. Мы — команда с 8+ лет опыта в разработке на 1С-Битрикс, реализовали более 50 проектов по настройке кастомных уведомлений. Каждый второй магазин теряет до 30% клиентов из-за неинформативных писем. Мы помогаем этого избежать. Правильно настроенные уведомления увеличивают лояльность и снижают нагрузку на поддержку. В этой статье мы разберём механизм почтовых событий, покажем код кастомных обработчиков и поделимся реальными кейсами. Вы узнаете, как избежать дублирования писем, добавить SMS и уведомления менеджерам. Следуя нашим рекомендациям, вы сможете построить надёжную систему информирования.

Настройка уведомлений о смене статуса заказа в 1С-Битрикс: пошаговый план

Система уведомлений в 1С-Битрикс строится на трёх компонентах: тип почтового события, шаблон и вызов отправки. Каждый статус заказа может запускать своё событие.

  • Тип почтового события — описание с набором макросов (например, SALE_STATUS_CHANGED)
  • Шаблон — HTML-письмо с макросами, привязанный к сайту и языку
  • Вызов отправки — CEvent::Send() в обработчике события

При смене статуса с флагом «Уведомлять покупателя» Битрикс автоматически отправляет SALE_STATUS_CHANGED. Флаг снимают, если нужен полный контроль над логикой.

Стандартные макросы — кастомные уведомления о

Макрос Описание
#ORDER_ID# Номер заказа
#ORDER_DATE# Дата заказа
#ORDER_STATUS# Название нового статуса
#ORDER_PRICE# Сумма заказа
#ORDER_TRACK_NUMBER# Трек-номер
#BUYER_EMAIL# Email покупателя
#BUYER_NAME# Имя покупателя

Почему кастомный обработчик лучше стандартного?

Стандартный набор макросов не включает трек-ссылку, способ доставки или причину отмены. Кастомный обработчик на событие OnSaleStatusOrderChange собирает все данные из объекта заказа и передаёт их в письмо. Такой подход даёт в 3 раза больше контекстных данных, чем стандартный шаблон. Пример ниже добавляет трек-ссылку, ФИО покупателя и сумму в удобном формате.

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 : '', ]); }); 

Платформа 1С-Битрикс используется для управления заказами в десятках тысяч магазинов. Персонализированные уведомления, по нашим данным, повышают конверсию на 20%, а открываемость — на 25%.

Почему раздельные шаблоны для каждого статуса — лучшая практика?

Один шаблон для всех статусов — плохое решение: письмо «Заказ выполнен» должно отличаться от «Заказ отменён». Создаём отдельные типы событий и 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 раза информативнее стандартного по объёму данных в письме.

Сравнение затрат на поддержку

Решение Время на доработку Экономия
Стандартные уведомления 2-4 часа Нет
Кастомные с раздельными шаблонами 4-8 часов Существенная (до 30% бюджета)

Типичные ошибки при настройке

  • Флаг «Уведомлять покупателя» не снят — письма дублируются
  • Макросы потеряны при копировании шаблонов
  • Дублирование событий из-за нескольких обработчиков
  • Отсутствует проверка email или телефона

Что входит в настройку уведомлений

  1. Анализ текущих почтовых событий — проверка шаблонов, статусов, флагов.
  2. Проектирование логики — какие статусы уведомляют, какие данные нужны.
  3. Реализация кастомных обработчиков — PHP-код на OnSaleStatusOrderChange.
  4. Создание раздельных HTML-шаблонов — для каждого статуса свой дизайн.
  5. SMS-интеграция — подключение шлюза, настройка текстов.
  6. Уведомления менеджеров — алерты по возвратам, отменам.
  7. Тестирование на всех статусах — проверка отправки, макросов, ссылок.
  8. Документация — описание событий, шаблонов, кода.
  9. Обучение менеджеров — как управлять уведомлениями.
  10. Поддержка 1 месяц — правки и доработки.

Сроки выполнения

Базовая настройка 3–5 статусов с кастомными шаблонами — 4–8 часов. Расширенная: раздельные шаблоны, SMS, уведомления менеджерам, полное тестирование — 1–2 рабочих дня. Точный срок рассчитывается после консультации. Свяжитесь с нами для консультации по вашему проекту. Закажите настройку уведомлений и получите стабильную систему информирования.