SMS Versenden mit Node.js und Twilio

December 20, 2016
Written by

bRZK5can2eIrGYJc1N5y6opoSsVD-qkzNCE2H-5yAvkbTEG1ZYlCD-9EFXeK7nr0El_XuHAVFzW1WEyrTftPH8FIp0ND8IhvEYFD5Kqp0X2-TqPHxgfJfWOiUNt5lJgumUb24pof-1

Mit nur 16 Zeilen Code (inklusive Leerzeilen) kannst du SMS mit Twilio verschicken:

var client = require('twilio')(
  process.env.TWILIO_ACCOUNT_SID,
  process.env.TWILIO_AUTH_TOKEN
);
 
client.messages.create({
  from: 'DEINE_TWILIO_NUMMER',
  to: 'DEINE_EIGENE_NUMMER',
  body: 'Du hast gerade deine erste SMS von Node.js mit Twilio verschickt!'
}, function (err, message) {
  if(err) {
    console.error(err.message);
  } else {
    console.log('SMS versandt!');
  }
});

Soweit so gut. Aber bevor du jetzt den Code direkt in dein Projekt kopierst, müssen wir noch ein paar Schritte erledigen, damit der Code auch funktioniert.

Was Muss Ich Tun?

Bevor du anfangen kannst, SMS mit Twilio zu versenden, musst du zuerst einen Twilio Account erstellen. Du kannst dich hier kostenlos anmelden.

Da wir die SMS mit Node.js verschicken werden, brauchen wir zusätzlich Node.js mit npm auf unserem System. Du kannst Node.js kostenlos hier herunterladen.

Als letzter Schritt brauchst du eine Twilio SMS-kompatible Telefonnummer. Diese kannst du dir in der Twilio Console zuweisen.

Zeit für Code!

Okay, jetzt wo wir alle Voraussetzungen erfüllt haben, können wir mit dem Programmieren anfangen.

ausgehende-sms.png

Eine SMS mit Twilio zu verschicken, ist so einfach, wie einen HTTP Request an die /Messages Ressource der Twilio REST API zu machen. Wir können das Ganze entweder manuell machen oder mit einer unserer Helper Libraries. In dem oben stehenden Code benutzen wir die Node.js Twilio Hilfsbibliothek. Installiere die Bibliothek mit npm in dem Ordner deines Projekts:

npm install twilio

Als nächstes erstelle eine Datei mit dem Namen sms.js innerhalb deines Ordners und füge die folgenden Zeilen hinzu:

var client = require('twilio')(
  process.env.TWILIO_ACCOUNT_SID,
  process.env.TWILIO_AUTH_TOKEN
);

Diese Zeilen erstellen eine neue Twilio REST Client Instanz. Die beiden Argumente, die wir zu der Initialisierung geben, sind die Zugangsdaten für deinen Twilio Account. Du kannst sie entweder direkt als Strings dort einfügen oder wie in dem obigen Code als Umgebungsvariabeln TWILIO_ACCOUNT_SID und TWILIO_AUTH_TOKEN speichern. Du findest diese Zugangsdaten in der Twilio Console. Du findest mehr über das Setzen von Umgebungsvariabeln in diesem Tutorial für Windows und hier für macOS.

Jetzt wo wir eine Twilio REST Client Instanz erstellt haben, können wir die eigentliche SMS verschicken. Füge dafür diesen Code unter deinem bisherigen Code hinzu:

client.messages.create({
  from: 'DEINE_TWILIO_NUMMER',
  to: 'DEINE_EIGENE_NUMMER',
  body: 'Du hast gerade deine erste SMS von Node.js mit Twilio verschickt!'
}, function (err, message) {
  if(err) {
    console.error(err.message);
  } else {
    console.log('SMS versandt!');
  }
});

Stelle dabei sicher, dass du DEINE_TWILIO_NUMMER mit deiner eigentlichen Twilio Telefonnummer ersetzt und DEINE_EIGENE_NUMMER mit der jeweiligen Telefonnummer ersetzt, an die du die SMS versenden möchtest. Während dein Account in einer Trial ist, kannst du allerdings nur an deine eigene Nummer SMS versenden.

Das letzte, dass du machen musst, ist die Datei zu speichern und auszuführen. Führe dazu die folgende Zeile in deinem Projekt aus:

node sms.js

Das war’s! Je nach Netzempfang solltest du dann auch unmittelbar die SMS auf deinem Handy empfangen.

Und Nu’?

SMS zu verschicken, ist nur eine von vielen Dingen, die du mit Twilio erledigen kannst, um Kommunikation direkt in deine Apps einzubauen. Hier sind ein paar Beispiele (auf Englisch), was du alles mit Twilio machen kannst:

Baust du etwas Cooles, über das du dich gerne unterhalten willst oder hast du irgendwelche Fragen zu Twilio? Du kannst mir gerne jederzeit eine E-Mail an @dkundel) schicken oder mir bei Twitter schreiben: @dkundel.