Telegram давно перестал быть просто мессенджером. Сегодня это полноценная платформа для общения с клиентами, получения уведомлений и автоматизации бизнес-процессов. Владельцы интернет-магазинов на 1С-Битрикс могут использовать Telegram для оперативного получения информации о новых заказах, уведомлений о платежах, обращениях клиентов и других событиях сайта.
В этой статье рассмотрим варианты интеграции интернет-магазина на Битрикс с Telegram и приведем рабочие примеры кода.
Зачем интегрировать Битрикс с Telegram
Интеграция позволяет:
- получать уведомления о новых заказах;
- информировать менеджеров об оплатах;
- отправлять клиентам статусы заказов;
- создавать Telegram-ботов для покупателей;
- получать уведомления об ошибках сайта;
- автоматизировать работу отдела продаж.
В результате сотрудники быстрее реагируют на обращения клиентов, а контроль над заказами становится более удобным.
Создание Telegram-бота
Для начала необходимо создать собственного бота.
- Откройте Telegram.
- Найдите бота BotFather.
- Выполните команду:
/newbot
- Укажите название и уникальное имя бота.
- Получите API-токен вида:
123456789:AAxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Сохраните его — он потребуется для отправки сообщений.
Получение Chat ID
Для отправки сообщений необходимо узнать идентификатор чата.
Отправьте любое сообщение вашему боту и выполните запрос:
https://api.telegram.org/botTOKEN/getUpdates
В ответе будет найден параметр:
"chat":{
"id":123456789
}
Именно этот идентификатор используется для отправки уведомлений.
Отправка сообщений из Битрикс
Создадим универсальную функцию отправки сообщений.
function sendTelegramMessage($message)
{
$token = 'YOUR_BOT_TOKEN';
$chatId = '123456789';
$url = 'https://api.telegram.org/bot'.$token.'/sendMessage';
$params = [
'chat_id' => $chatId,
'text' => $message,
'parse_mode' => 'HTML'
];
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => $url,
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS => $params
]);
$result = curl_exec($curl);
curl_close($curl);
return $result;
}
Теперь можно вызывать функцию из любого места проекта.
Уведомление о новом заказе
Самый популярный сценарий — отправка сообщения менеджеру после оформления заказа.
Добавьте обработчик события в файл:
/bitrix/php_interface/init.php
Код:
use Bitrix\Main\EventManager;
EventManager::getInstance()->addEventHandler(
"sale",
"OnSaleOrderSaved",
"sendOrderToTelegram"
);
function sendOrderToTelegram(\Bitrix\Main\Event $event)
{
$order = $event->getParameter("ENTITY");
if (!$event->getParameter("IS_NEW"))
{
return;
}
$message =
"🛒 Новый заказ\n".
"Номер: ".$order->getId()."\n".
"Сумма: ".$order->getPrice()." ₽";
sendTelegramMessage($message);
}
После оформления заказа менеджер мгновенно получит уведомление в Telegram.
Передача данных покупателя
Можно отправлять более подробную информацию.
$propertyCollection = $order->getPropertyCollection();
$name = '';
$phone = '';
foreach ($propertyCollection as $property)
{
$code = $property->getField('CODE');
if ($code == 'FIO')
{
$name = $property->getValue();
}
if ($code == 'PHONE')
{
$phone = $property->getValue();
}
}
$message =
"🛒 Новый заказ №".$order->getId()."\n".
"👤 ".$name."\n".
"📞 ".$phone."\n".
"💰 ".$order->getPrice()." ₽";
sendTelegramMessage($message);
Так менеджер сразу увидит контактные данные клиента.
Отправка уведомления об оплате
Для контроля платежей удобно использовать событие изменения статуса оплаты.
EventManager::getInstance()->addEventHandler(
"sale",
"OnSalePayOrder",
function($orderId, $paid)
{
if ($paid === 'Y')
{
sendTelegramMessage(
"✅ Заказ №".$orderId." успешно оплачен."
);
}
}
);
Отправка ошибок сайта в Telegram
Telegram можно использовать как систему мониторинга.
Например:
try
{
// код
}
catch (\Exception $e)
{
sendTelegramMessage(
"❌ Ошибка сайта:\n".$e->getMessage()
);
}
В результате администратор сразу узнает о возникшей проблеме.
Создание Telegram-бота для клиентов
Более сложный вариант интеграции — разработка полноценного Telegram-бота.
Он может:
- показывать каталог товаров;
- искать товары по названию;
- отображать статусы заказов;
- принимать обращения клиентов;
- передавать заявки в CRM.
Для приема сообщений от пользователей используется механизм Webhook.
Пример регистрации Webhook:
$url = 'https://api.telegram.org/botTOKEN/setWebhook';
file_get_contents(
$url.'?url=https://site.ru/telegram/webhook.php'
);
После этого Telegram будет отправлять события напрямую на ваш сайт.
Безопасность интеграции
При настройке Telegram-интеграции рекомендуется:
- хранить токен вне публичных файлов;
- ограничивать доступ к webhook;
- использовать HTTPS;
- логировать ошибки отправки сообщений;
- проверять корректность входящих запросов.
Заключение
Интеграция интернет-магазина на Битрикс с Telegram позволяет значительно ускорить обработку заказов и улучшить взаимодействие сотрудников с системой. Самым востребованным вариантом является отправка уведомлений о новых заказах и оплатах, однако возможности Telegram гораздо шире. Используя Telegram Bot API и события Битрикс, можно реализовать полноценную систему уведомлений, поддержки клиентов и автоматизации продаж без использования сторонних сервисов.