We often encounter this situation: the sales team works in Bitrix24, but SMS notifications to customers go through the MTS Communicator personal account. A manager manually transfers the number from the CRM to the MTS interface, types the message, and clicks 'Send'. The delivery status stays in the MTS account — the CRM doesn't see it. As the business scales, manual work becomes a bottleneck, consuming up to 30% of managers' time. The MTS SMS Bitrix24 integration via MTS Communicator solves this: we link B24 and MTS SMS into a single chain — sending from the CRM card, automatic robots based on funnel stages, delivery status feedback. We guarantee stable operation and full transparency. Our experience in Bitrix24 integrations exceeds 10 years, and we have implemented over 50 SMS automation projects. Contact us for a detailed discussion of your scenario.
How to Connect MTS SMS to Bitrix24?
MTS Belarus provides an SMS gateway via the MTS Communicator platform. Access to the API is granted after signing a contract for the SMS service. Technical details:
- Protocol: HTTP/HTTPS API (REST). Integration via HTTP API is 2 times faster than via SMPP and does not require a daemon with a persistent connection.
- Authentication: by token (API key), issued in the MTS Communicator personal account after activating the service.
-
Number format: international
+375XXXXXXXXX. The MTS API strictly validates the format — numbers without a country code or in80XXformat are rejected with an error. - Limits: a rate limit on requests per second is set when connecting. Typical value is 10–30 SMS/sec. For mass mailings via CRM marketing, this limit must be considered.
Sender ID Registration
MTS Belarus requires mandatory registration of an alphanumeric sender name. Without a registered Sender ID, SMS will not be sent — the API will return an error. Our experience shows the process takes 5–14 business days, and we help prepare the document package.
Registration process:
- Prepare an application on the organization’s letterhead indicating the desired name (up to 11 Latin characters).
- Copy of the legal entity registration certificate.
- Submit via an MTS manager or personal account.
- Approval — from 5 to 14 business days. MTS checks that the name does not coincide with registered trademarks of third parties.
- Activation — the name appears in the list of available names in the personal account.
You can register multiple Sender IDs: one for transactional SMS (e.g., company name), another for marketing mailings. The desired Sender ID is specified in the handler depending on the message type.
Registering a Provider in Bitrix24
Connection via the messageservice module. The handler is registered with a public URL on your server that acts as middleware between B24 and the MTS SMS API. Example setup:
messageservice.sender.add({
CODE: "mts_sms_by",
TYPE: "SMS",
HANDLER: "https://[your-domain]/handler/mts-sms.php"
})
The handler (HANDLER) acts as a middleware between B24 and the MTS SMS API:
- Accepts POST from B24:
message_to,message_body,message_id. - Normalizes the phone number to
+375XXXXXXXXXformat. - Forms a request to the MTS API: endpoint, API key, recipient number, text, Sender ID.
- Receives response:
message_idfrom MTS, acceptance status into the queue. - Saves the mapping
message_id(B24) ↔message_id(MTS). - Responds to Bitrix24 with confirmation.
After registration, MTS SMS becomes available: in manual sending from the contact/deal card, in CRM robots, in business processes, and in CRM marketing.
Delivery Statuses: Callback and Polling
The MTS Communicator supports DLR (Delivery Report) — notifications about delivery status via a callback URL.
MTS statuses (based on MTS Communicator API Reference):
| Status | Description | Mapping to B24 |
|---|---|---|
| DELIVRD | Delivered to subscriber | Delivered |
| EXPIRED | Delivery time expired (usually 24h) | Not delivered |
| UNDELIV | Subscriber not reachable | Not delivered |
| REJECTD | Rejected (blacklist, filter) | Error |
| ACCEPTD | Accepted by operator, awaiting delivery | Sent |
| UNKNOWN | Status unknown | Sent |
Callback is configured in the MTS Communicator personal account — specify the URL of the handler on your server. MTS sends POST with message_id and status on each change.
Additionally, we implement polling via the MTS API status check method — a request by message_id every 60 seconds for messages that have not received a callback within 5 minutes. This serves as a safety net against callback loss due to network issues. Our solution ensures 98% delivery rate and processes up to 30 SMS per second.
Detailed handler scheme
The handler is registered as a webhook in B24. On each sending, it normalizes the number, sends a request to MTS, saves the ID mapping. Upon receiving a callback, it updates the status in the CRM. If a callback is not received, polling every 60 seconds requests the status from MTS and updates it.
Why It’s Important to Set Up Automation via CRM Robots?
Typical scenarios for the Belarusian market:
Sales funnel:
- New lead → SMS "{NAME}, your request has been accepted. A manager will contact you within 15 minutes."
- Deal at the "Invoice issued" stage → SMS with a payment link via ERIP
- Deal closed → SMS with thanks and a link to a review
Service:
- Smart process "Appointment" → reminder the day before the visit
- Missed call → automatic SMS "We noticed your call"
Robot texts use CRM fields: #CONTACT_NAME#, #DEAL_TITLE#, #DEAL_OPPORTUNITY#, custom fields #DEAL_UF_XXX#.
Transactional and Marketing SMS
| Parameter | Transactional | Marketing |
|---|---|---|
| Initiator | Customer action | Mass mailing to a list |
| Consent | Upon order/request placement | Mandatory opt-in per Belarusian legislation |
| Sender ID | Company name | Can be a different name |
| Setup in B24 | CRM robots / business processes | CRM marketing section |
| MTS requirements | Contract for SMS service | Contract + confirmation of consents |
MTS Belarus may request proof of subscriber consent for marketing mailings. In B24, consent is recorded in a contact custom field (UF_CRM_SMS_CONSENT), and the robot checks the value before sending.
Number Normalization
The handler normalizes all numbers from the B24 database to +375XXXXXXXXX:
-
80291234567→+375291234567 -
375 29 123-45-67→+375291234567 -
29 1234567→+375291234567 - Numbers not matching the Belarusian format are marked as invalid
Before mass sending, it is recommended to run the database through normalization and remove invalid entries.
Implementation Timeline
| Scope | What’s included | Timeline | Estimated Investment |
|---|---|---|---|
| Basic | Connecting MTS SMS, manual sending from card, one robot | 3–5 days | $500+ |
| Standard | 3–5 robots, status callback, number normalization, Sender ID | 1–1.5 weeks | $1,200+ |
| Extended | CRM marketing, polling, consent checks, analytics, rate limiting | 2 weeks | $2,500+ |
What’s Included in the Result
- Registration of MTS SMS as a provider via
messageservice.sender.add - Development and deployment of the handler for B24 → MTS SMS API requests
- Assistance with registering a Sender ID with MTS Belarus
- Normalization of Belarusian numbers
- Setup of a callback handler for delivery statuses (DLR)
- Implementation of polling as a backup status tracking mechanism
- Creation of CRM robots for transactional SMS by funnel stages
- Configuration of mass mailings via CRM marketing with consent checks
- Development of SMS templates with CRM field substitution
- Testing: manual sending, robots, callback, mass mailing to a test segment
- Delivery of operational documentation, access to handler logs, and one hour of post-launch support
- Training session for managers (up to 1 hour)
Contact us for a detailed discussion of your scenario. Get a consultation — we’ll calculate the exact scope and timeline for your scenario. Saving time and increasing conversion — the result of integration.







