Интеграция SMS-сервиса life:) SMS (Беларусь) с Битрикс24
Компания работает в Битрикс24, клиентская база — в CRM, а SMS-уведомления отправляются через кабинет life:) вручную. Менеджер открывает карточку сделки, копирует номер, переходит в интерфейс life:), вставляет номер, пишет текст, отправляет. Статус доставки — где-то в кабинете life:), CRM об этом не знает. Автоматических уведомлений по стадиям воронки нет. Интеграция соединяет Б24 и life:) SMS напрямую: отправка из CRM, автоматика через роботы, возврат статусов доставки в карточку.
life:) SMS API и SMPP: выбор протокола
life:) (бренд Турксел, оператор №3 в Беларуси) предоставляет SMS-шлюз через два протокола:
HTTP API — REST-интерфейс для отправки SMS через HTTP/HTTPS-запросы. Простая интеграция: один запрос — одно сообщение. Подходит для транзакционных SMS и небольших объёмов (до нескольких сотен сообщений в день).
SMPP (Short Message Peer-to-Peer) — бинарный протокол с постоянным TCP-соединением. Преимущества: выше скорость отправки (до 100+ SMS/сек), встроенные delivery reports по тому же соединению, меньше задержки. Подходит для массовых рассылок.
Для интеграции с Б24 выбор зависит от объёма:
| Критерий | HTTP API | SMPP |
|---|---|---|
| Объём | До 500 SMS/день | От 500 SMS/день |
| Скорость | 5–10 SMS/сек | 50–100+ SMS/сек |
| Delivery reports | Callback URL | Inline по соединению |
| Инфраструктура | Простой обработчик (PHP/Node.js) | SMPP-клиент (демон, постоянный процесс) |
| Стоимость внедрения | Ниже | Выше (нужен сервер с демоном) |
Для большинства внедрений используем HTTP API. SMPP подключаем при массовых рассылках через CRM-маркетинг, когда за одну кампанию уходит 5000+ сообщений.
Регистрация провайдера в Битрикс24
Подключение через модуль messageservice:
messageservice.sender.add({
CODE: "life_sms_by",
TYPE: "SMS",
HANDLER: "https://your-domain.com/handler/life-sms.php"
})
Обработчик принимает запросы от Б24 и транслирует их в API life:):
- Получает POST от Б24:
message_to,message_body,message_id. - Нормализует номер в формат
+375XXXXXXXXX(life:) API требует международный формат). - Отправляет запрос в life:) API: endpoint, авторизационные данные, номер, текст, Sender ID.
- Получает ответ: идентификатор сообщения, статус постановки в очередь.
- Сохраняет маппинг
message_id(Б24) ↔msg_id(life:)). - Возвращает подтверждение Битрикс24.
Sender ID: регистрация у life:)
life:) Беларусь требует регистрацию буквенного имени отправителя. Процедура:
- Заявка через менеджера life:) или личный кабинет корпоративного клиента.
- Имя — до 11 латинских символов. Кириллица не поддерживается в Sender ID.
- Прилагаются: копия свидетельства о регистрации юрлица, описание назначения рассылки.
- Срок согласования — от 5 до 10 рабочих дней.
- Возможна регистрация нескольких имён: одно для транзакционных, другое для маркетинговых SMS.
Без зарегистрированного Sender ID life:) API отклоняет запрос на отправку.
Delivery reports: получение статусов доставки
life:) поддерживает delivery reports (DLR) двумя способами:
Через HTTP callback:
- В настройках life:) указывается URL обработчика.
- При изменении статуса life:) отправляет POST с
msg_idиstatus. - Обработчик находит связанный
message_idв Б24 и обновляет статус.
Через SMPP (при использовании SMPP-протокола):
- DLR приходит по тому же SMPP-соединению как
deliver_smPDU. - Парсинг:
id,stat(DELIVRD, EXPIRED, UNDELIV, REJECTD). - Быстрее, чем HTTP callback — статус приходит практически мгновенно.
Статусы life:):
| Статус | Описание | В Б24 |
|---|---|---|
| DELIVRD | Доставлено | Доставлено |
| EXPIRED | Срок доставки истёк | Не доставлено |
| UNDELIV | Недоступен | Не доставлено |
| REJECTD | Отклонено | Ошибка |
| ACCEPTD | Принято, ожидает доставки | Отправлено |
Без обработки DLR все сообщения в CRM показывают «Отправлено», даже если абонент недоступен неделю.
Формат белорусских номеров
Обработчик нормализует номера из базы Б24:
-
+375251234567→ без изменений -
80251234567→+375251234567 -
375 25 123-45-67→+375251234567 -
25 1234567→+375251234567
Коды мобильных операторов Беларуси: 25, 29, 33, 44 — life:) исторически использует 25 и 29 (частично). SMS через life:) шлюз уходят на номера любых операторов — не только life:).
Автоматизация через роботы CRM
Типовые сценарии:
Воронка продаж:
- Новый лид → SMS «{ИМЯ}, заявка принята. Свяжемся в течение 15 минут»
- Сделка «Ожидает оплату» → SMS со ссылкой на оплату (ЕРИП или банковский эквайринг)
- Сделка закрыта → SMS с благодарностью
Сервис и напоминания:
- Запись на приём → напоминание за сутки
- Пропущенный звонок → автоматическое SMS
Подстановка полей CRM в текст: #CONTACT_NAME#, #DEAL_TITLE#, #DEAL_UF_XXX#.
Оптимизация расходов
- Длина сообщения: кириллица — 70 символов на сегмент (67 при конкатенации). Каждый лишний символ после 70 — второй сегмент. Шаблоны нужно укладывать в 70 символов.
-
Фильтрация дублей: добавляем условие в робот — отправлять только если поле
UF_CRM_SMS_SENTпустое. - Проверка номеров: перед массовой рассылкой прогоняем базу через нормализацию и убираем невалидные номера.
Сроки внедрения
| Масштаб | Что входит | Срок |
|---|---|---|
| Базовый (HTTP API) | Подключение life:) SMS, ручная отправка, один робот | 3–5 дней |
| Стандартный | 3–5 роботов, callback DLR, нормализация номеров | 1 неделя |
| Расширенный (SMPP) | SMPP-клиент, массовые рассылки, inline DLR, аналитика | 2–3 недели |
Что настраиваем
- Регистрация life:) SMS как провайдера через
messageservice.sender.add - Обработчик запросов Б24 → life:) SMS API (HTTP или SMPP)
- Помощь с регистрацией Sender ID в life:)
- Нормализация белорусских номеров
- Обработка delivery reports (callback или SMPP inline)
- Роботы CRM для транзакционных SMS по стадиям воронки
- Массовые рассылки через CRM-маркетинг
- Шаблоны SMS с подстановкой полей CRM
- Тестирование: ручная отправка, роботы, DLR, массовая рассылка на тестовый сегмент







