Developing a Messenger Integration Module for 1C-Bitrix
Customers increasingly prefer order notifications in Telegram or WhatsApp instead of email. Conversion rates higher: message arrives instantly, opens 5-10x more than email. Messenger integration module connects these channels to Bitrix events.
Supported Messengers
- Telegram — via Bot API (simple, free, reliable)
- WhatsApp — via Meta Cloud API or third-party providers
- VK Notify — via VK Mini Apps API
- Viber — via Viber REST API
Module Architecture
Modular structure with provider adapters:
local/modules/vendor.messengers/
├── lib/Provider/
│ ├── TelegramProvider.php
│ ├── WhatsAppProvider.php
│ └── AbstractProvider.php
├── EventHandler.php
└── install/db/install.sql
Telegram Bot Setup
Create bot via @BotFather → get API token → configure webhook or polling. On order events, send messages:
class TelegramProvider
{
public function sendMessage(string $chatId, string $text): bool
{
$url = "https://api.telegram.org/bot{$this->token}/sendMessage";
// POST request with chat_id and text
}
}
Event Handlers
Connect to order events:
-
OnSaleOrderPaid— "Order paid" -
OnSaleShipmentShipOrder— "Your order shipped" -
OnSaleOrderCanceled— "Order canceled"
Message templates configured in module settings with variable substitution: {ORDER_ID}, {TOTAL}, {DELIVERY_DATE}, etc.
User Preferences
Users set preferred messenger in personal account → phone number or Telegram username → opt-in for notifications.
Development Timeline
| Stage | Duration |
|---|---|
| Basic (1 messenger + notifications) | 5–7 days |
| Standard (3+ messengers, templates, preferences) | 10–14 days |
| Extended (rich messages, media, buttons) | 16–20 days |







