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