Bibliothek sms-node-client: SMS-Versand aus Node.js
Moderne Webanwendungen erfordern oft die Integration mit SMS-Diensten für den Versand von Benachrichtigungen, Registrierungsbestätigungen oder Marketingkampagnen. Die Bibliothek sms-node-client bietet eine einfache und bequeme Schnittstelle für die Arbeit mit gängigen SMS-Gateways direkt aus Node.js. Sie abstrahiert die Komplexität von HTTP-Anfragen und Authentifizierung, sodass sich der Entwickler auf die Geschäftslogik konzentrieren kann.
In diesem Artikel betrachten wir die wichtigsten Funktionen der Bibliothek: Installation, Konfiguration der API-Verbindung, Versand einzelner und Massennachrichten sowie die Behandlung typischer Fehler.
Installation und Einbindung
Die Bibliothek wird über npm vertrieben. Führen Sie zur Installation folgenden Befehl im Stammverzeichnis Ihres Projekts aus:
npm install sms-node-clientNach der Installation importieren Sie die Bibliothek in Ihre JavaScript-Datei:
const SMSClient = require('sms-node-client');
// oder mit ES6-Modulen (falls konfiguriert)// import SMSClient from 'sms-node-client';Client-Konfiguration
Für die Arbeit mit der API müssen Sie ein Client-Objekt initialisieren und ihm die Verbindungsparameter übergeben: apiKey (Zugangsschlüssel) und apiSecret (geheimer Schlüssel). Diese Daten werden in der Regel von Ihrem SMS-Anbieter bereitgestellt.
const client = new SMSClient({ apiKey: 'ihr_api_schlüssel', apiSecret: 'ihr_api_geheimnis', // Optional: Basis-URL angeben, falls der Anbieter einen nicht standardmäßigen Endpunkt verwendet // baseUrl: 'https://custom-sms-gateway.com/api/v1'});Hauptmethoden der Bibliothek
Die Bibliothek bietet drei Hauptmethoden zum Versenden von Nachrichten:
sendSMS(phone, message, options?)— Versand einer einzelnen SMS an eine Nummer.sendBulkSMS(messages, options?)— Massenversand an mehrere Nummern.getStatus(messageId)— Überprüfung des Lieferstatus anhand der Nachrichten-ID.
Beispiel: Versand einer einzelnen SMS
Das einfachste Szenario ist das Senden einer Nachricht an eine Nummer. Die Methode gibt ein Promise zurück, daher ist die Verwendung von async/await praktisch.
async function sendSingleSMS() { try { const result = await client.sendSMS( '+71234567890', // Empfängernummer im internationalen Format 'Hallo! Dies ist eine Testnachricht aus Node.js.', // Nachrichtentext { sender: 'MyApp' } // Optional: Absendername (muss beim Anbieter registriert sein) );
console.log('SMS erfolgreich gesendet:', result); // result.messageId - eindeutige Nachrichten-ID zur Statusverfolgung } catch (error) { console.error('Fehler beim SMS-Versand:', error.message); }}
sendSingleSMS();Beispiel: Massenversand
Um denselben Text an mehrere Nummern zu senden, verwenden Sie die Methode sendBulkSMS. Sie akzeptiert ein Array von Objekten mit den Nummern.
async function sendBulk() { const recipients = [ { phone: '+71234567890' }, { phone: '+70987654321' }, { phone: '+70123456789' } ];
try { const result = await client.sendBulkSMS(recipients, { message: 'Sehr geehrter Kunde! Ihre Bestellung ist zur Abholung bereit.', sender: 'ShopBot' });
console.log(`${result.sentCount} Nachrichten gesendet`); // result.messages - Array mit Details zu jeder Nummer } catch (error) { console.error('Fehler beim Massenversand:', error); }}
sendBulk();Überprüfung des Lieferstatus
Nach dem Versand können Sie prüfen, ob die Nachricht den Empfänger erreicht hat. Verwenden Sie dazu die messageId, die Sie beim Versand erhalten haben.
async function checkStatus(messageId) { try { const status = await client.getStatus(messageId); console.log('Nachrichtenstatus:', status); // status.s