Telegram Mini App — Guía paso a paso

¿Qué es?

Telegram Mini App permite a tus clientes abrir el menú digital del restaurante directamente dentro de Telegram, sin necesidad de instalar aplicaciones ni cambiar al navegador. El menú se ve como una parte nativa de Telegram: se adapta al tema del usuario y soporta el botón "Atrás" y gestos.

Ventajas

  • 📱 Dentro de Telegram — el cliente no necesita cambiar al navegador
  • 🎨 Aspecto nativo — colores, fuentes y tema se adaptan a Telegram
  • 🔗 Deep Links — enlace directo al menú de un restaurante específico
  • 🌍 Idioma automático — el idioma se toma de la configuración de Telegram del usuario
  • 🍪 Sin cookies — el banner de cookies no se muestra dentro de Telegram

Inicio rápido

Paso 1 — Crea un bot

Abre @BotFather en Telegram y envía:

/newbot
  1. Introduce el nombre del bot (por ejemplo, Meni Menu Bot)
  2. Introduce el nombre de usuario (por ejemplo, MeniMenuBot) — debe terminar en Bot
  3. Guarda el Bot Token recibido (formato: 123456789:ABCdefGHI...)

💡 Si el bot ya está creado, pasa al Paso 2.

¿Para qué sirve el Bot Token?

El Bot Token es una clave secreta para el control programático del bot a través de Telegram Bot API. Para la configuración básica de Mini App (pasos 2–4) no se requiere — todo se hace a través de BotFather. Pero será necesario si deseas:

  • Enviar mensajes a los clientes — notificaciones sobre el estado del pedido, promociones, mensajes de bienvenida
  • Agregar botones inline en los mensajes del bot (por ejemplo, el botón «📋 Abrir menú» — ver sección abajo)
  • Crear un bot de Telegram para recibir pedidos — el bot puede recibir y procesar pedidos
  • Configurar Webhook — recibir eventos de Telegram (clics en botones, comandos de usuarios)
  • Integrar con CRM o sistema POS — procesamiento automático de pedidos a través del bot

🔒 No publiques el Bot Token — cualquiera que tenga el token puede controlar tu bot. Si el token se compromete, revócalo con el comando /revoke en BotFather.


Paso 2 — Crea una Mini App

Envía a BotFather el comando:

/newapp
  1. Selecciona el bot de la lista
  2. Title — nombre de la aplicación (por ejemplo, Meni)
  3. Description — descripción (por ejemplo, Menú digital del restaurante)
  4. Photo — carga una imagen de 640×640 px (icono de la aplicación)
  5. GIF — animación (opcional). Para omitir, envía /empty
  6. Web App URL — indica la dirección de tu aplicación cliente:
https://meni.ge
  1. Short Name — nombre corto para el enlace (por ejemplo, menu)

Después de esto, tendrás un enlace funcional del tipo:

https://t.me/YourBot/menu

Paso 3 — Añade el botón "Menú" en el chat del bot

Envía a BotFather:

/setmenubutton
  1. Selecciona el bot
  2. Envía la URL:
https://meni.ge
  1. Introduce el texto del botón (por ejemplo, Open Menu o 📋 Menú)

Ahora, al abrir el chat con el bot, aparecerá un botón en la parte inferior de la pantalla que abrirá tu aplicación.


Paso 4 — Permite el dominio

Envía a BotFather:

/setdomain

Selecciona el bot e indica el dominio:

meni.ge

Esto permitirá que Telegram Web App funcione en tu dominio y todos sus subdominios (por ejemplo, locationid.meni.ge).


Deep Links — enlaces a un restaurante específico

Telegram soporta el parámetro startapp, que se pasa a la aplicación al abrirla. Úsalo para enlaces a un restaurante específico:

Enlace Qué se abrirá
t.me/YourBot/menu Página principal
t.me/YourBot/menu?startapp=LOCATION_ID Menú de un restaurante específico
t.me/YourBot/menu?startapp=LOCATION_ID__ru Menú en ruso
t.me/YourBot/menu?startapp=LOCATION_ID__en Menú en inglés

Ejemplos

Si LOCATION_ID de tu restaurante es lnc2w74z:

https://t.me/YourBot/menu?startapp=lnc2w74z
https://t.me/YourBot/menu?startapp=lnc2w74z__ru
https://t.me/YourBot/menu?startapp=lnc2w74z__en

📌 LOCATION_ID es el identificador de tu ubicación en meni.ge. Puedes encontrarlo en el panel de administración o en la URL del tipo https://LOCATION_ID.meni.ge.


Botones inline desde el bot

Si tu bot envía mensajes a los clientes, puedes añadir un botón inline que abrirá el menú:

Opción 1 — Botón Web App (se abre inmediatamente)

{
  "inline_keyboard": [[{
    "text": "📋 Abrir menú",
    "web_app": {
      "url": "https://LOCATION_ID.meni.ge/ru"
    }
  }]]
}

Opción 2 — Botón Deep Link

{
  "inline_keyboard": [[{
    "text": "📋 Abrir menú",
    "url": "https://t.me/YourBot/menu?startapp=LOCATION_ID__ru"
  }]]
}

Qué funciona automáticamente

Después de la conexión dentro de Telegram, se activan automáticamente:

Función Descripción
🎨 Tema Los colores de la aplicación se adaptan al tema de Telegram (claro/oscuro)
◀️ Botón "Atrás" El botón nativo de Telegram aparece al abrir la tarjeta de un producto
📏 Viewport La aplicación se extiende a pantalla completa
🔒 Protección contra cierre Un deslizamiento vertical no cerrará la aplicación accidentalmente
🌍 Idioma automático El idioma se determina desde el perfil de Telegram, si no se especifica explícitamente
🍪 Cookies El banner de cookies no se muestra dentro de Telegram

Códigos QR para restaurantes

Los códigos QR existentes con URL del tipo https://lnc2w74z.meni.ge seguirán funcionando como de costumbre, a través del navegador.

Para una integración adicional con Telegram, puedes colocar en las mesas un segundo código QR con el enlace al bot:

https://t.me/YourBot/menu?startapp=lnc2w74z

Comprobación de funcionamiento

  1. Abre el enlace https://t.me/YourBot/menu en el teléfono
  2. Pulsa Start (si abres el bot por primera vez)
  3. Pulsa el botón 📋 Menú en la barra inferior del chat
  4. Asegúrate de que la aplicación se abrió y cargó el menú
  5. Intenta abrir el deep link: https://t.me/YourBot/menu?startapp=LOCATION_ID

Problemas comunes

Problema Solución
La aplicación no se abre Verifica que el dominio meni.ge esté permitido a través de /setdomain
Pantalla blanca Asegúrate de que la URL de la Web App esté indicada como https://meni.ge (HTTPS es obligatorio)
startapp no funciona Verifica el formato: LOCATION_ID (sin espacios, caracteres especiales). El separador para el idioma es doble guion bajo __
El tema no se aplica El SDK de Telegram Mini App debe estar conectado (actualiza la aplicación cliente)

Enlaces útiles