Development of a Viber Bot with Bitrix24 Integration

Manual processing of requests from Viber overloads managers. Customers wait for a response, leads are lost. For businesses with an audience on Viber — such as food delivery or a service center — automation via a chatbot becomes a necessity. We create Viber bots that integrate with Bitrix24 and guara

Our competencies:

Frequently Asked Questions

Manual processing of requests from Viber overloads managers. Customers wait for a response, leads are lost. For businesses with an audience on Viber — such as food delivery or a service center — automation via a chatbot becomes a necessity. We create Viber bots that integrate with Bitrix24 and guarantee that 70–80% of typical queries are handled without human intervention. Unlike WhatsApp, Viber provides an open Viber Bot API without complex approvals — anyone can create a public account. But there is a catch: Viber does not transmit the phone number. There is a workaround, which we explain below. Our specialists are certified in 1C-Bitrix and have over 5 years of experience in integration development. Customer response speed is reduced by 5 times compared to manual processing.

What is the Viber Bot API?

The Viber Bot API is accessible via https://chatapi.viber.com/pa/. To register a bot, create a Bot/Public Account in the Viber app, after which you receive an auth_token. The API supports:

  • Text messages, images, documents, videos, stickers.
  • Rich Messages — messages with buttons (Keyboard API).
  • Carousel — horizontal list of cards with buttons (Rich Media).
  • Retrieving user profile: name, avatar, country (no phone number).
  • Webhook for incoming messages.

The main limitation: Viber does not transmit the user's phone number to the bot. The identifier is viber_id (a unique hash for each bot-user pair). To link to CRM, you must ask the user to enter their phone manually or use the "Share Contact" button (works unreliably).

Architecture of Viber-Bitrix24 Integration

Viber Bot API (webhook) ↓ Server bot (Python / Node.js) ↓ ↓ Logic Bitrix24 REST API + Redis crm.contact.list (states) crm.lead.add imbot.message.add 

Incoming webhook from Viber:

{ "event": "message", "sender": { "id": "01234567890A=", "name": "Ivan Ivanov", "country": "BY" }, "message": { "type": "text", "text": "Order status" } } 

Response via Viber API with buttons:

POST https://chatapi.viber.com/pa/send_message { "receiver": "01234567890A=", "type": "text", "text": "Enter order number:", "keyboard": { "Type": "keyboard", "Buttons": [ {"ActionType": "reply", "ActionBody": "operator", "Text": "Contact operator"} ] } } 

How to Identify a Customer Without a Phone?

The absence of a phone in the Viber profile requires a separate verification scenario:

  1. The bot greets the user, suggests entering a phone number.
  2. The user enters the number in format +375....
  3. The bot sends an SMS confirmation code via an SMS provider.
  4. The user enters the code → the bot links viber_id to the CRM contact in the field UF_CRM_VIBER_ID.
  5. On subsequent interactions — identification by viber_id without re-entering the phone.

An alternative for corporate scenarios: the "Share Contact" button in Viber (type share-phone). It doesn't work on all client versions, but when it does, it transmits the phone automatically.

Integration with Bitrix24 Open Lines

Viber connects to Open Lines natively: CRM → Contact Center → Viber. This is a simple route without development — messages from Viber go to the operator queue.

For more complex scenarios (bot + operator), a hybrid scheme is used:

  • A custom server bot processes automatable requests.
  • When transferring to an operator, the bot sends a message to the Open Line via imopenlines.chat.sendMessage or creates a chat via im.chat.add and adds history.

Case Study from Our Practice: Viber Bot for Food Delivery

Task: a network of cafes in Minsk, main audience on Viber. Needed order placement for delivery without a call, confirmation via chatbot.

Order scenario via Carousel:

  1. Customer writes "Order" → bot shows menu categories with buttons.
  2. Selection of dishes via Rich Media Carousel (cards with photo, price, "+" button).
  3. Cart stored in Redis by viber_id.
  4. Enter delivery address → delivery zone check.
  5. Payment: "Pay Online" button → link to payment page.
  6. After payment: create a deal in Bitrix24 crm.deal.add with status "Accepted", responsible person is the outlet manager.
  7. Confirmation and order tracking via notifications in Viber (send_message when deal stage changes).

Peculiarity: Rich Media Carousel in Viber is limited to 6 cards at a time. For a large menu — pagination with "More" buttons.

Result: 40% of orders shifted from phone calls to the Viber bot in the first two months. Average order value through the bot turned out to be 12% higher — customers choose and add items more calmly. Compared to a mobile app, development cost is 3–5 times lower, and the bot answers 5 times faster than a human operator. Contact us — we will select the optimal solution for your business.

Estimated Effort for Typical Components

Component Effort
Basic bot + Viber webhook 8-16 h
Phone verification + CRM linking 8-16 h
Rich Media Carousel for catalog 16-24 h
Bitrix24 CRM integration 8-16 h
Cart in Redis + order logic 8-16 h
Deployment, SSL, monitoring 4-8 h

What's Included in the Work

Stage Work Scope
Analysis Study of business processes, requirements gathering, scenario prototyping
Bot development Viber Bot API setup, server logic in Python/Node.js, Rich Media, cart
Bitrix24 integration REST API: deals, contacts, leads, Open Lines, webhooks
Customer verification SMS confirmation, linking viber_id to CRM
Deployment and monitoring Server hosting, SSL, health checks, alerts
Documentation and training Manuals for operators and administrators, bot workflow diagram, access handover
Warranty support 1 month warranty, bug fixes, consultations

Comparison with alternatives: a Viber bot requires 3-5 times less budget than developing a mobile app, and pays off in 2-3 months with 50+ orders per day. Get a consultation — we will assess your project for free.

Process and Timeline

  1. Analytics — 1-2 days: description of scenarios, prototype approval.
  2. Design — 2-3 days: architecture, stack selection, database design.
  3. Development — from 5 to 15 days depending on complexity.
  4. Integration testing — 2-3 days: verification of all chains, load testing.
  5. Deployment and launch — 1-2 days: server setup, domain, SSL, monitoring.
  6. Team training — 1 day: operator briefing, documentation handover.

Estimated timeline — from 2 to 4 weeks. We provide an accurate estimate after requirements analysis. Contact us — we will discuss your project and prepare a commercial proposal.

Technical Implementation Details To ensure security, webhooks must be protected with an SSL certificate. It is recommended to verify Viber signature using `X-Viber-Content-Signature`. The Redis database is used to store dialog states and cart, avoiding data loss on server restart.