Wie man eine SMS in Node.js empfängt
Der einfachste Weg, SMS von Node.Js zu senden, ist die Verwendung der integrierten HTTP/Rest-SMS-API von Ozeki SMS Gateway. Wenn Sie diese API verwenden, senden Sie SMS-Nachrichten, indem Sie eine HTTP-Post-Anfrage an das SMS-Gateway stellen. Die HTTP-Post-Anfrage enthält eine Nachricht im JSON-Format. Das SMS-Gateway sendet diese SMS an den Empfänger und gibt eine HTTP-200-OK-Antwort auf Ihre Anfrage zurück.
JavaScript-Code zum Empfangen von SMS-Nachrichten
Das folgende JavaScript-SMS-Codebeispiel zeigt, wie Sie SMS mit der HTTP-Rest-SMS-API von Ozeki SMS Gateway unter Verwendung der JavaScript-Bibliothek Ozeki.Libs.Rest empfangen können. Diese Bibliothek wird Ihnen kostenlos zur Verfügung gestellt und Sie können sie in Ihren Projekten verwenden und modifizieren.
ReceiveSms.mjsimport { Configuration, MessageApi } from './Ozeki.Libs.Rest.js'; var configuration = new Configuration(); configuration.Username = "http_user"; configuration.Password = "qwe123"; configuration.ApiUrl = "http://127.0.0.1:9509/api"; var api = new MessageApi(configuration); const result = await api.DownloadIncoming(); console.log(result.toString()); for (let i = 0; i < result.MessageCount; i++) { console.log(result.Messages[i].toString()); }
Wie man das JavaScript-SMS-Beispiel verwendet:
Sie können die Message-Klasse verwenden, um die SMS zu erstellen, und die MessageApi-Klasse, um die SMS an das SMS-Gateway zu senden. Das SMS-Gateway leitet Ihre Nachricht entweder über eine drahtlose Verbindung oder über das Internet an das Mobilfunknetz weiter.
ReceiveSms.js herunterladen
Der in diesem Artikel erklärte Quellcode kann kostenlos heruntergeladen, verwendet und modifiziert werden.
Download: ReceiveSms.js.zip (4,38Kb)
Was befindet sich in der ReceiveSms.js.zip-Datei?
Die Datei ReceiveSms.js.zip enthält die Ozeki.Libs.Rest-Bibliothek, die Ihnen alle notwendigen Werkzeuge zum Senden, Markieren, Löschen und Empfangen von SMS-Nachrichten bietet. Sie finden dort auch eine Datei ReceiveSms.mjs, die den Beispielcode enthält, der Ihnen zeigt, wie Sie SMS-Nachrichten empfangen können. Dieser Beispielcode ist unten aufgeführt.
Dieses Projekt hat Abhängigkeiten, daher müssen Sie vor dem Start das node-fetch-Paket mit dem folgenden Befehl installieren:
npm install node-fetch
Wie man SMS-Nachrichten von Node.Js empfängt (Schnellschritte)
So empfangen Sie SMS-Nachrichten von Node.Js:
- Installieren Sie Ozeki SMS Gateway
- Verbinden Sie Ozeki SMS Gateway mit dem Mobilfunknetz
- Senden Sie eine Test-SMS über die Ozeki-GUI
- Erstellen Sie einen HTTP-SMS-API-Benutzer
- Apache NetBeans
- Laden Sie das oben genannte Beispielprojekt herunter
- Erstellen Sie die SMS, indem Sie ein neues Message-Objekt erstellen
- Erstellen Sie eine API, um Ihre Nachricht zu senden
- Verwenden Sie die Methode DownloadIncoming(), um Ihre Nachricht(en) zu empfangen
- Lesen Sie die Antwortnachricht auf der Konsole und geben Sie die Nachrichten auf der Konsole aus
- Überprüfen Sie die Protokolle im SMS-Gateway
Installieren Sie Ozeki SMS Gateway und erstellen Sie einen HTTP-API-Benutzer
Um SMS von Node.Js senden zu können, müssen Sie zunächst Ozeki SMS Gateway installieren. Das SMS-Gateway kann auf demselben Computer installiert werden, auf dem Sie Ihren JavaScript-Code in Visual Studio Code oder einem anderen Code-Editor entwickeln. Nach der Installation besteht der nächste Schritt darin, Ozeki SMS Gateway mit dem Mobilfunknetz zu verbinden. Sie können einen HTTP-SMS-API-Benutzer zu erstellen. Erstellen Sie einen Benutzer mit dem Benutzernamen "http_user" und dem Passwort "qwe123", damit das Beispiel ohne Änderungen funktioniert.
Nachdem die Umgebung eingerichtet ist, können Sie Ihren JavaScript-Code ausführen.
HTTP-API-URL zum Empfangen von SMS von Node.Js
Um eine SMS von Node.Js zu empfangen, muss Ihre JavaScript-Anwendung eine HTTP-Anfrage an das SMS-Gateway stellen. Die API-URL wird unten angezeigt. Beachten Sie, dass die IP-Adresse (127.0.0.1) durch die IP-Adresse Ihres SMS-Gateways ersetzt werden sollte. Wenn Ozeki SMS Gateway auf demselben Computer installiert ist, auf dem die JavaScript-SMS-Anwendung läuft, kann dies 127.0.0.1 sein. Wenn es auf einem anderen Computer installiert ist, sollte es die IP-Adresse dieses Computers sein.
http://127.0.0.1:9509/api?action=rest
HTTP-Authentifizierung zum Senden von SMS von JavaScript
Um den Node.Js-SMS-Client zu authentifizieren, müssen Sie den Benutzernamen und das Passwort in einer base64-kodierten Zeichenkette an den Server in einer HTTP-Anfrage senden. Das verwendete Format lautet: base64(Benutzername+":"+Passwort). In JavaScript können Sie den folgenden Code verwenden, um diese Kodierung durchzuführen:
var usernamePassword = username + ":" + password; return `Basic ${Base64.encode(usernamePassword)}`;
Wenn Sie beispielsweise den Benutzernamen 'http_user' und das Passwort 'qwe123' kodieren, erhalten Sie die folgende base64-kodierte Zeichenkette: aHR0cF91c2VyOnF3ZTEyMw==. Zum Senden
HTTP-Anforderungsheader zum Senden von SMS aus JavaScript
Um die SMS-Nachrichten zu senden, müssen Sie die folgenden Zeilen als Header in die HTTP-Anforderung einfügen. Beachten Sie, dass wir einen Content-Type und einen Authorization-Header einbeziehen.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP-Anforderung zum Senden von SMS aus Node.Js
Um die SMS zu übermitteln, sendet Ihre Node.Js-Anwendung eine HTTP-Anforderung ähnlich der untenstehenden. Beachten Sie, dass diese Anforderung einen HTTP-Header-Teil und einen HTTP-Body-Teil enthält. Der HTTP-Body ist ein JSON-kodierter Datenstring. Er enthält die Nummer des Empfängers und den Text der Nachricht.
GET /api?action=receivemsg&folder=inbox HTTP/1.1 Connection: close Accept: */* Accept-Encoding: gzip,deflate Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Host: 127.0.0.1:9509 User-Agent: node-fetch/1.0 (+https://github.com/bitinn/node-fetch)
HTTP-Antwort, die vom JavaScript-SMS-Beispiel empfangen wird
Sobald das SMS-Gateway diese Anforderung empfängt, wird es eine HTTP-Antwort generieren. Die HTTP-Antwort enthält einen Statuscode, der angibt, ob die SMS-Übermittlungsanforderung erfolgreich war oder nicht. Sie gibt auch eine JSON-kodierte Struktur zurück, die Ihnen nützliche Details über die Übermittlung der Nachricht liefert.
HTTP/1.1 200 OK User-Agent: OZEKI 10.3.120 (www.myozeki.com) Content-Type: application/json; charset=utf8 Last-Modified: Mon, 14 Jun 2021 09:12:00 GMT Server: 10/10.3.120 Transfer-Encoding: chunked { "http_code": 200, "response_code": "SUCCESS", "response_msg": "", "data": { "folder": "inbox", "limit": "1000", "data": [ { "message_id": "02ccc4d5-4aeb-7f64-b980-9aa262ef86fb", "from_connection": "http_user@localhost", "from_address": "+36201111111", "from_station": "%", "to_connection": "http_user@localhost", "to_address": "http_user", "to_station": "%", "text": "Hello world 1", "create_date": "2021-06-14 12:00:14", "valid_until": "2021-06-21 12:00:14", "time_to_send": "2021-06-14 12:00:14", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ] }, { "message_id": "bb663f6c-fcf2-df32-bd33-1778e8578f23", "from_connection": "http_user@localhost", "from_address": "+36202222222", "from_station": "%", "to_connection": "http_user@localhost", "to_address": "http_user", "to_station": "%", "text": "Hello world 2", "create_date": "2021-06-14 12:00:14", "valid_until": "2021-06-21 12:00:14", "time_to_send": "2021-06-14 12:00:14", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ] }, { "message_id": "ca555a52-2f5a-285a-b6e2-6aa1fa3353f8", "from_connection": "http_user@localhost", "from_address": "+36203333333", "from_station": "%", "to_connection": "http_user@localhost", "to_address": "http_user", "to_station": "%", "text": "Hello world 3", "create_date": "2021-06-14 12:00:14", "valid_until": "2021-06-21 12:00:14", "time_to_send": "2021-06-14 12:00:14", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ] } ] } }
Wie man SMS von Node.Js mit der SMS-API empfängt (Video-Tutorial)
Dieses Video zeigt Ihnen, wie Sie das ReceiveSms.js-Projekt herunterladen und verwenden. Sobald Sie die benötigten Dateien zu Ihrem Projekt hinzugefügt haben, werden Sie möglicherweise bemerken, dass es eine Datei namens Ozeki.Lbis.Rest.js gibt. Dies ist die Datei, die die MessageApi und alles, was Sie benötigen, enthält, um eine SMS mit JavaScript zu senden.
Node.Js-SMS-Beispiel: ReceiveSms.mjs (in Notepad)
Auf dem folgenden Bild können Sie den ReceiveSMS.mjs-Quellcode geöffnet sehen (Abbildung 3). In diesem Fall haben wir Notepad verwendet, um den Quellcode zu öffnen, der auch zum Bearbeiten verwendet werden kann. Wie Sie sehen können, enthält der Code voreingestellte Benutzername- und Passwort-Variablen. Wenn Sie mit der Node.js-Programmiersprache vertraut sind, können Sie die Werte der Variablen ändern, um sie an Ihre HTTP-Benutzeranmeldedaten anzupassen.
Node.Js-SMS-Beispiel: ReceiveSms.mjs (in Visual Studio Code)
Wenn Sie eine IDE mit integrierter Farbkodierung, hilfreicher Dokumentation und Erweiterungen verwenden möchten, verwenden Sie Visual Studio Code. Es ist eine leichtgewichtige und kostenlose Programmierumgebung, die Sie zum Bearbeiten von Code in vielen verschiedenen Sprachen verwenden können. Wie Sie sehen, haben wir den Beispiel-Benutzernamen und das Passwort in den Quellcode eingebettet. Wenn Sie mit der Node.js-Programmiersprache vertraut sind, können Sie diese bearbeiten, um sie an Ihren HTTP-Benutzer anzupassen.
Nachdem die Anfrage übermittelt wurde, ist es ratsam, Ihr SMS-Gateway zu überprüfen, um zu sehen, was es empfangen hat. Sie können das Protokoll einsehen, indem Sie die Details des HTTP-Benutzers aus der Ozeki SMS Gateway Management-Konsole öffnen. Das folgende Video zeigt Ihnen, worauf Sie achten müssen.
Zusammenfassung
Die Anleitung erklärte, wie Sie diese SMS-API einrichten, um SMS mit dem Node.js-Programm über den HTTP-Benutzer des Ozeki SMS Gateways zu empfangen. Diese Lösung hilft Ihnen, Ihre eingehenden Nachrichten zu organisieren, indem sie sie aus dem Posteingang in Ihre Node.js-Anwendung verschiebt. Die Anwendung dieses Programms gibt Ihnen die Möglichkeit, Ihr Nachrichtensystem organisiert zu halten und wichtige Informationen an Sie weiterzuleiten.
Ich wette, Sie möchten mehr über effektives Nachrichtenmanagement erfahren. Auf der Ozeki-Webseite finden Sie, was Sie brauchen. Es hilft sehr, wenn Sie die Nachrichten sortieren und nur das behalten, was Sie benötigen. Lesen Sie daher den nächsten Artikel über Wie man eine SMS in Node.js löscht.
Richten Sie das Ozeki SMS Gateway jetzt ein und nutzen Sie das Gelernte!
More information
- Node.js SMS mit der HTTP-REST-API senden (Codebeispiel)
- Node.js mehrere SMS mit der HTTP-REST-API senden (Codebeispiel)
- Node.js SMS mit der HTTP-REST-API planen (Codebeispiel)
- Node.js SMS mit der HTTP-REST-API empfangen (Codebeispiel)
- Node.js SMS mit der HTTP-REST-API löschen (Codebeispiel)
- Github Node.js SMS API
- Node.js Tutorial Hallo Welt