Автоматизація сповіщень про статус доставки в 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 і відправляємо повідомлення.
Порівняння способів сповіщень
| Канал |
Відкриваність |
Вартість |
Складність інтеграції |
| Email |
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 дні ваші клієнти почнуть отримувати трекінг-посилання.
Інтеграція доставки: від розрізнених API до єдиного калькулятора за 5 днів
Покупець кидає кошик на етапі доставки — не бачить розрахунку або бачить свідомо невірну ціну. Кожен такий випадок втрачає конверсію. Автоматизація логістики в 1С-Бітрікс вирішує цю проблему: ми підключаємо служби доставки так, щоб ціна показувалася миттєво, а трекінг оновлювався без участі менеджера. Більше 50 реалізованих проєктів з каталогами від 500 до 100 000 SKU, досвід понад 8 років. Середній час підключення однієї транспортної компанії — 4 дні.
Як прискорити підключення служб доставки до 1С-Бітрікс?
Головна складність — не сам виклик API, а адаптація до логіки кожного перевізника. СДЕК, Boxberry, Нова пошта, ПЕК, DPD — у кожного свій формат запиту, тарифікація та обробка помилок. Ми використовуємо готові адаптери під кожну ТК, що скорочує час інтеграції втричі порівняно з реалізацією з нуля. Розгорнутий кейс: інтернет-магазин товарів для дому (15 000 товарів) — підключили СДЕК та Boxberry за 5 днів, автоматизували розрахунок та створення замовлень. Звернення до підтримки з доставки знизилися на 60%, середній чек зріс на 8% за рахунок індикатора безкоштовної доставки.
Чому API кожної транспортної компанії — окремий квест?
СДЕК — об'ємна вага та карта ПВЗ
API v2 (/api/v2/calculator/tarifflist) приймає габарити, вагу та адреси — повертає всі доступні тарифи. Підводні камені: об'ємна вага розраховується за формулою (Д × Ш × В) / 5000. Якщо фізична вага 2 кг, а об'ємна 8 кг — СДЕК бере по об'ємній. Не врахуєте в калькуляторі — покупець побачить одну ціну, а заплатить іншу. Карта ПВЗ завантажується через /deliverypoints. Віджет СДЕК можна вбудувати, але він конфліктує зі стилями Бітрікс — малюємо свою карту на Яндекс.Картах. Автоматичне створення замовлення через /api/v2/orders — при оформленні заявка летить у СДЕК, повертається трек-номер. Друк накладних та етикеток з адмінки — через /api/v2/print/orders. Тарифи: склад-склад, склад-двері, двері-двері, експрес, постамат.
Boxberry — широка мережа ПВЗ в регіонах
Найширша мережа пунктів видачі в малих містах. API простіше, ніж у СДЕК, але є нюанси з післяплатою та частковим викупом. Типові помилки при інтеграції: відсутність фільтрації ПВЗ за ознакою onlyPrepaid → помилки при післяплаті; ігнорування параметра partialReturn → ламає частковий викуп. API повертає код міста у форматі "770000000000" — потрібне маппінг на index міста.
Нова пошта — лідер українського ринку
Для України — обов'язкове підключення Нової пошти через API v2. Розрахунок вартості, створення ЕН, друк накладної, трекінг. Карта відділень з фільтрацією (поштомати, прийом платежів). Асинхронне оновлення статусів через агент Бітрікс кожні 15 хвилин.
ПЕК — важкі вантажі та збір
Коли потрібно відправити диван або обладнання. Розрахунок збірних вантажів, страхування, обрешітка. Доставка до терміналу та від дверей до дверей. Індекси терміналів ПЕК підвантажуємо в інфоблок для автопідстановки.
DPD — експрес-доставка з часовими слотами
DPD по Україні та за кордон. Доставка у вибраний часовий інтервал, повернення підписаних документів. У розрахунку враховуємо об'ємну вагу за формулою (Д×Ш×В)/4000 — відмінність від СДЕК. Документація DPD: volumetric weight factor 4000.
Як об'єднати різні ТК в єдиному калькуляторі?
Використовуємо гібридний підхід: модуль-агрегатор, який маршрутизує запити до різних API та нормалізує відповіді. Він обробляє запити в 5 разів швидше, ніж окремі інтеграції, завдяки паралельним викликам через curl_multi. У відповіді модуля — єдина структура: назва тарифу, ціна, термін, тип доставки. Кешування теговане: при зміні налаштувань модуля очищується лише кеш розрахунку для обраного міста, решта залишається. Подію OnBeforeDeliveryCalculate вішаємо на кастомний обробник — так підміняємо стандартну логіку доставки.
Розрахунок вартості: які граблі зустрічаються?
Автоматичний калькулятор підсумовує фізичну та об'ємну вагу товарів у кошику, додає вагу упаковки, обирає найбільшу. Звучить просто, але:
- Габарити мають бути заповнені у кожного товару. Немає габаритів — немає розрахунку. На каталозі в 10 000 SKU обов'язково знайдуться товари без розмірів — для них заводимо дефолтні значення (наприклад, 0.1×0.1×0.1 м) і попереджаємо менеджера через поштову подію.
- Промоакції та пороги безкоштовної доставки — гнучке налаштування: за сумою замовлення, для VIP-клієнтів, при конкретному способі оплати. Реалізуємо через користувацькі властивості кошика.
- Індикатор «До безкоштовної доставки залишилося N» — проста річ, але піднімає середній чек на 5–12%. Обчислюємо за сумою кошика та найближчим порогом, виводимо в шаблоні кошика.
Як автоматизувати трекінг, самовивіз та кур'єрську доставку?
Трекінг. Автоматичне опитування API транспортних компаній — агент Бітрікс кожні 30 хвилин перевіряє статуси замовлень, у яких STATUS_DELIVERY != 'DELIVERED'. При зміні — оновлення статусу замовлення в системі та повідомлення покупцеві (email, SMS, push). Вбудована сторінка трекінгу в особистому кабінеті — покупцю не потрібно йти на сайт ТК. Карта з поточним місцезнаходженням, прогнозована дата доставки, можливість переадресації.
Самовивіз. Власні точки видачі на карті: адреси, графік, контакти. Пошук найближчої за адресою покупця. Перевірка наявності в реальному часі, бронювання до певної години. QR-код для швидкого отримання та SMS про готовність до видачі.
Кур'єрська доставка. Зони доставки з різною вартістю. 2-годинні слоти, управління розкладом кур'єрів, обмеження замовлень на слот. Доставка день у день — прийом до 14:00, експрес за 2-4 години з націнкою за терміновість. Інтеграція з навігацією для оптимізації маршрутів.
Мультисклад. Декілька складів з адресами та зонами обслуговування. Автоматичний вибір складу відвантаження за адресою покупця — пріоритет найближчому, де є всі товари замовлення. Якщо на одному складі всього немає — розділення замовлення по складах (мультидоставка). Синхронізація залишків через 1С або WMS (CommerceML), використовуємо події OnBeforeBasketAdd для перевірки доступності.
Порівняння транспортних компаній
| Параметр |
СДЕК |
Boxberry |
Нова пошта |
ПЕК |
DPD |
| Покриття |
Україна, СНД |
Регіони, малі міста |
Вся Україна |
Україна, важкі вантажі |
Україна, експрес |
| Швидкість доставки |
2–7 днів |
3–10 днів |
1–3 дні |
3–10 днів |
1–4 дні |
| Складність API |
Середня |
Низька |
Висока (XML) |
Середня |
Середня |
| Особливість |
Широкий набір тарифів, постамати |
Найширша мережа ПВЗ |
Стабільна, швидка відповідь |
Страхування, обрешітка |
Часові інтервали |
Етапи підключення служб доставки
-
Аналіз логістики (1–2 дні) — географія, середня вага, обсяг замовлень, інтеграція з 1С. Рекомендуємо комбінацію ТК.
-
Підключення API (3–5 днів на ТК) — налаштування розрахунків, карт ПВЗ, автоматичне створення замовлень через агенти та події.
-
Налаштування трекінгу (1–2 тижні) — агенти оновлення статусів, шаблони повідомлень, сторінка трекінгу.
-
Тестування (2–3 дні) — перевірка на реальних адресах, порівняння тарифів, контроль помилкових розрахунків, навантажувальне тестування.
-
Деплой та навчання (1 день) — вивантаження модуля, передача доступів, навчання менеджерів.
-
Гарантійна підтримка (1 місяць) — виправлення багів, коригування конфігурацій, доналаштування кешування.
Що входить у вартість інтеграції
- Документація зі схемою обміну (логістичні маршрути, тарифні зони).
- Налаштовані доступы до API кожної ТК, ключі, вебхуки.
- Шаблони повідомлень (email, SMS, push) для статусів доставки.
- Навчання менеджерів: робота з адмінкою, друк документів, обробка помилок.
- Півроку технічної підтримки після запуску.
Орієнтовні терміни реалізації
| Етап |
Термін |
| Підключення однієї ТК (API) |
3–5 днів |
| Карта вибору ПВЗ |
2–3 дні |
| Налаштування самовивозу |
2–3 дні |
| Система трекінгу |
1–2 тижні |
| Мультисклад |
2–4 тижні |
| Комплексна логістична система |
4–8 тижнів |
Терміни залежать від кількості ТК, складності каталогу та необхідності інтеграції з 1С/ERP. Вартість розраховується індивідуально — орієнтуйтеся на економію: зниження операційних витрат на доставку до 40% та скорочення звернень до підтримки на 60%. Наприклад, один із клієнтів з магазином електроніки (20 000 товарів) повернув інвестиції за 3 місяці за рахунок зменшення кількості «забутих» замовлень. Середня економія наших клієнтів — 15 000 грн на місяць на логістиці.
Готові прискорити логістику вашого інтернет-магазину? Зв'яжіться з нами — допоможемо підібрати оптимальну комбінацію ТК під ваш асортимент та бюджет. Замовте консультацію — і ми підготуємо пропозицію за 1 робочий день.