Бизнес-боты для Телеграма решают три задачи: принимают заявку, забирают оплату и присылают уведомление о нужном событии, например когда клиент оплатил счёт или заказ готов к выдаче. Дальше по шагам разбираю, из чего складывается цена такого бота, что реально двигает сроки, как устроена оплата через 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-часовое окно ответа: бот может написать пользователю в любой момент, пока тот не заблокировал бота. Это удобно для уведомлений о статусе заказа, которые приходят через дни после последнего сообщения клиента.