SMS-Versand per API auf Node.js: Bibliothek twilio

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

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 twilio


Erstellen 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',                    

Empfehlungen