Mini App do Telegram: o que é e quando vale para vender
O Mini App do Telegram é um site seu aberto dentro do app. Veja o que o Telegram entrega junto, o que passa a ser seu, e quando o bot ganha.

📚 Este artigo faz parte do guia Como evitar banimento de bot no Telegram.
Você abre um bot de vendas conhecido, toca em um botão e, em vez da próxima mensagem, aparece uma tela cheia com catálogo, imagens e carrinho, sem sair do Telegram. Esse é o Mini App do Telegram, e a pergunta que ele levanta em quem vende acesso a conteúdo é direta: isso é um recurso novo do Telegram que eu deveria estar usando?
Resposta primeiro: não é um recurso do Telegram, é um site seu aberto dentro do aplicativo. O Telegram carrega a URL que você informa e entrega junto uma única coisa que o navegador não entregaria: um bloco de dados assinado dizendo quem está do outro lado. Todo o resto, hospedagem, domínio, certificado, código e manutenção, continua na sua conta.
Este artigo explica o que o Mini App é de fato, o que vem junto e o que não vem, em quais caminhos de abertura o crachá assinado chega (e em quais ele chega vazio), o que muda de dono quando você adota esse formato, e em que situação o bot de conversa simples continua sendo a escolha certa.
O que é um Mini App do Telegram
Resposta primeiro: é uma página web em JavaScript, hospedada por você, que o Telegram abre em uma janela dentro do app.
A documentação oficial descreve os Mini Apps como interfaces feitas em JavaScript, lançadas dentro do Telegram, que podem substituir por completo qualquer site. A ligação técnica é modesta: você coloca o script telegram-web-app.js na tag head da sua página, antes de qualquer outro script, e passa a ter disponível um objeto window.Telegram.WebApp com informações do usuário, do tema e da plataforma.
Vale insistir nisso porque a confusão é comum: o Mini App não roda no servidor do Telegram, não é publicado numa loja de aplicativos, não recebe hospedagem gratuita. É o seu site. O Telegram é o navegador que o abre, e um navegador com poderes extras, capaz de dizer para a página quem é o usuário logado e de fechar a janela quando o fluxo termina.
O caso de borda que ajuda a entender: se você já tem uma página de checkout no ar, ela pode virar Mini App praticamente sem reescrita. Se você não tem página nenhuma, adotar Mini App significa passar a ter um site, com tudo que isso implica.
O que o Telegram entrega junto: um crachá assinado
Resposta primeiro: o diferencial real do formato é a identificação do usuário sem tela de login.
Quando o Mini App abre, o objeto WebApp traz um campo chamado initData: uma cadeia de texto com identificador do usuário, nome, nome de usuário, idioma, um carimbo de tempo (auth_date) e uma assinatura (hash). É o crachá. Em vez de pedir e-mail e senha, ou de mandar o comprador copiar um código do bot para o site, a página já sabe quem chegou.
Para quem vende acesso, isso resolve um problema concreto e caro: amarrar o pagamento à pessoa certa. Sem esse elo, o fluxo precisa de um passo manual, e passo manual é onde nasce o "paguei e não entrou", tratado em pagou e não entrou no grupo. Com o crachá, o identificador do Telegram viaja junto com a compra do começo ao fim.
O contra-argumento honesto: um bot de conversa comum já sabe quem é o usuário, porque toda mensagem chega com o identificador de quem falou. O crachá do Mini App não cria uma capacidade nova, ele estende essa capacidade para dentro de uma página web. Se o seu fluxo inteiro cabe no chat, você não está perdendo nada por não ter Mini App.
O crachá não chega em todos os caminhos de abertura
Resposta primeiro: o mesmo Mini App, aberto por caminhos diferentes, recebe dados diferentes, e em dois deles não recebe nada.
Esse é o detalhe mecânico que mais derruba implementação na prática, porque nada na tela indica que aconteceu. A documentação diz, na descrição do objeto WebAppInitData, que ele fica vazio quando o Mini App é aberto por botão de teclado ou pelo modo inline. São exatamente dois dos sete caminhos que a documentação lista.
| Caminho de abertura | Chega o crachá? | Observação |
|---|---|---|
| Botão inline na mensagem | Sim | Traz também o query_id |
| Botão de menu do bot | Sim | Igual ao inline, atalho fixo |
| Link direto do app | Sim | Sabe o tipo do chat atual |
| Menu de anexo | Sim | Traz o parâmetro de partida |
| Botão no perfil do bot | Sim | Só para Mini App principal |
| Botão de teclado | Não | Devolve dado por sendData |
| Modo inline | Não | Sem acesso ao chat |
Os dois caminhos sem crachá não são defeito, são desenho. O botão de teclado existe para casos em que o app é só uma interface de entrada: a documentação explica que o resultado volta para o bot por Telegram.WebApp.sendData, como texto em uma mensagem de serviço, e que isso permite ao bot responder sem falar com nenhum servidor externo. É ótimo para um seletor de datas ou uma roleta, e péssimo para um checkout, porque o dado que volta é texto que o usuário controla.
O modo inline é ainda mais restrito: a documentação registra que Mini Apps inline não têm acesso ao chat, não podem ler mensagens nem enviar novas em nome do usuário.
Regra operacional que sai daí: para fluxo de venda, abra o Mini App por botão inline, por botão de menu ou por link direto. Se você abrir por botão de teclado, vai precisar reintroduzir uma identificação manual, e terá recriado o problema que o formato existe para resolver.
Conferir a assinatura é o passo que quase todo mundo pula
Resposta primeiro: o crachá só vale depois de validado no seu servidor, e a documentação avisa isso duas vezes.
O objeto WebApp expõe dois campos parecidos e com destinos opostos. O initData é a cadeia crua, própria para validação. O initDataUnsafe é o mesmo conteúdo já quebrado em objeto, cômodo de usar, e vem marcado com um aviso explícito de que os dados dele não devem ser considerados confiáveis. O texto manda usar apenas o initData, no servidor do bot, e apenas depois de validado.
A validação é aritmética simples e roda em milissegundos. Você monta a cadeia de conferência com os campos recebidos em ordem alfabética, calcula a assinatura HMAC-SHA-256 dessa cadeia usando como chave secreta a assinatura HMAC-SHA-256 do token do seu bot com a palavra WebAppData, e compara com o hash que veio. Se bater, o dado é do Telegram. A documentação recomenda conferir também o auth_date para não aceitar um crachá antigo reapresentado depois.
Existe um segundo caminho, mais recente, para quem precisa que um terceiro confira sem receber o token do bot: o campo signature, uma assinatura Ed25519 verificável com a chave pública que o Telegram publica na própria página. Isso importa se você usa um construtor de Mini App de terceiro, porque entregar o token do bot para um fornecedor é entregar o controle do bot inteiro, assunto vizinho de permissões do bot no Telegram.
Por que isso não é preciosismo: sem validação, o initData é apenas texto numa requisição HTTP, e qualquer pessoa consegue enviar uma requisição afirmando ser outro identificador. O resultado prático de pular esse passo é um checkout que aceita liberar acesso para quem digitar o número certo.
O que muda de dono quando você adota o formato
Resposta primeiro: a interface melhora, e a lista de coisas que você mantém no ar mais que dobra.
As quatro peças novas não são hipotéticas. O site precisa estar no ar quando o comprador toca no botão, e uma janela em branco dentro do Telegram converte pior do que uma mensagem simples. O domínio precisa de certificado válido, porque o Telegram abre a página em contexto seguro. O código de front-end precisa acompanhar mudanças de versão da plataforma, já que boa parte dos recursos é marcada por versão mínima da Bot API. E a validação precisa rodar em toda requisição que faz algo, não só na primeira.
Vale a comparação honesta com o outro extremo: quem usa uma plataforma pronta não mantém nenhuma dessas peças, e paga por isso na taxa. O custo de manter estrutura própria está detalhado em quanto custa manter um bot próprio, e o Mini App entra ali como mais uma camada, não como substituto.
Pagamento dentro do Mini App: a regra dos Stars
Resposta primeiro: a fatura nativa que o Mini App abre é feita para Telegram Stars, e isso decide muita coisa para quem vende no Brasil.
O Mini App consegue abrir a interface de pagamento do Telegram sem sair da janela, e a plataforma já suporta assinaturas pagas em Stars. Só que a documentação de pagamentos para bens digitais é literal: tratando-se de bens e serviços digitais, todas as transações devem ser feitas em Telegram Stars, com a etiqueta de moeda XTR. Acesso a grupo fechado, pack e assinatura de conteúdo são bens digitais.
Na prática, isso significa que um Mini App que use a fatura nativa está optando pela economia dos Stars, com tudo que ela carrega: o comprador precisa ter saldo, a compra do saldo passa pelas lojas de aplicativo em boa parte dos casos, e o dinheiro faz um percurso maior até chegar na sua conta. A conta completa desse percurso está em Telegram Stars ou Pix.
Nada impede que o Mini App seja apenas a vitrine e o pagamento aconteça por outro trilho, com o Pix gerado no seu backend. Aí a fatura nativa não entra na história, e o Mini App volta a ser o que ele é na essência: uma página sua com um crachá confiável na entrada.
Quando o Mini App vale, e quando o bot de conversa ganha
Resposta primeiro: o Mini App compensa quando existe escolha visual a fazer; o bot ganha quando o caminho é curto e único.
Vale quando o catálogo tem mais de um punhado de itens, com foto, e o comprador precisa comparar antes de decidir. Vale quando a mesma loja precisa existir também fora do Telegram, porque aí o site já teria que ser mantido de qualquer jeito. Vale quando a interface precisa de algo que o chat não faz bem: filtro, busca, calendário, seleção múltipla.
Não vale quando o produto é um só e a decisão é entrar ou não entrar. Vender acesso a um grupo fechado costuma caber em três toques, e um fluxo de três botões, descrito em fluxo de compra no bot, converte melhor do que uma tela que precisa carregar. Também não vale quando você ainda está validando o produto: colocar um site no caminho antes de ter demanda é adiantar custo sem adiantar receita.
Um critério prático para decidir sem achismo: conte quantas escolhas o comprador precisa fazer entre o "quero" e o "paguei". Uma ou duas, fica no chat. Quatro ou mais, com comparação visual no meio, o Mini App começa a pagar o próprio custo.
Erros comuns
- Achar que o Telegram hospeda o app. Ele abre a URL que você informa, e o site é seu, com custo e disponibilidade seus.
- Usar o
initDataUnsafeno servidor. É o campo que a própria documentação marca como não confiável. - Validar só na abertura. A conferência precisa acompanhar toda requisição que libera algo, não apenas a primeira tela.
- Abrir o app por botão de teclado num fluxo de venda. O crachá chega vazio, e o dado de volta é texto controlado pelo usuário.
- Entregar o token do bot para um construtor de terceiro. Existe o caminho de assinatura Ed25519 justamente para evitar isso.
- Assumir que a fatura nativa aceita Pix. Para bem digital, a regra publicada é Stars, com etiqueta XTR.
- Trocar um fluxo que converte por uma tela mais bonita. Interface nova adiciona um carregamento entre a intenção e o pagamento.
Conclusão
O Mini App do Telegram é uma boa peça de engenharia com um marketing enganoso: ele parece um recurso da plataforma e é, na verdade, a sua própria página com uma porta de entrada privilegiada. Essa porta é valiosa, porque resolve identificação sem login, mas ela só vale se a assinatura for conferida, e só existe em cinco dos sete caminhos de abertura.
Próximo passo concreto: antes de considerar o formato, conte as escolhas do seu comprador entre a intenção e o pagamento. Se der uma ou duas, invista o tempo em encurtar o fluxo que você já tem, não em construir um site. Se der quatro ou mais, comece pelo caminho de abertura por botão inline e pela validação no servidor, nessa ordem, porque sem elas o resto não se sustenta.
Se o que você vende é acesso a um grupo fechado, o caminho curto continua sendo o melhor negócio: na Afroditte o comprador toca, paga por Pix e entra, com taxa fixa de R$ 0,69 por transação, sem mensalidade e com o dinheiro caindo direto na sua conta. Dá para criar a sua conta e testar o fluxo inteiro antes de escrever uma linha de código.
Perguntas frequentes
O que é um Mini App do Telegram?
É uma página web sua, hospedada por você, que o Telegram abre dentro do próprio aplicativo em vez de mandar o usuário para o navegador. A documentação oficial descreve os Mini Apps como interfaces em JavaScript lançadas dentro do Telegram, capazes de substituir por completo qualquer site.
Quem hospeda o Mini App?
Você. O Telegram só abre a URL que você informa. Servidor, domínio, certificado, disponibilidade e custo de manutenção continuam sendo seus, exatamente como em qualquer site.
O Mini App diz quem é o usuário que abriu?
Diz, em alguns caminhos de abertura, por meio de um bloco de dados assinado chamado initData. Ele traz identificador, nome, nome de usuário e idioma, junto de uma assinatura que o seu servidor pode conferir. Mas ele chega vazio quando o app é aberto por botão de teclado ou pelo modo inline.
Dá para confiar nos dados que o Mini App recebe?
Só depois de conferir a assinatura no seu servidor. A própria documentação marca o campo initDataUnsafe com um aviso dizendo que os dados dele não devem ser considerados confiáveis, e manda usar apenas o initData validado.
Como a assinatura é conferida?
Comparando o campo hash com a assinatura HMAC-SHA-256 da cadeia de campos, usando como chave secreta a assinatura HMAC-SHA-256 do token do bot com a palavra WebAppData. Existe também um caminho para terceiros conferirem por assinatura Ed25519, sem precisar do token.
Posso cobrar em Pix dentro do Mini App?
A interface de fatura nativa do Telegram, chamada pelo Mini App, não serve para isso: a documentação de pagamentos é expressa em dizer que, tratando-se de bens e serviços digitais, todas as transações devem ser feitas em Telegram Stars, com a etiqueta de moeda XTR. Um fluxo em Pix roda fora dessa interface.
Mini App substitui o bot de conversa?
Não substitui o bot: o Mini App é aberto a partir de um bot e continua dependendo dele para conversar, confirmar e liberar acesso. O que ele substitui é a interface, trocando a sequência de perguntas e botões por uma tela só.
Vale a pena para quem vende acesso a grupo fechado?
Na maioria dos casos, não no começo. A venda de acesso tem poucas escolhas, e um fluxo de três botões resolve. O Mini App começa a compensar quando o catálogo cresce, quando existe escolha visual a fazer ou quando o mesmo produto precisa viver também fora do Telegram.
Pronto para vender no automático?
Monte seu funil no Telegram e receba com PIX na hora. R$ 0,69 por transação, sem mensalidade.
Criar contaContinue lendo
Bot de vendasPermissões do bot no Telegram: quais dar e quais recusar
Permissões do bot no Telegram: a documentação oficial lista 18 direitos de administrador. Veja quais o trabalho de vender exige e qual nunca conceder.
Bot de vendasEnviar arquivo grande no Telegram: o limite que trava o pack
Você envia até 2 GB por arquivo no Telegram, mas o bot só envia 50 MB. Veja de quem é cada teto e como montar a entrega do pack sem travar.