Статья · Статьи про 1С-Битрикс и Битрикс24 · 6 мин чтения

info@wrp.ru
+7 (495) 230-20-53
Рассчитать стоимость
Создание сайтовСайт под ключКорпоративный сайтСайт-каталогB2B-порталЛичный кабинетСвой маркетплейсВысоконагруженные проектыHeadless на БитриксеPWA-приложениеРазработка модулейВсе услуги раздела
Интернет-магазиныСайт для селлеров −25%Магазин под ключМагазин на Битрикс с 1СМагазин на готовом шаблонеМагазин + CRMМагазин + маркетплейсыМагазин в TelegramМагазин + продвижениеОптовый B2B-магазинВсе услуги раздела
Перенос сайтаС бесплатной CMSС конструктора сайтовС платной CMSС самописного движкаС фреймворкаНа новые решения АспроПолная инструкция по миграции на Битрикс с сохранением SEOПеренос на другой хостингВсе услуги раздела
Аудит и ростАудит сайтаАудит интернет-магазинаSEO-аудитАудит безопасностиПовышение конверсииGEO-оптимизацияSEO-продвижениеКонтекстная рекламаВсе услуги раздела
Поддержка и развитиеПоддержка по договоруТарифы поддержкиСрочная техподдержкаПодхватим ваш БитриксМодернизацияУскорение сайтаПеревод на PHP 8Лечение от вирусовХостинг для БитриксВсе услуги раздела
Интеграции и настройкаОнлайн-оплатаОплата частямиОнлайн-кассыСлужбы доставкиМаркетплейсыМаркировка «Честный знак»Импорт от поставщиковМультирегиональностьСкидки и лояльностьТриггерные рассылкиИнтеграция по APIВсе услуги раздела
ИИ и новые каналыИИ на сайтеИИ для каталогаИИ в Битрикс24Магазин в TelegramЧат-ботыИнтеграция с АвитоВсе услуги раздела
Внедрение CRMБитрикс24RetailCRMМойСкладamoCRMВсе услуги раздела
Услуги по 1СИнтеграция с 1С1С и Битрикс241С и Ozon1С и WildberriesЭДОВнедрение 1СДоработка 1СОбслуживание 1СПереход на УТ 11Все услуги раздела
Готовые решенияШаблоны интернет-магазиновШаблоны B2B-порталовШаблоны сайтов для услугРешения АспроМодули WRPВсе решения
Лицензии 1С-БитриксКупить лицензиюПродлить лицензиюСменить редакциюЛицензии со скидкойВсе лицензии
Битрикс24Битрикс24 в облакеКоробочный Битрикс24Интернет-магазин + CRMМаркет ПлюсПродлить коробкуВсе тарифы
1СПрограммы и сервисы 1САренда 1С в облакеАренда сервера 1СПоддержка 1С:ИТС
О компанииО WRPКомандаСертификатыНаградыТехнологииОтзывыКонтакты
Работа с намиКак мы работаемГарантииПорядок оплатыОплата частямиРассрочкаРеквизиты
ИнструментыПроверка сайтаБрифыКалькуляторШаблон ТЗЧек-лист запускаВсе материалы
ЗнанияВопрос-ответСтатьиСравненияГлоссарийНовостиАкции
СотрудничествоФорматы работыПартнёрамВакансии
Все услуги и цены Кейсы Контакты

Уведомления о заявках в Telegram для сайта на 1С-Битрикс

Как настроить уведомления о заявках и заказах с сайта на 1С-Битрикс в Telegram, даже если хостинг не может достучаться до Telegram: бот, Cloudflare Worker и обработчик почтовых событий.

Коротко

Чтобы заявки и заказы с сайта на 1С-Битрикс приходили в Telegram, создают бота в @BotFather, а сайт отправляет текст заявки боту. С российских хостингов api.telegram.org бывает недоступен, поэтому надёжнее отправлять через посредника — Worker в Cloudflare: сайт передаёт ему заявку с секретным ключом, Worker пересылает её в Telegram, а токен бота хранится только в Cloudflare. На сайте достаточно одного обработчика почтовых событий в init.php — он покрывает все формы и заказы. Контакты клиента лучше не отправлять, а смотреть в админке: Telegram и Cloudflare — зарубежные сервисы.

Разберём, как получать заявки и заказы с сайта на 1С-Битрикс в Telegram: какие есть способы, почему с российского хостинга сообщения часто не доходят и как это решает посредник на Cloudflare Workers, какой код добавить на сайт и как не нарушить закон о персональных данных. Такую схему мы сделали для своего сайта — в статье её рабочий вариант.

Зачем уведомления о заявках в Telegram

  • Скорость ответа. Сообщение в Telegram видно сразу на телефоне, а письмо может ждать в почте или попасть в спам. Чем быстрее менеджер перезвонит, тем выше шанс получить клиента.
  • Общий чат отдела продаж. Заявка приходит в группу, где видно, кто её взял.
  • Дублирование. Если почта не дошла, заявка всё равно не потеряется: она хранится на сайте и приходит в Telegram.

Почему письма с сайта уходят в спам и как это исправить, мы разбирали в статье «Почему письма с сайта попадают в спам: SPF, DKIM и DMARC».

Способы отправки в Telegram

СпособПлюсыМинусы
Сайт сам отправляет в Telegram Bot APIпросто, без посредниковс российских хостингов адрес api.telegram.org бывает недоступен — сообщения теряются
Через посредника на Cloudflare Workersработает при недоступности Telegram с хостинга, токен бота не хранится на сайтенужно один раз настроить Worker
Готовый модуль из Маркетплейса 1С-Битрикснастройка без программистата же проблема доступности, если модуль обращается к Telegram напрямую
Через CRM Битрикс24заявки сразу в CRM, уведомления в мобильном приложении Битрикс24нужна CRM; это уведомления Битрикс24, а не Telegram

Ниже — схема с посредником: она надёжнее всего работает с любым хостингом.

Как устроена схема

  1. Посетитель отправляет форму или оформляет заказ на сайте.
  2. Сайт отправляет короткий текст заявки на адрес Worker в Cloudflare с секретным ключом.
  3. Worker проверяет ключ и пересылает сообщение боту в Telegram.
  4. Бот публикует сообщение в личном чате или группе отдела продаж.

Бесплатного тарифа Cloudflare Workers хватает с запасом: он включает до 100 000 запросов в сутки, а заявок у сайта — единицы и десятки.

Шаг 1. Создайте бота

  1. В Telegram откройте @BotFather и отправьте команду /newbot, задайте имя и адрес бота.
  2. Сохраните токен вида 123456789:AA... — это пароль бота, никому его не передавайте.
  3. Напишите своему боту /start. Если уведомления нужны в группе — добавьте бота в группу и напишите в ней /start@имя_бота.

Шаг 2. Создайте Worker в Cloudflare

  1. В панели Cloudflare откройте Workers & Pages → Create → Create Worker, задайте имя и нажмите Deploy.
  2. Откройте Edit code и вставьте код Worker (пример ниже), снова Deploy.
  3. В Settings → Variables and Secrets добавьте значения типа Secret: BOT_TOKEN — токен бота, SECRET — длинный случайный ключ из латинских букв и цифр, CHAT_ID — id чата. Нажмите Deploy, иначе переменные не применятся.

Минимальный код Worker:

export default {
  async fetch(request, env) {
    if (request.method !== 'POST' || request.headers.get('x-key') !== env.SECRET) {
      return new Response('Forbidden', { status: 403 });
    }
    const { text } = await request.json();
    const r = await fetch(`https://api.telegram.org/bot${env.BOT_TOKEN}/sendMessage`, {
      method: 'POST',
      headers: { 'content-type': 'application/json' },
      body: JSON.stringify({ chat_id: env.CHAT_ID, text: String(text).slice(0, 4000), parse_mode: 'HTML' }),
    });
    return new Response(r.ok ? 'ok' : 'error', { status: r.ok ? 200 : 502 });
  },
};

В рабочей версии стоит добавить сравнение ключа без утечки по времени, отправку в несколько чатов и служебный адрес, который показывает id чатов, написавших боту.

Шаг 3. Узнайте id чата

Id чата можно получить методом Bot API getUpdates: он возвращает последние сообщения боту, в каждом есть chat.id. У личного чата id положительный, у группы — отрицательный, например -1001234567890, копируйте его вместе с минусом. Учтите две особенности:

  • Telegram хранит такие сообщения только 24 часа — если список пуст, напишите боту /start ещё раз.
  • В группе бот по умолчанию видит только команды, поэтому пишите /start@имя_бота, а не обычный текст.

Шаг 4. Отправка заявок с сайта на 1С-Битрикс

Удобнее всего перехватить почтовые события: каждая форма и каждый заказ в 1С-Битрикс создают почтовое событие, и одно место в коде покрывает их все. Код добавляют в /local/php_interface/init.php:

use Bitrix\Main\EventManager;

function tg_notify($text)
{
    $ch = curl_init('https://имя-worker.поддомен.workers.dev/');
    curl_setopt_array($ch, [
        CURLOPT_POST => true,
        CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'X-Key: ' . TG_SECRET],
        CURLOPT_POSTFIELDS => json_encode(['text' => $text]),
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_TIMEOUT => 5,
    ]);
    $ok = curl_exec($ch) !== false && curl_getinfo($ch, CURLINFO_HTTP_CODE) === 200;
    curl_close($ch);
    return $ok;
}

EventManager::getInstance()->addEventHandlerCompatible('main', 'OnBeforeEventAdd',
    function ($event, $lid, $fields) {
        $titles = ['FEEDBACK_FORM' => 'Заявка с сайта', 'SALE_NEW_ORDER' => 'Новый заказ'];
        if (!isset($titles[$event])) {
            return;
        }
        $text = '<b>' . $titles[$event] . '</b>';
        foreach (['ORDER_ID' => 'Заказ №', 'AUTHOR' => 'Имя', 'PRICE' => 'Сумма'] as $key => $name) {
            if (!empty($fields[$key])) {
                $text .= "\n" . $name . ': ' . htmlspecialchars($fields[$key], ENT_COMPAT);
            }
        }
        tg_notify($text);
    }
);
  • Ключ TG_SECRET храните вне репозитория, например в /bitrix/.settings_extra.php или переменной окружения.
  • Список событий дополните своими: веб-формы, заказ обратного звонка, «купить в один клик». Коды событий видны в «Настройки → Настройки продукта → Почтовые и СМС события».
  • Текст экранируйте: Telegram в режиме HTML не принимает часть HTML-сущностей и отклоняет сообщение с некорректной разметкой.
  • Таймаут в несколько секунд обязателен: если Telegram не отвечает, форма не должна «висеть» у посетителя.

Если доработку делать некому, её можно заказать как доработку сайта на 1С-Битрикс.

Персональные данные

Telegram и Cloudflare — зарубежные сервисы, а имя, телефон и e-mail из заявки — персональные данные. Передача их за рубеж регулируется законом 152-ФЗ. Самый простой способ снизить риски — отправлять в Telegram минимум: тип заявки, номер заказа, сумму и ссылку на заявку в админке, а контакты смотреть уже на сайте или в CRM. Если в уведомлении нужны контакты, согласуйте схему с юристом и отразите её в политике обработки персональных данных. Подробнее — на странице «Доработка сайта по 152-ФЗ».

Проверка и частые ошибки

ОшибкаПричинаЧто сделать
403 от Workerключ на сайте не совпадает с SECRETпроверить ключ в обоих местах, без пробелов
Unauthorized от Telegramневерный токен ботаскопировать токен из @BotFather заново
chat not foundневерный CHAT_ID или бот не добавлен в группуполучить id заново, у группы — с минусом
can't parse entitiesнекорректная HTML-разметка в текстеэкранировать данные из формы
Переменные не действуютпосле добавления не нажат Deployнажать Deploy в настройках Worker
Нет уведомлений, ошибок тоже нетсобытие формы не в списке обработчикадобавить код почтового события формы

Чек-лист

  1. Создан бот, токен сохранён только в Cloudflare.
  2. Боту написали /start в личном чате или группе.
  3. Worker создан, переменные BOT_TOKEN, SECRET, CHAT_ID заданы, нажат Deploy.
  4. На сайте добавлен обработчик почтовых событий с таймаутом и экранированием.
  5. Ключ хранится вне репозитория.
  6. В уведомление уходят только нужные данные.
  7. Тестовая заявка и тестовый заказ пришли в Telegram.
  8. Почта о заявках продолжает работать как резервный канал.

Сколько стоит настройка

Настройка бота, Worker и отправки заявок с сайта на 1С-Битрикс обычно занимает несколько часов работы программиста. Её можно заказать разово или в рамках абонентской поддержки:

Абонентская поддержка сайта на 1С-Битрикс

  • Поддержка «Старт»20 000 ₽ в месяц5 часов в месяцПодключить
  • Поддержка «Стандарт»40 000 ₽ в месяц10 часов в месяцПодключить
  • Поддержка «Бизнес»80 000 ₽ в месяц20 часов в месяцПодключить

Час работ — 4 000 ₽, при оплате за 12 месяцев — 3 500 ₽. В часы входят обновления PHP, ядра и модулей, исправления и доработки. Подробнее о тарифах

Если нужен не только приём уведомлений, а полноценный бот для клиентов — смотрите «Чат-боты для магазина и CRM».

Как настроить уведомления о заявках в Telegram для сайта на 1С-Битрикс

  1. Создайте ботаВ @BotFather командой /newbot; сохраните токен и напишите боту /start.
  2. Создайте Worker в CloudflareВставьте код пересылки сообщений и нажмите Deploy.
  3. Задайте переменныеBOT_TOKEN, SECRET и CHAT_ID типа Secret, затем снова Deploy.
  4. Узнайте id чатаЧерез getUpdates: у группы id отрицательный, сообщения хранятся 24 часа.
  5. Добавьте обработчик на сайтОбработчик OnBeforeEventAdd в init.php отправляет нужные события в Worker с таймаутом.
  6. ПроверьтеТестовая заявка и заказ приходят в Telegram, почта остаётся резервным каналом.

Источники

Подготовлено командой WRP — Золотого партнёра 1С-Битрикс с 2006 года.

Вопросы и ответы

Коротко о главном

Не нашли ответ? Позвоните +7 (495) 230-20-53 или напишите на info@wrp.ru.

Можно ли получать заявки с сайта на 1С-Битрикс в Telegram?

Да. Создаётся бот в Telegram, а сайт при каждой заявке или заказе отправляет ему сообщение — напрямую или через посредника на Cloudflare Workers.

Зачем посредник, если можно отправлять напрямую?

С российских хостингов адрес api.telegram.org бывает недоступен, и сообщения теряются. Worker в Cloudflare принимает заявку от сайта и сам пересылает её в Telegram; заодно токен бота не хранится на сайте.

Платный ли Cloudflare Workers?

Для уведомлений хватает бесплатного тарифа: он включает до 100 000 запросов в сутки.

Как узнать id чата или группы?

Напишите боту /start (в группе — /start@имя_бота) и вызовите метод getUpdates: в ответе будет chat.id. У группы id отрицательный — копируйте его с минусом.

Почему список чатов пустой?

Telegram хранит такие сообщения только 24 часа, а в группе бот по умолчанию видит только команды. Напишите боту /start ещё раз и обновите список.

Как отправлять в Telegram все формы сайта сразу?

Перехватить почтовые события 1С-Битрикс обработчиком OnBeforeEventAdd в /local/php_interface/init.php: каждая форма и каждый заказ создают почтовое событие, и одно место в коде покрывает их все.

Можно ли отправлять уведомления сразу нескольким людям?

Да: добавьте бота в группу отдела продаж или перечислите несколько id чатов, если Worker поддерживает рассылку в несколько чатов.

Можно ли отправлять в Telegram телефон и имя клиента?

Это персональные данные, а Telegram и Cloudflare — зарубежные сервисы, поэтому передача регулируется 152-ФЗ. Безопаснее отправлять тип заявки, номер и ссылку на админку, а контакты смотреть на сайте или в CRM.

Что делать, если Telegram отвечает «can't parse entities»?

В тексте некорректная HTML-разметка. Экранируйте данные из формы перед отправкой.

Заменяет ли Telegram письма о заявках?

Лучше использовать оба канала: Telegram — для быстрой реакции, почту — как резервный канал и архив.

Есть ли готовые модули для 1С-Битрикс?

Да, в Маркетплейсе 1С-Битрикс есть модули уведомлений в Telegram. Проверьте, могут ли они работать через посредника, если хостинг не открывает api.telegram.org.

Услуги WRP

Сделаем это для вас

Золотой партнёр 1С-Битрикс с 2006 года: разработка, перенос, интеграции и поддержка сайтов.

Читайте также

Ещё статьи

Веб разработка5 мин

Брошенные корзины: как вернуть покупателей письмами и уведомлениями

Покупатель положил товары в корзину и ушёл. Разбираем, как вернуть его цепочкой писем, SMS и ретаргетингом, когда отправлять напоминания и как настроить это в 1С-Битрикс.

Подробнее

Битрикс6 мин

Переход на MySQL 8 для 1С-Битрикс: что сломается и как проверить заранее

С 1 сентября 2026 года «1С-Битрикс» ограничила поддержку MySQL ниже 8.0 и рекомендует 8.4. Разбираем, что ломается при переходе, как проверить сайт заранее и переключиться без простоя.

Подробнее

Битрикс15 мин

Как перевести сайт на 1С-Битрикс на PHP 8.3 без простоя: чек-лист

Пошаговый чек-лист перехода сайта на 1С-Битрикс на PHP 8.3 без простоя: что проверить до начала, как подготовить копию, какие изменения PHP 8.0–8.3 ломают код, как переключиться за секунды и откатиться.

Подробнее

Обсудим ваш проект

Расскажите о задаче — подскажем решение на 1С-Битрикс или Битрикс24 и оценим сроки и стоимость.

  1. Оставьте заявку или позвоните — ответим в рабочее время.
  2. Разберём задачу и предложим решение.
  3. Вы решаете, начинать ли работу. До договора — никаких обязательств.

Заявка

Обсудим ваш проект

Оставьте контакты — ответим в рабочее время по почте или в мессенджере, уточним задачу и назовём сроки и стоимость.

Или позвоните: +7 (495) 230-20-53, Пн–Пт 10:00–19:00