Для заявки из нескольких полей обычно достаточно диалога с кнопками. Для каталога с фильтрами, корзиной или календарём может быть удобнее отдельный экран внутри Telegram. Выбор между ботом и Mini App стоит начинать с действий клиента: что он должен выбрать, сравнить, проверить и отправить.
Ниже — практические критерии для компании, которая планирует сервис в Telegram. Примеры условные: они показывают варианты проектирования, а не результаты внедрения у конкретных заказчиков.
Чем Telegram-бот отличается от Mini App
В обычном боте пользователь взаимодействует через сообщения, команды и кнопки. Mini App — веб-интерфейс, который открывается внутри Telegram и позволяет собрать собственные экраны. Эти возможности описаны в документации Telegram о способах ввода.
Это два способа взаимодействия с одним сервисом. У проекта может быть общий сервер, одна база заявок и одна интеграция с CRM, а часть действий будет выполняться в чате, часть — в Mini App. Например, календарь открывается на отдельном экране, а подтверждение записи приходит сообщением.
Быстрый ориентир: последовательный вопрос и короткий ответ — повод начать с бота. Необходимость видеть несколько вариантов одновременно — повод рассмотреть Mini App. Это критерий удобства, а не обязательное техническое правило.
Когда достаточно бота с кнопками
Представим мастерскую, которая принимает обращения на ремонт. Клиент выбирает тип устройства, описывает проблему, прикладывает фотографию и оставляет контакт. Менеджер уточняет детали. Для такого пути не обязательно создавать отдельный интерфейс: на каждом шаге человеку нужно выполнить одно понятное действие.
- Короткая заявка. Несколько вопросов без сложного сравнения вариантов.
- Проверка статуса. Клиент выбирает свой заказ и получает актуальную информацию.
- Напоминания и подтверждения. В чате удобно сохранить сообщение с дальнейшими действиями.
- Обращение в поддержку. Пользователь описывает вопрос, а сотрудник получает контекст.
Продумайте возврат назад и исправление ответа. Если клиент ошибся в городе, ему не должно требоваться начинать весь диалог заново. Посмотрите также сценарии Telegram-бота для бизнеса: они помогут отделить полезные действия от меню, которое существует само по себе.
Когда Mini App удобнее
Отдельный экран имеет смысл, когда клиенту нужно удерживать в поле зрения несколько связанных элементов. Например, видеть дни календаря и доступное время, сравнивать товары по характеристикам или менять состав заказа с пересчётом итогов.
Проверьте свой сценарий на бумаге. Если выбор услуги, филиала, сотрудника и времени превращается в длинную цепочку сообщений, нарисуйте один экран с этими элементами. Затем сравните оба варианта на одном задании: сможет ли человек записаться и проверить результат без объяснений?
Mini App можно открыть, в частности, из кнопки под сообщением, меню бота или прямой ссылки. Варианты запуска и их особенности перечислены в официальном руководстве Telegram. Точку входа нужно выбрать заранее: от неё зависит, как клиент попадёт в нужный раздел.
Красивый экран не решает вопрос актуальности данных. Если свободное время хранится у администратора в отдельной таблице, сначала договоритесь, какая система отвечает за расписание. Иначе Mini App покажет аккуратный календарь, который нельзя использовать для надёжной записи.
Как совместить чат и отдельные экраны
Для условного сервиса записи можно спроектировать такой путь:
- В чате клиент видит назначение сервиса и кнопку «Выбрать время».
- Mini App показывает услуги, филиалы и календарь.
- Перед отправкой клиент проверяет выбранные данные на одном экране.
- Сервер сохраняет запись и возвращает её номер.
- Бот отправляет подтверждение и объясняет, как изменить или отменить запись.
Статусы должны совпадать: заявка в чате, личном разделе и CRM должна иметь один идентификатор. Закрытие Mini App не должно само по себе означать отмену уже сохранённой записи. Если заявка только получена и ещё требует согласования, так и напишите; не показывайте «Запись подтверждена» раньше решения сотрудника.
Обмен с CRM — отдельная часть работ. Какие поля передавать, что делать при сбое и как исключать дубли, разобрано в материале об интеграции Telegram-бота с CRM.
Что сравнивать в двух предложениях на разработку
Запрашивайте оценку одного и того же результата. Предложение «бот принимает заявку» нельзя напрямую сравнивать с предложением «Mini App проверяет расписание, резервирует время и позволяет перенести запись»: состав работ различается ещё до выбора интерфейса.
- Какие клиентские действия и исключения входят в первую версию?
- Нужен ли дизайн отдельных экранов и кто согласует их поведение?
- Откуда поступают услуги, остатки, расписание и статусы?
- Кто сможет изменять справочники после запуска?
- Что хранится на сервере при закрытии приложения или потере сети?
- Какие устройства и версии Telegram входят в проверку?
Mini App добавляет работу над веб-интерфейсом, но общая сложность зависит и от логики сервиса. Простой экран каталога может требовать меньше работы, чем диалоговый бот с запутанными интеграциями. Универсальной надбавки в процентах здесь нет. Для обсуждения бюджета полезнее список функций из статьи о стоимости разработки Telegram-бота.
Что учесть для России и Беларуси
Если сервис работает в двух странах, попросите клиента выбрать регион там, где он влияет на услугу. Не используйте язык Telegram как единственное основание: русскоязычный интерфейс не определяет страну обслуживания.
Показывайте валюту явно, привязывайте каталог и расписание к выбранному филиалу, сохраняйте регион в заявке. При его смене пересчитайте доступные варианты и дайте проверить итог. Условия обслуживания должен согласовать бизнес; разработчику нужна понятная таблица различий, а не просьба «сделать всё для СНГ».
Тот же принцип полезен для сайта, с которого клиент приходит в Telegram. Отдельно разобрали как организовать сайт для России и Беларуси, чтобы регион и условия не терялись по дороге к заявке.
Что проверить перед запуском
Проверяйте законченный путь: от ссылки до заявки, которую видит сотрудник. Одного красивого стартового экрана для приёмки недостаточно.
- Возврат назад сохраняет нужные данные и позволяет исправить выбор.
- Двойное нажатие «Отправить» не создаёт две заявки.
- При недоступности CRM обращение получает понятный статус и доступно сотруднику.
- Клиент не может открыть чужой заказ, подставив его номер.
- На телефоне клавиатура не закрывает поля и кнопку подтверждения.
- После закрытия и повторного открытия поведение соответствует согласованным правилам.
Для Mini App данные пользователя необходимо проверять на сервере. Telegram отдельно предупреждает, что initDataUnsafe нельзя считать доверенным источником, и описывает проверку данных из initData. Такая проверка подтверждает происхождение данных; права на конкретную заявку всё равно проверяет ваш сервис.
Как сформулировать задачу разработчику
Начните с короткого описания: «Клиент выбирает услугу и время, проверяет данные и получает номер записи. Расписание берём из действующей системы. Менеджер видит запись в CRM. Нужно сравнить вариант с кнопками в чате и вариант с календарём в Mini App».
Приложите список услуг, обезличенный пример заявки и правила изменения записи. Структура требований есть в статье о ТЗ на Telegram-бота. С таким описанием можно обсуждать разработку Telegram-сервиса и выбирать интерфейс по задаче клиента.
