Telegram Mini App — Guide étape par étape
Qu'est-ce que c'est ?#
Telegram Mini App permet à vos clients d'ouvrir le menu numérique du restaurant directement dans Telegram — sans installer d'applications et sans passer par le navigateur. Le menu apparaît comme une partie native de Telegram : il s'adapte au thème de l'utilisateur et prend en charge le bouton « Retour » et les gestes.
Avantages#
- 📱 À l'intérieur de Telegram — le client n'a pas besoin de passer au navigateur
- 🎨 Apparence native — les couleurs, polices et thème s'adaptent à Telegram
- 🔗 Liens profonds — lien direct vers le menu d'un restaurant spécifique
- 🌍 Langue automatique — la langue est prise des paramètres Telegram de l'utilisateur
- 🍪 Sans cookies — la bannière de cookies ne s'affiche pas à l'intérieur de Telegram
Démarrage rapide#
Étape 1 — Créez un bot#
Ouvrez @BotFather dans Telegram et envoyez :
/newbot
- Entrez le nom du bot (par exemple,
Cenaly Menu Bot) - Entrez le nom d'utilisateur (par exemple,
MeniMenuBot) — doit se terminer parBot - Sauvegardez le Jeton du Bot reçu (format :
123456789:ABCdefGHI...)
Pourquoi le Jeton du Bot est-il nécessaire ?#
Le Jeton du Bot est une clé secrète pour la gestion programmatique du bot via Telegram Bot API. Pour la configuration de base de Mini App (étapes 2–4), il n'est pas nécessaire — tout se fait via BotFather. Mais il sera nécessaire si vous souhaitez :
- Envoyer des messages aux clients — notifications sur le statut des commandes, promotions, messages de bienvenue
- Ajouter des boutons inline dans les messages du bot (par exemple, un bouton « 📋 Ouvrir le menu » — voir la section ci-dessous)
- Créer un bot Telegram pour la prise de commandes — le bot peut recevoir et traiter les commandes
- Configurer un Webhook — recevoir des événements de Telegram (clics sur les boutons, commandes des utilisateurs)
- Intégrer avec un CRM ou un système POS — traitement automatique des commandes via le bot
Étape 2 — Créez une Mini App#
Envoyez la commande suivante à BotFather :
/newapp
- Sélectionnez le bot dans la liste
- Titre — nom de l'application (par exemple,
Cenaly) - Description — description (par exemple,
Menu numérique de restaurant) - Photo — téléchargez une image 640×640 px (icône de l'application)
- GIF — animation (facultatif). Pour passer, envoyez
/empty - URL de l'application Web — indiquez l'adresse de votre application cliente :
https://cenaly.com
- Nom court — nom court pour le lien (par exemple,
menu)
Après cela, vous aurez un lien fonctionnel de ce type :
https://t.me/YourBot/menu
Étape 3 — Ajoutez un bouton « Menu » dans le chat du bot#
Envoyez à BotFather :
/setmenubutton
- Sélectionnez le bot
- Envoyez l'URL :
https://cenaly.com
- Entrez le texte du bouton (par exemple,
Open Menuou📋 Menu)
Désormais, lors de l'ouverture du chat avec le bot, un bouton apparaîtra en bas de l'écran pour ouvrir votre application.
Étape 4 — Autorisez le domaine#
Envoyez à BotFather :
/setdomain
Sélectionnez le bot et indiquez le domaine :
cenaly.com
Cela autorisera l'application Web Telegram à fonctionner sur votre domaine et tous ses sous-domaines (par exemple, locationid.cenaly.com).
Liens profonds — liens vers un restaurant spécifique#
Telegram prend en charge le paramètre startapp, qui est transmis à l'application lors de l'ouverture. Utilisez-le pour les liens vers un restaurant spécifique :
| Lien | Ce qui s'ouvrira |
|---|---|
t.me/YourBot/menu |
Page d'accueil |
t.me/YourBot/menu?startapp=LOCATION_ID |
Menu d'un restaurant spécifique |
t.me/YourBot/menu?startapp=LOCATION_ID__ru |
Menu en russe |
t.me/YourBot/menu?startapp=LOCATION_ID__en |
Menu en anglais |
Exemples#
Si LOCATION_ID de votre restaurant est lnc2w74z :
https://t.me/YourBot/menu?startapp=lnc2w74z
https://t.me/YourBot/menu?startapp=lnc2w74z__ru
https://t.me/YourBot/menu?startapp=lnc2w74z__en
Boutons inline depuis le bot#
Si votre bot envoie des messages aux clients, vous pouvez ajouter un bouton inline qui ouvrira le menu :
Variante 1 — Bouton Web App (s'ouvre immédiatement)#
{
"inline_keyboard": [[{
"text": "📋 Ouvrir le menu",
"web_app": {
"url": "https://LOCATION_ID.cenaly.com/ru"
}
}]]
}
Variante 2 — Bouton de lien profond#
{
"inline_keyboard": [[{
"text": "📋 Ouvrir le menu",
"url": "https://t.me/YourBot/menu?startapp=LOCATION_ID__ru"
}]]
}
Ce qui fonctionne automatiquement#
Après la connexion à l'intérieur de Telegram, les fonctionnalités suivantes s'activent automatiquement :
| Fonction | Description |
|---|---|
| 🎨 Thème | Les couleurs de l'application s'adaptent au thème Telegram (clair/sombre) |
| ◀️ Bouton « Retour » | Le bouton natif de Telegram apparaît lors de l'ouverture de la fiche produit |
| 📏 Viewport | L'application s'étend sur tout l'écran |
| 🔒 Protection contre la fermeture | Un balayage vertical ne fermera pas l'application par accident |
| 🌍 Langue automatique | La langue est déterminée à partir du profil Telegram, si elle n'est pas spécifiée explicitement |
| 🍪 Cookies | La bannière de cookies ne s'affiche pas à l'intérieur de Telegram |
QR codes pour les restaurants#
Les QR codes existants avec une URL de type https://lnc2w74z.cenaly.com continueront de fonctionner normalement — via le navigateur.
Pour une intégration supplémentaire avec Telegram, vous pouvez placer un deuxième QR code sur les tables avec un lien vers le bot :
https://t.me/YourBot/menu?startapp=lnc2w74z
Vérification du bon fonctionnement#
- Ouvrez le lien
https://t.me/YourBot/menusur votre téléphone - Appuyez sur Start (si vous ouvrez le bot pour la première fois)
- Appuyez sur le bouton 📋 Menu dans la barre inférieure du chat
- Assurez-vous que l'application s'est ouverte et a chargé le menu
- Essayez d'ouvrir le lien profond :
https://t.me/YourBot/menu?startapp=LOCATION_ID
Problèmes fréquents#
| Problème | Solution |
|---|---|
| L'application ne s'ouvre pas | Vérifiez que le domaine cenaly.com est autorisé via /setdomain |
| Écran blanc | Assurez-vous que l'URL de l'application Web est spécifiée comme https://cenaly.com (HTTPS obligatoire) |
startapp ne fonctionne pas |
Vérifiez le format : LOCATION_ID (sans espaces, caractères spéciaux). Le séparateur pour la langue est un double soulignement __ |
| Le thème ne s'applique pas | Le SDK Telegram Mini App doit être connecté (mettez à jour l'application cliente) |