Telegram удобен тем, что у него есть официальный и бесплатный Bot API — в отличие от WhatsApp, здесь не нужен платный BSP, чтобы принимать и отправлять сообщения. Разбираем, как правильно связать Telegram с CRM и сайтом на 1С-Битрикс.
Bot API против userbot: что выбрать
В Telegram два принципиально разных способа автоматизации, и путать их нельзя.
| Подход | Основа | Плюсы | Минусы |
|---|---|---|---|
| Bot API | Официальный бот, токен от @BotFather | Бесплатно, стабильно, легально | Клиент должен сам написать боту первым |
| Userbot (MTProto) | Обычный аккаунт через библиотеку (Telethon и т.п.) | Пишет от лица человека, видит все чаты | Риск бана аккаунта, серая зона |
Для интеграции с CRM в 99% случаев используется Bot API. Userbot нужен редко — например, чтобы подтягивать переписку из личного аккаунта менеджера, но это несёт риск блокировки номера.
Создание бота и получение токена
Точка входа — системный бот @BotFather. Порядок действий:
- Команда
/newbot, задаёте имя и username (должен заканчиваться наbot). - Получаете токен вида
123456789:AAE...xyz— это ключ доступа к API, храните его как пароль. - Через
/setdescription,/setuserpicи/setcommandsоформляете бота. - При необходимости включаете кнопку меню и ссылку
t.me/yourbot?start=utm_landingдля передачи метки источника.
?start= приходит в первом сообщении как deep-link payload — по нему удобно определять, с какой страницы или рекламы пришёл клиент.Webhook или long polling
Забирать обновления от Telegram можно двумя способами, и выбор влияет на инфраструктуру.
- Webhook — Telegram сам шлёт POST на ваш HTTPS-URL. Метод
setWebhook, обязателен валидный сертификат. Лучший вариант для продакшена: события приходят мгновенно, не нужен постоянный процесс. - Long polling — вы сами опрашиваете метод
getUpdates. Проще для отладки, но нужен фоновый скрипт или крон; на shared-хостинге неудобно.
На 1С-Битрикс webhook обычно вешают на отдельный входной файл, например /local/api/telegram/hook.php, с подключением ядра через require($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_before.php') или в облегчённом режиме без пролога — для скорости.
setWebhook задавайте secret_token и проверяйте заголовок X-Telegram-Bot-Api-Secret-Token на каждом запросе, иначе на ваш вебхук сможет писать кто угодно.Привязка чатов к CRM
У Telegram нет телефона клиента в сообщении по умолчанию — есть chat_id и username. Это меняет логику сопоставления с CRM.
- При первом обращении создаёте лид и сохраняете
chat_idв пользовательское поле контакта (напримерUF_TG_CHAT_ID). - Чтобы получить телефон, просите клиента поделиться контактом кнопкой
request_contact— тогда придёт полеcontact.phone_numberи можно связать с существующим клиентом. - Дальше все сообщения этого
chat_idпишете в таймлайн его сделки.
Именно chat_id, а не username — надёжный идентификатор: username клиент может сменить в любой момент.
Уведомления менеджерам и клиентам
Telegram-бот отлично работает в две стороны, и это две разные задачи.
- Клиентам — статусы заказа, счёт, код подтверждения. Отправка методом
sendMessageпо сохранённомуchat_id. В отличие от WhatsApp, здесь нет окна 24 часов, но писать можно только тем, кто сам начал диалог с ботом. - Менеджерам — оповещения о новом заказе или лиде в рабочий чат/группу. Удобно для дежурной смены: сообщение с кнопкой «Взять в работу», которая через callback дергает CRM.
Уведомления о заказах логично цеплять на события 1С-Битрикс: обработчик OnSaleOrderSaved или OnAfterCrmDealAdd формирует и шлёт сообщение.
Сценарии, кнопки и чат-боты
Telegram даёт богатый UI прямо в чате, что позволяет разгрузить менеджеров.
- Inline-кнопки (
inline_keyboard) — быстрые ответы, выбор варианта, оплата. - Reply-клавиатура — меню действий (каталог, статус заказа, связаться с менеджером).
- Callback query — нажатия кнопок приходят отдельным событием, по нему меняете сделку или отвечаете.
- Telegram Payments — приём оплаты внутри чата через подключённого провайдера.
Итог
Telegram — самый дружелюбный к интеграции мессенджер: бесплатный Bot API, мгновенные вебхуки, кнопки и платежи. Главные акценты при связке с 1С-Битрикс — вебхук с secret_token, хранение chat_id как ключа клиента, получение телефона через request_contact и привязка сообщений к сделкам. Двусторонние уведомления и чат-бот снимают рутину с менеджеров.
Мы в B2Bsite разрабатываем Telegram-ботов и коннекторы для сайтов и порталов на 1С-Битрикс: от простых уведомлений о заказах до полноценных сценариев с оплатой и маршрутизацией диалогов в единое окно вместе с другими каналами.
Частые вопросы
Нужен ли платный сервис, чтобы подключить Telegram к CRM?
Нет. Bot API от Telegram бесплатный. Платить придётся только за сторонний коннектор или разработку интеграции, если не делаете её сами.
Почему бот не может написать клиенту первым?
Такое ограничение Telegram против спама: бот отправляет сообщения только тем, кто сам начал с ним диалог хотя бы раз. Поэтому важно собирать базу chat_id при первом контакте.
Как получить номер телефона клиента в Telegram?
Отправьте кнопку request_contact. Если клиент нажмёт, придёт его phone_number, и вы сможете связать чат с существующим контактом в CRM по телефону.
Webhook или long polling лучше для 1С-Битрикс?
Для боевого сайта webhook: события приходят сразу и не нужен постоянно работающий процесс. Long polling удобен только для локальной отладки.
Можно ли принимать оплату прямо в Telegram?
Да, через Telegram Payments и подключённого платёжного провайдера. Заказ и статус оплаты при этом можно синхронизировать со сделкой в 1С-Битрикс.
Как отправлять уведомления менеджерам о новых заказах?
Создайте групповой чат, добавьте туда бота и шлите сообщения по событию сохранения заказа. Кнопки callback позволяют брать заявку в работу прямо из чата.
Что хранить как идентификатор клиента — username или chat_id?
chat_id. Username пользователь может сменить или удалить, а chat_id стабилен на всё время существования диалога с ботом.
Поможем с настройкой и поддержкой Интеграции и связки систем
Поможем с настройкой, доработкой и поддержкой Интеграции и связки систем.