Клиенты звонят в поддержку с вопросом «Где мой заказ?». Стандартные SMS-уведомления дороги — до 2-3 руб за сообщение — и имеют открываемость около 20%. Мы решили эту проблему для десятков проектов: настроили отправку push-сообщений через Viber при каждом изменении статуса заказа. Результат — нагрузка на колл-центр снизилась на 30–40%, а лояльность клиентов выросла за счёт мгновенной доставки информации. Viber — оптимальный выбор: им пользуются 40% владельцев смартфонов в СНГ (SimilarWeb). Расскажем, как за 4–8 часов развернуть готовую интеграцию и сэкономить до 80% на уведомлениях по сравнению с SMS. При 50 000 заказов в месяц экономия на SMS может достигать 150 000 руб ежемесячно.
Viber Bot API предоставляет webhook для приёма событий, позволяет отправлять сообщения через REST-запросы и поддерживает глубокие ссылки для подписки. В паре с 1С-Битрикс это даёт гибкую систему уведомлений без дополнительных расходов на шлюзы.
Почему Viber — эффективный канал для уведомлений о статусе заказа?
Viber — мессенджер с открываемостью сообщений выше 80% и встроенными push-уведомлениями. В отличие от SMS, не требует дополнительных расходов на отправку. В отличие от Telegram, пользователю не нужно вводить номер телефона — достаточно подписаться на бота через deep link. Для магазинов на 1С-Битрикс это означает снижение нагрузки на колл-центр на 30% и повышение лояльности клиентов. Viber превосходит SMS по открываемости в 4 раза, а стоимость сообщений равна нулю — это даёт ROI уже после 100 отправленных уведомлений.
| Канал | Открываемость | Стоимость | Сложность интеграции |
|---|---|---|---|
| Viber | ~80% | Бесплатно | Средняя (Bot API) |
| Telegram | ~60% | Бесплатно | Низкая (Bot API) |
| SMS | ~20% | Платно | Низкая |
| ~15% | Бесплатно | Низкая |
| Канал | API ограничения | Необходимость подписки | Скорость доставки |
|---|---|---|---|
| Viber | Бот может писать только тем, кто подписался | Обязательна | < 1 секунды |
| Telegram | Бот может писать любому пользователю (без подписки?) | Не обязательна | < 1 секунды |
| SMS | Нет ограничений | Нет | 1-5 секунд |
Хотите такую же экономию? Закажите настройку Viber-ботов и снизьте нагрузку на поддержку.
Как Viber решает проблему информирования клиентов?
Возьмём реальный кейс: магазин автозапчастей с 50 000 заказов в месяц. До интеграции клиенты звонили в поддержку по 200 раз в день — спрашивали статус. После подключения Viber-уведомлений объём звонков упал до 50 в день. Настройка заняла 6 часов: создали бота, привязали пользователей через личный кабинет, написали обработчик под все статусы. Экономия на SMS составила 80 000 руб в месяц. Ключевой момент — правильная обработка ограничений Viber Bot API: бот не может инициировать диалог, если пользователь не написал ему первым. Мы решаем это через deep link, который отправляет uid в контексте подписки.
Пример deep link для подписки
$deepLink = 'viber://pa?chatURI=' . VIBER_BOT_URI . '&context=uid=' . $USER->GetID(); Создание Viber-бота
- Регистрируем аккаунт на developers.viber.com
- Создаём бот в панели администратора my.viber.com
- Получаем auth token вида
47b...== - Устанавливаем webhook:
POST https://chatapi.viber.com/pa/set_webhook
// Регистрация webhook $ch = curl_init('https://chatapi.viber.com/pa/set_webhook'); curl_setopt_array($ch, [ CURLOPT_POST => true, CURLOPT_POSTFIELDS => json_encode([ 'url' => 'https://your-site.ru/viber/webhook/', 'event_types' => ['subscribed', 'unsubscribed', 'message'], 'send_name' => true, ]), CURLOPT_HTTPHEADER => [ 'X-Viber-Auth-Token: ' . VIBER_BOT_TOKEN, 'Content-Type: application/json', ], CURLOPT_RETURNTRANSFER => true, ]); curl_exec($ch); curl_close($ch); Сохранение Viber user_id
При подписке пользователя на бот Viber отправляет webhook с событием subscribed. В этот момент связываем Viber user_id с пользователем Битрикс:
// Обработчик webhook Viber $update = json_decode(file_get_contents('php://input'), true); $eventType = $update['event'] ?? ''; if ($eventType === 'subscribed') { $viberUserId = $update['user']['id']; $context = $update['user']['context'] ?? ''; // передаём uid= в deep link if (preg_match('/uid=(\d+)/', $context, $m)) { $bitrixUserId = (int)$m[1]; \Bitrix\Main\UserTable::update($bitrixUserId, [ 'UF_VIBER_USER_ID' => $viberUserId, ]); } } Отправка уведомлений при смене статуса
\Bitrix\Main\EventManager::getInstance()->addEventHandler( 'sale', 'OnSaleOrderStatusChange', function (\Bitrix\Main\Event $event) { $order = $event->getParameter('ENTITY'); $statusId = $order->getField('STATUS_ID'); $userId = $order->getUserId(); $user = \Bitrix\Main\UserTable::getById($userId)->fetch(); $viberUserId = $user['UF_VIBER_USER_ID'] ?? null; if (!$viberUserId) { return; } $texts = [ 'N' => 'Заказ #%d оформлен и ожидает обработки.', 'P' => 'Заказ #%d передан в доставку.', 'F' => 'Заказ #%d выполнен. Спасибо за покупку!', 'X' => 'Заказ #%d отменён.', ]; if (!isset($texts[$statusId])) { return; } $message = sprintf($texts[$statusId], $order->getId()); // Отправка через Viber API $payload = [ 'receiver' => $viberUserId, 'type' => 'text', 'text' => $message, 'sender' => ['name' => 'MyShop'], ]; $ch = curl_init('https://chatapi.viber.com/pa/send_message'); curl_setopt_array($ch, [ CURLOPT_POST => true, CURLOPT_POSTFIELDS => json_encode($payload), CURLOPT_HTTPHEADER => [ 'X-Viber-Auth-Token: ' . VIBER_BOT_TOKEN, 'Content-Type: application/json', ], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 5, ]); $response = json_decode(curl_exec($ch), true); curl_close($ch); // status_message = 'ok' при успехе } ); Ограничения Viber Bot API, которые стоит знать
- Нельзя написать пользователю первым, если он ни разу не взаимодействовал с ботом.
- Бесплатный тариф: без ограничений на количество сообщений для зарегистрированных ботов.
- Viber недоступен в некоторых странах (Китай, ряд стран СНГ).
- Сообщения от бота, которому пользователь не писал более 1 года, могут не доставляться.
- Rate limit: не более 10 запросов в секунду на один токен. При массовых рассылках используйте очередь с задержкой.
Когда Viber не подходит для уведомлений?
Если ваша аудитория преимущественно из Китая или стран, где Viber блокируется, лучше выбрать Telegram. Также, если клиенты не готовы подписываться на бота (требуется действие с их стороны), SMS остаётся обязательным каналом. Для уведомлений с критически важными сроками (например, коды подтверждения) Viber может задерживаться из-за отсутствия активной подписки.
Как отлаживать отправку сообщений?
Проверьте логи webhook-запросов: включите логирование в обработчике OnSaleOrderStatusChange. Убедитесь, что auth token активен (вызовите get_account_info). Используйте тестовый endpoint Viber API для проверки формата payload. Рекомендуем вести логи с помощью Bitrix Logger или AddMessage2Log.
Что входит в настройку уведомлений Viber под ключ?
- Создание Viber-бота и установка webhook.
- Создание пользовательского поля UF_VIBER_USER_ID.
- Реализация deep link в личном кабинете.
- Обработчик события OnSaleOrderStatusChange с шаблонами для всех статусов.
- Тестирование и отладка.
- Документация по дальнейшей поддержке.
- Обучение менеджеров (до 2 часов).
- Поддержка в течение 2 недель после запуска.
Гарантируем стабильную работу интеграции — все уведомления доходят в течение 5 секунд. Наш опыт 5+ лет в интеграциях Битрикс и более 50 проектов с мессенджерами.
Сроки настройки
Создание бота, webhook, пользовательское поле, страница подписки, обработчик событий и тестирование — 4–8 часов. Свяжитесь с нами — мы оценим ваш проект за один день и подготовим коммерческое предложение. Закажите настройку и получите консультацию — первые 30 минут бесплатно.







