SMS-Versand auf JavaScript (Node.js): Bibliothek twilio
In der modernen Webentwicklung ist es oft erforderlich, SMS-Benachrichtigungen an Benutzer zu senden: Registrierungsbestätigungen, Codes für die Zwei-Faktor-Authentifizierung, Benachrichtigungen über den Bestellstatus und vieles mehr. Im Node.js-Ökosystem ist eine der beliebtesten und zuverlässigsten Bibliotheken für diese Aufgabe twilio. Es handelt sich um das offizielle SDK von Twilio, das eine einfache und leistungsstarke API zum programmgesteuerten Versenden von SMS, Sprachanrufen und zur Arbeit mit anderen Telekommunikationsdiensten bietet.
In diesem Artikel werden wir im Detail besprechen, wie Sie die Bibliothek twilio installieren, konfigurieren und zum Versenden von SMS aus Ihrer Node.js-Anwendung verwenden. Sie lernen die grundlegenden Methoden kennen, erfahren, wie Sie Fehler behandeln, und sehen einige praktische Beispiele.
Installation und Konfiguration
Um loszulegen, benötigen Sie ein Konto bei Twilio. Nach der Registrierung erhalten Sie:
- Account SID — eine eindeutige Kennung Ihres Kontos.
- Auth Token — einen geheimen Schlüssel zur Authentifizierung von Anfragen.
- Twilio phone number — eine Telefonnummer, von der SMS gesendet werden (wird zum Testen kostenlos zur Verfügung gestellt).
Installieren Sie die Bibliothek über npm:
npm install twilioErstellen Sie nach der Installation eine Datei send-sms.js und binden Sie die Bibliothek ein, indem Sie Ihre Anmeldedaten übergeben:
const twilio = require('twilio');
const accountSid = 'YOUR_ACCOUNT_SID';const authToken = 'YOUR_AUTH_TOKEN';const client = twilio(accountSid, authToken);Basis-SMS-Versand
Verwenden Sie zum Senden einer Nachricht die Methode client.messages.create(). Sie akzeptiert ein Objekt mit drei Pflichtfeldern:
body— der Nachrichtentext (bis zu 1600 Zeichen für eine SMS).from— Ihre Twilio-Nummer (im Format+1234567890).to— die Nummer des Empfängers (ebenfalls im internationalen Format).
Beispiel für das Senden einer einfachen SMS:
client.messages .create({ body: 'Hallo! Dies ist eine Testnachricht von Twilio.', from: '+1234567890', to: '+79876543210' }) .then(message => console.log('Nachricht gesendet. SID:', message.sid)) .catch(error => console.error('Fehler:', error));Nach erfolgreichem Versand erhalten Sie ein message-Objekt, das die eindeutige sid (Nachrichten-ID), den Lieferstatus und andere Informationen enthält.
Asynchroner Versand mit async/await
Für einen moderneren Ansatz verwenden Sie die async/await-Syntax. Wickeln Sie den Aufruf in try...catch ein, um Fehler zu behandeln:
const sendSMS = async (to, body) => { try { const message = await client.messages.create({ body: body, from: '+1234567890', to: to }); console.log(`SMS gesendet an ${to}. SID: ${message.sid}`); return message; } catch (error) { console.error('SMS konnte nicht gesendet werden:', error.message); throw error; }};
// VerwendungsendSMS('+79876543210', 'Ihr Bestätigungscode: 1234');Zusätzliche Parameter
Die Bibliothek unterstützt viele optionale Parameter. Hier sind einige davon:
mediaUrl— URL eines Bildes oder einer anderen Mediendatei (für MMS).statusCallback— URL für den Empfang von Benachrichtigungen über den Lieferstatus (Webhook).applicationSid— SID der Twilio-Anwendung für zusätzliche Konfiguration.
Beispiel für das Senden einer MMS mit einem Bild:
client.messages .create({ from: '+1234567890', to: '+79876543210', body: 'Schauen Sie sich das an', Auch in der Bibliothek
Arbeit mit S3 und Cloud-Speichern in TypeScript: vollständiger Leitfaden
TypeDoc für TypeScript: Komplette Anleitung mit Beispielen
Arbeit mit Apache Kafka in Swift (iOS/macOS): Bibliotheken und Beispiele