https://d226lax1qjow5r.cloudfront.net/blog/blogposts/receive-sms-messages-node-red-dr/receive-sms-node-red.png

Empfangen von SMS-Nachrichten mit Node-RED

Zuletzt aktualisiert am May 14, 2021

Lesedauer: 4 Minuten

Dies ist der zweite Artikel in einer Reihe von Tutorials zum Thema "Erste Schritte mit Nexmo und Node-RED".

In dem vorherigen Artikelhaben Sie Ihr Vonage API-Konto und den Node-RED-Editor eingerichtet, gelernt, wie man SMS-Nachrichten versendet, und erfahren, wie man Zustellungsbestätigungen verarbeitet. Jetzt ist es an der Zeit, den Empfang von SMS-Nachrichten durch die Implementierung eines Webhook-Endpunkts mit Node-RED zu lernen.

Holen Sie sich diesen Fluss aus der Node-RED-Bibliothek oder folgen Sie ihm!

Voraussetzungen

Bevor Sie beginnen, benötigen Sie einige Dinge:

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.

Definieren eines Webhook-Endpunkts

Um SMS-Nachrichten über die Vonage-API empfangen zu können, müssen Sie einen Webhook-Endpunkt mit einer virtuellen Nummer verknüpfen, die Sie von Vonage gemietet haben. Eingehende Nachrichten an diese Nummer werden dann an Ihren Webhook-Endpunkt gesendet.

Richten Sie zunächst diesen Webhook-Endpunkt in Ihrem Node-RED-Editor ein. Verbinden Sie einen http Eingangsknoten mit einem http response Knoten, sowie mit einem debug Knoten, so dass Sie Ihre eingehenden Nachrichten im Debug-Bereich sehen können. In dem http Eingangsknoten wählen Sie GET als Method und füllen Sie das Feld URL Feld mit etwas wie /inbound-sms. Der http response Knoten sollte 200 setzen als Status codegesetzt werden, aber machen Sie sich keine Sorgen, dies ist der Standardwert.

Lokalen Server für das Internet freigeben

Als nächstes müssen Sie Ihren lokalen Server für das Internet freigeben, damit Vonage darauf zugreifen kann. Wenn Sie Node-RED auf einem öffentlichen Webserver statt auf Ihrem lokalen Rechner betreiben, können Sie diesen Schritt überspringen. Andernfalls können Sie dies bequem mit einem Tunneling-Dienst wie ngrok.

herunterladen und installieren Sie ngrokund führen Sie es dann im Terminal aus, um einen Tunnel auf Port 1880.

./ngrok http 1880

ngrok

Einrichten des Endpunkts

Der letzte Schritt besteht darin, der Vonage SMS API mitzuteilen, wohin sie die eingehenden Nachrichten weiterleiten soll. Verknüpfen Sie einen Webhook-Endpunkt mit einer Ihrer virtuellen Numbers, indem Sie zu Ihre Numbersund klicken Sie dann auf das Einstellungssymbol neben der Nummer, die Sie konfigurieren möchten. Geben Sie dann die Eingehende Webhook-URL Feld mit YOUR_NGROK_URL/inbound-sms und Save changes.

Inbound webhook for number

Wenn Sie nun eine Textnachricht an Ihre virtuelle Nummer senden, sollte das Nachrichtenobjekt in der Debug-Seitenleiste angezeigt werden.

sms debug

Die Nutzlast der Nachricht enthält eine Reihe von Schlüsselwerten, die zu beachten sind:

KEY DESCRIPTION
msisdn Mobile Station International Subscriber Directory Number (MSISDN) is a number used to identify a mobile phone number internationally. In this case, this will be the sender's number in E.164 format. For example 447401234567.
to Your Nexmo number that the SMS was sent to, in E.164 format.
text The content of the received SMS message.
type The type of the message body received (text key). Possible values are text, unicode and binary.
keyword The first word in the message body. This is typically used with short codes.
message-timestamp The time when Nexmo started to push this Delivery Receipt to your webhook endpoint.

Weitere Informationen zu diesen Parametern finden Sie in der Vonage API-Referenz für eingehende SMS.

Nächste Schritte

Zu diesem Zeitpunkt werden nur die eingehenden Nachrichten im Debug-Bereich protokolliert, aber die Möglichkeiten sind endlos. Speichern Sie sie in einer Datenbank, leiten Sie sie weiter, übersetzen Sie sie, posten Sie sie - oder warum nicht einen Autoresponder einrichten?

Sind Sie bereit, einen Schritt weiter zu gehen? Werfen Sie einen Blick auf SamAblauf für Empfang von verketteten SMS-Nachrichten von Nexmo.

Ressourcen

Versuchen Sie ein anderes Tutorial

Teilen Sie:

https://a.storyblok.com/f/270183/372x373/36054b72d0/julia-biro.png
Julia BiroAdvokat für Entwickler

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.