Личный кабинет в Telegram собирают двумя способами: диалогом с ботом или Mini App — веб-интерфейсом, который открывается прямо внутри мессенджера. Клиент видит свои заказы, записи, бонусы и документы без установки приложения и без отдельного пароля, а данные подтягиваются из вашей CRM или учётной системы. Разработка бота с приёмом заявок и записью начинается от 1 200 $.
Коротко
Разница в интерфейсе, а не в данных: бот ведёт диалог сообщениями и кнопками, Mini App открывает полноценный экран с формами, списками и фильтрами. Логика и база при этом общие — это один проект с одним сервером.
Mini App запускается семью способами: кнопкой под полем ввода, кнопкой в сообщении, кнопкой меню чата, с профиля бота, из режима inline, из меню вложений и по прямой ссылке вида t.me/имя_бота/имя_приложения. Прямая ссылка удобна для рекламы и печатных QR-кодов: человек попадает сразу на нужный экран, минуя меню.
В Telegram переносят сценарии, которые клиент повторяет часто и выполняет за два-три касания. Всё, что требует долгой работы с таблицами и документами, оставляют в вебе.
Полный состав кабинета — с фильтрами по годам, сверками и выгрузками — разобран в статье про личный кабинет клиента на сайте. В Telegram из него берут верхушку: то, за чем человек заходит раз в неделю, а не раз в квартал.
Данные кабинета живут в ваших системах, а не в Telegram. Бот и Mini App запрашивают их по API у CRM, 1С или ERP в тот момент, когда клиент открыл экран.
У Mini App есть собственное облачное хранилище, но это не база данных: Telegram разрешает держать в нём до 1024 значений на пользователя, ключ — до 128 знаков, значение — до 4096. Этого хватает на язык интерфейса и черновик формы, но не на историю заказов и не на взаиморасчёты.
Поэтому кабинет проектируют вместе со схемой обмена: что он спрашивает у CRM, что записывает обратно и по какому событию уходит уведомление. Как устроен этот обмен и что ограничивает Bot API, разобрано в статье про интеграцию Telegram-бота с CRM.
Telegram передаёт Mini App сведения о пользователе строкой initData, и доверять ей на слово нельзя: подпись проверяется на вашем сервере. Документация описывает проверку так: поля сортируются по алфавиту, из них собирается строка, и её подпись HMAC-SHA-256 на ключе, полученном из токена бота, сравнивается с присланным значением hash.
Вторая часть проверки — время. В initData есть поле auth_date с меткой времени: данные старше разумного срока сервер отклоняет. Для сторонних сервисов, у которых нет токена бота, предусмотрена отдельная подпись Ed25519 — её проверяют публичным ключом Telegram.
Важно Telegram подтверждает только то, что перед вами владелец аккаунта. Кто получил доступ к чужому Telegram, тот откроет и кабинет. Поэтому операции с деньгами и договорами закрывают вторым подтверждением: кодом, PIN или биометрией устройства — BiometricManager доступен с Bot API 7.2.
Способ оплаты выбирает не разработчик, а тип товара. Физические товары и услуги, которые человек получает вне мессенджера, оплачиваются картой через платёжного провайдера: он подключается к боту через @BotFather, данные карты обрабатывает он же, и комиссию за Payments API Telegram не берёт. В Узбекистане это Payme, Click или Uzum — по договору компании.
Важно Цифровые товары и услуги внутри Telegram — доступ к контенту, подписка, внутренняя валюта — продаются только за Telegram Stars. Так требуют правила App Store и Google Play, и они действуют, даже если у компании есть свой сайт с оплатой картой.
Что отправлять клиенту после списания, как обрабатывать отказ банка и что делать с возвратами — в статье про оплату в Telegram-боте и автоматические уведомления.
Telegram закрывает не все задачи. Проверьте свой сценарий по списку: если хотя бы один пункт про вас, кабинет придётся делать в вебе или в мобильном приложении.
Если список склоняет к приложению, дальше встаёт вопрос платформы и бюджета — сравнение подходов есть в статье нативная или кроссплатформенная разработка.
Три формата решают одну задачу по-разному. Меняется цена входа для клиента, скорость обновлений и то, сколько данных помещается на экране.
| Критерий | Кабинет в Telegram | Веб-кабинет | Мобильное приложение |
|---|---|---|---|
| Что делает клиент, чтобы войти | Открывает бота по ссылке | Вводит логин и пароль на сайте | Ставит приложение из магазина |
| Публикация | Не нужна | Не нужна | Проверка магазина и взносы разработчика |
| Обновление | На сервере, у всех сразу | На сервере, у всех сразу | Новая версия и повторная проверка |
| Сообщение клиенту первым | Только тем, кто запускал бота | Письмо или SMS | Push после разрешения |
| Работа без сети | Нет | Нет | Есть |
| Большие таблицы и документы | Ограниченно | Да | Да |
| Камера, NFC, датчики | Ограниченно | Ограниченно | Полный доступ |
Форматы не исключают друг друга. У одной компании бывает веб-кабинет для бухгалтерии клиента и кабинет в Telegram для быстрых действий, а данные под ними общие.
Работа начинается не с интерфейса, а со списка сценариев: за чем именно клиент будет заходить в кабинет и из какой системы брать каждое поле.
Пример На выставке UzFranchise Expo весь доступ гостя к мероприятию жил в Telegram: человек регистрировался в боте, отвечал на вопросы о цели визита и получал персональный QR-билет в чат. В единой базе оказалось 7 500+ посетителей, за два дня на входе отсканировали 3 539 билетов, проверка одного гостя занимала 0,2 секунды. Разбор кейса UzFranchise Expo.
Отдельной цены «кабинета» не существует: бюджет складывается из бота или Mini App и из связок с вашими системами. На странице услуги это разные строки.
Состав работ по каждому формату описан на странице ботов и ИИ-ассистентов. Если кабинету нужны данные из 1С, склада или биллинга, добавляется связка систем между собой — это отдельная услуга, от 4 000 $.
Выше стартовой цены бюджет поднимают три вещи: число экранов, число подключаемых систем и работа с деньгами и документами. Кабинет со статусом заказа и кабинет с оплатой, бонусами и актами — разные проекты.
Syntra Systems начинает с разбора обращений: какие вопросы клиенты задают менеджерам чаще всего и какие из них человек закроет сам за два касания. Из этого списка получается первая версия кабинета, остальное уходит во вторую.
Кабинет мы собираем как часть инфраструктуры: данные берутся из CRM и учётной системы, подпись initData разбирается на сервере, важные операции подтверждаются отдельно, а обмен пишется в журнал — чтобы не доехавший до CRM заказ было видно сразу, а не по звонку клиента. После запуска смотрим реальные сессии и переписываем шаги, на которых люди выходят.
Обсудим вашу задачу
Расскажите, что нужно сделать, — оценим сроки и стоимость и предложим решение.
Клиенту хватает самого Telegram: кабинет открывается по ссылке на бота или мини-приложение, без установки и без нового логина с паролем. Человек входит под своим аккаунтом Telegram, а с вашей базой его связывают по номеру телефона или по коду из договора.
Если у веб-кабинета есть API — да, и базу дублировать не нужно: Telegram становится ещё одним входом в те же заказы, документы и баланс. В Telegram переносят верхушку — то, за чем клиент заходит раз в неделю, а сверки и большие таблицы оставляют в вебе.
Уведомления перестанут доходить: бот не может писать тем, кто его заблокировал. Этот признак сохраняют в карточке клиента, а важные сообщения — оплату, перенос записи — дублируют письмом или звонком менеджера.
Да. Telegram передаёт код языка интерфейса пользователя, и кабинет может открываться сразу на нужном языке с возможностью переключить его вручную. Переводить нужно не только кнопки, но и тексты уведомлений и названия статусов заказа.
Бот с меню отвечает всем одинаково: адрес, график, прайс. Кабинет показывает данные конкретного человека — его заказы, его баланс, его записи — и потому требует проверки подлинности пользователя и связи с системами компании.
Компания, которая собирает данные. Telegram здесь только канал доставки: заказы, контакты и документы хранятся в ваших системах, и требования закона о персональных данных распространяются на них так же, как на CRM или сайт.