Разработка · 7 мин чтения

Бизнес-боты для Телеграма: заявки, оплата и уведомления

Бизнес-боты для Телеграма решают три задачи: принимают заявку, забирают оплату и присылают уведомление о нужном событии, например когда клиент оплатил счёт или заказ готов к выдаче. Дальше по шагам разбираю, из чего складывается цена такого бота, что реально двигает сроки, как устроена оплата через Telegram Payments и где на практике теряются заявки и деньги. Я делаю таких ботов на aiogram и связываю их с CRM и 1С через вебхуки и n8n, поэтому цифры и примеры ниже взяты из моих проектов.

Что должен уметь бизнес-бот в Телеграме

Три задачи, которые бизнес обычно ждёт от Telegram-бота: принять заявку, провести оплату и прислать уведомление о событии. Бот не заменяет CRM и не ведёт сделку целиком, он закрывает конкретный участок воронки и передаёт данные дальше менеджеру или в систему.

Задача Что делает бот Что нужно подготовить
Приём заявок Ведёт диалог по сценарию, проверяет ввод, сохраняет данные в базу или CRM Список полей формы и логику веток диалога
Оплата Выставляет счёт через Telegram Payments, подтверждает платёж Договор с платёжным провайдером и provider token из BotFather
Уведомления Отправляет сообщение клиенту или в рабочий чат при наступлении события Источник события: вебхук CRM, 1С или статус заказа

Эти три задачи считаются по стоимости отдельно: бот с одной формой заявки и бот с оплатой и синхронизацией с CRM выглядят одинаково снаружи, но по объёму работы это разные проекты.

Из чего складывается цена бизнес-бота для Телеграма

Стоимость зависит не от количества экранов в боте, а от логики, которую он выполняет. На практике на цену влияют такие вещи:

  • Количество независимых сценариев в боте: одна воронка заявок или несколько разных под разные услуги
  • Нужна ли оплата и сколько способов оплаты подключается
  • Количество интеграций: CRM, 1С, сервисы доставки, отдельная база данных
  • Нужна ли админ-панель или отдельный режим для менеджера, который отвечает клиентам вручную
  • Объём тестирования: платёж нужно проверить реальными деньгами, а не только в тестовом режиме

У меня разработка Telegram-бота для бизнеса стоит от 30 000 ₽. В эту сумму входит бот с одной воронкой заявок: меню, сбор данных по сценарию, запись заявки в базу и уведомление в рабочий чат. Оплата, интеграция с CRM или 1С, несколько независимых сценариев и админ-панель для менеджера считаются отдельно и увеличивают стоимость. Итоговую сумму называю после того, как вижу сценарий и список нужных интеграций.

На рынке цена на такого бота сильно скачет: у фрилансеров и в студиях итоговая сумма зависит от того, что вообще считается «ботом». Иногда это меню из трёх кнопок без базы данных, иногда полноценная синхронизация с оплатой и CRM, поэтому сравнивать чужие ценники без сценария смысла нет.

Сроки разработки бизнес-бота: что реально на них влияет

Код самого бота почти никогда не самая долгая часть работы. По моей практике на срок влияют:

  • Готовность сценария: сколько шагов в заявке, какие поля обязательны, что показывать при ошибке ввода
  • Провайдер оплаты: пока не подключён provider token в BotFather и не пройден тестовый платёж, интеграцию нельзя считать законченной
  • Доступ к API CRM или 1С: без документации или технического контакта на стороне заказчика интеграция идёт заметно дольше
  • Скорость согласования: каждая правка сценария после начала разработки откатывает часть работы назад

Простой бот с меню и приёмом заявок я обычно собираю за 5-7 рабочих дней. Бот с оплатой, интеграцией в CRM и уведомлениями занимает от 3-4 недель, и большая часть этого времени уходит не на код, а на согласование сценария и тестовые платежи с провайдером.

Бесплатный материал

🎁 Полезный скрипт в подарок

Подпишитесь на Telegram - пришлю готовый скрипт по этой теме.

Без спама. Отписка в 1 клик.

Приём заявок через бота: сценарии, которые реально работают

Формы в боте строятся на машине состояний: бот запоминает, на каком шаге диалога находится пользователь, и ждёт от него конкретный тип ответа. Хорошо работает короткий сценарий на 3-5 шагов, инлайн-кнопки там, где можно выбрать вариант вместо свободного текста, и обязательная валидация телефона и email до того, как заявка ушла дальше.

Где сценарий обычно ломается

  • Пользователь закрывает чат посередине диалога, а бот остаётся в промежуточном состоянии и ждёт ответ, который не придёт
  • Нет команды отмены и возврата в начало, поэтому зависшую заявку клиент бросает и не пишет заново
  • Свободный текст без валидации: телефон приходит в произвольном формате, и его потом вручную разбирает менеджер

На одном проекте бот с формой из двенадцати шагов не имел команды /cancel и обработчика тайм-аута: если клиент отвлекался и не отвечал несколько минут, диалог зависал, а человек не понимал, как начать заново. После того как добавили сброс состояния по команде и по тайм-ауту, зависших диалогов почти не осталось.

В разработку бота с приёмом заявок у меня входит сама форма, запись заявки в базу и уведомление в рабочий чат. Двусторонняя синхронизация с конкретной CRM, например обновление статуса заявки обратно в чат клиенту, это отдельная интеграция, потому что у каждой CRM свой API и свои вебхуки.

Оплата в Telegram-боте: провайдеры, чеки и 54-ФЗ

Как устроен приём оплаты через Telegram Payments

У Telegram есть встроенный Bot Payments API: бот выставляет счёт методом sendInvoice, а провайдер оплаты подключается через BotFather, который выдаёт provider token. Дальше бот получает pre_checkout_query и должен подтвердить его методом answerPreCheckoutQuery, на это Telegram отводит около 10 секунд, иначе платёж автоматически отменяется. После успешной оплаты в чат приходит апдейт с полем successful_payment.

from aiogram import Bot, Dispatcher, F, types
from aiogram.filters import Command

bot = Bot(token="BOT_TOKEN")
dp = Dispatcher()

@dp.message(Command("order"))
async def send_invoice(message: types.Message):
    await bot.send_invoice(
        chat_id=message.chat.id,
        title="Консультация",
        description="Онлайн-консультация, 30 минут",
        payload="order-1001",
        provider_token="PROVIDER_TOKEN",
        currency="RUB",
        prices=[types.LabeledPrice(label="Консультация", amount=300000)],
    )

@dp.pre_checkout_query()
async def process_pre_checkout(pre_checkout_query: types.PreCheckoutQuery):
    await bot.answer_pre_checkout_query(pre_checkout_query.id, ok=True)

@dp.message(F.successful_payment)
async def process_successful_payment(message: types.Message):
    await message.answer("Оплата получена, спасибо!")

Чеки, 54-ФЗ и Stars

Фискальный чек по 54-ФЗ формирует не бот, а платёжный провайдер, которого подключают через BotFather: условия по чекам проверяйте в тарифе конкретного провайдера, а не рассчитывайте, что чек появится сам по себе. Для цифровых товаров и услуг у Telegram есть отдельная внутренняя валюта Stars, но она подходит только для цифрового контента и сервисов внутри самого Telegram, для физических товаров или услуг с очным оказанием нужен обычный провайдер оплаты. Комиссию эквайринга каждый провайдер считает по своему тарифу, я не привязываю расчёты к конкретному проценту, потому что тарифы меняются чаще, чем эта статья.

Уведомления клиентам и в CRM

Лимиты на отправку сообщений

Telegram ограничивает скорость рассылки: не больше одного сообщения в секунду в один и тот же чат и в среднем не больше 30 сообщений в секунду суммарно по всем чатам бота. Для уведомлений о статусе заявки это не проблема, а для массовой рассылки по всей базе клиентов бота нужно строить с очередью и паузами между отправками.

Куда слать уведомление: CRM, 1С, рабочий чат

Проще всего уведомление уходит в чат менеджеров: бот присылает сообщение в рабочую группу, когда получает заявку или оплату. Для интеграции с CRM или 1С нужен вебхук с их стороны, либо посредник вроде n8n, если нет ресурса разбирать API каждой системы отдельно. Настройку автоматизации в n8n я делаю как отдельную услугу, у меня она стоит от 25 000 ₽.

Контакты и переписку клиентов лучше не держать в Google Таблицах или похожих иностранных сервисах: по 152-ФЗ персональные данные клиентов из России нужно хранить на серверах, которые физически находятся в РФ, так что для базы клиентов подойдёт CRM или база на российском хостинге.

Частые ошибки при запуске бизнес-бота

  • Webhook бота без секретного токена в заголовке: тот, кто узнает URL, может слать боту поддельные апдейты
  • Токен бота закоммичен в публичный репозиторий вместе с кодом
  • Оплата протестирована только в тестовом режиме, а не реальной картой у провайдера, из-за чего первый настоящий платёж падает
  • Нет команды сброса диалога, и зависшие сценарии копятся неделями
  • Массовая рассылка без учёта лимита в 30 сообщений в секунду, из-за чего часть сообщений не доходит
  • Бот воспринимается как замена CRM целиком, хотя по факту он закрывает только приём заявки или оплату
  • Персональные данные клиентов хранятся в иностранном облачном сервисе вместо российского хостинга

Условия и возможности Telegram меняются, поэтому перед запуском я уточняю их у самого сервиса.

Частые вопросы

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

Да, через Bot Payments API: бот сам выставляет счёт и принимает оплату внутри чата, сайт для этого не нужен. Нужен провайдер оплаты, подключённый через BotFather, и обработка pre_checkout_query на стороне бота.

Нужен ли отдельный сервер для бота?

Нужен хостинг или VPS, где бот работает постоянно: либо через long polling, либо через webhook с валидным HTTPS-сертификатом. Бот на ноутбуке разработчика, который выключают на ночь, для бизнеса не подходит, потому что заявки и уведомления перестают приходить, пока процесс не запущен.

Входит ли поддержка бота после запуска в стоимость разработки?

Нет, сопровождение считается отдельно. У меня техподдержка стоит от 15 000 ₽ в месяц и включает правки сценария, обновление интеграций и реакцию на сбои. Разработка от 30 000 ₽ покрывает запуск бота, а не бессрочную доработку после сдачи.

Чем уведомления от бота отличаются от рассылок в WhatsApp Business?

В отличие от WhatsApp Business API, у Telegram-ботов нет ограничения на 24-часовое окно ответа: бот может написать пользователю в любой момент, пока тот не заблокировал бота. Это удобно для уведомлений о статусе заказа, которые приходят через дни после последнего сообщения клиента.

Есть задача?

Обсудим в мессенджере

Расскажите, что нужно сделать — отвечу в течение 4 часов в рабочее время. Первая консультация бесплатно.

Продолжая пользование настоящим сайтом Вы выражаете своё согласие на обработку Ваших персональных данных (файлов куки) с использованием Yandex.Metrika.
Понятно