Se connecter
  1. Accueil
  2. Blog
  3. Développement

Envoyez des SMS par API gratuitement

Envoyez des SMS depuis votre logiciel avec l'API gratuite SageMessaging, depuis votre propre numéro : compte, application Android, clé API et premiers envois.

L’équipe SageCodersPublié le 8 min de lecture

Logo SageMessaging relié à une bulle SMS : envoyer des SMS par API gratuitement

Pour envoyer des SMS depuis votre logiciel avec SageMessaging, il faut quatre choses : un compte gratuit, un téléphone Android avec sa carte SIM, l'application SageMessaging installée sur ce téléphone, et une clé API. Avec le SDK de votre langage, une ligne suffit ensuite, client.sms.send(), et le SMS part de votre propre numéro, au tarif de votre forfait.

Ce guide reprend chaque étape, de l'inscription au premier SMS, puis les envois différés, les campagnes et la gestion des erreurs.

Comment fonctionne SageMessaging

SageMessaging relie la carte SIM de votre téléphone Android à une API. Votre logiciel envoie une requête à l'API ; l'application installée sur le téléphone reçoit l'ordre et envoie le SMS depuis sa carte SIM. Les réponses de vos clients reviennent dans une boîte de réception web, et peuvent être transmises à votre logiciel.

Concrètement, le chemin d'un SMS est le suivant :

  1. votre logiciel appelle l'API SageMessaging avec votre clé ;
  2. SageMessaging transmet l'envoi à votre téléphone appairé ;
  3. le téléphone envoie le SMS depuis sa carte SIM ;
  4. votre client le reçoit, avec votre numéro comme expéditeur.

C'est ce qui le distingue d'une passerelle SMS classique : vous n'achetez pas de crédits, et vos clients reconnaissent votre numéro au lieu d'un expéditeur inconnu.

Ce qu'il vous faut avant de commencer

  • Un compte SageMessaging, gratuit.
  • Un téléphone Android avec une carte SIM qui a du crédit ou un forfait SMS. Ce téléphone enverra vos SMS : il doit rester allumé et connecté à internet.
  • L'application SageMessaging pour Android. Elle est en test fermé sur Google Play : on y accède en laissant son e-mail.
  • Une clé API avec la permission d'envoyer des SMS.

Créer votre compte

Rendez-vous sur messaging.sagecoders.com et cliquez sur « Créer un compte ». L'inscription est gratuite. Vous arrivez ensuite sur votre tableau de bord, d'où vous connecterez vos canaux et créerez vos clés.

Installer l'application Android

L'application est en version de test fermée sur Google Play. Sur la page Application Android, indiquez l'adresse e-mail du compte Google utilisé sur le téléphone : vous recevez le lien de la version de test, puis vous l'installez depuis Google Play, comme n'importe quelle application.

Installez-la sur le téléphone dont la carte SIM enverra les SMS.

Appairer votre téléphone

L'appairage relie le téléphone à votre compte. Il se fait en six étapes, décrites dans la documentation de SageMessaging :

  1. Activer les SMS. Dans le tableau de bord, cliquez sur « Activer les SMS », puis sur « QR de la clé » pour afficher le QR code de votre clé.
  2. Ouvrir l'application sur le téléphone.
  3. Scanner la clé. Touchez « Scanner mon QR code » et visez le QR code affiché à l'écran. Vous pouvez aussi coller la clé dans le champ « Clé API ».
  4. Indiquer vos numéros. Saisissez le numéro de la SIM 1 au format international (+225…), et celui de la SIM 2 si le téléphone en a deux. Touchez « Se connecter avec la clé API ».
  5. Laisser l'application vérifier les numéros. Elle envoie un SMS à chaque numéro pour le vérifier.
  6. Contrôler le résultat. Vos numéros s'affichent dans l'application : ✓ pour un numéro vérifié, ? pour un numéro non vérifié. Seuls les numéros vérifiés peuvent envoyer.
Écran de connexion de l'application SageMessaging pour Android : scanner le QR code, clé API, SIM 1 et SIM 2
L'écran d'appairage de l'application Android : scannez le QR code de votre clé, ou saisissez-la, puis indiquez les numéros de vos SIM.

Créer une clé API pour votre logiciel

Votre logiciel s'identifie avec une clé API. Dans l'onglet « Clés API » du tableau de bord, créez une clé et cochez uniquement la permission**sms:send** : elle autorise l'envoi de SMS, un par un ou en campagne. Une clé limitée à ce qu'elle doit faire limite aussi les dégâts si elle venait à fuiter.

Envoyer votre premier SMS

Le plus simple est d'utiliser le SDK officiel de votre langage : il gère l'authentification, les erreurs et les envois à votre place.

Avec le SDK JavaScript

Le SDK fonctionne avec Node 20 ou plus récent, Bun et Deno, en ESM comme en CommonJS, sans aucune autre dépendance.

npm install sage-messaging
import { SageMessaging } from 'sage-messaging'

// La clé est lue dans la variable SAGE_MESSAGING_API_KEY
const client = new SageMessaging()

await client.sms.send({ phone: '+2250700000000', message: 'Votre commande est prête.' })

Avec le SDK Python

Le SDK Python fonctionne avec Python 3.9 ou plus récent, en version synchrone ou asynchrone.

pip install sage-messaging
from sage_messaging import SageMessaging

client = SageMessaging()  # clé lue dans SAGE_MESSAGING_API_KEY

client.sms.send(phone="+2250700000000", message="Votre commande est prête.")

Le numéro du destinataire s'écrit au format international, avec l'indicatif du pays.

Votre langage n'a pas de SDK ? Utilisez l'API REST

PHP, Java, C#, Go, Dart ou Ruby n'ont pas encore de SDK : votre logiciel appelle directement l'API REST, par une simple requête HTTP. La clé se place dans l'en-tête Authorization.

curl -X POST https://messaging.sagecoders.com/api/sms/send \
  -H "Authorization: Bearer $SAGE_MESSAGING_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{"phone": "+2250700000000", "message": "Votre commande est prête."}'

Les fonctions présentées ci-dessous existent aussi en REST, avec les mêmes paramètres : la référence complète, avec un testeur intégré, se trouve dans l'onglet « Documentation » de votre espace.

Aller plus loin

Choisir le téléphone émetteur

Si vous avez appairé plusieurs téléphones ou plusieurs SIM, indiquez l'émetteur avec le champ from : le numéro d'une de vos SIM vérifiées, au format international, tel qu'il s'affiche dans l'application.

await client.sms.send({ phone: '+2250700000000', message: 'Votre commande est prête.', from: '+2250500000000' })

Programmer un SMS

Le champ send_at diffère l'envoi, jusqu'à 20 jours à l'avance : pratique pour un rappel de rendez-vous la veille.

await client.sms.send({
  phone: '+2250700000000',
  message: 'Rappel : votre rendez-vous est demain à 10 h.',
  send_at: new Date(Date.now() + 24 * 3600_000),
})

Envoyer une campagne

bulkSend (bulk_send en Python) envoie le même message à 1 à 100 destinataires par appel. L'envoi différé n'est pas disponible pour les campagnes. En REST, c'est la route POST /api/sms/bulk-send.

await client.sms.bulkSend({
  phones: ['+2250700000000', '+2250500000000'],
  message: 'Nos nouveaux horaires : 8 h – 20 h, du lundi au samedi.',
})

Recevoir les réponses

Les réponses de vos clients arrivent dans la boîte de réception SageMessaging, où votre équipe peut répondre à la main.

Pour que votre logiciel les reçoive aussi, déclarez une adresse dans l'onglet « Webhooks » de votre espace. SageMessaging y envoie les événements message.received et message.sent, signés en HMAC-SHA256 et relancés trois fois en cas d'échec. Vérifiez toujours la signature, sur le corps brut de la requête, avant de traiter le message.

Gérer les erreurs

L'API répond avec des codes HTTP explicites :

CodeSignificationQue faire
422Requête invalide ou canal pas encore prêtCorriger le champ indiqué, ou terminer l'appairage du téléphone
403La clé n'a pas la permission requiseAjouter sms:send à la clé
502La passerelle SMS a refusé l'envoiVérifier le téléphone, sa connexion et le crédit de la SIM

Les envois ne sont jamais relancés automatiquement, ni par l'API ni par les SDK. C'est volontaire : un envoi dont la réponse s'est perdue a pu partir, et le relancer enverrait le SMS en double. Si vous ajoutez une relance dans votre logiciel, limitez-la aux erreurs dont vous êtes sûr qu'elles n'ont rien envoyé.

Des usages concrets

Une fois l'intégration faite, chaque événement de votre logiciel peut déclencher un SMS : un code de vérification à la connexion, la confirmation d'une commande, un rappel de rendez-vous ou d'échéance, une alerte de stock bas envoyée au gérant.

C'est ce que nous faisons dans nos propres produits. SageHotel envoie à l'hôtelier son résumé du soir par WhatsApp ou par SMS. Ce site s'en sert aussi : les codes de connexion partent par WhatsApp, avec un repli par SMS si WhatsApp échoue.

Récapitulatif

ÉtapeOù
Créer un compte gratuitmessaging.sagecoders.com
Installer l'application AndroidPage « Application », test fermé sur Google Play
Activer les SMS et appairer le téléphoneTableau de bord, puis l'application
Créer une clé avec sms:sendOnglet « Clés API »
Installer le SDKnpm install sage-messaging ou pip install sage-messaging
Envoyer le premier SMSclient.sms.send(), ou POST /api/sms/send sans SDK

La référence complète de chaque route, avec un testeur intégré, se trouve dans l'onglet « Documentation » de votre espace SageMessaging. Pour WhatsApp, lisez notre guide pour envoyer des messages WhatsApp par API gratuitement. Et si vous préférez qu'on s'en charge, notre équipe développe des logiciels sur mesure avec les SMS déjà branchés.

L’équipe SageCoders

Applications, logiciels et agents IA conçus à Abidjan pour les entreprises de Côte d'Ivoire et d'Afrique.

Continuer la lecture

À lire aussi

Tous les articles →

Un projet en tête ? Notre assistant vous répond tout de suite, avec nos vrais prix et délais.

Estimer le prix