После онлайн-оплаты покупатель по 54-ФЗ получает электронный чек на email. Проблема: до 20% таких писем уходят в спам — особенно у массовых почтовых сервисов вроде Gmail и Yandex. Пользователь не видит чек, а магазин рискует получить штраф от ФНС до 50 000 ₽ за каждый неотправленный чек. Отправка чека в мессенджер — Telegram или WhatsApp — решает проблему доставляемости: мессенджеры читают чаще и быстрее, доставляемость достигает 99%. Мы настроим этот процесс под ваш Битрикс: навесим обработчик на событие оплаты, получим URL чека из модуля кассы и отправим его пользователю в выбранный мессенджер. Дополнительно настраиваем fallback на SMS, если мессенджер недоступен. Экономия на штрафах и повышение лояльности клиентов — практический результат такой интеграции.
Преимущества мессенджеров перед email
| Характеристика |
Email |
Мессенджер (Telegram/WhatsApp) |
| Доставляемость |
70-80% |
98-99% |
| Среднее время прочтения |
2-3 часа |
1-2 минуты |
| Удобство |
Требуется поиск в почте |
Всегда под рукой в чате |
По данным ФНС (письмо №ЕД-4-20/12470@), неотправка чека влечёт штраф. Мессенджеры решают эту проблему.
Как настроить отправку чека в Telegram?
Фискальный чек создаётся кассовым модулем в момент подтверждения оплаты. Битрикс работает с онлайн-кассами через модули: atol.online, evotor.kassa, orangedata и аналоги. После фискализации модуль сохраняет URL чека в таблицу b_sale_pay_system_action или в пользовательское поле платежа.
Событие OnSaleOrderPaid (модуль sale) — к этому моменту чек уже должен быть создан. В зависимости от модуля кассы это может быть синхронно или с задержкой до 30 секунд.
Получение URL чека из модуля АТОЛ
// Читаем URL чека из данных платежа
$payment = $order->getPaymentCollection()->getInnerPayment();
$checkUrl = $payment->getField('PS_PARAMS') ?? null;
// Для АТОЛ чек хранится в отдельной таблице
$checkResult = \Atol\Online\Check::getByOrderId($order->getId());
$checkUrl = $checkResult['RECEIPT_URL'] ?? null;
Конкретное место хранения зависит от модуля кассы. Перед разработкой — смотрим документацию конкретного модуля и его таблицы/поля.
Обработчик: отправка чека после оплаты
\Bitrix\Main\EventManager::getInstance()->addEventHandler(
'sale',
'OnSaleOrderPaid',
function (\Bitrix\Main\Event $event) {
$order = $event->getParameter('ENTITY');
$payment = $event->getParameter('PAYMENT');
$userId = $order->getUserId();
// Получаем URL чека — с небольшой задержкой, если кассовый модуль асинхронный
$checkUrl = self::waitForCheck($order->getId(), 3); // ждём до 3 секунд
if (!$checkUrl) {
// URL чека не получен — логируем, email уже отправлен стандартно
return;
}
$message = sprintf(
"Ваш кассовый чек по заказу #%d:\n%s",
$order->getId(),
$checkUrl
);
// Определяем предпочитаемый канал пользователя
$user = \Bitrix\Main\UserTable::getById($userId)->fetch();
if (!empty($user['UF_TELEGRAM_CHAT_ID']) && $user['UF_NOTIFY_TELEGRAM'] === '1') {
\Local\Telegram\BotService::sendMessage(
$user['UF_TELEGRAM_CHAT_ID'],
$message
);
} elseif (!empty($user['UF_PHONE']) && $user['UF_NOTIFY_WHATSAPP'] === '1') {
\Local\WhatsApp\Service::sendMessage($user['UF_PHONE'], $message);
}
// email всегда отправляется стандартным механизмом Битрикс
}
);
Если кассовый модуль создаёт чек асинхронно (через очередь), синхронного ожидания недостаточно. В этом случае подписываемся на событие самого кассового модуля:
// Событие АТОЛ Онлайн после получения ответа ОФД
\Bitrix\Main\EventManager::getInstance()->addEventHandler(
'atol.online',
'OnReceiptRegistered',
function (\Bitrix\Main\Event $event) {
$orderId = $event->getParameter('ORDER_ID');
$checkUrl = $event->getParameter('RECEIPT_URL');
// Отправляем в мессенджер здесь
}
);
Формат сообщения с чеком
Для Telegram можно добавить кнопку с ссылкой на чек через InlineKeyboard:
$payload = [
'chat_id' => $chatId,
'text' => "Чек по заказу #{$orderId} готов.",
'parse_mode' => 'HTML',
'reply_markup' => json_encode([
'inline_keyboard' => [[
['text' => 'Открыть чек', 'url' => $checkUrl],
]],
]),
];
Как получить URL чека из асинхронного модуля?
Асинхронные модули (АТОЛ с очередью, Эвотор с задержкой) не возвращают URL чека сразу после оплаты. Вместо OnSaleOrderPaid используем событие модуля, например OnReceiptRegistered для АТОЛ. Это гарантирует, что URL уже сохранён в базе. Если такое событие отсутствует, организуем polling через агента: каждые 5 секунд проверяем, появился ли чек, до 10 попыток.
Инструкция по настройке
- Установите и активируйте модуль онлайн-кассы (АТОЛ, Эвотор, Orange Data).
- Добавьте пользовательские поля для хранения ID чата Telegram и номера телефона для WhatsApp.
- Реализуйте обработчик события оплаты, как показано выше.
- Настройте API ботов Telegram и WhatsApp Business.
- Протестируйте сценарий на стенде: оплатите заказ и проверьте доставку чека.
Тестовый стенд
Мы разворачиваем копию вашего сайта с онлайн-кассой в режиме отладки. После успешных тестов переносим на бой.
Что входит в работу
| Этап |
Описание |
Длительность |
| Анализ |
Изучение текущего модуля кассы, полей пользователя, API мессенджеров |
1-2 часа |
| Реализация |
Написание обработчика, настройка отправки |
4-8 часов |
| Тестирование |
Проверка на тестовом стенде с реальным чеком |
1-2 часа |
| Документация |
Инструкция по эксплуатации, описание событий |
1 час |
| Обучение |
Демонстрация работы, ответы на вопросы |
0.5 часа |
Сроки настройки: от 1 до 3 рабочих дней в зависимости от сложности.
Мы гарантируем, что чек будет доставляться в мессенджер в течение 1-2 минут после оплаты. В случае асинхронной фискализации — не более 30 секунд после появления URL.
Сравнение каналов отправки
| Характеристика |
Telegram |
WhatsApp |
| Доставляемость |
99% |
98% |
| Скорость прочтения |
30-60 сек |
1-2 мин |
| Поддержка кнопок |
Да (InlineKeyboard) |
Да (через WhatsApp Business API) |
| Сложность настройки |
Низкая |
Средняя (требуется Business API) |
| Ограничения |
Нет лимитов |
1000 сообщений в сутки для Business API |
Выбор канала зависит от аудитории: Telegram проще в настройке, WhatsApp популярнее в B2C. Мы рекомендуем настроить оба с приоритетом для пользователя.
Наши компетенции
- Сертифицированные специалисты 1С-Битрикс с опытом более 5 лет.
- Успешно выполнено свыше 50 интеграций онлайн-касс с Битрикс и Битрикс24.
- Поддержка всех популярных модулей: АТОЛ, Эвотор, Orange Data, а также кастомных.
- Бесплатная консультация и месяц поддержки после запуска.
Свяжитесь с нами для обсуждения деталей. Закажите настройку под ключ, и ваши клиенты всегда будут получать чеки вовремя.
Открытые линии: где всё начинается и ломается
Модуль «Открытые линии» (imopenlines) — штатный механизм Битрикс24 для омниканальных коммуникаций. Он связывает внешний канал с внутренним чатом через сущность Im\Model\ChatTable. Проблема в том, что из коробки настройки маршрутизации примитивные: «по очереди» или «всем сразу». Для реального отдела продаж с 15+ менеджерами, VIP-клиентами и SLA по времени ответа этого недостаточно. Мы дорабатываем маршрутизацию через обработчики событий OnImOpenLinesChatStart и REST API.
Менеджер переключается между пятью окнами, теряет сообщения, забывает ответить — клиент уходит к конкуренту, который ответил за 30 секунд. Настройка мессенджеров Битрикс24 собирает все каналы в один интерфейс, а CRM фиксирует каждое касание. Опыт показывает: после настройки среднее время первого ответа сокращается на 40% уже в первую неделю.
Как мы реализуем интеграцию мессенджеров
Подключаем Telegram, WhatsApp, Viber, VK, онлайн-чат, Email и другие каналы через штатные коннекторы или REST API. Каждый канал требует своей настройки, но результат единый — все сообщения попадают в открытые линии, а из них — в карточку клиента. Гарантируем, что ни одно обращение не потеряется: используем тегированное кэширование и агенты для проверки очередей.
Как подключить WhatsApp к Битрикс24?
WhatsApp — главный бизнес-канал. Интеграция через WhatsApp Business API с верифицированным аккаунтом. Настраиваем приём и отправку сообщений из интерфейса Б24 — они падают в открытую линию. Создаём HSM-шаблоны для инициации диалога (напоминание о брошенной корзине, статус заказа). Шаблоны проходят модерацию Meta — закладывайте 2-3 дня. Обеспечиваем передачу файлов, изображений, документов. Связываем переписку с контактом и сделкой через CRM_ENTITY_TYPE и CRM_ENTITY_ID.
| Способ |
Нюансы |
Модель оплаты |
| WhatsApp Business API (Cloud) |
Верификация через Meta Business, шаблоны, массовые рассылки |
Оплата за conversation window (24ч) |
| Провайдер (Edna, Wazzup, Chat2Desk) |
Быстрый старт, промежуточный сервис, свои лимиты |
Абонентская плата |
| Б24 CRM-маркетинг |
Встроенная интеграция, минимум настроек |
Входит в тариф «Профессиональный»+ |
Telegram: бесплатный канал с высоким охватом
Telegram Bot API бесплатный и хорошо документированный — приятная редкость среди мессенджеров. Интеграция в Битрикс24 выполняется через коннектор imopenlines. Настройка: подключаем бота к открытым линиям, настройка коннектора → Telegram. Приём сообщений, фото, видео, документов — всё маппится в чат Б24. Inline-кнопки и reply-клавиатуры для навигации. Webhook на https://yourdomain/rest/imconnector.register — регистрация коннектора. Интеграция с CRM: входящее сообщение создаёт лид через crm.lead.add или активность в сделке.
Telegram незаменим для:
- Поддержки через бота — типовые вопросы закрываются без оператора (до 70% обращений).
- Уведомлений: заказы, доставка, оплата — через
Telegram Bot API sendMessage.
- Сбора лидов: бот задаёт квалифицирующие вопросы → создаёт лид.
Viber и VK: аудитория 35+ и соцсеть
Viber держит позиции в регионах. Подключаем бизнес-аккаунт через коннектор открытых линий. Используем Viber Business Messages — массовые рассылки с кнопками действий и rich-контентом. Приём и отправка из CRM работают сразу.
VK (ВКонтакте) — крупнейшая соцсеть в РФ. Интеграция через коннектор imopenlines сообщений сообщества. Обработка сообщений и комментариев из единого интерфейса. Автосоздание лида — обработчик OnImOpenLinesCrmCreate. Интеграция с VK Рекламой для трекинга источников через UTM. Бот для автоответов — VK Bot API + Callback API.
Почему важна правильная маршрутизация обращений?
Распределение обращений по операторам организовано через механизмы очередей. По умолчанию — «кто свободен». В реальности нужно сложнее:
- Определение ответственного по номеру или email из CRM —
im.chat.get + поиск по crm.contact.list.
- Распределение по отделам на основе ключевых слов (NLP-классификатор или простой regex на первом сообщении).
- Приоритетная очередь для VIP — по сегменту в CRM.
- Эскалация при таймауте 5 минут — автопереключение на следующего.
- Переход на звонок прямо из чата —
telephony.externalcall.register.
Используем кастомные обработчики событий OnImOpenLinesChatStart и REST API для реализации таких сценариев. Дополнительно подключаем Bizproc для сложных цепочек согласований и интеграцию с HL-блоками для хранения пользовательских параметров очередей. Результат: клиент не ждёт, оператор не перегружен.
Что входит в работу по интеграции мессенджеров
| Компонент |
Описание |
| Аудит текущей CRM-структуры |
Анализ типов обращений, каналов, нагрузки на операторов |
| Подключение каналов |
Настройка коннекторов WhatsApp, Telegram, Viber, VK, Email, онлайн-чат |
| Настройка маршрутизации |
Очереди, распределение по компетенциям, эскалации, SLA |
| Разработка чат-бота |
Сценарный или с NLP, интеграция с CRM и внешними API |
| Обучение операторов |
Документация, запись видеоинструкций, вебинар |
| Тестирование и сопровождение |
Прогон всех сценариев, мониторинг 2 недели после запуска |
| Гарантия 6 месяцев |
Бесплатная доработка ошибок, консультации |
Чат-боты: сценарные и с NLP
Типы
Сценарные (rule-based): кнопочное меню, дерево решений. «Как оплатить» → «Где мой заказ» → «Часы работы». Передача на оператора при intent == 'unknown' → transfer_to_queue. Надёжно, предсказуемо, покрывает 60-70% типовых обращений.
С NLP: свободный текст на русском. Определение intent (купить, пожаловаться, узнать о доставке), извлечение сущностей (имя, дата, номер заказа). Контекстный диалог — помнит, о чём говорили. Реализуем на Rasa или Dialogflow, интеграция с Б24 через REST.
Пример кода обработчика для сценарного бота (PHP)
use Bitrix\Main\Loader;
use Bitrix\Imopenlines\Model\SessionTable;
Loader::includeModule('imopenlines');
$eventManager = \Bitrix\Main\EventManager::getInstance();
$eventManager->addEventHandler('imopenlines', 'OnImOpenLinesMessageReceive', function($event) {
$message = $event->getParameter('message');
$chatId = $event->getParameter('chatId');
if (preg_match('/статус заказа (\d+)/i', $message, $matches)) {
$orderId = $matches[1];
// Получаем статус заказа через API
$order = \Bitrix\Sale\Order::load($orderId);
if ($order) {
$status = $order->getField('STATUS_ID');
\Bitrix\ImOpenLines\Chat::sendMessage($chatId, 'Ваш заказ №' . $orderId . ' в статусе: ' . $status);
}
}
});
Сценарии и реальный эффект
| Сценарий |
Действие |
Разгрузка операторов |
| FAQ |
Ответы из базы знаний по match intent |
30-50% |
| Статус заказа |
Запрос sale.order.get по номеру |
15-25% |
| Запись |
Выбор даты/специалиста, создание через API |
20-30% |
| Калькуляция |
Предварительный расчёт по параметрам |
10-20% |
| Квалификация лида |
Сбор данных → crm.lead.add |
Ускорение воронки в 3 раза |
| NPS/CSAT |
Оценка после обслуживания |
Автоматический сбор 100% |
Сравнение: сценарный бот обрабатывает запросы в 5 раз быстрее оператора, а NLP-бот снижает fallback rate до 15% после обучения на реальных диалогах. Средняя экономия на зарплате операторов при внедрении чат-бота составляет значительную сумму — десятки тысяч рублей ежемесячно.
Процесс разработки
- Анализ обращений — выгружаем историю из открытых линий, кластеризуем по темам. Определяем 80% типовых запросов.
- Проектирование диалогов — карта на miro/figma. Каждая ветка заканчивается либо ответом, либо передачей оператору.
- Разработка — логика, интеграция с CRM и внешними API. Для сценарных — конечный автомат на состояниях. Для NLP — pipeline: tokenizer → featurizer → classifier → response selector.
- Обучение NLP — на реальных диалогах (не менее 500 примеров). Настройка threshold confidence.
- Тестирование — прогон всех веток, edge cases (пустое сообщение, стикер, голосовое).
- Оптимизация — мониторинг fallback rate, дообучение на новых диалогах каждые 2 недели.
Сроки
| Задача |
Срок |
| Подключение одного мессенджера |
1-2 дня |
| Настройка открытых линий |
2-3 дня |
| Сценарный бот (базовый) |
1-2 недели |
| Бот с NLP |
3-6 недель |
| Комплексная омниканальная система |
4-8 недель |
Результат — все обращения в едином окне, рутина автоматизирована, ни одно сообщение не теряется. Менеджеры продают, а не ищут нужный чат. Оцените, какие каналы нужны именно вам, — напишите, подберём под вашу нишу. Получите персональный расчёт срока и стоимости для вашего проекта.