Главная » Интеграции » Интеграция магазина на Битрикс с Telegram

Интеграция магазина на Битрикс с Telegram

Telegram давно перестал быть просто мессенджером. Сегодня это полноценная платформа для общения с клиентами, получения уведомлений и автоматизации бизнес-процессов. Владельцы интернет-магазинов на 1С-Битрикс могут использовать Telegram для оперативного получения информации о новых заказах, уведомлений о платежах, обращениях клиентов и других событиях сайта. В этой статье рассмотрим варианты интеграции интернет-магазина на Битрикс с Telegram и приведем рабочие примеры кода.

Зачем интегрировать Битрикс с Telegram

Интеграция позволяет:
  • получать уведомления о новых заказах;
  • информировать менеджеров об оплатах;
  • отправлять клиентам статусы заказов;
  • создавать Telegram-ботов для покупателей;
  • получать уведомления об ошибках сайта;
  • автоматизировать работу отдела продаж.
В результате сотрудники быстрее реагируют на обращения клиентов, а контроль над заказами становится более удобным.

Создание Telegram-бота

Для начала необходимо создать собственного бота.
  1. Откройте Telegram.
  2. Найдите бота BotFather.
  3. Выполните команду:
/newbot
  1. Укажите название и уникальное имя бота.
  2. Получите 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 и события Битрикс, можно реализовать полноценную систему уведомлений, поддержки клиентов и автоматизации продаж без использования сторонних сервисов.
    Нужна помощь с Битрикс?

    Исправим ошибку, доработаем сайт, ускорим Битрикс или поможем разобраться с проблемой.

    Услуги
    Инструменты
    База знаний