Vos SMS partent de votre propre mobile.Découvrez comment
PLATFORMEArchitecture API-premièreJumelage sécurisé de l'appareilVisibilité de la livraisonContrôle multi-appareilsDocumentation en version
Hub des développeurs/API Telegram

TG · 6 opérations documentées

Documentation Telegram API

Utilisez votre compte Telegram connecté depuis votre propre application : trouvez des contacts, mettez un message en file d'attente et suivez son état d'envoi.

Contacts et messages Telegram connectés à une application professionnelle
URL de base RESThttps://api.smsmobileapi.com

Réponses JSON · HTTPS requis · UTF-8

Connectez votre clé API

Connectez une fois, puis testez les endpoints pour SMS, appels, notifications, WhatsApp, Telegram et e-mail.

Commencez ici

Votre première demande en quatre étapes

1

Keep your main SMSMobileAPI subscription active; Telegram connection, API access, sending and sent-message history pause when it expires.

2

Connectez votre propre compte Telegram en QR code dans le tableau de bord et synchronisez ses contacts.

3

Copiez votre clé SMSMobileAPI depuis My API Key et conservez-la sur votre serveur.

4

Listez les contacts et copiez le contact_id du destinataire prévu.

5

Send JSON for text, or multipart/form-data to attach an image or document. Use the returned message_id to check the sent log.

VOTRE COMPTE TELEGRAM

Connectez-vous, choisissez un contact, puis suivez l'envoi.

Compte couvert

Chaque client scanne un QR code pour connecter son propre compte Telegram. Synchronisez les contacts dans le tableau de bord, utilisez l'ID de contact retourné pour mettre un message en file d'attente, puis inspectez son statut dans le journal des envois.

1

Connecter

Scannez le QR code sur la page du tableau de bord Telegram.

2

Trouver un contact

Synchronisez, puis recherchez l'ID du contact via API.

3

Envoyer

POST un message JSON avec une clé d'idempotence.

4

Piste

Lire les états queued, sent, unknown ou error.

Authentification

Conservez les informations d'identification sur votre serveur

Send X-SMSMobileAPI-Key: YOUR_API_KEY in an HTTPS header. Keep this key on your server, never in browser JavaScript or a public repository. The endpoints are scoped to the Telegram account connected to that SMSMobileAPI account. A short-lived signed download_url can be opened without the key. Access can be disabled in My API Key.

Avant l'intégration
  • An expired SMSMobileAPI subscription blocks Telegram API access with HTTP 402 subscription_expired, including attachment downloads. Renew in the dashboard to restore access; existing connection and history are preserved.
  • Le QR code relie le compte Telegram propre à chaque client. Les messages sont envoyés depuis ce compte, et non depuis un compte SMSMobileAPI partagé.
  • Une réponse 202 signifie que la requête a été mise en file d'attente. Cela ne prouve pas que Telegram a accepté ou livré le message. Interrogez le journal des envois pour vérifier envoyé ou erreur.
  • Le service envoie actuellement une seule personne synchronisée ou un @username enregistré par requête. Respectez les règles Telegram et le consentement du destinataire.
  • Les requêtes sont limitées à 15 nouveaux messages par minute et 30 messages en file d'attente par compte connecté. Utilisez une idempotency_key stable lors des nouvelles tentatives.
  • Images and documents can be up to 5 MB. The send queue holds file bytes only until processing finishes; a separate private copy supports later downloads. File bytes are never embedded in the sent log.
  • Newly sent attachments are kept in private storage for 90 days. The sent log returns a download_url valid for 15 minutes; request the log again to get a new link. Older attachments sent before this feature have no downloadable copy.
OBTENIR

Lister les contacts Telegram

#
POINT D'ARRIVÉEhttps://api.smsmobileapi.com/telegram/contacts/

Renvoie les contacts disponibles dans votre compte Telegram connecté.

Quand l'utiliser

Recherchez par nom affiché ou @username, puis utilisez contact_id pour envoyer.

Paramètres

NomTaperExigenceDésignation des marchandises
q chaîne Facultatif Recherche optionnelle par nom ou nom d'utilisateur, jusqu'à 80 caractères.
limit entier Facultatif Taille de page de 1 à 100 ; 50 par défaut.
cursor entier Facultatif Utilisez paging.next_cursor de la réponse précédente ; omettez pour la première page.

Exemple de demande

boucle
curl -G 'https://api.smsmobileapi.com/telegram/contacts/' \
  -H 'X-SMSMobileAPI-Key: YOUR_API_KEY' \
  --data-urlencode 'q=Alex' \
  --data-urlencode 'limit=50'

Exemple de réponse

JSON
{"ok":true,"data":[{"contact_id":42,"display_name":"Alex Example","username":"alex_example","source":"telegram"}],"paging":{"has_more":false,"next_cursor":null}}

Vous souhaitez exécuter cette requête ?Connectez votre clé API en haut de la page pour déverrouiller le testeur interactif.

Clé de connexion ↑
Bien pour savoir
  • Les ID de contact appartiennent au compte connecté ; un ID d'un autre compte ne peut pas être utilisé.
  • Actualisez les contacts depuis Dashboard → Telegram Contacts lorsqu'une nouvelle personne n'apparaît pas.
POSTE

Envoyez un message Telegram

#
POINT D'ARRIVÉEhttps://api.smsmobileapi.com/telegram/send/

Met en file d'attente un message texte pour un contact depuis votre compte Telegram connecté.

Quand l'utiliser

Utilisez contact_id depuis le point de terminaison contacts. Enregistrez message_id pour le suivi.

Paramètres

NomTaperExigenceDésignation des marchandises
contact_id entier Requis ID de contact renvoyé par /telegram/contacts/.
message chaîne Requis Texte UTF-8, 1–4096 caractères et au maximum 16 000 octets.
idempotency_key Chaîne UUID Facultatif Clé stable de 36 caractères en minuscules de type UUID. Réutilisez-la lors de nouvelles tentatives réseau pour éviter les messages en double.

Exemple de demande

boucle
curl -X POST 'https://api.smsmobileapi.com/telegram/send/' \
  -H 'X-SMSMobileAPI-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"contact_id":42,"message":"Your appointment is confirmed.","idempotency_key":"2d40bb10-cc42-4c30-a282-93fc6dd8e161"}'

Exemple de réponse

JSON
{"ok":true,"message_id":123,"status":"queued","idempotency_key":"2d40bb10-cc42-4c30-a282-93fc6dd8e161","duplicate":false}

Vous souhaitez exécuter cette requête ?Connectez votre clé API en haut de la page pour déverrouiller le testeur interactif.

Clé de connexion ↑
Bien pour savoir
  • HTTP 202 signifie mis en file d'attente ; ce n'est pas un accusé de réception de livraison. Une nouvelle tentative identique retourne HTTP 200 avec duplicate=true et le message_id original.
  • Pour les nouvelles tentatives, réutilisez la même idempotency_key avec le même contact et message. Une charge utile modifiée avec la même clé renvoie HTTP 409.
POSTE

Send a Telegram image or document

#
POINT D'ARRIVÉEhttps://api.smsmobileapi.com/telegram/send/

Queue one file for a contact, with an optional caption.

Quand l'utiliser

Use multipart/form-data. The field name for the attachment is file.

Paramètres

NomTaperExigenceDésignation des marchandises
contact_id entier Requis ID de contact renvoyé par /telegram/contacts/.
file file Requis One JPG, PNG, WebP, PDF, TXT, CSV, JSON, ZIP or Office file, at most 5 MB.
message chaîne Facultatif Optional caption of at most 1024 characters.
idempotency_key Chaîne UUID Facultatif Reuse the same key and identical file and caption when retrying.

Exemple de demande

boucle
curl -X POST 'https://api.smsmobileapi.com/telegram/send/' \
  -H 'X-SMSMobileAPI-Key: YOUR_API_KEY' \
  -F 'contact_id=42' \
  -F 'message=Here is the document.' \
  -F 'file=@./document.pdf' \
  -F 'idempotency_key=2d40bb10-cc42-4c30-a282-93fc6dd8e161'

Exemple de réponse

JSON
{"ok":true,"message_id":124,"status":"queued","idempotency_key":"2d40bb10-cc42-4c30-a282-93fc6dd8e161","duplicate":false}

Vous souhaitez exécuter cette requête ?Connectez votre clé API en haut de la page pour déverrouiller le testeur interactif.

Clé de connexion ↑
Bien pour savoir
  • Do not set Content-Type manually; cURL adds the multipart boundary.
  • For JSON clients, send file_base64 with the Base64 file contents and filename, alongside contact_id and an optional message caption.
  • A queued response is not proof of delivery. Check GET /telegram/sent/?message_id=124.
  • The connected Telegram account sends the file to one contact.
POSTE

Send a Telegram file using JSON

#
POINT D'ARRIVÉEhttps://api.smsmobileapi.com/telegram/send/

Queue one image or document using a Base64 string when multipart upload is inconvenient.

Quand l'utiliser

Encode the original file bytes with Base64. Do not include an API key in the JSON body.

Paramètres

NomTaperExigenceDésignation des marchandises
contact_id entier Requis ID de contact renvoyé par /telegram/contacts/.
filename chaîne Requis Original file name, for example photo.png or invoice.pdf.
file_base64 chaîne Requis Raw Base64 file contents or a data URI; decoded file must be 5 MB or smaller.
message chaîne Facultatif Optional caption of at most 1024 characters.
idempotency_key Chaîne UUID Facultatif Reuse the same key with identical file contents, filename and caption on retries.

Exemple de demande

boucle
curl -X POST 'https://api.smsmobileapi.com/telegram/send/' \
  -H 'X-SMSMobileAPI-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"contact_id":42,"filename":"photo.png","file_base64":"BASE64_ENCODED_FILE","message":"See attached","idempotency_key":"2d40bb10-cc42-4c30-a282-93fc6dd8e161"}'

Exemple de réponse

JSON
{"ok":true,"message_id":125,"status":"queued","idempotency_key":"2d40bb10-cc42-4c30-a282-93fc6dd8e161","duplicate":false}

Vous souhaitez exécuter cette requête ?Connectez votre clé API en haut de la page pour déverrouiller le testeur interactif.

Clé de connexion ↑
Bien pour savoir
  • Replace BASE64_ENCODED_FILE with the actual Base64 of a supported file.
  • Use multipart/form-data instead if your client supports direct file upload; it avoids Base64 size overhead.
OBTENIR

Lister les messages Telegram envoyés

#
POINT D'ARRIVÉEhttps://api.smsmobileapi.com/telegram/sent/

Renvoie les messages récents en file d'attente, en cours d'envoi, envoyés et échoués, du plus récent au plus ancien.

Quand l'utiliser

Interroger ce point de terminaison avec message_id pour suivre un message renvoyé par /telegram/send/.

Paramètres

NomTaperExigenceDésignation des marchandises
message_id entier Facultatif Retourner l'ID de message spécifique de /telegram/send/.
contact_id entier Facultatif Limiter les résultats à un seul ID de contact.
status queued | sending | sent | error | unknown Facultatif Filtrer par état d'envoi.
limit entier Facultatif Taille de page de 1 à 100 ; 50 par défaut.
cursor entier Facultatif Utilisez paging.next_cursor pour récupérer les messages plus anciens.

Exemple de demande

boucle
curl -G 'https://api.smsmobileapi.com/telegram/sent/' \
  -H 'X-SMSMobileAPI-Key: YOUR_API_KEY' \
  --data-urlencode 'message_id=123'

Exemple de réponse

JSON
{"ok":true,"data":[{"message_id":123,"contact_id":42,"contact_name":"Alex Example","username":"alex_example","message":"Your appointment is confirmed.","type":"text","media":null,"status":"sent","telegram_message_id":781,"error_code":null,"error_detail":null,"attempts":1,"queued_at":"2026-11-06T09:42:00+00:00","sent_at":"2026-11-06T09:42:04+00:00"}],"paging":{"has_more":false,"next_cursor":null}}

Vous souhaitez exécuter cette requête ?Connectez votre clé API en haut de la page pour déverrouiller le testeur interactif.

Clé de connexion ↑
Bien pour savoir
  • The top-level type is text, image or file. For an attachment, media contains the filename, MIME type, size, download_url and available_until; media is null for text messages. File bytes are not embedded in the log.
  • The download_url opens in a browser for 15 minutes. Refresh this endpoint for a new link while the file remains available.
  • sent signifie que Telegram a accepté le message depuis le compte connecté ; la délivrance au destinataire et les accusés de lecture ne sont pas signalés.
  • unknown signifie que l'issue de l'envoi n'a pas pu être confirmée. Ne renvoyez pas aveuglément un message dans cet état.
OBTENIR

Download a sent Telegram attachment

#
POINT D'ARRIVÉEhttps://api.smsmobileapi.com/telegram/media/

Downloads a previously sent image or document while it remains available.

Quand l'utiliser

Use media.download_url from the sent log, or call this endpoint with the account API key.

Paramètres

NomTaperExigenceDésignation des marchandises
message_id entier Requis Message ID returned by /telegram/send/.

Exemple de demande

boucle
curl -L 'https://api.smsmobileapi.com/telegram/media/?message_id=124' \
  -H 'X-SMSMobileAPI-Key: YOUR_API_KEY' \
  -o attachment

Exemple de réponse

JSON
Binary image or document bytes (Content-Type matches the file)

Vous souhaitez exécuter cette requête ?Connectez votre clé API en haut de la page pour déverrouiller le testeur interactif.

Clé de connexion ↑
Bien pour savoir
  • A download_url returned by /telegram/sent/ is signed and works without an API key for 15 minutes. Keep it private.
  • The authenticated endpoint requires the Telegram sent-log API access switch.
  • Files are retained for 90 days; the type and filename remain in the log after expiry.

Dépannage

Erreurs et tentatives sécurisées

Lisez l'état HTTP et le champ d'erreur JSON avant de réessayer. Ne réessayez pas les échecs de validation ou d'authentification sans d'abord corriger la demande.

HTTPCodeQue faire
401api_key_required / invalid_api_keyEnvoyez un en-tête X-SMSMobileAPI-Key valide.
402subscription_expiredRenew the SMSMobileAPI subscription linked to the API key. Telegram API access resumes after renewal.
403API_ENDPOINT_DISABLEDActivez le Telegram API ou ce point de terminaison spécifique dans My API Key.
404contact_not_foundSynchronisez les contacts et utilisez un ID provenant de votre propre connexion Telegram.
409telegram_not_connected / idempotency_conflictConnecter Telegram ou choisir une nouvelle clé d'idempotence si le contenu a changé.
422invalid_message / invalid_paginationCorrigez le message, l'ID du contact ou les paramètres de pagination.
429queue_full / rate_limitedAttendez que les envois en file d'attente ou la limite par minute se libèrent.
503sending_unavailable / service_unavailableLe worker d'envoi ou le stockage est temporairement indisponible ; réessayez plus tard.
503media_not_readyFile sending requires the current Telegram service update. Text sending remains available.
404 / 410media_not_found / media_expiredThe file is unavailable or past its 90-day retention period.
Règle de nouvelle tentativeRéessayez uniquement les réponses 429 et 5xx transitoires. Commencez après 1 seconde, puis revenez à 2, 4 et 8 secondes.

Besoin d'aide ?

Apportez le contexte de la requête, pas vos secrets.

Partagez le point de terminaison, l'horodatage, l'état HTTP et la réponse nettoyée. N'incluez jamais de clés API, de jetons ou de contenu de message privé.

Contactez l'assistance API →
L'application mobile sécurisée SMSMobileAPI connectant un téléphone au tableau de bord Web et à l'API REST pour les opérations SMS et d'appel
Connexion mobile à plateforme cryptée

Application mobile officielle

Le pont sécurisé entre votre téléphone, votre tableau de bord et votre API.

Les opérations SMS et appels passent par l'application officielle SMSMobileAPI installée sur votre téléphone connecté. L'application associe en toute sécurité l'appareil à votre compte, synchronise les événements autorisés et relie le réseau mobile au tableau de bord et à l'API REST.

1Application mobileAssocie le téléphone et sa carte SIM 2Lien cryptéAuthentifie et protège les données dans transit 3Tableau de bord et APIContrôle les flux de travail et l'activité
  • Communications signées distribuées via les listes officielles de Google Play et Apple App Store
  • Contrôles d'examen, de signature et de distribution des plateformes Google et Apple
  • Couplage sécurisé des appareils, transport HTTPS et accès API authentifié
  • Uniquement les autorisations requises pour les fonctionnalités mobiles que vous activez
Obtenez l'application officielle SMSMobileAPI sur Google Play Téléchargez l'application officielle SMSMobileAPI sur l'App Store d'Apple
Les fonctionnalités dépendent des autorisations et de l'accès en arrière-plan autorisés par Android ou iOS.