Коммерческое предложение на разработку телеграм-бота: что писать и как считать
Бот выглядит для заказчика простым продуктом: переписка в мессенджере, несколько кнопок, никакого сайта. Из-за этого объём работы почти всегда недооценивается, а разговор начинается со стоимости, а не с содержания. Предложение имеет смысл строить от сценариев: сколько веток диалога проходит пользователь, какие состояния бот запоминает между сообщениями, что происходит при неверном вводе, при возврате пользователя через неделю и при повторном нажатии старой кнопки. Именно эти детали, а не количество команд, определяют трудоёмкость.
Вторая особенность — бот живёт внутри чужой платформы и её правил. Telegram задаёт формат кнопок и сообщений, ограничивает частоту отправки, определяет доступные способы приёма платежей и в любой момент может изменить поведение API. Кроме того, у бота есть владелец аккаунта: токен выдаётся в BotFather, и от того, на чьём аккаунте создан бот, зависит, кто им реально распоряжается после сдачи. Эти вещи стоит проговорить в предложении прямо, вместе с тем, где бот будет размещён и кто оплачивает сервер, домен и внешние сервисы.
Из каких блоков собрать предложение
Опишите, что пользователь должен сделать в боте: оформить заявку, записаться, получить материалы, оплатить подписку. Перечислите основные сценарии диалога и укажите, сколько шагов проходит человек в каждом. Отдельно назовите поведение при неверном вводе, отмене на середине и возврате к незавершённому сценарию.
Перечислите команды бота, состав главного меню и вложенных экранов, типы кнопок под сообщением и в клавиатуре. Укажите, какие тексты и картинки предоставляет заказчик, а какие пишет команда. Здесь же зафиксируйте языки интерфейса, если их больше одного.
Опишите, что бот сохраняет и куда передаёт: заявки в CRM, записи в таблицу, уведомления менеджеру, обмен с внутренней системой заказчика. По каждой интеграции укажите, что доступы и документацию предоставляет заказчик. Отдельным пунктом опишите админ-панель или набор служебных команд для управления содержимым.
Если бот принимает оплату, укажите способ приёма, кто заключает договор с платёжным провайдером и на кого оформляется касса. Опишите обработку успешной и неуспешной оплаты, возвраты, продление подписки и снятие доступа. Оформление юридических документов и подключение эквайринга обычно остаётся за заказчиком, и это стоит написать явно.
Опишите, как устроены рассылки: сегменты получателей, расписание, очередь отправки с учётом лимитов, отписка. Предупредите, что писать можно только тем, кто сам начал диалог с ботом, и что при жалобах пользователей аккаунт бота может быть ограничен платформой. Это снимает ожидание массовых рассылок по загруженной базе номеров.
Укажите, где размещается бот, кто оплачивает сервер и внешние сервисы, как настроено резервное копирование и как передаётся исходный код. Отдельно зафиксируйте, на чьём аккаунте создан бот в BotFather и в какой момент токен и доступы передаются заказчику.
Разложите смету по сценариям, интеграциям и админ-части, а не одной строкой за бота целиком. Опишите этапы и сроки, порядок передачи на тестирование и правки. Поддержку после запуска вынесите отдельно: обновления под изменения API, мониторинг доступности и доработки по часам.
Что обычно входит в смету
- Проработка сценариев диалога и схемы состоянийсценарий
- Реализация команды бота с обработкой аргументовкоманда бота
- Экран меню с кнопками и переходамиэкран
- Хранение профиля пользователя и истории обращенийэтап
- Интеграция с внешней системой по APIинтеграция
- Подключение приёма платежей и обработка статусовинтеграция
- Механизм подписки с продлением и снятием доступаэтап
- Модуль рассылок с сегментами и очередью отправкиэтап
Блоки, смета с расчётом и условия уже готовы — останется вписать свои цены. Клиент открывает ссылку в браузере, а вы видите, кто её открыл и докуда дочитал.