Інтеграція SMS-сервісу life:) SMS (Білорусь) з Бітрікс24
Компанія працює в Бітрікс24, клієнтська база — в CRM, а SMS-сповіщення відправляють через кабінет life:) вручну. Менеджер відкриває карточку угоди, копіює номер, переходить в інтерфейс life:), вставляє номер, пише текст, відправляє. Статус доставки — десь в кабінеті life:), CRM про це не знає. Автоматичних сповіщень по етапах воронки немає. Інтеграція з'єднує Б24 та life:) SMS безпосередньо: відправка з CRM, автоматика через роботи, повернення статусів доставки в карточку.
life:) SMS API та SMPP: вибір протоколу
life:) (бренд Turkcell, оператор №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 та перенаправляє їх до life:) API:
- Отримує 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 з посиланням на оплату (ERIP або банківський еквайринг)
- Угода закрита → 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, масова розсилка на тестовий сегмент







