Índice
Obtendo suas credenciais
Autenticação e comparação
Limites e confiabilidade
Guia da API do Telegram
Como Obter Acesso à API do Telegram: api_id, api_hash e Tokens de Bot
O API do Telegram não é uma API, são três: a Bot API, a Client API (MTProto) e a Gateway API. Este guia mostra exatamente onde obter suas credenciais, o que
api_id, api_hash e um token de bot do BotFather a cada desbloqueio, e a terceira opção que a maioria dos guias pula: conectar uma conta de usuário existente do Telegram por meio do Unipile sem escrever uma única linha de código MTProto.Conectar uma conta de usuário existente do Telegram
// Sem api_id / api_hash para gerenciar você mesmo
const link = await unipilar.Autenticação Hospedada.create({
provedores ["TELEGRAMA"],
expiraEm: "2026-12-31T23:59:59.000Z"
});
// O usuário faz login com código QR ou com sua sessão
// O status da conta torna-se "conectado"conta.status: "conectado"
Começando
As 3 APIs do Telegram e qual delas você precisa
A maioria dos guias fala sobre "a API do Telegram" como se fosse uma coisa única. Não é. O Telegram oferece três APIs distintas, cada uma com suas próprias credenciais, suas próprias regras e seus próprios limites. Escolher a errada é a maneira mais rápida de desperdiçar uma semana construindo algo na porta errada.
API de Bot
Você precisa de um bot automatizado que reaja a comandos e mensagens?
Necessidades: um token de bot do BotFather
- API HTTP, nenhum conhecimento de MTProto necessário
- Atua como uma conta de bot, não como um humano
- Grátis para usar
API do Cliente (MTProto)
Você precisa construir um cliente completo que atue como um usuário real do Telegram?
Necessidades: api_id + api_hash de my.telegram.org
- Protocolo MTProto bruto, você implementa o cliente
- Atua como uma conta de usuário real
- Gratuito, um api_id por número de telefone
Gateway API
Você só precisa enviar códigos de verificação para autenticação de número de telefone?
Necessidades: uma conta de Gateway API
- Apenas entrega de OTP, sem mensagens gerais
- Lançado separadamente da API de Bot e da API de Cliente
- Fora do escopo deste guia
API do Cliente / MTProto
Obtenha suas credenciais da API do Telegram: api_id e api_hash
Este é o caminho real para "obter a API do Telegram" que a maioria das pessoas procura e nunca encontra documentado de forma clara: my.telegram.org, seção Ferramentas de desenvolvimento de API. Aqui está a caminhada exata, de ponta a ponta.
1
Vá para my.telegram.org e faça o login
Você precisa de uma conta ativa do Telegram, verificada com o mesmo número de telefone com o qual irá se autenticar. Insira seu número de telefone e o código de login enviado para o seu aplicativo Telegram.
Você precisa de uma conta ativa do Telegram, verificada com o mesmo número de telefone com o qual irá se autenticar. Insira seu número de telefone e o código de login enviado para o seu aplicativo Telegram.
2
Abra "Ferramentas de desenvolvimento de API"
Esta seção fica nas configurações da sua conta em my.telegram.org. É o único lugar oficial onde o Telegram emite credenciais de API de Cliente.
Esta seção fica nas configurações da sua conta em my.telegram.org. É o único lugar oficial onde o Telegram emite credenciais de API de Cliente.
3
Preencha o formulário do aplicativo
Título do aplicativo, nome curto e plataforma. Esses campos descrevem o aplicativo que usará o MTProto, eles não precisam corresponder a um nome de produto público.
Título do aplicativo, nome curto e plataforma. Esses campos descrevem o aplicativo que usará o MTProto, eles não precisam corresponder a um nome de produto público.
4
Obtenha seu api_id e api_hash
O Telegram emite o par imediatamente.
O Telegram emite o par imediatamente.
api_id é um identificador numérico, api_hash é o secret de correspondência. Armazene ambos como qualquer outra credencial, eles autenticam seu cliente MTProto nos servidores do Telegram. Uma restrição para planejar em torno
Um número de telefone pode conter apenas um api_id. Se você precisar de vários aplicativos ou vários ambientes, precisará de vários números de telefone, ou reutilizar o mesmo api_id em toda a sua base de código. Não há uma maneira de autoatendimento para emitir um segundo api_id no mesmo número.
Um número de telefone pode conter apenas um api_id. Se você precisar de vários aplicativos ou vários ambientes, precisará de vários números de telefone, ou reutilizar o mesmo api_id em toda a sua base de código. Não há uma maneira de autoatendimento para emitir um segundo api_id no mesmo número.
# Do site my.telegram.org, ferramentas de desenvolvimento de API
TELEGRAM_API_ID=1234567
TELEGRAM_API_HASH=0123456789abcdef0123456789abcdef
#: Um api_id por número de telefone; armazene-o com segurançaAPI de Bot
Obtenha um token de bot através do BotFather
O outro caminho para a API do Telegram não precisa de conta em my.telegram.org, nem api_id, nem api_hash. Ele roda inteiramente dentro de um chat com o próprio bot do Telegram, @BotFather.
1
Abra um chat com o @BotFather
Procure por "BotFather" no Telegram. É o bot oficial que o Telegram usa para emitir e gerenciar todos os outros bots na plataforma.
Procure por "BotFather" no Telegram. É o bot oficial que o Telegram usa para emitir e gerenciar todos os outros bots na plataforma.
2
Enviar
O BotFather guia você na criação de um novo bot diretamente no chat, sem painel de controle e sem formulário.
/novobotO BotFather guia você na criação de um novo bot diretamente no chat, sem painel de controle e sem formulário.
3
Escolha um nome e um nome de usuário
O nome de exibição pode ser qualquer um. O nome de usuário deve ser único e terminar em
O nome de exibição pode ser qualquer um. O nome de usuário deve ser único e terminar em
robô, por exemplo meu_bot_de_suporte. 4
Copiar o token do bot
O BotFather responde com o seu token imediatamente. Mantenha-o em segredo, ele autentica todas as chamadas da API do Bot que o seu bot fizer.
O BotFather responde com o seu token imediatamente. Mantenha-o em segredo, ele autentica todas as chamadas da API do Bot que o seu bot fizer.
A API atual do Bot é versão 10.2, publicado em 14 de julho de 2026 (fonte: core.telegram.org/bots/api). Cada token de bot funciona com esta mesma API HTTP versionada.
# Teste o token do seu bot na API do Bot
enrolar "https://api.telegram.org/bot/getMe"
# – Exemplo de resposta
{
"ok verdade,
"resultado {
"id 123456789,
"é_bot": verdade,
"nome de usuário": "meu_bot_de_suporte"
}
}Comparação
O que cada API do Telegram realmente permite que você faça
Quatro maneiras de interagir com o Telegram, quatro conjuntos de permissões muito diferentes. Eis a que cada uma se conecta, de quais credenciais precisa e onde ela para.
| Critérios | API de Bot | API do Cliente (MTProto) | Gateway API | Unipile |
|---|---|---|---|---|
| O que você conecta | Uma conta de robô | Uma conta de usuário real para a qual você cria o cliente | Nada, apenas entrega de OTP | Uma conta de usuário real existente |
| Credenciais necessárias | Token do bot do BotFather | api_id + api_hash de my.telegram.org | Conta de API do Gateway | Login por QR code ou Autenticação Hospedada (provedores: "TELEGRAM") |
| Envia/recebe como uma conta humana | Não, atua como um bot | Sim | Não | Sim |
| Implementação do MTProto | Não necessário, apenas HTTP | Você mesmo constrói isso | Não se aplica | Gerenciado pela Unipile |
| Gerenciamento de participantes do grupo | Limitado às permissões do bot | Completo, se você construir | Não se aplica | Obter, adicionar, remover participantes |
| Complexidade da configuração | Baixa | Oi, você possui o cliente MTProto | Baixa | Baixo, sem MTProto para manter |
| Custo | Grátis | Grátis | Não coberto neste guia | Incluído no seu plano Unipile |
| Risco de banimento por abuso | Revogação de token | Banimento permanente por flooding/spam | Não se aplica | Mitigado com a orientação de limite de taxa da Unipile |
API de Bot
ConectaUma conta de robô
CredenciaisToken do bot (BotFather)
Aja como humanoNão
ConfiguraçãoBaixa
CustoGrátis
API do Cliente (MTProto)
ConectaUma conta de usuário real (cliente DIY)
Credenciaisapi_id + api_hash
Aja como humanoSim
ConfiguraçãoOi, MTProto auto-hospedado
CustoGrátis
Gateway API
ConectaNada, apenas entrega de OTP
CredenciaisConta de API do Gateway
ConfiguraçãoBaixa
EscopoFora deste guia
Unipile
ConectaUma conta de usuário real existente
CredenciaisQR code ou Autenticação Hospedada
Aja como humanoSim
ConfiguraçãoBaixo, sem MTProto para manter
GruposObter / adicionar / remover participantes
O que o Unipile não cobre no Telegram
Canais, comunidades e transmissões, tema do chat, chats secretos, anexos de contato / localização / enquete / evento, administração de grupos (aprovar, promover, revogar), exclusão de chats, arquivamento e chamadas de voz ou vídeo. O Unipile conecta a conta, ele não replica todos os recursos do cliente Telegram.
Canais, comunidades e transmissões, tema do chat, chats secretos, anexos de contato / localização / enquete / evento, administração de grupos (aprovar, promover, revogar), exclusão de chats, arquivamento e chamadas de voz ou vídeo. O Unipile conecta a conta, ele não replica todos os recursos do cliente Telegram.
Preços e limites
É de graça. É aqui que o sistema falha.
Tanto a Bot API quanto a API do Telegram (MTProto) são de uso gratuito. Não há fatura, taxa por mensagem ou nível pago que limite credenciais. O detalhe não é o dinheiro, é o comportamento.
Inundações, spam e contadores falsos
O envio rápido demais, o envio de mensagens em massa para usuários não relacionados ou a inflação artificial de contadores de visualizações e reações são a maneira mais rápida de acionar um banimento permanente, tanto na API de Bot quanto na API de Cliente.
O envio rápido demais, o envio de mensagens em massa para usuários não relacionados ou a inflação artificial de contadores de visualizações e reações são a maneira mais rápida de acionar um banimento permanente, tanto na API de Bot quanto na API de Cliente.
Clientes não oficiais são vigiados
Qualquer cliente criado com seu próprio api_id e api_hash é colocado automaticamente sob observação pelos sistemas do Telegram. Padrões incomuns são sinalizados mais rapidamente do que nos aplicativos oficiais.
Qualquer cliente criado com seu próprio api_id e api_hash é colocado automaticamente sob observação pelos sistemas do Telegram. Padrões incomuns são sinalizados mais rapidamente do que nos aplicativos oficiais.
As próprias orientações da Unipile para passar despercebido Construa fluxos de mensagens mais seguros com o Unipile
Evite contas do Telegram recém-criadas para automação, aqueça-as como qualquer outro canal
Aumente o volume de mensagens progressivamente em vez de começar com a vazão máxima
Mantenha pelo menos 10 a 20 segundos entre as mensagens enviadas pela mesma conta
A abordagem Unipile
A terceira maneira: conectar uma conta existente do Telegram
Nem a API do Bot nem um cliente MTProto construído por você mesmo. A API do Telegram da Unipile conecta um conta de usuário existente do Telegram, através do próprio Telegram Dispositivos recurso, o mesmo mecanismo que permite usar o Telegram em um novo celular ou aplicativo para desktop.
O login ocorre através de um Leitura de QR code, ou através Autenticação hospedada com
provedores: "TELEGRAM" se você quiser um fluxo de conexão de marca própria dentro do seu próprio produto. Uma vez conectado, a conta se comporta como ela mesma: não é um bot e não precisou de um api_id ou de um api_hash emitidos por my.telegram.org.Isso importa porque remove as duas partes mais difíceis de construir na API do Telegram por conta própria: implementar o MTProto e gerenciar sessões e reconexões quando um dispositivo é removido. Se o dispositivo Unipile for removido das sessões do Telegram da conta, o Unipile detecta isso e o status da conta simplesmente muda para
desconectado, pronto para ser reconectado.Envie e receba mensagens diretas como a conta real
Gerenciar participantes do grupo: obter, adicionar, remover
Sem canais, comunidades ou transmissões
Sem administração de grupos (aprovar, promover, revogar), sem chamadas de voz ou vídeo
FornecedorTelegram
Método de autenticaçãoQR code / Autenticação Hospedada
Statusconectado
Dispositivo removido do Telegramdesconectado
Ressincronização suportadaSim
Casos de uso
Casos de uso de CRM e ATS para a API do Telegram
Assim que uma conta do Telegram é conectada como uma conta real vinculada, e não como um bot, dois casos de uso aparecem repetidamente entre os clientes da Unipile: equipes de vendas centralizando conversas e recrutadores alcançando candidatos onde eles já estão.
CRM: unificar conversas do Telegram
As equipes de vendas e suporte que já conversam com leads e clientes no Telegram não querem um aplicativo separado para isso. Ao conectar a conta por meio do Unipile, cada conversa do Telegram cai na mesma caixa de entrada que as conversas de e-mail, LinkedIn ou WhatsApp, vinculada ao registro de contato correto no CRM.
ATS: alcance candidatos no Telegram
Em regiões onde o Telegram é um canal de mensagens principal, os recrutadores conectam sua própria conta do Telegram para alcançar os candidatos diretamente do ATS, manter todo o histórico de mensagens no perfil do candidato e transferir conversas entre recrutadores sem perder o contexto.
API do Cliente / MTProto
Entrar com um código QR: o fluxo de Dispositivos, passo a passo
O login por QR code é o mecanismo por trás do Dispositivos recurso, o mesmo que você usa para adicionar o Telegram Desktop ou o Telegram Web à sua conta. É também o fluxo que o Unipile opera em seu nome quando ele conecta uma conta de usuário existente do Telegram. Se você o construir por conta própria, estará implementando um handshake bidirecional entre o dispositivo que já confia na conta e o dispositivo que está pedindo para entrar nela, e não uma única chamada de solicitação/resposta. Aqui está exatamente o que acontece entre os dois aplicativos, método por método.
1
Solicitar um token de login
O dispositivo que deseja fazer login chama
O dispositivo que deseja fazer login chama
auth.exportLoginToken. O Telegram responde com um auth.loginToken: um token binário mais uma expiração, geralmente 30 segundos. 2
Codifique em um código QR
O token está codificado em base64url e colocado dentro de um
O token está codificado em base64url e colocado dentro de um
tg://login?token=<base64url> URL. Essa URL é o que é renderizado na tela como um código QR escaneável. 3
Digitalizar a partir de um aplicativo já conectado
O aplicativo do Telegram que já está autenticado escaneia o código e chama
O aplicativo do Telegram que já está autenticado escaneia o código e chama
auth.acceptLoginToken com o token decodificado. 4
Votação para o resultado
O dispositivo que está fazendo login recebe um
O dispositivo que está fazendo login recebe um
atualizarTokenDeLogin atualização, depois chamadas auth.exportLoginToken novamente para buscar o resultado da varredura. 5
Confirmar ou migrar o centro de dados
Se o data center corresponder, o Telegram retorna
Se o data center corresponder, o Telegram retorna
auth.loginTokenSuccess, o login é realizado. Se não corresponder, a resposta é auth.loginTokenMigrateTo, e o cliente deve chamar auth.importLoginToken com o mesmo token contra o data center indicado. // Dispositivo solicitando o login
auth.exportLoginToken(api_id, api_hash)
// -> auth.loginToken { token, expires }
// Renderizado como um código QR
tg://login?token=<base64url(token)>
// Dispositivo já autenticado o escaneia
auth.acceptLoginToken(token)
// O dispositivo que está fazendo login faz novas consultas
auth.exportLoginToken()
// -> auth.loginTokenSuccess
// ou auth.loginTokenMigrateTo { dc_id } Janela curta, planeje a nova tentativa
O token geralmente é válido apenas por 30 segundos. Se expirar antes de ser escaneado, o cliente precisa ligar
O token geralmente é válido apenas por 30 segundos. Se expirar antes de ser escaneado, o cliente precisa ligar
auth.exportLoginToken novamente e gere um código novo, não apenas tente o antigo novamente. TOKEN_DE_AUTENTICACAO_INVALIDO
TOKEN_DE_AUTENTICACAO_EXPIRADO
AUTH_TOKEN_ALREADY_ACCEPTED
TOKEN_DE_AUTENTICACAO_EXPIRADO
AUTH_TOKEN_ALREADY_ACCEPTED
Esta é precisamente a troca que o Unipile executa em seu nome quando você conecta uma conta do Telegram através de seu Dispositivos integração: o código QR, a troca de token, o tratamento do data center e a nova tentativa quando um token expira. Você chama um endpoint, a Unipile opera a conversação MTProto descrita acima, incluindo o caso em que a conta que está sendo conectada reside em um data center diferente daquele com o qual seu aplicativo falou primeiro. Esse tratamento de data center é fácil de esquecer quando você cria o fluxo do zero, porque ele aparece apenas para um subconjunto de contas e interrompe silenciosamente os logins para as contas afetadas se o
Construa seu fluxo de login por QR Code com a Unipile auth.loginTokenMigrateTo ramificação não tratada.API do Cliente / MTProto
Faça login pelo número de telefone e pela barreira de 2FA
O login clássico por número de telefone é onde a maioria dos clientes do Telegram criados em casa empaca. Não porque seja complexo, but porque o fluxo se ramifica silenciosamente no momento em que a autenticação de dois fatores é ativada, e essa ramificação não é opcional. Um cliente que implementa apenas o caminho feliz (enviar código, validar código, pronto) funciona bem com uma conta de teste e, em seguida, falha em produção na primeira vez que encontra um usuário real com uma senha em nuvem ativada.
1
Enviar o código de login
auth.sendCode envia o código para o número de telefone e retorna um auth.sentCode objeto contendo um hash_do_codigo_do_telefone, obrigatório para a próxima chamada. 2
Validar o código
auth.signIn verifica o código em relação ao hash_do_codigo_do_telefone. Se o número de telefone ainda não tiver uma conta, o Telegram retornará auth.authorizationSignUpRequired em vez de uma autorização. 3
Bater na parede da autenticação de dois fatores
Se a autenticação de dois fatores estiver ativada na conta,
Se a autenticação de dois fatores estiver ativada na conta,
auth.signIn respostas com a Erro 400: SESSION_PASSWORD_NEEDED. Esta é a resposta esperada para qualquer conta com uma senha em nuvem, não uma falha no tratamento como exceção. 4
Resolva isso com o SRP
Concluir o login significa executar o protocolo SRP: criar um
Concluir o login significa executar o protocolo SRP: criar um
InputCheckPasswordSRP objeto dos parâmetros de senha da conta, então chame auth.checkPassword. O sucesso retorna um auth.authorization; uma senha incorreta retorna HASH_DE_SENHA_INVALIDO. Apenas aplicativos oficiais recebem SMS do Firebase
Apenas os aplicativos móveis oficiais do próprio Telegram são permitidos usar Envio de código SMS baseado no Firebase. Os aplicativos de terceiros devem direcionar o código por meio de outro canal de entrega ou gravar em sms@telegram.org para discutir o acesso.
Apenas os aplicativos móveis oficiais do próprio Telegram são permitidos usar Envio de código SMS baseado no Firebase. Os aplicativos de terceiros devem direcionar o código por meio de outro canal de entrega ou gravar em sms@telegram.org para discutir o acesso.
SENHA_DA_SESSAO_NECESSARIA
HASH_DE_SENHA_INVALIDO
auth.authorizationSignUpRequired
HASH_DE_SENHA_INVALIDO
auth.authorizationSignUpRequired
A integração do Telegram da Unipile executa todo este ramo para você: entrega de código, o SENHA_DA_SESSAO_NECESSARIA verifique, e a troca SRP quando uma senha na nuvem é definida, se a conta se conecta através de um número de telefone, um código QR ou Autenticação hospedada. Isso inclui a restrição de entrega de SMS acima: como aplicativos de terceiros não podem depender da entrega baseada no Firebase, este é um dos pontos em que gerenciar o fluxo de números de telefone por conta própria adiciona um peso operacional real, e não apenas código, antes de você ter enviado uma única mensagem.
Limites de envio
Limites de taxa da API do Telegram, em números
A Seção 5 cobriu o comportamento que resulta no banimento de contas. Aqui estão os limites reais documentados do lado da Bot API e o custo para aumentá-los.
1/s
Máximo de mensagens para o mesmo chat individual
Máximo de mensagens para o mesmo chat individual
20/min
Número máximo de mensagens em um único grupo
Número máximo de mensagens em um único grupo
~30/seg
Limite aproximado para transmissão em diferentes chats
Limite aproximado para transmissão em diferentes chats
429
Erro retornado assim que qualquer um desses limites for ultrapassado
Erro retornado assim que qualquer um desses limites for ultrapassado
Transmissões pagas elevam o teto, com duas condições
Os bots podem ativar transmissões pagas através do BotFather, o que aumenta o limite de envio para 1.000 mensagens por segundo. As mensagens enviadas acima do limite gratuito custam 0,1 Estrela do Telegram cada. Isso está bloqueado por dois requisitos em nível de conta, ambos precisam ser atendidos ao mesmo tempo.
Saldo de 100.000 Estrelas
100.000 usuários ativos mensais
100.000 usuários ativos mensais
Ultrapasse o limite individual, de grupo ou de transmissão acima e a API do Bot responderá com o 429 status coberto no referência de erro abaixo, ao lado da
ENCHENTE 420 e FLOOD_WAIT_X códigos usados no lado do MTProto. Ambos os mecanismos existem pelo mesmo motivo: fazer você desacelerar antes que o Telegram decida desacelerar você.Estes números são específicos da Bot API. Para um conectado conta de usuário, não há limite publicado, apenas as diretrizes de ritmo da própria Unipile cobertas em é de graça, é aqui que o castelo desmoronaaqueça novas contas, aumente o ritmo progressivamente, mantenha pelo menos 10 a 20 segundos entre as mensagens.
Referência do erro
Erros da API do Telegram que você precisa conhecer
Os erros do MTProto seguem o mesmo formato de três dígitos dos códigos de status HTTP que a maioria dos desenvolvedores já conhece, combinados com uma pequena string legível por máquina. Aqui está a tabela de referência, além de um erro que aparece apenas para seus usuários finais, e não para você. Conhecer esta lista antes de lançar importa mais do que depois: vários desses códigos,
303 e 420 em particular, não são falhas excepcionais, fazem parte das condições normais de operação de um cliente MTProto e precisam ser tratadas no caminho do código, não registradas em log e ignoradas.| Código | Significado |
|---|---|
| 303 SEE_OTHER | A solicitação deve ser repetida, direcionando para um data center diferente. |
| 400 BAD_REQUEST | A consulta contém erros. API_ID_INVALID é um exemplo comum deste código. |
| 401 NÃO AUTORIZADO | O método requer um recurso que é reservado a usuários autorizados. |
| 403 PROIBIDO | Violação de privacidade, por exemplo, tentar escrever para um usuário que bloqueou você. |
| 404 NÃO_ENCONTRADO | O objeto ou método solicitado não existe. |
| 420 FLOOD / FLOOD_WAIT_X | O número máximo de chamadas permitidas foi excedido, aguarde X segundos antes de tentar novamente. |
303 SEE_OTHERA solicitação deve ser repetida, direcionando para um data center diferente.
400 BAD_REQUESTA consulta contém erros.
API_ID_INVALID é um exemplo comum deste código.401 NÃO AUTORIZADOO método requer um recurso que é reservado a usuários autorizados.
403 PROIBIDOViolação de privacidade, por exemplo, tentar escrever para um usuário que bloqueou você.
404 NÃO_ENCONTRADOO objeto ou método solicitado não existe.
420 FLOOD / FLOOD_WAIT_XO número máximo de chamadas permitidas foi excedido, aguarde X segundos antes de tentar novamente.
Mais um, do lado do usuário final
API_ID_PUBLISHED_FLOOD aparece para os seus usuários finais quando um aplicativo publicado reutiliza o exemplo api_id enviado dentro do código de exemplo de código aberto em vez de solicitar o seu próprio. Cada aplicativo que você publica precisa do seu próprio api_id e api_hash de my.telegram.org. Um cliente construído diretamente sobre a Client API (MTProto) precisa lidar com cada um desses códigos sozinho: tentar novamente no data center correto em 303, recue em 420, e tratar 401 e 403 como sinais sobre o estado da conta, em vez de falhas genéricas. Conectar uma conta existente através do Unipile move esse tratamento de erro para trás de um único status de conta vinculada, em vez de um conjunto de códigos MTProto que seu próprio código precisa interpretar corretamente a cada chamada.
API do Cliente / MTProto
Escolhendo uma biblioteca MTProto e o que ela não fará por você
Se você decidir construir o caminho da API do Cliente por conta própria, não estará implementando o MTProto a partir de uma folha de especificações. Um punhado de bibliotecas já fala o protocolo, então o cliente em si raramente é a parte difícil. Escolher uma resolve apenas parte do problema, e a parte que ela resolve costuma ser a menor.
Python
Telethon
Uma implementação de MTProto em puro Python, construída em torno de async/await, com uma API de cliente que se assemelha a Python simples em vez de chamadas de protocolo brutas.
Python
Pyrogram
Outro cliente Python MTProto, com sua própria abordagem de gerenciamento de sessões e uma interface de cliente projetada para parecer mais com um SDK convencional do que com uma biblioteca de protocolo.
Node.js
GramJS
O equivalente mais próximo ao Telethon para bases de código JavaScript e TypeScript, implementando a mesma conversa MTProto para um ambiente de execução Node.js.
Oficial
TDLib
A própria biblioteca oficial do Telegram, escrita em C++, com bindings expostos para várias linguagens. Ela implementa toda a pilha MTProto da mesma forma que os próprios aplicativos do Telegram fazem.
Qual deles se encaixa geralmente se resume à pilha que você já utiliza, em vez de uma comparação de recursos: um backend em Python aponta para Telethon ou Pyrogram, um backend em Node.js ou TypeScript aponta para GramJS, e uma equipe que deseja permanecer o mais próximo possível dos próprios aplicativos oficiais do Telegram aponta para TDLib e suas ligações. Nenhuma dessas escolhas remove a segunda metade da obra abaixo.
O que uma biblioteca oferece a você
A camada de criptografia MTProto e as chamadas de método brutas
Atualizar o tratamento de eventos recebidos dos servidores do Telegram
Uma API do lado do cliente para chamar métodos de autenticação, mensagens e conta
O que você ainda constrói sozinho
Persistindo sessões de forma confiável entre reinicializações e implantações
Lidando com o fluxo SESSION_PASSWORD_NEEDED e SRP de ponta a ponta para seus usuários
Reconectando com elegância e rastreando o status da conta quando um dispositivo é removido
API do Telegram: Perguntas Frequentes
Respostas diretas sobre api_id, api_hash, tokens de bot do BotFather e como conectar uma conta existente do Telegram ao Unipile.
O Telegram não tem uma API, tem três. A Bot API é uma interface HTTP para contas de bots. A API do Telegram, também chamada de Client API, roda no protocolo MTProto e é sobre a qual os clientes completos do Telegram são construídos. A Gateway API envia apenas códigos de verificação. De qual você precisa depende de você estar automatizando um bot ou agindo como uma conta de usuário real.
Não existe uma única chave de API do Telegram. Para a API do Cliente, você faz login em my.telegram.org, abre as ferramentas de desenvolvimento de API e preenche o formulário para receber um api_id e um api_hash. Para a API de Bot, você envia uma mensagem para o BotFather dentro do Telegram e ele retorna um token de bot. Observe que o Telegram permite apenas um api_id por número de telefone.
Sim. O Telegram afirma que tanto a Bot API quanto a Telegram API podem ser usadas gratuitamente, sem taxa por mensagem. O custo real está na infraestrutura que você executa, no gerenciamento de sessões e no risco de banimento se você enviar mensagens de forma agressiva.
A Bot API é uma interface HTTPS simples: você chama métodos como sendMessage em api.telegram.org com o token do seu bot. A Client API é um protocolo binário MTProto, razão pela qual a maioria dos desenvolvedores usa uma biblioteca como Telethon, Pyrogram ou GramJS em vez de implementá-la por conta própria.
Bot API 10.2, publicado em 14 de julho de 2026. Ele sucedeu o 10.1 em 11 de junho de 2026 e o 10.0 em 8 de maio de 2026.
Sim. Você pode conectar uma conta existente do Telegram por meio do próprio recurso de Dispositivos do Telegram, que é como o Unipile vincula contas, usando um login com código QR ou um fluxo de autenticação hospedado. Você obtém acesso à conta do usuário sem precisar implementar o MTProto, o armazenamento de sessões ou o tratamento de autenticação de dois fatores por conta própria.
Ainda tem dúvidas? Nossa equipe está aqui para ajudar.
API do Telegram, feita do jeito certo
Construa sua integração com a API do Telegram usando o Unipile
Pule o cliente MTProto, pule as limitações de bot. Conecte uma conta existente do Telegram através do Unipile e unifique-a com WhatsApp, LinkedIn, Instagram, Gmail, Outlook e IMAP em uma única API.