Сповіщення про готовність замовлення: налаштування в 1С-Бітрікс
Клієнт оформлює самовивіз, чекає товар, але повідомлення не приходить — він або приходить раніше часу, або забуває про замовлення. У результаті зняття резерву, повернення та втрата лояльності. Ми усуваємо цю проблему: інформування «Ваше замовлення готове до видачі» надсилається миттєво, як тільки співробітник складу змінює статус. Наші інженери з 10+ років досвіду роботи з Бітрікс гарантують надійне рішення під ключ.
Відправлення сповіщення критичне, тому що покупець орієнтується на строк зберігання. Якщо не сповістити вчасно — замовлення не заберуть. Якщо сповістити раніше — клієнт прийде, а товару ще немає. Правильне налаштування виключає обидва сценарії. За даними нашої практики, своєчасне повідомлення збільшує відсоток викупу замовлень самовивозу на 15–20%, а повернення знижуються до 30%. Економія від впровадження становить до 30% від вартості повернень — при середньому чеку 3000 грн це близько 900 грн з кожного повернення.
Чому важливо налаштувати сповіщення правильно?
Неправильне налаштування веде до збоїв: сповіщення приходить із затримкою, не доходить до клієнта або містить невірну адресу складу. У результаті — невдоволення та повернення. Правильна конфігурація гарантує:
- миттєву відправку після зміни статусу;
- роботу обраного каналу (SMS, Telegram, email) без збоїв;
- актуальні дані про точку самовивозу та строк зберігання.
Ми використовуємо спеціальні статуси та події, описані в документації Бітрікс, для миттєвої реакції. статуси замовлень
Які канали сповіщень ефективніші?
| Канал | Швидкість доставки | Надійність | Витрати на інтеграцію |
|---|---|---|---|
| SMS | Секунди (середнє 2 сек) | Висока | Низькі (через API) |
| Telegram | Миттєво | Середня | Середні (потрібен бот) |
| Хвилини | Висока | Мінімальні |
Telegram-сповіщення доставляються в 2–3 рази швидше за SMS, але вимагають підписки клієнта. SMS універсальний і надійніший, але повільніший за Telegram. Email — найдешевший канал, але найповільніший. Комбінування каналів підвищує ймовірність доставки до 99.9%.
Як сповіщення впливає на конверсію?
Своєчасне інформування збільшує відсоток викупу замовлень самовивозу на 15–20%. Клієнт отримує чіткий сигнал: «Ваше замовлення чекає». Якщо затримка — ймовірність невикупу зростає в 2 рази. Наші клієнти відзначають зниження повернень до 30% після налаштування системи. Окупність рішення — 2–3 місяці. Орієнтовна вартість робіт — від 4000 до 8000 грн залежно від складності.
Типові статуси замовлень і тригер повідомлення
| Статус | Символьний код | Опис |
|---|---|---|
| Новий | N | Тільки що створений |
| Підтверджений | P | Склад почав збірку |
| Готовий до видачі | RC | Товар на полиці |
| Виданий | F | Клієнт забрав |
Спеціальний статус RC — точка входу для сповіщення. Без нього механізм не працює.
У Бітрікс немає вбудованого статусу «Готовий до видачі». Створюємо кастомний:
Магазин → Налаштування → Статуси замовлень → Додати:
- Символьний код:
RC(Ready for Collect) - Назва: «Готовий до видачі»
- Колір: зелений
Після створення статусу — обробник на його зміну:
\Bitrix\Main\EventManager::getInstance()->addEventHandler(
'sale',
'OnSaleOrderStatusChange',
function (\Bitrix\Main\Event $event) {
$order = $event->getParameter('ENTITY');
$newStatus = $order->getField('STATUS_ID');
if ($newStatus !== 'RC') {
return; // Нас цікавить тільки статус "Готовий до видачі"
}
// Отримуємо точку самовивозу з властивості замовлення
$pickupStoreProp = $order->getPropertyCollection()
->getItemByOrderPropertyCode('PICKUP_STORE_ID');
$storeId = $pickupStoreProp ? $pickupStoreProp->getValue() : null;
$storeInfo = null;
if ($storeId) {
$storeInfo = \Bitrix\Catalog\StoreTable::getById($storeId)->fetch();
}
// Формуємо та надсилаємо сповіщення
\Local\Notifications\ReadyForPickupNotifier::notify($order, $storeInfo);
}
);
Клас сповіщення про готовність
// /local/lib/Notifications/ReadyForPickupNotifier.php
namespace Local\Notifications;
use Bitrix\Sale\Order;
class ReadyForPickupNotifier
{
public static function notify(Order $order, ?array $storeInfo): void
{
$userId = $order->getUserId();
$user = \Bitrix\Main\UserTable::getById($userId)->fetch();
$storeName = $storeInfo['TITLE'] ?? 'магазині';
$storeAddress = $storeInfo['ADDRESS'] ?? '';
$orderId = $order->getId();
// Час зберігання — з налаштувань (за замовчуванням 5 днів)
$holdDays = (int)\Bitrix\Main\Config\Option::get(
'local.pickup', 'hold_days', 5
);
$holdUntil = date('d.m.Y', strtotime("+{$holdDays} days"));
$message = "Замовлення #{$orderId} готове до видачі в {$storeName}.\n";
if ($storeAddress) {
$message .= "Адреса: {$storeAddress}\n";
}
$message .= "Строк зберігання: до {$holdUntil}.";
// Telegram
if (!empty($user['UF_TELEGRAM_CHAT_ID'])) {
\Local\Telegram\BotService::sendMessage(
$user['UF_TELEGRAM_CHAT_ID'],
$message
);
}
// SMS через сервіс
$phone = $order->getPropertyCollection()
->getPhone()
?->getValue();
if ($phone) {
\Local\Sms\SmsService::send($phone, $message);
}
// Email — стандартний механізм Бітрікс
// Створюємо подію для шаблону листа
\CEvent::Send('ORDER_READY_FOR_PICKUP', SITE_ID, [
'ORDER_ID' => $orderId,
'STORE_NAME' => $storeName,
'STORE_ADDRESS' => $storeAddress,
'HOLD_UNTIL' => $holdUntil,
'USER_EMAIL' => $user['EMAIL'],
'USER_NAME' => $user['NAME'],
]);
}
}
Налаштування email-шаблону
Шаблон email-сповіщення створюється в Налаштування → Поштові події → Шаблони → Додати з типом події ORDER_READY_FOR_PICKUP. У шаблоні використовуйте змінні #ORDER_ID#, #STORE_NAME#, #STORE_ADDRESS#, #HOLD_UNTIL#. Зразковий текст листа:
Здравствуйте, #USER_NAME#!
Ваше замовлення #ORDER_ID# готове до видачі в #STORE_NAME#.
Адреса: #STORE_ADDRESS#
Строк зберігання: до #HOLD_UNTIL#.
З повагою, інтернет-магазин.
Обробка збоїв доставки
Якщо сповіщення не дійшло, ми перевіряємо логи відправлення та статус каналу. Типові причини збою — невірний номер телефону, відключений Telegram-бот або неактивний email. Налаштовуємо повторну відправку через альтернативний канал: наприклад, якщо SMS не пішла, надсилаємо email. Це підвищує надійність системи до 99%. Додаткову інформацію по REST API Бітрікс24 можна використовувати для інтеграції.
Автоматичний перехід при надходженні товару
Якщо товару не було в момент покупки, замовлення має автоматично перейти в статус «Готовий до видачі» при надходженні на склад:
\Bitrix\Main\EventManager::getInstance()->addEventHandler(
'catalog',
'OnProductUpdate',
function (\Bitrix\Main\Event $event) {
$productId = $event->getParameter('ID');
$fields = $event->getParameter('FIELDS');
if (!isset($fields['QUANTITY']) || $fields['QUANTITY'] <= 0) {
return;
}
// Шукаємо очікуючі замовлення на цей товар із самовивозом
$waitingOrders = \Local\Orders\PickupOrderFinder::getWaiting($productId);
foreach ($waitingOrders as $waitingOrderId) {
$order = \Bitrix\Sale\Order::load($waitingOrderId);
if ($order && $order->getField('STATUS_ID') === 'N') {
$order->setField('STATUS_ID', 'RC');
$order->save();
}
}
}
);
Що входить в роботу
- Створення спеціального статусу «Готовий до видачі» з обробником
- Налаштування мультиканальних сповіщень (SMS, Telegram, email)
- Інтеграція з точками самовивозу (підстановка адреси та назви)
- Моніторинг доставки та автоматичний повтор при збої
- Документація з налаштування та навчання менеджерів (2 години)
- Гарантія 3 місяці на всі доробки
- Доступ до вихідного коду та права адміністратора
Процес роботи
- Аналітика — вивчаємо поточні статуси та логіку самовивозу.
- Проектування — створюємо схему переходів і каналів сповіщень.
- Реалізація — пишемо код спеціального статусу, обробника та сервісів.
- Тестування — перевіряємо всі можливі сценарії: зміна статусу, відсутність товару, збій SMS-шлюзу.
- Деплой — викладаємо на бойовий сервер, налаштовуємо моніторинг.
- Навчання — показуємо менеджерам, як керувати статусами.
Типові помилки при налаштуванні
- Забувають створити подію для email-шаблону — листи не йдуть.
- Не вказують ID складу у властивості замовлення — сповіщення без адреси.
- Не враховують кешування — сповіщення приходить із затримкою.
- Не перевіряють права доступу до REST API (для Telegram) — канал не працює.
Наші інженери з 10+ років досвіду виключають ці помилки на етапі тестування.
Строки та гарантія
Спеціальний статус, обробник, мультиканальне сповіщення — від 4 до 8 годин. Автоматичний перехід при надходженні товару — ще 4–6 годин. На всі роботи надається гарантія 3 місяці. Зв'яжіться з нами, щоб обговорити деталі вашого проекту. Замовте налаштування — отримайте готове рішення під ключ.







