Table des matières
Obtention de vos identifiants
Authentification et comparaison
Limites et fiabilité
Guide de l'API Telegram
Comment obtenir l'accès à l'API Telegram : api_id, api_hash et jetons de bot
Le API Telegram ce n'est pas une API, mais trois : l'API Bot, l'API Client (MTProto) et l'API Gateway. Ce guide vous montre exactement où obtenir vos identifiants, quoi
id_api, clé d'API et un jeton de bot BotFather pour chaque déverrouillage, et la troisième option que la plupart des guides oublient : connecter un compte utilisateur Telegram existant via Unipile sans écrire une seule ligne de code MTProto.Connecter un compte utilisateur Telegram existant
// Pas d'api_id / api_hash à gérer vous-même
const lien = await unipile.Authentification hébergée.create({
fournisseurs ["TELEGRAM"],
expire le : "2026-12-31T23:59:59.000Z"
});
// L'utilisateur se connecte avec un code QR ou sa session
// Le statut du compte devient "connecté"account.status: "connecté"
Pour commencer
Les 3 API Telegram et celle dont vous avez besoin
La plupart des guides parlent de " l'API Telegram " comme s'il s'agissait d'une seule chose. Ce n'est pas le cas. Telegram propose trois API distinctes, chacune avec ses propres identifiants, ses propres règles et ses propres limites. Choisir la mauvaise est le moyen le plus rapide de perdre une semaine à coder devant la mauvaise porte.
API de bot
Avez-vous besoin d'un bot automatisé qui réagit aux commandes et aux messages ?
Besoin : un jeton de bot de BotFather
- API HTTP, aucune connaissance de MTProto requise
- Agit en tant que compte de bot, pas en tant qu'humain
- Gratuit d'utilisation
API Client (MTProto)
Avez-vous besoin de créer un client complet qui agit comme un véritable utilisateur de Telegram ?
Besoins : api_id + api_hash depuis my.telegram.org
- Protocole MTProto brut, vous implémentez le client
- Agit comme un vrai compte d'utilisateur
- Gratuit, un api_id par numéro de téléphone
API Gateway
Avez-vous seulement besoin d'envoyer des codes de vérification pour l'authentification par numéro de téléphone ?
Besoin : un compte Gateway API
- Livraison de codes à usage unique (OTP) uniquement, pas de messages généraux
- Lancé séparément de l'API Bot et de l'API Client
- Hors du champ de ce guide
Client API / MTProto
Obtenez vos identifiants d'API Telegram : api_id et api_hash
C'est le véritable chemin pour " obtenir l'API Telegram " que la plupart des gens recherchent et ne trouvent jamais documenté clairement : my.telegram.org, section Outils de développement d'API. Voici la promenade exacte, de bout en bout.
1
Rendez-vous sur my.telegram.org et connectez-vous.
Vous avez besoin d'un compte Telegram actif, vérifié avec le même numéro de téléphone que celui avec lequel vous allez vous authentifier. Entrez votre numéro de téléphone et le code de connexion envoyé sur votre application Telegram.
Vous avez besoin d'un compte Telegram actif, vérifié avec le même numéro de téléphone que celui avec lequel vous allez vous authentifier. Entrez votre numéro de téléphone et le code de connexion envoyé sur votre application Telegram.
2
Ouvrir " Outils de développement d'API "
Cette section se trouve dans les paramètres de votre compte my.telegram.org. C'est le seul endroit officiel où Telegram délivre des identifiants d'API client.
Cette section se trouve dans les paramètres de votre compte my.telegram.org. C'est le seul endroit officiel où Telegram délivre des identifiants d'API client.
3
Remplissez le formulaire de candidature
Titre de l'application, nom court et plateforme. Ces champs décrivent l'application qui utilisera MTProto, ils n'ont pas besoin de correspondre à un nom de produit public.
Titre de l'application, nom court et plateforme. Ces champs décrivent l'application qui utilisera MTProto, ils n'ont pas besoin de correspondre à un nom de produit public.
4
Obtenez vos api_id et api_hash
Telegram émet la paire immédiatement.
Telegram émet la paire immédiatement.
id_api est un identifiant numérique, clé d'API est le secret de correspondance. Stockez les deux comme n'importe quel autre identifiant, ils authentifient votre client MTProto auprès des serveurs de Telegram. Une contrainte à prendre en compte
Un numéro de téléphone peut contenir un seul api_id. Si vous avez besoin de plusieurs applications ou de plusieurs environnements, vous avez besoin de plusieurs numéros de téléphone, ou vous réutilisez le même api_id dans l'ensemble de votre code. Il n'existe aucun moyen en libre-service d'émettre un deuxième api_id sur le même numéro.
Un numéro de téléphone peut contenir un seul api_id. Si vous avez besoin de plusieurs applications ou de plusieurs environnements, vous avez besoin de plusieurs numéros de téléphone, ou vous réutilisez le même api_id dans l'ensemble de votre code. Il n'existe aucun moyen en libre-service d'émettre un deuxième api_id sur le même numéro.
# Sur my.telegram.org, outils de développement API
TELEGRAM_API_ID=1234567
TELEGRAM_API_HASH=0123456789abcdef0123456789abcdef
# : un seul « api_id » par numéro de téléphone ; conservez-le en toute sécuritéAPI de bot
Obtenir un jeton de bot via BotFather
L'autre chemin vers l'API Telegram ne nécessite ni compte my.telegram.org, ni api_id, ni api_hash. Il fonctionne entièrement au sein d'une discussion avec le propre bot de Telegram, @BotFather.
1
Ouvrir une discussion avec @BotFather
Recherchez "BotFather" dans Telegram. C'est le bot officiel que Telegram utilise pour créer et gérer tous les autres bots de la plateforme.
Recherchez "BotFather" dans Telegram. C'est le bot officiel que Telegram utilise pour créer et gérer tous les autres bots de la plateforme.
2
Envoyer
BotFather vous guide dans la création d'un nouveau bot directement dans le chat, sans tableau de bord ni formulaire.
/newbotBotFather vous guide dans la création d'un nouveau bot directement dans le chat, sans tableau de bord ni formulaire.
3
Choisissez un nom et un nom d'utilisateur
Le nom d'affichage peut être n'importe quoi. Le nom d'utilisateur doit être unique et se terminer par
Le nom d'affichage peut être n'importe quoi. Le nom d'utilisateur doit être unique et se terminer par
bot, par exemple mon_bot_de_support. 4
Copier le jeton du bot
BotFather répond immédiatement avec votre token. Gardez-le secret, il authentifie chaque appel à l'API Bot effectué par votre bot.
BotFather répond immédiatement avec votre token. Gardez-le secret, il authentifie chaque appel à l'API Bot effectué par votre bot.
L'API Bot actuelle est version 10.2, publié le 14 juillet 2026 (source : core.telegram.org/bots/api). Chaque jeton de bot fonctionne avec cette même API HTTP versionnée.
# Testez votre jeton de bot avec l'API Bot
curl "https://api.telegram.org/bot/getMe"
# Exemple de réponse
{
"d'accord vrai,
"résultat {
"id": 123456789,
"est_robot": vrai,
"nom d'utilisateur : "mon_robot_de_soutien"
}
}Comparaison
Ce que chaque API Telegram vous permet réellement de faire
Quatre façons de toucher à Telegram, quatre ensembles de permissions très différents. Voici à quoi chacun se connecte, de quels identifiants il a besoin, et où il s'arrête.
| Critères | API de bot | API Client (MTProto) | API Gateway | Unipile |
|---|---|---|---|---|
| Ce que vous connectez | Un compte de robot | Un véritable compte d'utilisateur pour lequel vous développez le client | Rien, livraison par OTP uniquement | Un compte d'utilisateur réel existant |
| Identifiants requis | Jeton de bot de BotFather | api_id + api_hash de my.telegram.org | Compte de l'API Gateway | Connexion par code QR ou authentification hébergée (fournisseurs : "TELEGRAM") |
| Envoie/reçoit comme un compte humain | Non, agit comme un bot | Oui, | Non | Oui, |
| Implémentation de MTProto | Non requis, HTTP uniquement | Vous le construisez vous-même | Sans objet | Géré par Unipile |
| Gestion des participants au groupe | Limité aux autorisations du bot | Plein, si vous le construisez | Sans objet | Obtenir, ajouter, supprimer des participants |
| Complexité d'installation | Faible | Salut, vous possédez le client MTProto | Faible | Faible, pas de MTProto à maintenir |
| Coût | Gratuit | Gratuit | Non couvert dans ce guide | Inclus dans votre forfait Unipile |
| Risque de bannissement en cas d'abus | Révocation de jeton | Interdiction permanente de flood/spam | Sans objet | Atténué par les conseils de limitation de débit d'Unipile |
API de bot
Se connecteUn compte de robot
IndentificationsJeton du bot (BotFather)
Agit en tant qu'humainNon
Mise en placeFaible
CoûtGratuit
API Client (MTProto)
Se connecteUn compte utilisateur réel (client DIY)
Indentificationsapi_id + api_hash
Agit en tant qu'humainOui,
Mise en placeHaut, MTProto auto-construit
CoûtGratuit
API Gateway
Se connecteRien, livraison par OTP uniquement
IndentificationsCompte de l'API Gateway
Mise en placeFaible
PortéeHors de ce guide
Unipile
Se connecteUn compte d'utilisateur réel existant
IndentificationsCode QR ou Authentification hébergée
Agit en tant qu'humainOui,
Mise en placeFaible, pas de MTProto à maintenir
GroupesObtenir / ajouter / supprimer des participants
Ce que Unipile ne couvre pas sur Telegram
Canaux, communautés et diffusions, thème de chat, chats secrets, pièces jointes de contact / localisation / sondage / événement, administration de groupe (approuver, promouvoir, révoquer), suppression de chat, archivage et appels vocaux ou vidéo. Unipile connecte le compte, il ne réplique pas toutes les fonctionnalités du client Telegram.
Canaux, communautés et diffusions, thème de chat, chats secrets, pièces jointes de contact / localisation / sondage / événement, administration de groupe (approuver, promouvoir, révoquer), suppression de chat, archivage et appels vocaux ou vidéo. Unipile connecte le compte, il ne réplique pas toutes les fonctionnalités du client Telegram.
Tarifs et limites
C'est gratuit. C'est là que ça coince.
L'API Bot et l'API Telegram (MTProto) sont toutes deux gratuites. Il n'y a pas de facture, pas de frais par message, ni de niveau payant pour obtenir des identifiants. Le piège n'est pas l'argent, c'est le comportement.
Inondations, spam et faux compteurs
Envoyer des messages trop rapidement, envoyer des messages en masse à des utilisateurs non concernés, ou gonfler artificiellement les compteurs de vues et de réactions sont les moyens les plus rapides de déclencher un bannissement permanent, à la fois sur l'API Bot et l'API Client.
Envoyer des messages trop rapidement, envoyer des messages en masse à des utilisateurs non concernés, ou gonfler artificiellement les compteurs de vues et de réactions sont les moyens les plus rapides de déclencher un bannissement permanent, à la fois sur l'API Bot et l'API Client.
Les clients non officiels sont surveillés
Tout client créé avec votre propre api_id et votre propre api_hash est placé automatiquement sous observation par les systèmes de Telegram. Les schémas inhabituels sont signalés plus rapidement que sur les applications officielles.
Tout client créé avec votre propre api_id et votre propre api_hash est placé automatiquement sous observation par les systèmes de Telegram. Les schémas inhabituels sont signalés plus rapidement que sur les applications officielles.
Les propres conseils d'Unipile pour rester sous le radar Créez des flux de messagerie plus sûrs avec Unipile
Évitez les comptes Telegram flambant neufs pour l'automatisation, réchauffez-les comme n'importe quel autre canal
Augmentez progressivement le volume des messages au lieu de démarrer au débit maximal.
Conservez au moins 10 à 20 secondes entre les messages envoyés depuis le même compte
L'approche Unipile
La troisième méthode : connecter un compte Telegram existant
Ni l'API Bot ni un client MTProto construit par vos soins. L'API Telegram d'Unipile connecte un compte utilisateur Telegram existant, par l'intermédiaire de Telegram Appareils fonctionnalité, le même mécanisme qui vous permet d'utiliser Telegram sur un nouveau téléphone ou une application de bureau.
La connexion s'effectue par l'intermédiaire d'un Scan du code QR, ou par l'intermédiaire de Hosted Auth avec
fournisseurs : "TELEGRAM" si vous voulez un flux de connexion en marque blanche au sein de votre propre produit. Une fois connecté, le compte se comporte comme lui-même : ce n'est pas un bot, et il n'a pas eu besoin d'un api_id ou d'un api_hash émanant de my.telegram.org.Cela importe parce que cela élimine les deux parties les plus difficiles de la construction sur l'API Telegram par vous-même : l'implémentation de MTProto, et la gestion des sessions et des reconnexions lorsqu'un appareil est supprimé. Si l'appareil Unipile est supprimé des sessions Telegram du compte, Unipile le détecte et le statut du compte passe simplement à
déconnecté, prêt à être reconnecté.Envoyez et recevez des messages directs avec le vrai compte
Gérer les participants du groupe : obtenir, ajouter, supprimer
Aucune chaîne, communauté ni diffusion
Pas d'administration de groupe (approbation, promotion, révocation), pas d'appels vocaux ou vidéo
FournisseurTélégramme
Méthode d'authentificationCode QR / Authentification hébergée
Statutconnecté
Appareil retiré de Telegramdéconnecté
Resynchronisation prise en chargeOui,
Cas d'usages
Cas d'utilisation CRM et ATS pour l'API Telegram
Une fois qu'un compte Telegram est connecté en tant que véritable compte lié, et non comme un bot, deux cas d'utilisation reviennent constamment chez les clients d'Unipile : les équipes commerciales qui centralisent les conversations et les recruteurs qui contactent les candidats là où ils se trouvent déjà.
CRM : unifier les conversations Telegram
Les équipes commerciales et de support qui échangent déjà avec des prospects et des clients sur Telegram ne veulent pas d'une application séparée pour cela. En connectant le compte via Unipile, chaque fil de discussion Telegram arrive dans la même boîte de réception que les e-mails, les conversations LinkedIn ou WhatsApp, et est rattaché au bon contact dans le CRM.
ATS : contactez des candidats sur Telegram
Dans les régions où Telegram est un canal de messagerie principal, les recruteurs connectent leur propre compte Telegram pour joindre les candidats directement depuis l'ATS, conserver l'historique complet des messages sur le profil du candidat et transférer les conversations entre recruteurs sans perdre le fil.
Client API / MTProto
Connexion avec un QR code : le flux des appareils, étape par étape
La connexion par code QR est le mécanisme derrière celui de Telegram Appareils fonctionnalité, la même que vous utilisez pour ajouter Telegram Desktop ou Telegram Web à votre compte. C'est également le processus qu'Unipile exécute en votre nom lorsqu'il connecte un compte utilisateur Telegram existant. Si vous le construisez vous-même, vous mettez en œuvre une poignée de main bidirectionnelle entre l'appareil qui fait déjà confiance au compte et l'appareil qui demande à s'y joindre, et non un simple appel de type requête/réponse. Voici exactement ce qui se passe entre les deux applications, méthode par méthode.
1
Demander un jeton de connexion
L'appareil qui souhaite se connecter appelle
L'appareil qui souhaite se connecter appelle
auth.exportLoginToken. Telegram répond par un auth.loginToken: un jeton binaire plus une expiration, généralement 30 secondes. 2
Le coder en code QR
Le jeton est encodé en base64url et placé à l'intérieur d'un
Le jeton est encodé en base64url et placé à l'intérieur d'un
tg://login?token=<base64url> URL. Cette URL est ce qui s'affiche à l'écran sous la forme d'un code QR scannable. 3
Numériser depuis une application déjà connectée
L'application Telegram déjà authentifiée scanne le code et appelle
L'application Telegram déjà authentifiée scanne le code et appelle
auth.acceptLoginToken avec le jeton décodé. 4
Sondage sur le résultat
L'appareil qui se connecte reçoit un
L'appareil qui se connecte reçoit un
mettreAJourLeJetonDeConnexion mettre à jour, puis appelle auth.exportLoginToken à nouveau pour récupérer le résultat de l'analyse. 5
Confirmer ou migrer le centre de données
Si le centre de données correspond, Telegram renvoie
Si le centre de données correspond, Telegram renvoie
auth.loginTokenSuccess, la connexion est effectuée. Si cela ne correspond pas, la réponse est auth.loginTokenMigrateTo, et le client doit appeler auth.importLoginToken avec le même jeton contre le centre de données indiqué. // Appareil demandant la connexion
auth.exportLoginToken(api_id, api_hash)
// -> auth.loginToken { token, expires }
// Affiché sous forme de code QR
tg://login?token=<base64url(token)>
// L'appareil déjà authentifié le scanne
auth.acceptLoginTokenjeton
L'appareil en cours de connexion interroge à nouveau
auth.exportLoginToken()
// -> auth.loginTokenSuccess
// ou auth.loginTokenMigrateTo { dc_id } Fenêtre courte, planifiez la nouvelle tentative
Le jeton n'est généralement valide que pour 30 secondes. S'il expire avant d'être scanné, le client doit appeler
Le jeton n'est généralement valide que pour 30 secondes. S'il expire avant d'être scanné, le client doit appeler
auth.exportLoginToken à nouveau et générer un nouveau code, et non pas simplement réitérer l'ancien. JETON_AUTH_INVALIDE
Jeton d'authentification expiré
AUTH_TOKEN_ALREADY_ACCEPTED
Jeton d'authentification expiré
AUTH_TOKEN_ALREADY_ACCEPTED
C'est précisément l'échange qu'Unipile effectue en votre nom lorsque vous connectez un compte Telegram via son Appareils intégration : le code QR, l'échange de jetons, la gestion du centre de données et la nouvelle tentative lorsqu'un jeton expire. Vous appelez un point de terminaison, Unipile gère la conversation MTProto décrite ci-dessus, y compris le cas où le compte en cours de connexion se trouve dans un centre de données différent de celui auquel votre application a parlé en premier. Cette gestion du centre de données est facile à manquer lorsque vous créez le flux à partir de zéro, car elle n'apparaît que pour un sous-ensemble de comptes et elle interrompt silencieusement les connexions pour ceux qu'elle affecte si le
Créez votre flux de connexion par QR code avec Unipile auth.loginTokenMigrateTo la branche n'est pas gérée.Client API / MTProto
Connectez-vous par numéro de téléphone et le mur de la double authentification
La connexion classique par numéro de téléphone est le point où la plupart des clients Telegram faits maison se bloquent. Non pas parce qu'elle est complexe, mais parce que le parcours se ramifie silencieusement dès que l'authentification à deux facteurs est activée, et cette ramification n'est pas optionnelle. Un client qui ne met en œuvre que le scénario nominal (envoyer le code, valider le code, c'est fait) fonctionne bien avec un compte de test, puis échoue en production dès qu'il rencontre un vrai utilisateur ayant activé un mot de passe cloud.
1
Envoyez le code de connexion
auth.sendCode envoie le code au numéro de téléphone et renvoie un auth.sentCode objet contenant un code_hachage_telephone, requis pour le prochain appel. 2
Valider le code
auth.signIn vérifie le code par rapport au code_hachage_telephone. Si le numéro de téléphone n'a pas encore de compte, Telegram renvoie Inscription requise pour l'authentification au lieu d'une autorisation. 3
Se heurter au mur de la double authentification
Si l'authentification à deux facteurs est activée sur le compte,
Si l'authentification à deux facteurs est activée sur le compte,
auth.signIn répond avec un Erreur 400 : SESSION_PASSWORD_NEEDED. Ceci est la réponse attendue pour tout compte doté d'un mot de passe cloud, et non un échec de gestion en tant qu'exception. 4
Voyez cela avec le SRP
Terminer la connexion signifie exécuter le protocole SRP : construire un
Terminer la connexion signifie exécuter le protocole SRP : construire un
VérificationMotDePasseEntréeSRP objet à partir des paramètres de mot de passe du compte, puis appeler auth.checkPassword. Le succès retourne un autorisation d'authentification; un mauvais mot de passe renvoie HACHAGE_DE_MOT_DE_PAS_INVALIDE. Seules les applications officielles reçoivent les SMS de Firebase
Seules les applications mobiles officielles de Telegram sont autorisées à être utilisées Livraison de codes SMS basée sur Firebase. Les applications tierces doivent acheminer le code par un autre canal de livraison, ou écrire vers sms@telegram.org pour discuter de l'accès.
Seules les applications mobiles officielles de Telegram sont autorisées à être utilisées Livraison de codes SMS basée sur Firebase. Les applications tierces doivent acheminer le code par un autre canal de livraison, ou écrire vers sms@telegram.org pour discuter de l'accès.
MOT_DE_PASSE_DE_SESSION_NECESSAIRE
HACHAGE_DE_MOT_DE_PAS_INVALIDE
Inscription requise pour l'authentification
HACHAGE_DE_MOT_DE_PAS_INVALIDE
Inscription requise pour l'authentification
L'intégration Telegram d'Unipile gère toute cette branche pour vous : la livraison de code, la MOT_DE_PASSE_DE_SESSION_NECESSAIRE vérifier, et l'échange SRP lorsqu'un mot de passe cloud est défini, que le compte se connecte via un numéro de téléphone, un code QR, ou Hosted Auth. Cela inclut la restriction de livraison des SMS ci-dessus : étant donné que les applications tierces ne peuvent pas s'appuyer sur la livraison basée sur Firebase, c'est l'un des aspects où la gestion autonome du flux de numéros de téléphone représente une réelle charge opérationnelle, et pas seulement du code, avant même d'avoir envoyé un seul message.
Limites d'envoi
Limites de débit de l'API Telegram, en chiffres
La section 5 traitait du comportement qui entraîne le bannissement des comptes. Voici les véritables limites documentées du côté de l'API Bot, et ce qu'il en coûte pour les augmenter.
1/s
Nombre maximal de messages pour la même discussion individuelle
Nombre maximal de messages pour la même discussion individuelle
20/min
Nombre maximal de messages dans un seul groupe
Nombre maximal de messages dans un seul groupe
~30/s
Plafond approximatif de diffusion à travers différentes conversations
Plafond approximatif de diffusion à travers différentes conversations
429
Une erreur est renvoyée dès qu'une de ces limites est dépassée.
Une erreur est renvoyée dès qu'une de ces limites est dépassée.
Les diffusions payantes rehaussent le plafond, à deux conditions
Les bots peuvent permettre émissions payantes via BotFather, ce qui augmente le plafond d'envoi jusqu'à 1 000 messages par seconde. Les messages envoyés au-delà du seuil gratuit coûtent 0,1 étoile Telegram chacun. L'accès est conditionné par deux exigences au niveau du compte, qui doivent toutes deux être remplies en même temps.
Solde de 100 000 étoiles
100 000 utilisateurs actifs mensuels
100 000 utilisateurs actifs mensuels
Dépassez la limite individuelle, de groupe ou de diffusion et l'API Bot répond avec le 429 statut couvert dans le référence d'erreur en dessous, aux côtés du
420 INONDATION et FLOOD_WAIT_X codes utilisés du côté de MTProto. Les deux mécanismes existent pour la même raison : vous inciter à ralentir avant que Telegram ne décide de le faire à votre place.Ces numéros sont spécifiques à l'API Bot. Pour un connecté espace client, il n'y a pas de plafond publié, seulement les propres conseils de rythme d'Unipile couverts dans c'est gratuit, c'est là que ça coince: réchauffer les nouveaux comptes, augmenter la cadence progressivement, garder au moins 10 à 20 secondes entre les messages.
Référence d'erreur
Les erreurs de l'API Telegram que vous devez connaître
Les erreurs MTProto suivent le même format à trois chiffres que les codes d'état HTTP que la plupart des développeurs connaissent déjà, associés à une courte chaîne lisible par machine. Voici la table de référence, ainsi qu'une erreur qui n'apparaît que pour vos utilisateurs finaux, et non pour vous. Connaître cette liste avant de déployer a plus d'importance qu'après : plusieurs de ces codes,
303 et 420 en particulier, ne constituent pas des échecs exceptionnels, ils font partie des conditions normales de fonctionnement d'un client MTProto et doivent être traités dans le chemin de code, et non consignés et ignorés.| Code | Sens |
|---|---|
| 303 Voir autre | La requête doit être répétée, en ciblant un autre centre de données. |
| 400 MAUVAISE_REQUÊTE | La requête contient des erreurs. API_ID_INVALIDE est un exemple courant de ce code. |
| 401 NON AUTORISÉ | La méthode requiert une fonctionnalité réservée aux utilisateurs autorisés. |
| 403 INTERDIT | Violation de la vie privée, par exemple en essayant d'écrire à un utilisateur qui vous a bloqué. |
| 404 NON_TROUVÉ | L'objet ou la méthode demandé n'existe pas. |
| 420 FLOOD / FLOOD_WAIT_X | Le nombre maximal d'appels autorisés a été dépassé, veuillez patienter X secondes avant de réessayer. |
303 Voir autreLa requête doit être répétée, en ciblant un autre centre de données.
400 MAUVAISE_REQUÊTELa requête contient des erreurs.
API_ID_INVALIDE est un exemple courant de ce code.401 NON AUTORISÉLa méthode requiert une fonctionnalité réservée aux utilisateurs autorisés.
403 INTERDITViolation de la vie privée, par exemple en essayant d'écrire à un utilisateur qui vous a bloqué.
404 NON_TROUVÉL'objet ou la méthode demandé n'existe pas.
420 FLOOD / FLOOD_WAIT_XLe nombre maximal d'appels autorisés a été dépassé, veuillez patienter X secondes avant de réessayer.
Encore un, du côté de l'utilisateur final
API_ID_PUBLISHED_FLOOD s'affiche pour vos utilisateurs finaux lorsqu'une application publiée réutilise l'exemple id_api fourni dans le code d'exemple open-source au lieu de demander le sien. Chaque application que vous publiez a besoin de la sienne id_api et clé d'API depuis my.telegram.org. Un client construit directement sur l'API client (MTProto) doit gérer lui-même chacun de ces codes : réessayer sur le bon centre de données le 303, lâcher du lest sur 420, et traiter 401 et 403 en tant que signaux relatifs à l'état du compte plutôt que comme des échecs génériques. La connexion d'un compte existant via Unipile déplace cette gestion des erreurs derrière un statut de compte lié unique, au lieu d'un ensemble de codes MTProto que votre propre code doit interpréter correctement à chaque appel.
Client API / MTProto
Choisir une bibliothèque MTProto, et ce qu'elle ne fera pas pour vous
Si vous décidez de concevoir vous-même le chemin de l'API client, vous n'implémentez pas MTProto à partir d'une fiche technique. Une poignée de bibliothèques parlent déjà le protocole, le client en lui-même est donc rarement la partie la plus difficile. En choisir une ne résout qu'une partie du problème, et la partie qu'elle résout est généralement la moins importante.
Python
Téléthon
Une implémentation MTProto en pur Python, articulée autour d'async/await, avec une API client qui se lit presque comme du Python simple plutôt que comme des appels de protocole bruts.
Python
Pyrogram
Un autre client Python MTProto, avec sa propre approche de la gestion des sessions et une interface conçue pour ressembler davantage à un kit de développement logiciel (SDK) conventionnel qu'à une bibliothèque de protocole.
Node.js
GramJS
L'équivalent le plus proche de Telethon pour les bases de code JavaScript et TypeScript, implémentant la même conversation MTProto pour un environnement d'exécution Node.js.
Officiel
TDLib
La propre bibliothèque officielle de Telegram, écrite en C++, avec des liaisons exposées pour plusieurs langages. Elle implémente la totalité de la pile MTProto de la même manière que le font les applications officielles de Telegram.
Le choix dépend généralement de la pile technique que vous utilisez déjà plutôt que d'une comparaison de fonctionnalités : un backend en Python oriente vers Téléthon ou Pyrogram, un backend Node.js ou TypeScript indique GramJS, et une équipe qui souhaite rester aussi proche que possible des applications officielles de Telegram s'oriente vers TDLib et ses reliures. Aucun de ces choix ne supprime la seconde moitié de l'œuvre ci-dessous.
Ce qu'une bibliothèque vous apporte
La couche de chiffrement MTProto et les appels de méthodes bruts
Mettre à jour la gestion des événements entrants provenant des serveurs de Telegram
Une API côté client pour appeler les méthodes d'authentification, de messagerie et de compte
Ce que vous construisez encore vous-même
Persister les sessions de manière fiable lors des redémarrages et des déploiements
Gestion du flux SESSION_PASSWORD_NEEDED et SRP de bout en bout pour vos utilisateurs
Rétablissement gracieux de la connexion et suivi du statut du compte lorsqu'un appareil est supprimé
API Telegram : Foire aux questions
Des réponses directes sur api_id, api_hash, les jetons de bot BotFather et la connexion d'un compte Telegram existant avec Unipile.
Telegram n'a pas une seule API, mais trois. L'API Bot est une interface HTTP pour les comptes de robots. L'API Telegram, également appelée API Client, fonctionne sur le protocole MTProto et sert de base aux clients Telegram complets. L'API Gateway envoie uniquement des codes de vérification. Celle dont vous avez besoin dépend de si vous automatisez un robot ou si vous agissez en tant que véritable compte utilisateur.
Il n'y a pas de clé API Telegram unique. Pour l'API Client, vous vous connectez sur my.telegram.org, ouvrez les outils de développement d'API et remplissez le formulaire pour recevoir un api_id et un api_hash. Pour l'API Bot, vous envoyez un message à BotFather dans Telegram et il renvoie un jeton de bot. Notez que Telegram n'autorise qu'un seul api_id par numéro de téléphone.
Oui. Telegram indique que l'API Bot et l'API Telegram sont utilisables gratuitement, sans frais par message. Le coût réel réside dans l'infrastructure que vous gérez, la gestion des sessions et le risque de bannissement si vous envoyez des messages de manière agressive.
L'API Bot est une simple interface HTTPS : vous appelez des méthodes telles que sendMessage sur api.telegram.org avec le jeton de votre bot. L'API Client est un protocole binaire MTProto, c'est pourquoi la plupart des développeurs utilisent une bibliothèque telle que Telethon, Pyrogram ou GramJS plutôt que de l'implémenter eux-mêmes.
Bot API 10.2, publié le 14 juillet 2026. Il a succédé à la version 10.1 le 11 juin 2026 et à la version 10.0 le 8 mai 2026.
Oui. Vous pouvez connecter un compte Telegram existant via la propre fonction Appareils de Telegram, qui est la façon dont Unipile lie les comptes, en utilisant une connexion par code QR ou un flux d'authentification hébergé. Vous obtenez un accès au compte utilisateur sans avoir à implémenter vous-même MTProto, le stockage de session ou la gestion de la double authentification.
Vous avez encore des questions ? Notre équipe est là pour vous aider.
API Telegram, repensée
Intégrez votre API Telegram avec Unipile
Oubliez le client MTProto, oubliez les limitations des bots. Connectez un compte Telegram existant via Unipile et unissez-le à WhatsApp, LinkedIn, Instagram, Gmail, Outlook et IMAP en une seule API.