Comment envoyer un SMS via une API ? Vous cherchez à automatiser l’envoi de SMS depuis vos applications ou vos outils métiers ? L’utilisation d’une API SMS est la solution idéale pour intégrer cette fonctionnalité de manière simple, rapide et scalable. Que ce soit pour envoyer des notifications transactionnelles, des codes de confirmation 2FA ou des campagnes marketing ciblées, une API comme celle de SMS Partner vous permet de le faire en quelques lignes de code. Les prérequis pour envoyer un SMS via une API Avant de commencer, assurez-vous d’avoir : Un compte SMS Partner : Inscription gratuite. Une clé API : Disponible dans votre tableau de bord, elle sert à authentifier vos requêtes. Un environnement technique : Un éditeur de code (VS Code, Sublime Text, Notepad++, etc.) ou un outil comme Postman pour tester les requêtes. Un langage de programmation : L’API SMS est compatible avec PHP, Python, Node.js, Java, Go, Ruby, Swift, VB.net et même des requêtes cURL. Des numéros de téléphone valides : Au format international (ex : +33612345678). Un message conforme : Longueur maximale : 160 caractères (70 pour les messages Unicode). Inclusion d’un stop SMS (ex : STOP au 36170) pour les campagnes marketing. Étapes pour envoyer un SMS via l’API SMS Partner 1. Récupérer votre clé API Connectez-vous à votre espace client SMS Partner et récupérez votre clé API dans la section dédiée. Ajoutez-la dans l’en-tête (headers) de vos requêtes HTTP sous le champ apiKey. 2. Construire la requête API L’API SMS Partner utilise une URL de base : https://api.smspartner.fr/v1/send. Voici les paramètres obligatoires pour un envoi : Paramètre Description Exemple apiKey Votre clé API. “API_KEY” phoneNumbers Numéro(s) du/des destinataire(s) au format international. “+33612345678” sender Nom de l’expéditeur (3 à 11 caractères alphanumériques). “MaBoutique” gamme Type de SMS (1 = standard, 2 = premium). “2” message Contenu du SMS (160 caractères max pour un SMS standard). “Bonjour ! Voici votre code : 1234” Exemple en cURL curl -X POST "https://api.smspartner.fr/v1/send" \ -H "Content-Type: application/json" \ -d '{ "apiKey": "VOTRE_CLE_API", "phoneNumbers": "+33612345678", "message": "Votre code de confirmation est : 1234. STOP au 36170", "sender": "SMSPartner" }' Exemple en Python import requests url = "https://api.smspartner.fr/v1/send" data = { "apiKey": "VOTRE_CLE_API", "phoneNumbers": "+33612345678", "message": "Votre code de confirmation est : 1234. STOP au 36170", "sender": "SMSPartner" } response = requests.post(url, json=data) print(response.json()) Exemple en JavaScript (Node.js) const https = require('https'); const data = JSON.stringify({ apiKey: "VOTRE_CLE_API", phoneNumbers: "+33612345678", message: "Votre code de confirmation est : 1234. STOP au 36170", sender: "SMSPartner" }); const options = { hostname: 'api.smspartner.fr', port: 443, path: '/v1/send', method: 'POST', headers: { 'Content-Type': 'application/json', 'Content-Length': data.length } }; const req = https.request(options, (res) => { let responseData = ''; res.on('data', (chunk) => { responseData += chunk; }); res.on('end', () => { console.log(JSON.parse(responseData)); }); }); req.on('error', (error) => { console.error(error); }); req.write(data); req.end(); 3. Recevoir la réponse de l’API L’API retourne un objet JSON avec : Un statut (success: true/false). Un identifiant de message (messageId) pour le suivi. Un solde de crédits restant (creditsLeft). Exemple de réponse : { "success": true, "messageId": "02000000YYYYYYYY", "creditsLeft": 95 } Bonnes pratiques pour optimiser vos envois SMS via API Gestion des erreurs : Vérifiez les codes d’erreurs (ex : 11 pour un manque de crédit, 10 pour une clé API incorrecte). Consultez la documentation des codes d’erreur pour diagnostiquer les problèmes. Personnalisation : Utilisez des variables dynamiques pour adapter le contenu (ex : {{nom}}, {{code}}). Planification : Utilisez le paramètre scheduledDate pour programmer un envoi au moment le plus opportun. Numéros valides : Vérifiez vos numéros avant chaque envoi pour éviter de dépenser vos crédits pour des numéros invalides, grâce à notre API HLR. Respect des règles : Stop SMS : Obligatoire pour les campagnes marketing. Longueur : Limitez à 160 caractères (ou 70 pour l’Unicode). Heures légales : Pas de SMS commerciaux entre 20h et 8h en semaine, ni les dimanches/jours fériés. Tests : Utilisez notre bac à sable avant de passer en production pour valider les requêtes, le format et le contenu. FAQ sur l’envoi de SMS via API + – 1. Puis-je envoyer des SMS via API à l’international ? Oui ! SMS Partner prend en charge l’envoi de SMS dans plus de 220 pays. Vérifiez la disponibilité et les tarifs pour chaque pays dans notre liste des destinations. Respectez les règles locales. + – 2. Comment suivre la livraison de mes SMS ? L’API retourne un messageId pour chaque SMS envoyé. Utilisez-le pour : Récupérer le statut via l’endpoint /v1/status?apiKey=VOTRE_CLE_API&messageId=ID_DU_MESSAGE. Recevoir des rapports de livraison en temps réel (statuts : livré, en attente, erreur). + – 3. Comment sécuriser mes requêtes API ? Ne partagez jamais votre clé API en clair (utilisez des variables d’environnement). Utilisez HTTPS pour chiffrer les échanges. Limitez les accès : Restreignez l’IP de votre serveur si possible. Surveillez les logs : Vérifiez régulièrement les requêtes suspectes. Le SMS vous intéresse ? Consultez aussi nos articles sur : Comment gérer une campagne SMS à l’international ? Qu’est-ce qu’une API SMS et comment fonctionne-t-elle ? SMS Partner ou SMS Mode : le comparatif Envoyer des SMS via Gmail