Telegram Mini Apps: повноцінний застосунок усередині месенджера
Що таке Mini App, чим відрізняється від бота, які задачі закриває краще за сайт і скільки коштує розробка. З прикладами магазинів і сервісів запису.
Клієнт пише «хочу магазин у Telegram» і уявляє бота з кнопками. Через два уточнення виявляється, що потрібен каталог із фільтрами, кошик і оплата — а це вже Mini App, інший продукт з іншим бюджетом і стеком. Розберемо, чим Mini App відрізняється від бота, у яких задачах він обходить сайт, скільки коштує розробка і на чому такі проєкти найчастіше ламаються.
0
встановлень і реєстрацій для входу
1 тап
від картки товару до оплати збереженою картою
$1.5k
старт для Mini App з каталогом і оплатою
4–8
тижнів до першої робочої версії
Mini App і бот — це різні продукти
Технічно Mini App — це веб-застосунок, який Telegram відкриває у власному вебв’ю й передає йому підписані дані про користувача. Фронтенд пишете будь-яким стеком, кладете на свій сервер, реєструєте URL у BotFather. Користувач тисне кнопку в боті — і бачить ваш інтерфейс на весь екран, без переходу в браузер і без логіна.
Комерційна різниця — у щільності інформації. Бот показує екран тексту й ряд кнопок: цього достатньо для лінійного сценарію «прийняти заявку — надіслати статус». Mini App показує сітку, фільтри й кошик водночас, і це потрібно там, де клієнт порівнює варіанти. Проблеми починаються, коли лінійним ботом намагаються обслужити нелінійний сценарій.
| Критерій | Чат-бот | Mini App | Сайт |
|---|---|---|---|
| Інтерфейс | Повідомлення й кнопки | Повний UI у вебв’ю | Повний UI у браузері |
| Вхід користувача | Уже авторизований | Уже авторизований | Реєстрація або гість |
| Каталог на 50+ позицій | Незручно | Комфортно | Комфортно |
| Оплата | Інвойс Telegram | Інвойс або еквайринг | Еквайринг |
| Видимість у пошуку | Немає | Немає | Основний канал |
Задачі, де Mini App справді сильніший
- Каталог із фільтрами. Бот на кнопках витримує 15–20 позицій, далі користувач тоне в стрічці повідомлень. Mini App показує сітку так само, як інтернет-магазин, тільки без виходу з месенджера.
- Запис на послугу. Календар зі слотами в чаті — це десяток повідомлень туди-сюди й половина людей, які здаються на виборі часу. У Mini App це один екран: майстер, дата, час.
- Повторні покупки. Telegram уже знає, хто це: немає форми входу й немає «забув пароль» — найбільшої дірки у воронці повторних замовлень.
- Оплата без переходів. Картка зберігається на боці месенджера, тож друга покупка справді займає один тап; механіку ми розібрали в матеріалі про платежі в Telegram.
- Кабінети й внутрішні інструменти. Статуси замовлень для B2B-клієнта, чекліст для монтажника, зведення для власника — прямо в чаті, без окремого застосунку й роздачі доступів.
Як це влаштовано зсередини
- 1
Бот залишається точкою входу
Mini App відкривається кнопкою бота, пунктом меню чату або inline-кнопкою. Бот усе одно потрібен — для розсилок, статусів і повернення користувача назад.
- 2
Telegram віддає підписані дані
При відкритті у фронтенд прилітає initData: id користувача, ім’я, мова, час і hash. Це і є ваша авторизація — без паролів і SMS-кодів.
- 3
Сервер перевіряє підпис
initDataUnsafe з клієнта підробляється за хвилину, тому hash перевіряють на бекенді токеном бота. Це найчастіша дірка в Mini App, зроблених нашвидкуруч.
- 4
Інтерфейс і повернення в чат
MainButton, BackButton і кольори з теми Telegram замість власних кнопок. Після оформлення застосунок закривається й віддає боту дані замовлення — далі працює звична логіка.
Перевірка підпису — десяток рядків, які відділяють робочий продукт від дірки, через яку чужу знижку застосовують до свого акаунта:
import { createHmac } from 'node:crypto';
// initData — рядок, який Telegram передає у Mini App.
// initDataUnsafe з клієнта НІКОЛИ не є джерелом правди.
export function verifyInitData(initData: string, botToken: string): boolean {
const params = new URLSearchParams(initData);
const hash = params.get('hash');
params.delete('hash');
const dataCheckString = [...params.entries()]
.sort(([a], [b]) => a.localeCompare(b))
.map(([key, value]) => key + '=' + value)
.join('\n');
const secret = createHmac('sha256', 'WebAppData').update(botToken).digest();
const signature = createHmac('sha256', secret).update(dataCheckString).digest('hex');
return signature === hash;
}Бюджет і терміни
Mini App коштує приблизно як вебзастосунок тієї ж складності плюс 10–20% на інтеграцію з ботом і тестування в мобільних клієнтах Telegram. Діапазони, з якими ми працюємо:
| Тип Mini App | Що всередині | Термін | Вартість |
|---|---|---|---|
| Вітрина | Каталог, категорії, заявка в бота | 2–3 тижні | $700–1 200 |
| Магазин з оплатою | Кошик, інвойси, статуси, адмінка | 4–7 тижнів | $1 500–3 500 |
| Сервіс запису | Календар, слоти, нагадування, перенос | 4–6 тижнів | $1 200–2 800 |
| Кабінет або внутрішній інструмент | Ролі, інтеграція з CRM чи обліковою системою | 6–10 тижнів | від $3 000 |
- 1Інтеграція з обліковою системою або CRM — плюс $300–800 і найбільший ризик за строками, бо ви залежите від чужого API.
- 2Реальна оплата всередині — плюс $250–600: інвойси, вебхуки, обробка невдалих платежів і повернень.
- 3Адмінка для менеджера — плюс $400–900. Часто дешевше віддати керування в готову CRM, ніж будувати власну панель.
Помилки, які найдорожче виправляти
Перевірте перед запуском
- Підпис initData перевіряється на сервері, а не в браузері
- Інтерфейс протестований і на Android, і на iOS — вебв’ю поводяться по-різному з клавіатурою
- Немає фіксованої нижньої панелі поверх MainButton: на малих екранах вони перекриваються
- Кольори беруться з теми Telegram, інакше в темному режимі зникає половина тексту
- Перший екран важить до 300 КБ — вебв’ю відкривається на мобільному інтернеті, і швидкість тут вирішує
- Є сценарій «щось пішло не так» із кнопкою написати в бот, а не порожній екран
Mini App виграє не тому, що це модно, а тому, що прибирає з воронки три кроки: встановлення, реєстрацію й введення картки. Якщо у вашому сценарії цих кроків немає — вигравати нічого.
Часті питання про Telegram Mini Apps
Чим Telegram Mini App відрізняється від звичайного чат-бота?
Бот спілкується повідомленнями й кнопками, тому добре працює в лінійних сценаріях: прийняти заявку, надіслати статус, нагадати про візит. Mini App — це повноцінний веб-інтерфейс усередині Telegram, який показує каталог, фільтри, кошик або календар на одному екрані. Технічно Mini App завжди запускається з бота, тож це не заміна, а надбудова над ним.
Чи може Mini App замінити сайт компанії?
Ні, якщо вам потрібен трафік із пошуку: Mini App не індексується Google і не дає жодної органічної видимості. Він добре працює як інструмент транзакції для аудиторії, яка вже з вами знайома. Верхню частину воронки — знайомство, порівняння, відгуки — далі має закривати звичайний сайт. Практичний варіант: сайт приводить людину, Mini App обслуговує її повторні замовлення.
Скільки коштує розробити Telegram Mini App?
Проста вітрина з каталогом і заявкою — приблизно $700–1200 і два-три тижні роботи. Магазин із кошиком, оплатою та адмінкою — $1500–3500 і чотири-сім тижнів. Кабінет із ролями та інтеграцією в облікову систему починається від $3000, і саме інтеграція, а не інтерфейс, зазвичай з’їдає більшу частину строку.
Чи безпечно приймати оплату всередині Mini App?
Так, якщо використовувати платіжний API Telegram: дані картки обробляє платіжний провайдер, а ваш сервер їх ніколи не бачить. Обов’язкова умова — перевірка підпису initData на бекенді, інакше замовлення можна оформити від чужого імені. Також потрібно обробляти вебхуки про успішну та невдалу оплату, а не покладатися на те, що клієнт дочекався фінального екрана.
Коротко
- Mini App — це веб-інтерфейс усередині Telegram із готовою авторизацією; бот залишається точкою входу й каналом повідомлень.
- Він виграє там, де користувач порівнює варіанти або платить повторно: каталоги, запис, B2B-кабінети, внутрішні інструменти.
- Органічного трафіку він не дає — верхню частину воронки далі закриває сайт.
- Бюджет: $700–1200 за вітрину, $1500–3500 за магазин з оплатою, від $3000 за кабінет з інтеграціями.
Схожі матеріали
Telegram-бот для бізнесу: 12 сценаріїв, які реально економлять час
Бот корисний не там, де «модно», а там, де менеджер повторює одну дію 50 разів на день.
Оплати в Telegram-боті: як приймати гроші прямо в чаті
Кожен перехід «бот → сайт → оплата» втрачає покупців. Розбираємо, як прибрати ці переходи.
Як створити інтернет-магазин: платформи, оплати, доставка
Магазин — це не каталог з кнопкою. Розбираємо всі вузли, від чекауту до складської інтеграції.