Wie man mehrere SMS von Node.js sendet

Der einfache 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.

wie man SMS-Nachrichten mit node js sendet
Abbildung 1 - Wie man mehrere SMS von Node.Js sendet

JavaScript-Code zum Senden von SMS an Mobiltelefone

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 senden können. Diese Bibliothek wird Ihnen kostenlos zur Verfügung gestellt, und Sie können sie in Ihren Projekten verwenden und modifizieren.

SendMultipleSms.mjs
import { 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 msg1 = new Message();
msg1.ToAddress = "+36201111111";
msg1.Text = "Hallo Welt 1";

var msg2 = new Message();
msg2.ToAddress = "+36202222222";
msg2.Text = "Hallo Welt 2";

var msg3 = new Message();
msg3.ToAddress = "+36203333333";
msg3.Text = "Hallo Welt 3";

var messages = new Array();

messages.push(msg1);
messages.push(msg2);
messages.push(msg3);

var api = new MessageApi(configuration);

const result = await api.Send(messages);

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.

SendMultipleSms.js herunterladen

Der in diesem Artikel erklärte Quellcode kann kostenlos heruntergeladen, verwendet und modifiziert werden.
Download: SendMultipleSms.js.zip (3.62Kb)

Was befindet sich in der SendMultipleSms.js.zip-Datei?

Die SendMultipleSms.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 SendMultipleSms.mjs-Datei im Projekt, die den Beispielcode enthält, der Ihnen zeigt, wie Sie eine SMS senden können. Dieser Beispielcode ist unten aufgeführt.

Beispielprojekt zum Senden mehrerer SMS mit node js
Abbildung 2 - SendMultipleSms.js-Verzeichnis

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
	

Code 1 - Befehl zur Installation des node-fetch-Pakets

.

Wie man SMS von Node.Js sendet (Schnelle Schritte)

Um SMS von Node.Js zu senden:

  1. Installieren Sie Ozeki SMS Gateway
  2. Verbinden Sie Ozeki SMS Gateway mit dem Mobilfunknetz
  3. Senden Sie eine Test-SMS von der Ozeki GUI
  4. Erstellen Sie einen HTTP-SMS-API-Benutzer
  5. Apache NetBeans
  6. Laden Sie das oben genannte Beispielprojekt herunter
  7. Erstellen Sie die SMS, indem Sie ein neues Message-Objekt erstellen
  8. Erstellen Sie eine API, um Ihre Nachricht zu senden
  9. Verwenden Sie die Send-Methode, um Ihre Nachricht zu senden
  10. Lesen Sie die Antwortnachricht auf der Konsole
  11. Ü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 eine Test-SMS von der Ozeki GUI senden, um zu überprüfen, ob Ihre Mobilfunknetzverbindung funktioniert. Der letzte Schritt zur Vorbereitung Ihrer Umgebung ist die 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 aus 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-Anfrageheader zum Senden von SMS aus JavaScript

Um die SMS-Nachrichten zu senden, müssen Sie die folgenden Zeilen als Header in die HTTP-Anfrage aufnehmen. Beachten Sie, dass wir einen Content-Type- und einen Authorization-Header einfügen.

Content-Type: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
	

HTTP-Anfrage zum Senden von SMS aus Node.Js

Um die SMS zu übermitteln, sendet Ihre Node.Js-Anwendung eine HTTP-Anfrage ähnlich der untenstehenden. Beachten Sie, dass diese Anfrage einen HTTP-Header-Teil und einen HTTP-Body-Teil enthält. Der HTTP-Body ist eine JSON-kodierte Datenzeichenkette. Sie enthält die Empfängernummer und den Text der Nachricht.

POST /api?action=sendmsg HTTP/1.1
Connection: close
Content-Length: 932
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":	"bda3e52a-6081-4c7e-954a-e3baf41d68bd",
			"to_address":	"+36201111111",
			"text":	"Hallo Welt 1",
			"create_date":	"2021-06-14T09:45:52",
			"vaild_date":	"2021-06-21T09:45:52",
			"time_to_send":	"2021-06-14T09:45:52",
			"submit_report_requested":	true,
			"delivery_report_requested":	true,
			"view_report_requested":	true
		},
		{
			"message_id":	"50147a56-d453-50ba-b0ba-567c789cb539",
			"to_address":	"+36202222222",
			"text":	"Hallo Welt 2",
			"create_date":	"2021-06-14T09:45:52",
			"vaild_date":	"2021-06-21T09:45:52",
			"time_to_send":	"2021-06-14T09:45:52",
			"submit_report_requested":	true,
			"delivery_report_requested":	true,
			"view_report_requested":	true
		},
		{
			"message_id":	"f05671e8-7664-d1c0-82da-0934464e2978",
			"to_address":	"+36203333333",
			"text":	"Hallo Welt 3",
			"create_date":	"2021-06-14T09:45:52",
			"vaild_date":	"2021-06-21T09:45:52",
			"time_to_send":	"2021-06-14T09:45:52",
			"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 Anfrage empfängt, wird es eine HTTP-Antwort generieren. Die HTTP-Antwort enthält einen Statuscode, der angibt, ob die SMS-Übermittlungsanfrage erfolgreich war oder nicht. Sie gibt auch eine JSON-kodierte Struktur zurück, um Ihnen nützliche Details über die Übermittlung der Nachricht zu liefern.

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": "ERFOLG",
	"response_msg": "Nachrichten wurden zur Zustellung in die Warteschlange gestellt.",
	"data": {
	  "total_count": 3,
	  "success_count": 3,
	  "failed_count": 0,
	  "messages": [
	    {
	      "message_id": "bda3e52a-6081-4c7e-954a-e3baf41d68bd",
	      "from_station": "%",
	      "to_address": "+36201111111",
	      "to_station": "%",
	      "text": "Hallo Welt 1",
	      "create_date": "2021-06-14 09:45:52",
	      "valid_until": "2021-06-21 09:45:52",
	      "time_to_send": "2021-06-14 09:45:52",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": false,
	      "tags": [
	        {
	          "name": "Typ",
	          "value": "SMS:TEXT"
	        }
	      ],
	      "status": "ERFOLG"
	    },
	    {
	      "message_id": "50147a56-d453-50ba-b0ba-567c789cb539",
	      "from_station": "%",
	      "to_address": "+36202222222",
	      "to_station": "%",
	      "text": "Hallo Welt 2",
	      "create_date": "2021-06-14 09:45:52",
	      "valid_until": "2021-06-21 09:45:52",
	      "time_to_send": "2021-06-14 09:45:52",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": false,
	      "tags": [
	        {
	          "name": "Typ",
	          "value": "SMS:TEXT"
	        }
	      ],
	      "status": "ERFOLG"
	    },
	    {
	      "message_id": "f05671e8-7664-d1c0-82da-0934464e2978",
	      "from_station": "%",
	      "to_address": "+36203333333",
	      "to_station": "%",
	      "text": "Hallo Welt 3",
	      "create_date": "2021-06-14 09:45:52",
	      "valid_until": "2021-06-21 09:45:52",
	      "time_to_send": "2021-06-14 09:45:52",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": false,
	      "tags": [
	        {
	          "name": "Typ",
	          "value": "SMS:TEXT"
	        }
	      ],
	      "status": "ERFOLG"
	    }
	  ]
	}
}
	

Wie man SMS aus Node.Js mit der SMS-API sendet (Video-Tutorial)

Dieses Video zeigt Ihnen, wie Sie das SendMultipleSms.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 zum Senden einer SMS mit JavaScript benötigen, enthält.

Video 1 - Wie man Ozeki.Libs.Rest herunterlädt und Ihr Projekt einrichtet (Video-Tutorial)

Node.Js SMS-Beispiel: SendMultipleSms.mjs (in Notepad)

In diesem Bild (Abbildung 3) finden Sie den Quellcode des Projekts, geöffnet in einem Notepad. Sie können den Code auch in einem Notepad bearbeiten. Wenn Sie mit Node.js vertraut sind, können Sie die Variablen im Code ändern und eine angepasste Nachricht an eine Adresse Ihrer Wahl senden.

JavaScript-Beispiel zum Senden mehrerer SMS
Abbildung 3 - SendMultipleSms.mjs in Notepad

Node.Js SMS-Beispiel: SendMultipleSms.mjs (in Visual Studio Code)

Wenn Sie nach einer einfacheren Möglichkeit suchen, den Quellcode zu öffnen und zu bearbeiten, versuchen Sie es mit Visual Studio Code (Abbildung 4). Es bietet farbliche Hervorhebungen, mehr Hilfestellungen und automatische Ergänzungen. Es ist eine schlanke IDE (Integrated Development Environment), die quelloffen und kostenlos nutzbar ist.

JavaScript-Beispiel zum Senden mehrerer SMS
Abbildung 4 - SendMultipleSms.mjs in Visual Studio Code

Überprüfen, ob die SMS vom HTTP-Benutzer akzeptiert wurde

Nachdem die SMS übermittelt wurde, ist es ratsam, Ihr SMS-Gateway zu überprüfen, um zu sehen, was empfangen wurde. Sie können das Protokoll einsehen, indem Sie die Details des HTTP-Benutzers in der Ozeki SMS Gateway Management-Konsole öffnen. Das folgende Video zeigt Ihnen, worauf Sie achten müssen.

Video 2 - So senden Sie mehrere SMS-Nachrichten mit dem oben gezeigten JavaScript-Code (Video-Tutorial)

Überprüfen, ob die SMS an das Mobilfunknetz gesendet wurde

Der letzte Schritt zur Überprüfung des Vorgangs besteht darin, die Protokolle der Mobilfunknetzverbindung einzusehen. 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 von Ihnen gesendeten Nachricht.

Abschließende Gedanken

Dieser Leitfaden enthält alle wesentlichen Informationen, um zu lernen, wie Sie mehrere SMS-Nachrichten aus einer Node.js-Anwendung mit dem HTTP-Benutzer des Ozeki SMS Gateways senden können. Diese Lösung bietet vielseitige Einsatzmöglichkeiten, da die Node.js SMS API auch mit dem Android SMS Gateway funktioniert, das Ihnen das drahtlose Senden von SMS ermöglicht, was von Vorteil ist. Die Nutzung dieses Dienstes macht Ihr Messaging effizienter und dynamischer, indem Sie wertvolle Informationen und wichtige Benachrichtigungen gleichzeitig an mehrere Mobiltelefone senden können.

Sie finden viele weitere Artikel über Node.js SMS API-Funktionen auf der Ozeki-Website. Gehen Sie, lernen Sie mehr und fahren Sie fort mit So planen Sie eine SMS in Node.js.

Legen Sie los – laden Sie zuerst das Ozeki SMS Gateway herunter!

More information