Une API SMS est une interface de programmation qui permet à votre logiciel d'envoyer et de recevoir des SMS via un fournisseur : vous faites une requête HTTP (ou ouvrez une connexion SMPP) avec le numéro, l'expéditeur et le texte, et le fournisseur livre le message puis vous en rend compte. C'est ainsi que les applications envoient codes OTP, alertes et notifications sans aucune infrastructure télécom à elles.
Qu'est-ce qu'une API SMS ?
Une API SMS ouvre la passerelle SMS d'un fournisseur aux développeurs. La plupart sont des API REST sur HTTPS : vous vous authentifiez avec une clé API ou un token, envoyez un message en POST et recevez un identifiant de message. Le fournisseur gère le routage vers les opérateurs, l'encodage, le découpage des messages longs et les accusés de réception. Beaucoup de fournisseurs proposent aussi le SMPP pour les gros volumes. Le système derrière l'API est expliqué dans qu'est-ce qu'une passerelle SMS.
Comment fonctionne une API SMS ?
- Authentification. Chaque requête porte une clé API, un bearer token ou des identifiants basic.
- Envoi d'une requête. En général un POST avec le numéro de destination au format E.164, un sender ID ou un numéro, le texte du message et, en option, une URL de callback.
- Réception d'un identifiant. L'API renvoie un identifiant de message (ou une erreur comme numéro invalide ou solde insuffisant).
- Le fournisseur route le message vers l'opérateur de destination, en direct ou via un agrégateur.
- Réception du statut. Les accusés de réception arrivent sur votre webhook à chaque changement de statut : en file d'attente, envoyé, livré, échoué, avec un code d'erreur.
- Réception des réponses. Les SMS entrants vers votre numéro ou votre short code sont envoyés à un autre webhook.
Une requête d'envoi type, en clair : to = +447700900123, from = YourBrand, text = "Your code is 482917", callback = votre URL de statut. Les noms de champs varient selon le fournisseur. Stockez les numéros au format international décrit dans format de numéro E.164.
Intégration d'une API SMS : pas à pas
- Choisissez le protocole. HTTP pour la plupart des applications ; SMPP si vous envoyez de gros volumes ou revendez. Voir SMPP vs HTTP pour le SMS.
- Enregistrez vos expéditeurs. Avant la mise en production, enregistrez sender ID, numéros ou templates dans les pays qui l'exigent. Voir enregistrement du sender ID SMS.
- Gardez les clés secrètes. Appelez l'API depuis votre serveur, jamais depuis une application mobile ou un navigateur, pour que la clé ne puisse pas être extraite.
- Gérez les webhooks. Vérifiez les signatures si le fournisseur en propose, répondez vite et traitez de façon asynchrone.
- Gérez erreurs et nouvelles tentatives. Réessayez sur les erreurs réseau et temporaires avec un délai croissant ; ne réessayez pas sur les erreurs définitives comme un numéro invalide.
- Maîtrisez l'encodage et la longueur. Restez en GSM-7 quand c'est possible. Voir GSM-7 ou Unicode.
- Protégez les déclencheurs. Limitez la fréquence de tout formulaire public qui envoie des SMS, pour stopper le SMS pumping.
- Testez sur de vrais téléphones dans chaque pays cible avant le lancement. Voir comment tester une route SMS.
Qu'est-ce qu'une clé API SMS ?
Une clé API SMS est l'identifiant secret qui identifie votre compte dans chaque requête. Quiconque la détient peut envoyer des messages à vos frais, traitez-la donc comme un mot de passe : stockez-la dans des variables d'environnement ou un gestionnaire de secrets, restreignez-la par IP si le fournisseur le permet, renouvelez-la régulièrement et révoquez-la immédiatement en cas de fuite.
Ce qu'il faut regarder dans une API SMS pour développeurs
| Domaine | À vérifier |
|---|---|
| Qualité des routes | Quelles routes se trouvent derrière l'API dans vos pays, et si les accusés de réception viennent des opérateurs |
| Accusés de réception | Des webhooks avec des statuts et codes d'erreur clairs. Voir codes de statut DLR SMS |
| Documentation et SDK | Exemples clairs, sandbox ou mode test, bibliothèques pour votre langage |
| Limites | Requêtes par seconde, longueur des messages, endpoints d'envoi en masse |
| Aide à la conformité | Aide pour l'enregistrement des sender ID, 10DLC, DLT et templates |
| Contrôles antifraude | Listes de pays autorisés, limites de fréquence, alertes de dépense |
| Modèle tarifaire | Par segment de message et par pays, facturé au message soumis ou livré |
Plus de critères dans comment choisir un fournisseur SMS A2P.
Combien coûte une API SMS ?
Le prix d'une API SMS est presque toujours fixé par segment de message et par pays de destination, car les frais de terminaison des opérateurs représentent l'essentiel du coût. Certains fournisseurs ajoutent des frais mensuels pour les numéros ou les sender ID. L'API la moins chère n'est pas toujours la moins chère par message livré : voir la tarification SMS expliquée.
Les routes derrière votre API SMS
Si vous exploitez votre propre plateforme ou API et avez besoin de routes en amont, VoIPMatcher source des routes SMS A2P en HTTP et SMPP auprès de ses carriers et les gère. Demandez une route SMS pour votre API.
Questions fréquentes
Quelle différence entre une API SMS et une passerelle SMS ?
La passerelle SMS est le système qui route les messages vers les réseaux mobiles ; l'API SMS est l'interface que les développeurs utilisent pour l'atteindre. Quand on compare des API SMS, on compare en réalité la passerelle, les routes et le support derrière chaque API, ainsi que la qualité de sa documentation et de ses outils.
Peut-on envoyer des SMS depuis son site web avec une API ?
Oui. Le backend de votre site appelle l'API SMS pour envoyer des messages comme des confirmations de commande, des rappels ou des codes de vérification. Faites l'appel depuis le serveur, jamais depuis le code du navigateur, pour que la clé API reste secrète. Protégez tout formulaire public qui déclenche un SMS avec une détection de bots et des limites de fréquence pour éviter les abus.
Existe-t-il une API SMS gratuite ?
Certains fournisseurs offrent un crédit d'essai gratuit ou un mode sandbox pour les tests, mais envoyer de vrais SMS coûte toujours de l'argent, car les opérateurs mobiles facturent chaque message livré. Les services qui promettent l'envoi de SMS gratuit à vie s'appuient en général sur des routes non autorisées ou sur la publicité, ce qui rend la livraison peu fiable et inadaptée à un usage professionnel.
Une API SMS peut-elle recevoir des messages ?
Oui, si vous disposez d'un numéro ou d'un short code qui accepte les SMS entrants. Le fournisseur transmet chaque message reçu à l'URL de votre webhook avec l'expéditeur, le texte et l'heure. Cela permet des usages bidirectionnels comme les réponses, les désinscriptions par mot-clé comme STOP et les conversations de support. Les sender ID alphanumériques ne peuvent pas recevoir de réponses.
Combien de temps prend l'intégration d'une API SMS ?
Une intégration de base qui envoie un message et gère les accusés de réception peut prendre quelques heures à un développeur avec une API REST bien documentée. La mise en production demande plus : l'enregistrement des sender ID et des templates dans chaque pays, la gestion des erreurs, les nouvelles tentatives, la gestion des désinscriptions, le monitoring et les contrôles antifraude peuvent ajouter de quelques jours à quelques semaines selon les pays.
Besoin d'une route ?
Indiquez la destination, le type de route et le tarif cible. Nous vous répondons avec ce que nous pouvons fournir.