Many companies face the problem: SMS notifications from Bitrix24 do not reach all clients — numbers are outdated, messages are lost, and the cost of mailing increases. We solve this by integrating SMSC, one of the oldest SMS aggregators, which offers HLR checks and cascade sending via Viber. We'll break down how to configure the connection via REST API, set up callbacks, and achieve 99% message delivery. Our experience shows that proper integration reduces mailing costs by 30-40% by excluding invalid numbers and using the cheaper Viber channel. For a medium business, savings can amount to tens of thousands of rubles monthly.
How to Register the SMSC Provider in Bitrix24?
To connect SMSC, the messageservice module is used. The provider is registered via the REST method messageservice.sender.add with parameters: CODE="smsc", TYPE="SMS", HANDLER=URL of your handler. The handler accepts a request from Bitrix24, forms a GET request to the SMSC API:
https://smsc.ru/sys/send.php?login=LOGIN&psw=PASSWORD&phones=NUMBER&mes=TEXT&fmt=3&op=1 The parameter fmt=3 — JSON response, op=1 — request delivery status. The handler saves the mapping between Bitrix24 message_id and SMSC id, then returns confirmation. This ensures full tracking of the send. Official SMSC API documentation contains a complete list of parameters.
Why Perform HLR Checks Before Mailing?
HLR (Home Location Register) — a request to the operator that checks the number's activity, identifies the operator and region. SMSC provides HLR via a separate API method:
https://smsc.ru/sys/hlr.php?login=LOGIN&psw=PASSWORD&phones=NUMBER&fmt=3 The response includes status (0=active, 1=unavailable, 2=does not exist), operator and region. In the context of Bitrix24, HLR checking allows:
- Excluding unavailable numbers from bulk mailings, saving budget.
- Automatically determining the operator and region when creating a lead via a business process with an HTTP request. The result is saved in custom fields
UF_CRM_OPERATORandUF_CRM_REGION.
Cascade Sending: SMS + Viber
SMSC supports cascade delivery in a single API call. The logic: the message is sent via Viber; if the recipient hasn't read it within a set time (usually 1-2 hours), an SMS is automatically sent. API parameters:
https://smsc.ru/sys/send.php?login=LOGIN&psw=PASSWORD&phones=NUMBER&mes=TEXT&fmt=3&viber=1&viber_timeout=3600 viber=1 — attempt delivery via Viber, viber_timeout — timeout in seconds before fallback to SMS. Viber messages are usually 1.5-2 times cheaper than SMS, allowing you to reach the maximum number of recipients at minimal cost. In Bitrix24, cascade is configured at the handler level: the CRM robot calls the standard "Send SMS" action, and the handler decides whether to send via Viber with fallback or pure SMS — depending on the message type or segment.
Bulk Sending for Mass Mailings
SMSC accepts up to 100 numbers in a single request (comma-separated). For mass mailings via CRM marketing, this is critical: instead of 10,000 individual requests, the handler groups numbers into batches of 100 and sends 100 requests. The benefit: mailing speed increases by an order of magnitude, and server/API load is minimal. Implementation: the handler accepts requests from Bitrix24 (each is one number), stores them in a queue (Redis, database, file), a cron task every 5-10 seconds picks up to 100 numbers and sends them as a batch. Statuses are mapped back by each message's id.
Callback for Delivery Statuses
SMSC sends status notifications to a specified URL. Configuration is done in the SMSC control panel (section "Settings → Status Handler"). Statuses:
| Code | Description |
|---|---|
| 1 | Delivered |
| 2 | Not delivered (error) |
| 3 | Not delivered (expired) |
| 20 | Delivered via Viber |
| 22 | Not delivered via Viber, SMS sent (cascade) |
The handler receives id and status, finds the associated Bitrix24 message_id, and updates the status in CRM. Status "22" is especially useful: it shows that the cascade worked and the client received an SMS instead of Viber. This information can be written to a custom contact field — on the next mailing, send SMS directly, bypassing the Viber timeout.
Step-by-Step Handler Setup
- Create a PHP script on your server that accepts a POST request from Bitrix24 with fields
message_id,phone,text. - Register the provider via
messageservice.sender.add, specifying the script URL asHANDLER. - Configure the callback URL in the SMSC control panel for receiving statuses.
- Test sending a test message from CRM.
- Configure CRM robots for automatic sending of notifications by stages.
Typical Problems
- The handler does not respond: check that the server is accessible via HTTPS and returns HTTP 200. - Statuses are not coming: make sure the callback URL is specified without errors and the server accepts POST. - Messages are not delivered: check the SMSC balance and the correctness of the number.Implementation Timelines
| Scope | What's Included | Timeline |
|---|---|---|
| Basic | Connect SMSC, manual sending from card, one robot | 3–5 days |
| Standard | Robots by stages, status callback, SMS/Viber cascade | 1 week |
| Extended | HLR database check, bulk sending, CRM marketing, channel analytics | 1.5–2 weeks |
What's Included in the Work
- Registering SMSC as a provider via
messageservice.sender.add - Developing a handler for Bitrix24 requests → SMSC API with cascade and bulk sending support
- Setting up HLR checks on the contact database
- Creating a callback handler for delivery statuses
- Configuring CRM robots for transactional notifications
- Integration with CRM marketing for mass mailings
- Testing all scenarios (SMS, Viber, cascade, HLR)
- Documentation and training
We guarantee stable integration performance. Our team has 10+ years of experience with Bitrix24 and SMS services. We will assess your project and propose the optimal solution. Contact us for a consultation and get stable SMS communication with clients. Leave a request on the website, and we will find a solution for your budget.

