Telegram Mini App — Przewodnik krok po kroku
Co to jest?#
Telegram Mini App pozwala Twoim klientom otwierać cyfrowe menu restauracji bezpośrednio w Telegramie — bez instalacji aplikacji i bez przechodzenia do przeglądarki. Menu wygląda jak natywna część Telegrama: dostosowuje się do motywu użytkownika, obsługuje przycisk „Wstecz” i gesty.
Korzyści#
- 📱 Wewnątrz Telegrama — klient nie musi przełączać się na przeglądarkę
- 🎨 Natywny wygląd — kolory, czcionki i motyw dostosowują się do Telegrama
- 🔗 Deep Links — bezpośredni link do menu konkretnej restauracji
- 🌍 Automatyczny język — język pobierany jest z ustawień Telegrama użytkownika
- 🍪 Bez cookies — baner cookie nie jest wyświetlany wewnątrz Telegrama
Szybki start#
Krok 1 — Utwórz bota#
Otwórz @BotFather w Telegramie i wyślij:
/newbot
- Wprowadź nazwę bota (np.
Cenaly Menu Bot) - Wprowadź username (np.
MeniMenuBot) — musi kończyć się naBot - Zapisz otrzymany Bot Token (format:
123456789:ABCdefGHI...)
Dlaczego potrzebny jest Bot Token?#
Bot Token to tajny klucz do programowego zarządzania botem przez Telegram Bot API. Do podstawowej konfiguracji Mini App (kroki 2–4) nie jest on wymagany — wszystko odbywa się przez BotFather. Ale będzie potrzebny, jeśli chcesz:
- Wysyłać wiadomości do klientów — powiadomienia o statusie zamówienia, promocje, wiadomości powitalne
- Dodawać przyciski inline do wiadomości bota (np. przycisk „📋 Otwórz menu” — patrz sekcja poniżej)
- Utworzyć bota Telegrama do przyjmowania zamówień — bot może odbierać i przetwarzać zamówienia
- Skonfigurować Webhook — odbierać zdarzenia z Telegrama (naciśnięcia przycisków, komendy użytkowników)
- Zintegrować z CRM lub systemem POS — automatyczne przetwarzanie zamówień przez bota
Krok 2 — Utwórz Mini App#
Wyślij do BotFather komendę:
/newapp
- Wybierz bota z listy
- Title — nazwa aplikacji (np.
Cenaly) - Description — opis (np.
Digital restaurant menu) - Photo — załaduj obrazek 640×640 px (ikona aplikacji)
- GIF — animacja (opcjonalnie). Aby pominąć, wyślij
/empty - Web App URL — podaj adres swojej aplikacji klienckiej:
https://cenaly.com
- Short Name — krótka nazwa dla linku (np.
menu)
Po tym otrzymasz działający link w formacie:
https://t.me/YourBot/menu
Krok 3 — Dodaj przycisk „Menu” do czatu bota#
Wyślij do BotFather:
/setmenubutton
- Wybierz bota
- Wyślij URL:
https://cenaly.com
- Wprowadź tekst przycisku (np.
Open Menulub📋 Menu)
Teraz po otwarciu czatu z botem na dole ekranu pojawi się przycisk, który otwiera Twoją aplikację.
Krok 4 — Zezwól na domenę#
Wyślij do BotFather:
/setdomain
Wybierz bota i podaj domenę:
cenaly.com
To pozwoli Telegram Web App działać na Twojej domenie i wszystkich jej subdomenach (np. locationid.cenaly.com).
Deep Links — linki do konkretnej restauracji#
Telegram obsługuje parametr startapp, który jest przekazywany do aplikacji przy otwarciu. Użyj go do linków do konkretnej restauracji:
| Link | Co się otworzy |
|---|---|
t.me/YourBot/menu |
Strona główna |
t.me/YourBot/menu?startapp=LOCATION_ID |
Menu konkretnej restauracji |
t.me/YourBot/menu?startapp=LOCATION_ID__ru |
Menu w języku rosyjskim |
t.me/YourBot/menu?startapp=LOCATION_ID__en |
Menu w języku angielskim |
Przykłady#
Jeśli LOCATION_ID Twojej restauracji to lnc2w74z:
https://t.me/YourBot/menu?startapp=lnc2w74z
https://t.me/YourBot/menu?startapp=lnc2w74z__ru
https://t.me/YourBot/menu?startapp=lnc2w74z__en
Przycisk inline z bota#
Jeśli Twój bot wysyła wiadomości do klientów, możesz dodać przycisk inline, który otworzy menu:
Wariant 1 — Przycisk Web App (otwiera się od razu)#
{
"inline_keyboard": [[{
"text": "📋 Otwórz menu",
"web_app": {
"url": "https://LOCATION_ID.cenaly.com/ru"
}
}]]
}
Wariant 2 — Przycisk Deep Link#
{
"inline_keyboard": [[{
"text": "📋 Otwórz menu",
"url": "https://t.me/YourBot/menu?startapp=LOCATION_ID__ru"
}]]
}
Co działa automatycznie#
Po podłączeniu wewnątrz Telegrama automatycznie włączają się:
| Funkcja | Opis |
|---|---|
| 🎨 Motyw | Kolory aplikacji dostosowują się do motywu Telegrama (jasny/ciemny) |
| ◀️ Przycisk „Wstecz” | Natywny przycisk Telegrama pojawia się przy otwarciu karty produktu |
| 📏 Viewport | Aplikacja rozciąga się na cały ekran |
| 🔒 Ochrona przed zamknięciem | Pionowy swipe nie zamknie aplikacji przypadkowo |
| 🌍 Automatyczny język | Język określany jest z profilu Telegrama, jeśli nie jest zadany jawnie |
| 🍪 Cookies | Baner cookie nie jest wyświetlany wewnątrz Telegrama |
Kody QR dla restauracji#
Już istniejące kody QR z URL w formacie https://lnc2w74z.cenaly.com będą działać jak zwykle — przez przeglądarkę.
Dla dodatkowej integracji z Telegramem można umieścić na stołach drugi kod QR z linkiem do bota:
https://t.me/YourBot/menu?startapp=lnc2w74z
Sprawdzanie działania#
- Otwórz link
https://t.me/YourBot/menuna telefonie - Naciśnij Start (jeśli otwierasz bota po raz pierwszy)
- Naciśnij przycisk 📋 Menu na dolnym pasku czatu
- Upewnij się, że aplikacja się otworzyła i załadowała menu
- Spróbuj otworzyć deep link:
https://t.me/YourBot/menu?startapp=LOCATION_ID
Częste problemy#
| Problem | Rozwiązanie |
|---|---|
| Aplikacja się nie otwiera | Sprawdź, czy domena cenaly.com jest dozwolona przez /setdomain |
| Biały ekran | Upewnij się, że Web App URL jest podany jako https://cenaly.com (HTTPS jest wymagane) |
startapp nie działa |
Sprawdź format: LOCATION_ID (bez spacji, znaków specjalnych). Separator dla języka — podwójne podkreślenie __ |
| Motyw się nie stosuje | Telegram Mini App SDK musi być podłączony (zaktualizuj aplikację kliencką) |