Telegram Mini App — Ръководство стъпка по стъпка
Какво е това?#
Telegram Mini App позволява на вашите клиенти да отварят цифровото меню на ресторанта директно в Telegram — без инсталиране на приложения и без преминаване към браузър. Менюто изглежда като естествена част от Telegram: приспособява се към темата на потребителя, поддържа бутон „Назад“ и жестове.
Предимства#
- 📱 Вътре в Telegram — на клиента не му се налага да преминава към браузър
- 🎨 Нативен вид — цветовете, шрифтовете и темата се приспособяват към Telegram
- 🔗 Deep Links — директна връзка към менюто на конкретен ресторант
- 🌍 Автоматичен език — езикът се взема от настройките на потребителя в Telegram
- 🍪 Без cookies — банерът за cookies не се показва в Telegram
Най-бързият път — съветникът в панела#
В административния панел: Магазин за приложения → карта „Магазин в Telegram“ → „Настройка“ (прозорецът се отваря направо във витрината, не е нужно да отивате никъде). Съветникът ще ви преведе през четири стъпки и ще свърши сам по-голямата част от работата:
- Име на магазина.
- Създаване на бот в @BotFather и проверка на токена — токенът просто го поставяте в съветника.
- Автоматична настройка на бота: име, кратко описание, бутон „Меню“ с връзка към вашето меню, уебхук и команди — Cenaly задава всичко чрез Telegram Bot API, не е нужно да натискате нищо ръчно.
- Създаване на Mini App (
/newappв BotFather) и връзка към вашия магазин.
Напредъкът се запазва: съветникът може да бъде затворен и продължен по-късно.
По-долу е ръчният път: същото нещо изцяло през BotFather. Той ще ви бъде полезен, ако ботът вече е настроен по свой начин или искате да разбирате какво точно се случва.
Бърз старт (ръчно)#
Стъпка 1 — Създайте бот#
Отворете @BotFather в Telegram и изпратете:
/newbot
- Въведете име на бота (например
Cenaly Menu Bot) - Въведете username (например
MeniMenuBot) — трябва да завършва наBot - Запазете получения Bot Token (формат:
123456789:ABCdefGHI...)
Защо е нужен Bot Token?#
Bot Token е секретен ключ за програмно управление на бота чрез Telegram Bot API. Ако правите всичко ръчно през BotFather (стъпки 2–4), той не е необходим.
Токенът е нужен, за да предадете бота на Cenaly — тогава панелът го настройва сам и ботът започва да работи за вас:
- Поздрав и бутон „Меню“ — ботът поздравява на езика на госта, съобразно вертикалата (ресторант, салон, хотел, магазин), и отваря витрината като Mini App
- Напомняния за час — гостът се абонира за напомняне за посещението и потвърждава или отменя с бутон „✅ Ще дойда“ / „❌ Отмяна“ направо в чата
- Известия до собственика — новите часове и отмените пристигат в личния ви чат с бота. Абонаментът се включва с частна връзка от вида
t.me/{бот}?start=admin_…: тя се показва в съветника на стъпка „Готово“ и в картата на интеграцията. Не публикувайте връзката — известия ще започне да получава всеки, който я отвори. (Гостът, от своя страна, може да види предстоящите си часове с командата/bookingsв чата с бота.) - Кореспонденция с гости — отделен канал в раздел „Работен чат“ → секция „Гости“: съобщенията от Telegram попадат в общия инбокс заедно с чата на сайта, WhatsApp, Instagram и имейла (за това е нужен собствен бот — един бот може да има само един уебхук)
А токенът ще ви бъде полезен и ако искате да автоматизирате нещо свое: да изпращате съобщения до клиенти, да добавяте inline-бутони в съобщенията на бота (вижте раздела по-долу) или да го свържете със своя система.
Стъпка 2 — Създайте Mini App#
Изпратете на BotFather командата:
/newapp
- Изберете бот от списъка
- Title — име на приложението (например
Cenaly) - Description — описание (например
Digital restaurant menu) - Photo — качете изображение 640×640 px (икона на приложението)
- GIF — анимация (незадължително). За да пропуснете, изпратете
/empty - Web App URL — посочете адреса на вашето клиентско приложение:
https://cenaly.com
- Short Name — кратко име за връзката (например
menu)
След това ще имате работеща връзка от вида:
https://t.me/YourBot/menu
Стъпка 3 — Добавете бутон „Меню“ в чата на бота#
Изпратете на BotFather:
/setmenubutton
- Изберете бот
- Изпратете URL:
https://cenaly.com
- Въведете текст на бутона (например
Open Menuили📋 Меню)
Сега при отваряне на чата с бота в долната част на екрана ще се появи бутон, който отваря вашето приложение.
Стъпка 4 — Разрешете домейн#
Изпратете на BotFather:
/setdomain
Изберете бот и посочете домейна:
cenaly.com
Това ще разреши на Telegram Web App да работи на вашия домейн и всички негови поддомейни (например locationid.cenaly.com).
Deep Links — връзки към конкретен ресторант#
Telegram поддържа параметъра startapp, който се предава на приложението при отваряне. Използвайте го за връзки към конкретен ресторант:
| Връзка | Какво ще се отвори |
|---|---|
t.me/YourBot/menu |
Начална страница |
t.me/YourBot/menu?startapp=LOCATION_ID |
Меню на конкретен ресторант |
t.me/YourBot/menu?startapp=LOCATION_ID__ru |
Меню на руски език |
t.me/YourBot/menu?startapp=LOCATION_ID__en |
Меню на английски език |
Примери#
Ако LOCATION_ID на вашия ресторант е lnc2w74z:
https://t.me/YourBot/menu?startapp=lnc2w74z
https://t.me/YourBot/menu?startapp=lnc2w74z__ru
https://t.me/YourBot/menu?startapp=lnc2w74z__en
Inline бутони от бота#
Ако вашият бот изпраща съобщения до клиенти, можете да добавите inline бутон, който отваря менюто:
Вариант 1 — Web App бутон (отваря се веднага)#
{
"inline_keyboard": [[{
"text": "📋 Отвори менюто",
"web_app": {
"url": "https://LOCATION_ID.cenaly.com/ru"
}
}]]
}
Вариант 2 — Deep Link бутон#
{
"inline_keyboard": [[{
"text": "📋 Отвори менюто",
"url": "https://t.me/YourBot/menu?startapp=LOCATION_ID__ru"
}]]
}
Какво работи автоматично#
След свързването в Telegram автоматично се включват:
| Функция | Описание |
|---|---|
| 🎨 Тема | Цветовете на приложението се нагаждат към темата на Telegram (светла/тъмна) |
| ◀️ Бутон „Назад“ | Нативният бутон на Telegram се появява при отваряне на карта на продукт |
| 📏 Viewport | Приложението се разтяга на целия екран |
| 🔒 Защита от затваряне | Вертикалното плъзгане няма да затвори приложението случайно |
| 🌍 Автоматичен език | Езикът се определя от профила в Telegram, ако не е зададен изрично |
| 🍪 Cookies | Банерът за cookie не се показва в Telegram |
QR кодове за ресторанти#
Вече съществуващите QR кодове с URL от вида https://lnc2w74z.cenaly.com продължават да работят както обикновено — през браузър.
За допълнителна интеграция с Telegram можете да поставите на масите втори QR код със връзка към бота:
https://t.me/YourBot/menu?startapp=lnc2w74z
Проверка на работоспособността#
- Отворете връзката
https://t.me/YourBot/menuна телефона - Натиснете Start (ако отваряте бота за първи път)
- Натиснете бутона 📋 Меню в долния панел на чата
- Уверете се, че приложението се отвори и зареди менюто
- Опитайте да отворите deep link:
https://t.me/YourBot/menu?startapp=LOCATION_ID
Чести проблеми#
| Проблем | Решение |
|---|---|
| Приложението не се отваря | Проверете дали домейнът cenaly.com е разрешен чрез /setdomain |
| Бял екран | Уверете се, че Web App URL е зададен като https://cenaly.com (HTTPS е задължителен) |
startapp не работи |
Проверете формата: LOCATION_ID (без интервали, специални символи). Разделителят за език е двойно долно черти __ |
| Темата не се прилага | Telegram Mini App SDK трябва да е свързан (обновете клиентското приложение) |