Índice
Obteniendo tus credenciales
Autenticación y comparación
Límites y fiabilidad
Guía de la API de Telegram
Cómo obtener acceso a la API de Telegram: api_id, api_hash y tokens de bot
En API de Telegram no es una API, son tres: la Bot API, la Client API (MTProto) y la Gateway API. Esta guía te muestra exactamente dónde obtener tus credenciales, qué
api_id, api_hash y un token de BotFather por cada desbloqueo, además de la tercera opción que la mayoría de las guías omiten: conectar una cuenta de usuario de Telegram ya existente a través de Unipile sin escribir ni una sola línea de código MTProto.// Conectar una cuenta de usuario de Telegram existente
// No api_id / api_hash que gestionar tú mismo
const enlace = await unipile.autenticación alojada.create({
proveedores: ["TELEGRAMA"],
expiraEn: "2026-12-31T23:59:59.000Z"
});
// El usuario inicia sesión con código QR o con su sesión
// El estado de la cuenta se convierte en "conectado"account.status: "conectado"
Empezando
Las 3 API de Telegram y cuál necesitas
La mayoría de las guías hablan de "la API de Telegram" como si se tratara de una sola cosa. Pero no es así. Telegram ofrece tres API distintas, cada una con sus propias credenciales, sus propias reglas y sus propios límites. Elegir la incorrecta es la forma más rápida de perder una semana trabajando en algo que no sirve para nada.
API de bots
¿Necesitas un bot automatizado que reaccione a comandos y mensajes?
Requisitos: un token de bot de BotFather
- API HTTP, no se requiere conocimiento de MTProto
- Actúa como una cuenta de bot, no como un humano
- Gratis para usar
API de cliente (MTProto)
¿Necesitas desarrollar un cliente completo que se comporte como un usuario real de Telegram?
Se necesita: api_id + api_hash de my.telegram.org
- Protocolo MTProto sin procesar: tú te encargas de implementar el cliente
- Funciona como una cuenta de usuario real
- Gratis, un api_id por número de teléfono
API Gateway
¿Solo necesitas enviar códigos de verificación para la autenticación del número de teléfono?
Requisitos: una cuenta de API de Gateway
- Solo entrega de OTP, sin mensajes generales
- Lanzado por separado de la API de Bot y la API de Cliente
- Fuera del alcance de esta guía
API de cliente / MTProto
Obtén tus credenciales de la API de Telegram: api_id y api_hash
Esta es la verdadera forma de "obtener la API de Telegram" que la mayoría de la gente busca y nunca encuentra explicada con claridad: my.telegram.org, sección Herramientas de desarrollo de API. Aquí está el recorrido exacto, de principio a fin.
1
Ve a my.telegram.org e inicia sesión
Necesitas una cuenta de Telegram activa, verificada con el mismo número de teléfono con el que te autenticarás. Introduce tu número de teléfono y el código de inicio de sesión enviado a tu aplicación de Telegram.
Necesitas una cuenta de Telegram activa, verificada con el mismo número de teléfono con el que te autenticarás. Introduce tu número de teléfono y el código de inicio de sesión enviado a tu aplicación de Telegram.
2
Abrir "Herramientas de desarrollo de API"
Esta sección se encuentra en la configuración de tu cuenta de my.telegram.org. Es el único lugar oficial donde Telegram emite credenciales de API de cliente.
Esta sección se encuentra en la configuración de tu cuenta de my.telegram.org. Es el único lugar oficial donde Telegram emite credenciales de API de cliente.
3
Rellene el formulario de solicitud
Título de la aplicación, nombre corto y plataforma. Estos campos describen la aplicación que usará MTProto, no necesitan coincidir con un nombre de producto público.
Título de la aplicación, nombre corto y plataforma. Estos campos describen la aplicación que usará MTProto, no necesitan coincidir con un nombre de producto público.
4
Obtén tu api_id y api_hash
Telegram emite el par inmediatamente.
Telegram emite el par inmediatamente.
api_id es un identificador numérico, api_hash es el secreto de emparejamiento. Almacena ambos como cualquier otra credencial, autentican tu cliente MTProto frente a los servidores de Telegram. Una restricción a tener en cuenta al planificar
Un número de teléfono puede contener solo un api_id. Si necesitas varias aplicaciones o varios entornos, necesitas varios números de teléfono, o reutilizas el mismo api_id en toda tu base de código. No hay una forma de autoservicio para emitir un segundo api_id en el mismo número.
Un número de teléfono puede contener solo un api_id. Si necesitas varias aplicaciones o varios entornos, necesitas varios números de teléfono, o reutilizas el mismo api_id en toda tu base de código. No hay una forma de autoservicio para emitir un segundo api_id en el mismo número.
# De my.telegram.org, herramientas de desarrollo de la API
TELEGRAM_API_ID=1234567
TELEGRAM_API_HASH=0123456789abcdef0123456789abcdef
#: un «api_id» por número de teléfono; guárdalo de forma seguraAPI de bots
Obtén un token de bot a través de BotFather
El otro camino hacia la API de Telegram no necesita ninguna cuenta de my.telegram.org, ni api_id, ni api_hash. Funciona completamente dentro de un chat con el propio bot de Telegram, @BotFather.
1
Abre un chat con @BotFather
Busca "BotFather" en Telegram. Es el bot oficial que Telegram utiliza para emitir y gestionar todos los demás bots de la plataforma.
Busca "BotFather" en Telegram. Es el bot oficial que Telegram utiliza para emitir y gestionar todos los demás bots de la plataforma.
2
Enviar
BotFather te guía a través de la creación de un nuevo bot directamente en el chat, sin panel de control ni formulario.
/nuevobotBotFather te guía a través de la creación de un nuevo bot directamente en el chat, sin panel de control ni formulario.
3
Elige un nombre y un nombre de usuario
El nombre para mostrar puede ser cualquiera. El nombre de usuario debe ser único y terminar en
El nombre para mostrar puede ser cualquiera. El nombre de usuario debe ser único y terminar en
bot, por ejemplo mi_bot_de_soporte. 4
Copiar el token del bot
BotFather responde con tu token de inmediato. Mantenlo en secreto, ya que autentica cada llamada a la API de Bot que hace tu bot.
BotFather responde con tu token de inmediato. Mantenlo en secreto, ya que autentica cada llamada a la API de Bot que hace tu bot.
La API de Bot actual es versión 10.2, publicado el 14 de julio de 2026 (fuente: core.telegram.org/bots/api). Cada token de bot funciona contra esta misma API HTTP versionada.
#: Comprueba tu token de bot con la API de bots
rizo "https://api.telegram.org/bot/getMe"
#: Ejemplo de respuesta
{
"de acuerdo cierto,
"resultado {
"id": 123456789,
"es_bot": cierto,
"nombre de usuario": "mi_bot_de_soporte"
}
}Comparación
Lo que cada API de Telegram te permite hacer realmente
Cuatro formas de tocar Telegram, cuatro conjuntos de permisos muy diferentes. Esto es a lo qué se conecta cada uno, qué credenciales necesita y dónde se detiene.
| Criterios | API de bots | API de cliente (MTProto) | API Gateway | Unipile |
|---|---|---|---|---|
| Lo que conectas | Una cuenta de bot | Una cuenta de usuario real para la que construyes el cliente | Nada, solo entrega de OTP | Una cuenta de usuario real existente |
| Credenciales necesarias | Token de bot de BotFather | api_id + api_hash de my.telegram.org | Cuenta de la API de Gateway | Inicio de sesión con código QR o Autenticación alojada (proveedores: "TELEGRAM") |
| Envía/recibe como una cuenta humana | No, actúa como un bot | Sí | No | Sí |
| Implementación de MTProto | No es necesario, solo HTTP | Lo construyes tú mismo | No aplicable | Manejado por Unipile |
| Gestión de participantes del grupo | Limitado a los permisos del bot | Completo, si lo construyes | No aplicable | Obtener, agregar, eliminar participantes |
| Complejidad de la configuración | Bajo | Hola, eres dueño del cliente MTProto | Bajo | Bajo, sin MTProto que mantener |
| Coste | Gratis | Gratis | No cubierto en esta guía | Incluido en tu plan de Unipile |
| Riesgo de baneo por abuso | Revocación de tokens | Prohibición permanente por inundación de mensajes/correo no deseado | No aplicable | Mitigado con la guía de límite de tasa de Unipile |
API de bots
ConectaUna cuenta de bot
CredencialesToken del bot (BotFather)
Actúa como humanoNo
ConfigurarBajo
CosteGratis
API de cliente (MTProto)
ConectaUna cuenta de usuario real (cliente DIY)
Credencialesapi_id + api_hash
Actúa como humanoSí
ConfigurarHola, MTProto autoconstruido
CosteGratis
API Gateway
ConectaNada, solo entrega de OTP
CredencialesCuenta de la API de Gateway
ConfigurarBajo
AlcanceFuera de esta guía
Unipile
ConectaUna cuenta de usuario real existente
CredencialesCódigo QR o Autenticación Alojada
Actúa como humanoSí
ConfigurarBajo, sin MTProto que mantener
GruposObtener / agregar / eliminar participantes
Lo que Unipile no cubre en Telegram
Canales, comunidades y transmisiones, tema de chat, chats secretos, archivos adjuntos de contacto / ubicación / encuesta / evento, administración de grupos (aprobar, promover, revocar), eliminación de chats, archivado y llamadas de voz o video. Unipile conecta la cuenta, no replica todas las funciones del cliente de Telegram.
Canales, comunidades y transmisiones, tema de chat, chats secretos, archivos adjuntos de contacto / ubicación / encuesta / evento, administración de grupos (aprobar, promover, revocar), eliminación de chats, archivado y llamadas de voz o video. Unipile conecta la cuenta, no replica todas las funciones del cliente de Telegram.
Precios y límites
Es gratis. Aquí es donde falla.
Tanto la Bot API como la API de Telegram (MTProto) son de uso gratuito. No hay factura, ni tarifa por mensaje, ni credenciales con restricciones de nivel de pago. El truco no es el dinero, es el comportamiento.
Inundaciones, spam y contadores falsos
Enviar mensajes demasiado rápido, enviar mensajes masivos a usuarios no relacionados o inflar artificialmente los contadores de visualizaciones y reacciones son la forma más rápida de activar un prohibición permanente, tanto en la API de Bot como en la API de Cliente.
Enviar mensajes demasiado rápido, enviar mensajes masivos a usuarios no relacionados o inflar artificialmente los contadores de visualizaciones y reacciones son la forma más rápida de activar un prohibición permanente, tanto en la API de Bot como en la API de Cliente.
Los clientes no oficiales son vigilados
Cualquier cliente creado con tu propio api_id y api_hash es puesto automáticamente en observación por los sistemas de Telegram. Los patrones inusuales se detectan más rápido que en las aplicaciones oficiales.
Cualquier cliente creado con tu propio api_id y api_hash es puesto automáticamente en observación por los sistemas de Telegram. Los patrones inusuales se detectan más rápido que en las aplicaciones oficiales.
La propia guía de Unipile para pasar desapercibido Crea flujos de mensajería más seguros con Unipile
Evita las cuentas de Telegram completamente nuevas para la automatización, caliéntalas como cualquier otro canal
Aumentar progresivamente el volumen de mensajes en lugar de empezar con el rendimiento máximo
Deja al menos entre 10 y 20 segundos entre los mensajes enviados desde la misma cuenta
El enfoque de Unipile
La tercera vía: conectar una cuenta de Telegram existente
Ni la Bot API ni un cliente MTProto de desarrollo propio. La API de Telegram de Unipile conecta un cuenta de usuario de Telegram existente, a través de Telegram Dispositivos función, el mismo mecanismo que te permite usar Telegram en un teléfono nuevo o en una aplicación de escritorio.
El inicio de sesión se realiza a través de un Escaneo de código QR, o a través de Autenticación alojada con
proveedores: "TELEGRAM" si quieres un flujo de conexión de marca blanca dentro de tu propio producto. Una vez conectado, la cuenta se comporta como tal: no es un bot y no necesitó un api_id ni un api_hash emitidos desde my.telegram.org.Esto importa porque elimina las dos partes más difíciles de construir sobre la API de Telegram por cuenta propia: implementar MTProto y gestionar las sesiones y reconexiones cuando se elimina un dispositivo. Si el dispositivo de Unipile se elimina de las sesiones de Telegram de la cuenta, Unipile lo detecta y el estado de la cuenta simplemente pasa a
desconectado, listo para ser reconectado.Enviar y recibir mensajes directos como la cuenta real
Gestionar participantes del grupo: obtener, agregar, eliminar
Sin canales, comunidades ni difusiones
Sin administración de grupos (aprobar, promover, revocar), sin llamadas de voz ni de video
ProveedorTelegram
Método de autenticaciónCódigo QR / Autenticación alojada
Estadoconectado
Dispositivo eliminado de Telegramdesconectado
Resincronización compatibleSí
Casos prácticos
Casos de uso de CRM y ATS para la API de Telegram
Una vez que se conecta una cuenta de Telegram como una cuenta real vinculada, y no como un bot, surgen repetidamente dos casos de uso entre los clientes de Unipile: equipos de ventas centralizando conversaciones y reclutadores contactando a candidatos donde ya se encuentran.
CRM: unificar las conversaciones de Telegram
Los equipos de ventas y soporte que ya hablan con clientes potenciales y clientes en Telegram no quieren una aplicación separada para ello. Al conectar la cuenta a través de Unipile, cada hilo de Telegram llega a la misma bandeja de entrada que las conversaciones de correo electrónico, LinkedIn o WhatsApp, vinculado al registro de contacto correcto en el CRM.
ATS: contacta a candidatos en Telegram
En las regiones donde Telegram es un canal de mensajería principal, los reclutadores conectan su propia cuenta de Telegram para contactar a los candidatos directamente desde el ATS, mantener todo el historial de mensajes en el perfil del candidato y transferir las conversaciones entre reclutadores sin perder el contexto.
API de cliente / MTProto
Iniciar sesión con un código QR: el flujo de dispositivos, paso a paso
El inicio de sesión con código QR es el mecanismo detrás de Dispositivos función, la misma que usas para agregar Telegram Desktop o Telegram Web a tu cuenta. También es el flujo mediante el cual Unipile opera en tu nombre cuando conecta una cuenta de usuario de Telegram existente. Si lo construyes tú mismo, estás implementando un intercambio de señales (handshake) bidireccional entre el dispositivo que ya confía en la cuenta y el dispositivo que pide unirse a ella, no una simple llamada de solicitud/respuesta. Esto es exactamente lo que ocurre entre las dos aplicaciones, método por método.
1
Solicitar un token de inicio de sesión
El dispositivo que quiere iniciar sesión llama
El dispositivo que quiere iniciar sesión llama
auth.exportLoginToken. Telegram responde con un auth.loginToken: un token binario más una fecha de expiración, generalmente 30 segundos. 2
Codifícalo en un código QR
El token está codificado en base64url y colocado dentro de un
El token está codificado en base64url y colocado dentro de un
tg://login?token=<base64url> Esa URL es lo que se muestra en pantalla como un código QR escaneable. 3
Escanear desde una aplicación que ya ha iniciado sesión
La aplicación de Telegram que ya está autenticada escanea el código y llama
La aplicación de Telegram que ya está autenticada escanea el código y llama
auth.acceptLoginToken con el token decodificado. 4
Encuesta sobre el resultado
El dispositivo que está iniciando sesión recibe un
El dispositivo que está iniciando sesión recibe un
actualizarTokenDeInicioDeSesión actualizar, luego llamadas auth.exportLoginToken nuevamente para obtener el resultado del escaneo. 5
Confirmar o migrar el centro de datos
Si el centro de datos coincide, Telegram devuelve
Si el centro de datos coincide, Telegram devuelve
auth.loginTokenSuccess, el inicio de sesión está hecho. Si no coincide, la respuesta es auth.loginTokenMigrateTo, y el cliente debe llamar auth.importLoginToken con el mismo token contra el centro de datos indicado. // Dispositivo que solicita el inicio de sesión
auth.exportLoginToken(api_id, api_hash)
// -> auth.loginToken { token, expires }
// Renderizado como código QR
tg://login?token=<base64url(token)>
El dispositivo ya autenticado lo escanea
auth.acceptLoginToken(testigo)
El dispositivo que está iniciando sesión vuelve a sondear
auth.exportLoginToken()
// -> auth.loginTokenSuccess
// o auth.loginTokenMigrateTo { dc_id } Ventana corta, planifica el reintento
El token generalmente es válido solo por 30 segundos. Si caduca antes de ser escaneado, el cliente debe llamar
El token generalmente es válido solo por 30 segundos. Si caduca antes de ser escaneado, el cliente debe llamar
auth.exportLoginToken de nuevo y genera un código nuevo, no te limites a reintentar el viejo. TOKEN_DE_AUTENTICACION_INVALIDO
TOKEN_DE_AUTORIZACION_EXPIRADO
AUTH_TOKEN_ALREADY_ACCEPTED
TOKEN_DE_AUTORIZACION_EXPIRADO
AUTH_TOKEN_ALREADY_ACCEPTED
Este es precisamente el intercambio que Unipile realiza en tu nombre cuando conectas una cuenta de Telegram a través de su Dispositivos integración: el código QR, el intercambio de tokens, la gestión del centro de datos y el reintento cuando un token expira. Llamas a un endpoint, Unipile opera la conversación MTProto descrita anteriormente, incluido el caso en que la cuenta que se está conectando se encuentra en un centro de datos diferente al que tu aplicación contactó primero. Esa gestión del centro de datos es fácil de pasar por alto cuando construyes el flujo desde cero, porque solo aparece para un subconjunto de cuentas, y rompe silenciosamente los inicios de sesión de las afectadas si el
Crea tu flujo de inicio de sesión con código QR con Unipile auth.loginTokenMigrateTo la rama no está controlada.API de cliente / MTProto
Iniciar sesión por número de teléfono y el muro de autenticación de dos factores (2FA)
El clásico inicio de sesión con número de teléfono es donde la mayoría de los clientes de Telegram de fabricación casera se quedan atascados. No porque sea complejo, sino porque el flujo se bifurca silenciosamente en el momento en que se activa la autenticación de dos factores, y la bifurcación no es opcional. Un cliente que solo implementa el camino ideal (enviar código, validar código, listo) funciona bien con una cuenta de prueba y luego falla en producción la primera vez que se encuentra con un usuario real que tiene una contraseña en la nube habilitada.
1
Envía el código de inicio de sesión
auth.sendCode envía el código al número de teléfono y devuelve un auth.sentCode objeto que contiene un código_hash_teléfono, necesario para la siguiente llamada. 2
Validar el código
auth.signIn comprueba el código con el código_hash_teléfono. Si el número de teléfono aún no tiene cuenta, Telegram devuelve autorización.registroNecesario en lugar de una autorización. 3
Chocar con el muro de la autenticación de doble factor
Si la autenticación de dos factores está habilitada en la cuenta,
Si la autenticación de dos factores está habilitada en la cuenta,
auth.signIn respuestas con a Error 400: SESSION_PASSWORD_NEEDED. Esta es la respuesta esperada para cualquier cuenta con una contraseña en la nube, no un fallo al manejarlo como una excepción. 4
Consúltalo con SRP
Terminar el inicio de sesión significa ejecutar el protocolo SRP: construir un
Terminar el inicio de sesión significa ejecutar el protocolo SRP: construir un
InputCheckPasswordSRP objeto de los parámetros de contraseña de la cuenta, luego llamar auth.checkPassword. El éxito devuelve un autorización.autorización; una contraseña incorrecta devuelve HASH_DE_CONTRASEÑA_INVÁLIDO. Solo las aplicaciones oficiales reciben SMS de Firebase
Solo se permite el uso de las aplicaciones móviles oficiales de Telegram Entrega de códigos SMS basada en Firebase. Las aplicaciones de terceros tienen que enrutar el código a través de otro canal de entrega, o escribir en sms@telegram.org para debatir sobre el acceso.
Solo se permite el uso de las aplicaciones móviles oficiales de Telegram Entrega de códigos SMS basada en Firebase. Las aplicaciones de terceros tienen que enrutar el código a través de otro canal de entrega, o escribir en sms@telegram.org para debatir sobre el acceso.
CONTRASEÑA_DE_SESIÓN_NECESARIA
HASH_DE_CONTRASEÑA_INVÁLIDO
autorización.registroNecesario
HASH_DE_CONTRASEÑA_INVÁLIDO
autorización.registroNecesario
La integración de Telegram de Unipile ejecuta toda esta rama por usted: entrega de código, el CONTRASEÑA_DE_SESIÓN_NECESARIA comprobar, y el intercambio SRP cuando se establece una contraseña en la nube, si la cuenta se conecta a través de un número de teléfono, un código QR o Autenticación alojada. Eso incluye la restricción de entrega de SMS anterior: debido a que las aplicaciones de terceros no pueden depender de la entrega basada en Firebase, este es uno de los aspectos donde gestionar uno mismo el flujo de números de teléfono añade un peso operativo real, y no solo código, antes de haber enviado un solo mensaje.
Límites de envío
Límites de velocidad de la API de Telegram, en números
La sección 5 cubrió el comportamiento que hace que las cuentas sean prohibidas. Estos son los límites reales documentados en el lado de la API de Bot, y lo que cuesta aumentarlos.
1/s
Mensajes máximos al mismo chat individual
Mensajes máximos al mismo chat individual
20/min
Número máximo de mensajes en un solo grupo
Número máximo de mensajes en un solo grupo
~30/s
Límite aproximado para la difusión en diferentes chats
Límite aproximado para la difusión en diferentes chats
429
Error devuelto una vez que se supera cualquiera de estos límites
Error devuelto una vez que se supera cualquiera de estos límites
Las transmisiones pagadas elevan el límite, con dos condiciones
Los bots pueden habilitar emisiones pagadas a través de BotFather, lo que eleva el límite de envío hasta 1000 mensajes por segundo. Los mensajes enviados por encima del límite gratuito cuestan 0,1 Estrella de Telegram cada uno. Está limitado por dos requisitos a nivel de cuenta, ambos deben cumplirse al mismo tiempo.
Saldo de 100 000 Estrellas
100.000 usuarios activos mensuales
100.000 usuarios activos mensuales
Cruza el límite individual, grupal o de difusión de arriba y la API de Bot responde con el 429 estado cubierto en el referencia de error abajo, junto al
INUNDACIÓN 420 y ESPERA_DE_INUNDACIÓN_X códigos utilizados en el lado de MTProto. Ambos mecanismos existen por la misma razón: hacer que disminuyas la velocidad antes de que Telegram decida disminuirla por ti.Estos números son específicos de la API de Bot. Para un conectado cuenta de usuario, no hay un límite publicado, solo la propia guía de ritmo de Unipile tratada en es gratis, aquí es donde fallacalentar cuentas nuevas, aumentar progresivamente, mantener al menos de 10 a 20 segundos entre mensajes.
Referencia de error
Errores de la API de Telegram que necesitas conocer
Los errores de MTProto siguen el mismo formato de tres dígitos que los códigos de estado HTTP que la mayoría de los desarrolladores ya conocen, combinados con una breve cadena legible por máquina. Aquí está la tabla de referencia, además de un error que solo aparece para los usuarios finales, no para ti. Conocer esta lista antes de lanzar importa más que después: varios de estos códigos,
303 y 420 en particular, no son fallos excepcionales, forman parte de las condiciones normales de funcionamiento de un cliente MTProto y deben gestionarse en la ruta de código, no registrarse y pasarse por alto.| Código | Significado |
|---|---|
| 303 VÉASE_OTRO | La solicitud debe repetirse, apuntando a un centro de datos diferente. |
| 400 BAD_REQUEST | La consulta contiene errores. ID_DE_API_INVÁLIDO es un ejemplo común de este código. |
| 401 NO AUTORIZADO | El método requiere una característica que está reservada para usuarios autorizados. |
| 403 PROHIBIDO | Violación de la privacidad, por ejemplo, intentar escribir a un usuario que te ha bloqueado. |
| 404 NO_ENCONTRADO | El objeto o método solicitado no existe. |
| 420 FLOOD / FLOOD_WAIT_X | Se ha superado el número máximo de llamadas permitidas, espere X segundos antes de volver a intentarlo. |
303 VÉASE_OTROLa solicitud debe repetirse, apuntando a un centro de datos diferente.
400 BAD_REQUESTLa consulta contiene errores.
ID_DE_API_INVÁLIDO es un ejemplo común de este código.401 NO AUTORIZADOEl método requiere una característica que está reservada para usuarios autorizados.
403 PROHIBIDOViolación de la privacidad, por ejemplo, intentar escribir a un usuario que te ha bloqueado.
404 NO_ENCONTRADOEl objeto o método solicitado no existe.
420 FLOOD / FLOOD_WAIT_XSe ha superado el número máximo de llamadas permitidas, espere X segundos antes de volver a intentarlo.
Uno más, del lado del usuario final
API_ID_PUBLISHED_FLOOD aparece para los usuarios finales cuando una aplicación publicada reutiliza el ejemplo api_id enviado dentro del código de muestra de código abierto en lugar de solicitar el suyo propio. Cada aplicación que publiques necesita el suyo propio api_id y api_hash desde my.telegram.org. Un cliente construido directamente sobre la API de cliente (MTProto) necesita gestionar cada uno de estos códigos por sí mismo: reintentar contra el centro de datos correcto en 303, retírate de 420, y tratar 401 y 403 como señales sobre el estado de la cuenta en lugar de fallos genéricos. Conectar una cuenta existente a través de Unipile traslada ese manejo de errores detrás de un único estado de cuenta vinculada, en lugar de un conjunto de códigos de MTProto que tu propio código necesita interpretar correctamente en cada llamada.
API de cliente / MTProto
Elegir una biblioteca de MTProto y lo que no hará por ti
Si decides construir la ruta de la API del cliente por ti mismo, no estás implementando MTProto a partir de una hoja de especificaciones. Un puñado de bibliotecas ya hablan el protocolo, por lo que el cliente en sí rara vez es la parte difícil. Elegir una solo resuelve una parte del problema, y la parte que resuelve suele ser la menor.
Python
Teletón
Una implementación de MTProto en Python puro, construida en torno a async/await, con una API de cliente que se lee casi como Python sencillo en lugar de llamadas de protocolo sin procesar.
Python
Pyrogram
Otro cliente de Python para MTProto, con su propia perspectiva sobre la gestión de sesiones y una interfaz de cliente diseñada para parecerse más a un SDK convencional que a una biblioteca de protocolos.
Node.js
GramJS
El equivalente más cercano a Telethon para bases de código en JavaScript y TypeScript, que implementa la misma conversación de MTProto para un entorno de ejecución de Node.js.
Oficial
TDLib
La propia biblioteca oficial de Telegram, escrita en C++, con enlaces expuestos para varios lenguajes. Implementa la pila MTProto completa tal como lo hacen las propias aplicaciones de Telegram.
Cuál se adapta mejor suele depender de la pila tecnológica que ya utilizas en lugar de una comparación de características: un backend en Python apunta hacia Teletón o Pyrogram, un backend de Node.js o TypeScript apunta hacia GramJS, y un equipo que quiere mantenerse lo más cerca posible de las aplicaciones oficiales de Telegram apunta hacia TDLib y sus encuadernaciones. Ninguna de estas opciones elimina la segunda mitad de la obra a continuación.
Lo que te da una biblioteca
La capa de cifrado MTProto y las llamadas a métodos sin procesar
Actualizar la gestión de los eventos entrantes de los servidores de Telegram
Una API del lado del cliente para llamar a métodos de autenticación, mensajería y cuenta
Lo que todavía construyes tú mismo
Persistencia confiable de sesiones entre reinicios y despliegues
Manejo del flujo SESSION_PASSWORD_NEEDED y SRP de principio a fin para sus usuarios
Reconectarse elegantemente y realizar un seguimiento del estado de la cuenta cuando se elimina un dispositivo
API de Telegram: Preguntas frecuentes
Respuestas directas sobre api_id, api_hash, tokens de bot de BotFather y la conexión de una cuenta de Telegram existente con Unipile.
Telegram no tiene una API, sino tres. La API de bots es una interfaz HTTP para cuentas de bots. La API de Telegram, también llamada API de cliente, se ejecuta en el protocolo MTProto y es sobre la que se construyen los clientes completos de Telegram. La API Gateway solo envía códigos de verificación. Cuál necesites depende de si estás automatizando un bot o actuando como una cuenta de usuario real.
No existe una sola clave de la API de Telegram. Para la API de cliente, inicias sesión en my.telegram.org, abres las herramientas de desarrollo de API y completas el formulario para recibir un api_id y un api_hash. Para la API de bots, le escribes a BotFather dentro de Telegram y este te devuelve un token de bot. Ten en cuenta que Telegram permite solo un api_id por número de teléfono.
Sí. Telegram afirma que tanto la Bot API como la Telegram API se pueden utilizar de forma gratuita, sin tarifa por mensaje. El costo real radica en la infraestructura que ejecutas, la gestión de sesiones y el riesgo de un baneo si envías mensajes de forma agresiva.
La Bot API es una interfaz HTTPS simple: llamas a métodos como sendMessage en api.telegram.org con el token de tu bot. La Client API es un protocolo binario MTProto, razón por la cual la mayoría de los desarrolladores utilizan una biblioteca como Telethon, Pyrogram o GramJS en lugar de implementarla por sí mismos.
Bot API 10.2, publicado el 14 de julio de 2026. Siguió a la versión 10.1 el 11 de junio de 2026 y a la 10.0 el 8 de mayo de 2026.
Sí. Puedes conectar una cuenta de Telegram existente a través de la función de Dispositivos propia de Telegram, que es la forma en que Unipile vincula cuentas, utilizando un inicio de sesión por código QR o un flujo de autenticación alojado. Obtienes acceso a la cuenta de usuario sin implementar tú mismo MTProto, el almacenamiento de sesiones o la gestión de la autenticación de dos factores.
¿Aún tiene preguntas? Nuestro equipo está aquí para ayudarle.
API de Telegram, hecha como debe ser
Integra tu API de Telegram con Unipile
Omite el cliente MTProto, omite las limitaciones de los bots. Conecta una cuenta de Telegram existente a través de Unipile y unifícala con WhatsApp, LinkedIn, Instagram, Gmail, Outlook e IMAP en una sola API.