
Teilen Sie:
Julia hat es sich zur Aufgabe gemacht, andere Entwickler durch die Erstellung von Tutorials, Anleitungen und praktischen Ressourcen zu unterstützen. Mit ihrem Hintergrund in den Bereichen Öffentlichkeitsarbeit und Bildung möchte sie Technologien zugänglicher machen und die Erfahrung von Entwicklern insgesamt verbessern. Man kann sie oft bei lokalen Veranstaltungen antreffen.
Senden von SMS-Nachrichten mit Node-RED
Lesedauer: 7 Minuten
Hinweis: Einige der in diesem Artikel beschriebenen Tools oder Methoden werden möglicherweise nicht mehr unterstützt oder sind nicht mehr aktuell. Für aktualisierte Inhalte oder Support, überprüfen Sie unsere neuesten Beiträge oder kontaktieren Sie uns auf dem Vonage Community Slack
Dies ist der erste Artikel in einer Reihe von Tutorials zum Thema "Erste Schritte mit Vonage und Node-RED".
Die Vonage SMS API ermöglicht es Ihnen, über eine einfache HTTP-basierte API weltweit SMS zu senden und zu empfangen.
Die gute Nachricht ist, dass die Interaktion mit dieser API - und vielen anderen - mit der Aufnahme von Nexmo-Knoten in die Node-RED-Palette gerade einfacher geworden ist.
In diesem Artikel erfahren Sie, wie Sie mit Node-RED SMS-Nachrichten versenden können. Diesen Ablauf finden Sie in der Node-RED Bibliothek oder folgen Sie ihm.
Voraussetzungen
Bevor Sie beginnen, benötigen Sie einige Dinge:
ngrok - auf dem Laufenden bleiben mit Aarons Blogbeitrag
Erlangung von Berechtigungsnachweisen
Vonage API-Konto
Um dieses Tutorial durchzuführen, benötigen Sie ein Vonage API-Konto. Wenn Sie noch keines haben, können Sie sich noch heute anmelden und mit einem kostenlosen Guthaben beginnen. Sobald Sie ein Konto haben, finden Sie Ihren API-Schlüssel und Ihr API-Geheimnis oben auf dem Vonage-API-Dashboard.
In diesem Lernprogramm wird auch eine virtuelle Telefonnummer verwendet. Um eine zu erwerben, gehen Sie zu Rufnummern > Rufnummern kaufen und suchen Sie nach einer Nummer, die Ihren Anforderungen entspricht.
Während Sie in einigen Ländern SMS versenden können, ohne eine Vonage Number zu mieten, müssen Sie in anderen Ländern wie den USA die Nummer besitzen, von der Ihre SMS-Nachrichten stammen.
Einrichten des Node-RED-Editors
Zunächst müssen Sie installieren die Laufzeitumgebung und den Editor installieren. Dies kann entweder auf Ihrem lokalen Rechner, auf einem Einplatinencomputer (z. B. Raspberry Pi) oder auf einer Reihe von in der Cloud gehosteten Optionen erfolgen. In diesem Beispiel wird Ihr lokaler Rechner verwendet. Sobald Sie Node-RED global installiert haben, geben Sie einfach den folgenden Befehl in Ihr Terminal ein, um loszulegen.
Sie können dann auf den Node-RED-Editor zugreifen, indem Sie Ihren Browser auf http://localhost:1880.
Sobald Sie Ihren Editor geöffnet haben, müssen Sie die Nexmo-Knoten installieren. Dies können Sie unter der Palette verwalten tun, indem du nach dem node-red-contrib-nexmo Paket suchen und auf Installieren klicken.
Install the Nexmo Node-RED package
Jetzt sollten Sie alle Nexmo-Knoten auf der linken Seite Ihres Bildschirms sehen, zwischen den Standardknoten.
Versenden einer SMS mit Node-RED
Blättern Sie nach unten zu dem sendsms Knoten und ziehen Sie ihn in Ihren Arbeitsbereich. Dies ist die wichtigste Aufgabe des heutigen Tutorials.
Sie können diesen Knoten einrichten, indem Sie auf ihn doppelklicken und die unten stehenden Parameter eingeben. Sie finden API KEY und API SECRET durch einen Klick auf die Schaltfläche Bearbeiten neben Nexmo Credentials.
SCHLÜSSEL
BESCHREIBUNG
API KEY
Ihr API-Schlüssel, angezeigt in Ihrer Account-Übersicht.
API SECRET
Ihr API-Geheimnis, das Sie in Ihrer Account-Übersicht.
TO
Die Nummer, an die Sie die SMS senden, im E.164-Format. Zum Beispiel 447401234567.
FROM
Die Nummer oder der Text, der auf dem Handgerät angezeigt wird, wenn es Ihre Nachricht anzeigt. Sie können ein benutzerdefiniertes alphanumerisches FROM einstellen, um Ihre Marke besser zu repräsentieren, wenn diese Funktion in Ihrem Land unterstützt wird.
TEXT
Der Inhalt Ihrer Nachricht. Seien Sie ruhig kreativ, aber ein "Hello World!" ist genauso gut geeignet.
Als nächstes fügen Sie einen inject Knoten zum Fluss hinzu und verdrahten ihn als Eingabe für sendsms.
Es handelt sich um eine recht leistungsfähige Funktion, die den Ablauf mit einem bestimmten Nutzdatenwert einleiten kann. Sie unterstützt die Einspeisung von Strings, Numbers, Booleans, JavaScript-Objekten oder Fluss-/Global-Kontext-Werten, wobei der Zeitstempel der aktuellen Zeit in Millisekunden seit dem 1. Januar 1970 als Standardwert gilt.
Sie können es einfach verwenden, um Ihren Ablauf zu starten, während Sie alle Parameter im sendsms Knoten, oder Sie können einen Schritt weiter gehen.
Neben dem TO,FROM und TEXT befindet sich ein {} Zeichen, was bedeutet, dass Mustache-Vorlage für diese Felder unterstützt wird. Dies ist nützlich, wenn bestimmte Werte dynamisch an den sendsms Knoten übergeben werden.
Da wir wissen, dass der Zeitstempel injiziert wird, fügen wir diesen Wert dem Nachrichtentext hinzu, indem wir auf {{msg.payload}}zum Beispiel:
Hello World! The timestamp is `{{msg.payload}}`.Um einen besseren Einblick in die Vorgänge beim Senden einer SMS zu erhalten, können Sie die sendsms' Ausgabe in einen debug Knoten. Doppelklicken Sie darauf und setzen Sie den Output auf complete msg object.
Besuchen Sie Bereitstellen und klicken Sie auf die inject Schaltfläche des Knotens - Ihre SMS sollte auf dem Weg sein!
Sending an SMS in Node-RED
Wenn Sie eine erfolgreiche Anfrage an die SMS API stellen, wird ein Array von Nachrichtenobjekten zurückgegeben. Im Idealfall hat jedes dieser Objekte einen "Status" von "0", der anzeigt, dass der Versand Ihrer Nachricht erfolgreich geplant wurde, sowie einige andere Details wie Empfängernummer, Nachrichten-ID, Restbetrag, Preis und das Netz, das für den Versand der SMS verwendet wird.
Sie können sich dieses Antwortobjekt im Debug-Bereich auf der rechten Seite Ihres Node-RED-Editors ansehen.
Die Untersuchung dieser Ausgabe ist zwar sehr hilfreich, um festzustellen, was die SMS API getan hat, aber es gibt keine Garantie dafür, dass die Nachricht das Handgerät des Empfängers erreicht hat.
Wenn die Nachricht zugestellt wird, sendet der Mobilfunkanbieter eine Zustellungsbestätigung an Vonage zurück. Diese enthält den Zustellungsstatus.
Empfang eines Zustellungsbelegs von einem mobilen Transportunternehmen
Um herauszufinden, welche status Ihrer ausgehenden Nachricht zu erfahren, müssen Sie einen Webhook-Endpunkt einrichten, über den Vonage die Empfangsbestätigung weiterleiten kann.
Definieren eines Webhook-Endpunkts
Verbinden Sie zunächst einen http Eingangsknoten mit einem http response Knoten, sowie mit einem debug Knoten, so dass Sie Ihren Lieferschein im Debug-Bereich einsehen können.
Im Knoten http Eingabeknoten, wählen Sie POST als eine Method und füllen Sie das Feld URL Feld mit etwas wie /receipt. Der http response Knoten sollte 200 setzen als Status codegesetzt werden, aber keine Sorge, dies ist auch der Standardwert.
Setting up a webhook for delivery receipts
Lokalen Server für das Internet freigeben
Als Nächstes müssen Sie Ihren lokalen Server für das Internet freischalten, damit Vonage darauf zugreifen kann. Ein bequemer Weg, dies zu tun, ist die Verwendung eines Tunneldienstes wie ngrok.
herunterladen und installieren Sie ngrokund führen Sie es dann im Terminal aus, um einen Tunnel auf Port 1880.
Starting an ngrok tunnel in a terminal window
Ihr lokaler Server hat nun eine ngrok-URL, die als Webhook-Endpunkt verwendet werden kann.
Einrichten des Endpunkts mit Vonage
Der letzte Schritt besteht darin, der Vonage SMS API mitzuteilen, wohin sie die Empfangsbestätigungen weiterleiten soll. Sie können dies unter Ihren API-Einstellungen in den Standard-SMS-Einstellung Abschnitt.
Setzen Sie die Standard-Webhook-URL für Zustellungsbestätigungen auf YOUR_NGROK_URL/receiptein, dann Save changes.
Delivery receipt endpoint URL in dashboard
Wenn Sie nun in Ihren Node-RED-Editor zurückkehren und eine weitere Nachricht senden, sehen Sie die Empfangsbestätigung im Debug-Bereich:
Delivery receipt in debug sidebar
Die status und err-code zeigen beide an, dass die Nachricht erfolgreich zugestellt worden ist. Erfahren Sie mehr über Zustellungsstatusmeldungen und Fehlercodes in den docs.
Wie geht es weiter?
Gruppenbenachrichtigungen mit Google Sheets und Node-RED senden
Erfahren Sie mehr über die Nexmo SMS API
Ein besseres Verständnis für Lieferscheine
Werfen Sie einen genaueren Blick auf Node-RED
Teilen Sie:
Julia hat es sich zur Aufgabe gemacht, andere Entwickler durch die Erstellung von Tutorials, Anleitungen und praktischen Ressourcen zu unterstützen. Mit ihrem Hintergrund in den Bereichen Öffentlichkeitsarbeit und Bildung möchte sie Technologien zugänglicher machen und die Erfahrung von Entwicklern insgesamt verbessern. Man kann sie oft bei lokalen Veranstaltungen antreffen.
