Wie man SMS von Node.js sendet
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 wird eine Nachricht im JSON-Format enthalten. Das SMS-Gateway wird diese SMS an die Empfängertelefonnummer senden und eine HTTP-200-OK-Antwort auf Ihre Anfrage zurückgeben.
JavaScript-Code zum Senden von SMS an Mobiltelefone
Das JavaScript-SMS-Codebeispiel unten zeigt, wie Sie SMS mit der HTTP-Rest-SMS-API von Ozeki SMS Gateway unter Verwendung der JavaScript-Bibliothek Ozeki.Libs.Rest senden können. Diese Bibliothek wird Ihnen kostenlos zur Verfügung gestellt, und Sie können sie verwenden und ändern in jedem Ihrer Projekte.
SendSms.mjsimport { Configuration, Message, 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); var msg = new Message(); msg.ToAddress = "+36201111111"; msg.Text = "Hallo Welt!"; const result = await api.Send(msg); console.log(result.toString());
Wie man das JavaScript-SMS-Beispiel verwendet:
Sie können die Message-Klasse verwenden, um die SMS zu erstellen, und Sie können die MessageApi-Klasse verwenden, 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.
SendSms.js herunterladen
Der in diesem Artikel erklärte Quellcode kann kostenlos heruntergeladen, verwendet und modifiziert werden.
Download: SendSms.js.zip (4.35Kb)
Was ist in der SendSMS.js.zip-Datei?
Die SendSms.js.zip-Datei enthält die Ozeki.Libs.Rest-Bibliothek, die Ihnen alle notwendigen Werkzeuge zum Senden und Empfangen von SMS-Nachrichten bietet. Sie finden dort auch eine SendSms.mjs-Datei im Projekt, die den Beispielcode enthält, der Ihnen zeigt, wie Sie eine SMS senden. 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 von Node.Js sendet (Schnelle Schritte)
Um SMS von Node.Js zu senden:
- Installieren Sie Ozeki SMS Gateway
- Verbinden Sie Ozeki SMS Gateway mit dem Mobilfunknetz
- Senden Sie eine Test-SMS von der Ozeki GUI
- Erstellen Sie einen HTTP-SMS-API-Benutzer
- Visual Studio Code oder Windows Notepad
- 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 Send-Methode, um Ihre Nachricht zu senden
- Lesen Sie die Antwortnachricht auf der Konsole
- Ü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 zuerst 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 ist der nächste Schritt, Ozeki SMS Gateway mit dem Mobilfunknetz zu verbinden. Sie können Erstellung eines HTTP-SMS-API-Benutzerkontos. 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 Senden von SMS von Node.Js
Um SMS von Node.Js zu senden, muss Ihr JavaScript 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 Zeichenfolge in einer HTTP-Anfrage an den Server senden. Das verwendete Format ist: 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 Zeichenfolge: 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.
POST /api?action=sendmsg HTTP/1.1 Connection: close Content-Length: 319 Content-Type: application/json 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) { "messages": [ { "message_id": "faac3935-8358-d465-835c-0919186ddf7b", "to_address": "+36201111111","text":"Hello world!", "create_date": "2021-06-14T11:47:05", "vaild_date": "2021-06-21T11:47:05", "time_to_send": "2021-06-14T11:47:05", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true } ] }
HTTP-Antwort, die vom JavaScript-SMS-Beispiel empfangen wird
Sobald das SMS-Gateway diese Anforderung erhält, 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": "Messages queued for delivery.", "data": { "total_count": 1, "success_count": 1, "failed_count": 0, "messages": [ { "message_id": "faac3935-8358-d465-835c-0919186ddf7b", "from_station": "%", "to_address": "+36201111111", "to_station": "%", "text": "Hello world!", "create_date": "2021-06-14 11:47:05", "valid_until": "2021-06-21 11:47:05", "time_to_send": "2021-06-14 11:47:05", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" } ] } }
Wie man SMS aus Node.Js mit der SMS-API sendet (Video-Tutorial)
Dieses Video zeigt Ihnen, wie Sie das SendSms.js-Projekt herunterladen und verwenden. Sobald Sie die benötigten Dateien zu Ihrem Projekt hinzugefügt haben, werden Sie möglicherweise feststellen, 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: SendSms.mjs (in Notepad)
In diesem Bild finden Sie den Quellcode des Projekts, geöffnet in einem Notepad (Abbildung 3). Wie Sie sehen können, kann es in einem Notepad geöffnet und auch darin bearbeitet werden. Wenn Sie mit Node.js vertraut sind, können Sie die Variablen im Code ändern und eine angepasste Nachricht an eine Adresse von Ihnen senden.
Node.Js SMS-Beispiel: SendSms.mjs (in Visual Studio Code)
Wenn Sie nach einer anspruchsvolleren Möglichkeit suchen, den Quellcode zu öffnen, versuchen Sie es mit Visual Studio Code (Abbildung 4). Es bietet Ihnen Farbkodierung, mehr Hilfe und Auto-Ergänzung. Es ist eine leichtgewichtige IDE (Integrated Development Environment), die Open-Source und kostenlos nutzbar ist.
Wie Sie überprüfen können, dass die SMS vom HTTP-Benutzer akzeptiert wurde
Nachdem die SMS übermittelt wurde, ist es eine gute Idee, Ihr SMS-Gateway zu überprüfen, um zu sehen, was es empfangen hat. Sie können das Protokoll überprüfen, 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.
Wie Sie überprüfen können, dass die SMS an das Mobilfunknetz gesendet wurde
Der letzte Schritt zur Überprüfung des Verfahrens besteht darin, sich die Protokolle der Mobilfunknetzverbindung anzusehen. Möglicherweise müssen Sie die Protokollierung in der Konfiguration der Verbindung aktivieren, bevor Sie die Nachricht senden, um die Protokolle zu sehen. Wenn die Protokollierung aktiviert ist, sehen Sie die Telefonnummer und den Text der Nachricht, die Sie gesendet haben.
Um die Protokollierung im http_user zu aktivieren, müssen Sie den gleichen Anweisungen folgen.
Fazit
Dieser Leitfaden bietet alle notwendigen Informationen, wie Sie SMS-Nachrichten von Node.js aus mit dem HTTP-Benutzer des Ozeki SMS Gateways versenden können. Sie müssen eine HTTP-Benutzerverbindung im Ozeki SMS Gateway einrichten und das bereitgestellte Programm für Ihre Node.js-Anwendung verwenden. Auf diese Weise bietet diese Lösung eine sehr zuverlässige Verbindung und schnelle Nachrichtenübermittlung. Die Nutzung dieses Dienstes hilft Ihnen, die Arbeit reibungsloser zu gestalten, da Sie die Möglichkeit haben, die Arbeitsumgebung an die Bedürfnisse Ihrer Mitarbeiter und Sie anzupassen.
Auf der Ozeki-Website finden Sie weitere Artikel, die Ihnen helfen. Stellen Sie also sicher, dass Sie weiterlesen. Als Nächstes lernen Sie Wie Sie mehrere SMS von Node.js aus versenden.
Laden Sie das Ozeki SMS Gateway herunter! Die Einrichtung ist einfach, machen Sie es jetzt!
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