Bibliothèque sms-node-client : Envoi de SMS depuis Node.js
Les applications web modernes nécessitent souvent une intégration avec des services SMS pour envoyer des notifications, des confirmations d'inscription ou des campagnes marketing. La bibliothèque sms-node-client fournit une interface simple et pratique pour travailler avec les passerelles SMS populaires directement depuis Node.js. Elle abstrait la complexité des requêtes HTTP et de l'authentification, permettant au développeur de se concentrer sur la logique métier.
Dans cet article, nous examinerons les principales fonctionnalités de la bibliothèque : installation, configuration de la connexion à l'API, envoi de messages individuels et en masse, ainsi que la gestion des erreurs typiques.
Installation et connexion
La bibliothèque est distribuée via npm. Pour l'installer, exécutez la commande à la racine de votre projet :
npm install sms-node-clientAprès l'installation, importez la bibliothèque dans votre fichier JavaScript :
const SMSClient = require('sms-node-client');
// ou en utilisant les modules ES6 (si configuré)// import SMSClient from 'sms-node-client';Configuration du client
Pour utiliser l'API, vous devez initialiser un objet client en lui transmettant les paramètres de connexion : apiKey (clé d'accès) et apiSecret (clé secrète). Ces données sont généralement fournies par votre fournisseur SMS.
const client = new SMSClient({ apiKey: 'votre_clé_api', apiSecret: 'votre_secret_api', // Optionnel : vous pouvez spécifier une URL de base si le fournisseur utilise un endpoint non standard // baseUrl: 'https://custom-sms-gateway.com/api/v1'});Méthodes principales de la bibliothèque
La bibliothèque propose trois méthodes principales pour envoyer des messages :
sendSMS(phone, message, options?)— envoi d'un seul SMS vers un numéro.sendBulkSMS(messages, options?)— envoi en masse vers plusieurs numéros.getStatus(messageId)— vérification du statut de livraison par ID du message.
Exemple : Envoi d'un seul SMS
Le scénario le plus simple est d'envoyer un message vers un seul numéro. La méthode retourne une Promise, il est donc pratique d'utiliser async/await.
async function sendSingleSMS() { try { const result = await client.sendSMS( '+71234567890', // Numéro du destinataire au format international 'Bonjour ! Ceci est un message de test depuis Node.js.', // Texte du message { sender: 'MyApp' } // Optionnel : nom de l'expéditeur (doit être enregistré chez le fournisseur) );
console.log('SMS envoyé avec succès :', result); // result.messageId - ID unique du message pour suivre le statut } catch (error) { console.error('Erreur d\'envoi du SMS :', error.message); }}
sendSingleSMS();Exemple : Envoi en masse
Pour envoyer le même texte vers plusieurs numéros, utilisez la méthode sendBulkSMS. Elle accepte un tableau d'objets contenant les numéros.
async function sendBulk() { const recipients = [ { phone: '+71234567890' }, { phone: '+70987654321' }, { phone: '+70123456789' } ];
try { const result = await client.sendBulkSMS(recipients, { message: 'Cher client ! Votre commande est prête à être retirée.', sender: 'ShopBot' });
console.log(`Envoyé ${result.sentCount} messages`); // result.messages - tableau avec les détails pour chaque numéro } catch (error) { console.error('Erreur d\'envoi en masse :', error); }}
sendBulk();Vérification du statut de livraison
Après l'envoi, vous pouvez vérifier si le message est bien parvenu au destinataire. Pour cela, utilisez le messageId obtenu lors de l'envoi.
async function checkStatus(messageId) { try { const status = await client.getStatus(messageId); console.log('Statut du message :', status); // status.s Aussi dans la bibliothèque
Configuration d'applications en C++ : bibliothèques et outils pour un paramétrage flexible
HtmlAgilityPack C# (.NET) : guide complet avec exemples
nock pour TypeScript : guide complet avec exemples
Planificateur de tâches en C++ : créer un Task Scheduler de zéro
zerolog Go : guide complet avec exemples pratiques