Интеграция SMS-сервиса SMSC с Битрикс24
SMSC.ru — один из старейших SMS-агрегаторов в РФ. У него есть две особенности, которые выделяют его среди конкурентов: HLR-запросы для проверки активности номеров и каскадная отправка SMS → Viber (или наоборот) в рамках одного API-вызова. При интеграции с Битрикс24 эти возможности транслируются в CRM: менеджеры отправляют сообщения из карточки сделки, роботы рассылают уведомления автоматически, а SMSC сам выбирает оптимальный канал доставки.
Регистрация провайдера в Битрикс24
Как и любой внешний SMS-сервис, SMSC подключается через модуль messageservice. Провайдер регистрируется REST-методом:
messageservice.sender.add({
CODE: "smsc",
TYPE: "SMS",
HANDLER: "https://your-domain.com/handler/smsc.php"
})
Обработчик (HANDLER) принимает от Б24 номер получателя, текст сообщения и внутренний идентификатор. Далее формирует запрос к SMSC API:
https://smsc.ru/sys/send.php?login=LOGIN&psw=PASSWORD&phones=NUMBER&mes=TEXT&fmt=3&op=1
Параметр fmt=3 — ответ в JSON. Параметр op=1 — запрос статуса доставки в ответе (SMSC возвращает id сообщения и cnt — количество SMS-сегментов).
Обработчик сохраняет связку message_id (Б24) → id (SMSC) и возвращает подтверждение Битрикс24.
HLR-запросы: проверка номеров перед рассылкой
HLR (Home Location Register) — запрос к оператору связи, который проверяет, активен ли номер, в какой сети находится абонент и доступен ли для приёма SMS. SMSC предоставляет HLR через отдельный метод API:
https://smsc.ru/sys/hlr.php?login=LOGIN&psw=PASSWORD&phones=NUMBER&fmt=3
Ответ содержит:
- status — статус номера (0 = активен, 1 = недоступен, 2 = не существует)
- operator — текущий оператор связи
- region — регион регистрации номера
Зачем это в контексте Битрикс24:
- Перед массовой рассылкой через CRM-маркетинг прогоняем базу контактов через HLR. Удаляем недоступные и несуществующие номера — экономим бюджет и снижаем процент ошибок.
-
При создании лида по входящему звонку можно автоматически определить оператора и регион через бизнес-процесс с HTTP-запросом к SMSC HLR. Результат записывается в пользовательские поля
UF_CRM_OPERATORиUF_CRM_REGION.
На практике HLR-запрос стоит 0.2–0.5 руб. за номер. При базе в 10 000 контактов проверка обходится в 2 000–5 000 руб., но экономит значительно больше за счёт исключения невалидных номеров из рассылок.
Каскадная отправка: SMS + Viber
SMSC поддерживает каскадную доставку в рамках одного API-вызова. Логика:
- Сообщение отправляется через Viber.
- Если абонент не прочитал в течение заданного времени (обычно 1–2 часа) — автоматически отправляется SMS.
Параметры API:
https://smsc.ru/sys/send.php?login=LOGIN&psw=PASSWORD&phones=NUMBER&mes=TEXT&fmt=3&viber=1&viber_timeout=3600
viber=1 — попытка доставки через Viber. viber_timeout=3600 — таймаут в секундах до фоллбэка на SMS.
Стоимость Viber-сообщения обычно ниже SMS (в 1.5–2 раза для российских номеров). Каскад позволяет доставить сообщение максимальному числу получателей при минимальных затратах: те, у кого есть Viber, получают дешёвое сообщение, остальные — SMS.
В Битрикс24 каскад настраивается на уровне обработчика. Робот CRM вызывает стандартное действие «Отправить SMS», обработчик на вашей стороне решает — отправить через Viber с фоллбэком или чистый SMS — в зависимости от типа сообщения, сегмента или настроек.
Пакетная отправка
SMSC принимает до 100 номеров в одном запросе (через запятую в параметре phones). Для массовых рассылок через CRM-маркетинг Б24 это критично: вместо 10 000 отдельных запросов обработчик группирует номера в пакеты по 100 и отправляет 100 запросов.
Выигрыш: скорость рассылки вырастает на порядок, нагрузка на ваш сервер и API SMSC минимальна.
Реализация: обработчик принимает запросы от Б24 (каждый — один номер), складывает в очередь (Redis, database, файл), cron-задача раз в 5–10 секунд забирает из очереди до 100 номеров и отправляет пакетом. Статусы маппятся обратно по id каждого сообщения.
Callback для статусов доставки
SMSC отправляет уведомления о статусах на указанный URL. Настройка — в личном кабинете SMSC (раздел «Настройки → Обработчик статусов»):
- 1 — доставлено
- 2 — не доставлено (ошибка)
- 3 — не доставлено (просрочено)
- 20 — доставлено через Viber
- 22 — не доставлено через Viber, отправлено SMS (каскад)
Обработчик принимает id и status, находит связанный message_id Битрикс24, обновляет статус в CRM.
Статус «22» особенно полезен: он показывает, что каскад сработал и клиент получил SMS вместо Viber. Эту информацию можно записывать в пользовательское поле контакта — при следующей рассылке сразу отправлять SMS, минуя Viber-таймаут.
Сроки внедрения
| Масштаб | Что входит | Срок |
|---|---|---|
| Базовый | Подключение SMSC, ручная отправка из карточки, один робот | 3–5 дней |
| Стандартный | Роботы по стадиям, callback статусов, каскад SMS/Viber | 1 неделя |
| Расширенный | HLR-проверка базы, пакетная отправка, CRM-маркетинг, аналитика каналов | 1.5–2 недели |
Что настраиваем
- Регистрация SMSC как провайдера через
messageservice.sender.add - Обработчик запросов Б24 → API SMSC с поддержкой каскада SMS/Viber
- Пакетная отправка с очередью и группировкой до 100 номеров
- HLR-проверка базы контактов перед рассылкой
- Callback-обработчик статусов доставки (включая статусы каскада)
- Роботы CRM для транзакционных уведомлений
- Массовые рассылки через CRM-маркетинг
- Пользовательские поля: оператор связи, регион, предпочтительный канал
- Тестирование: отправка SMS, отправка через Viber, каскад, пакетная рассылка, HLR-проверка







