Jak odeslat více SMS z Node.js

Nejjednodušší způsob, jak odesílat SMS z Node.Js, je použít vestavěné HTTP/Rest SMS API Ozeki SMS Gateway. Při použití tohoto API budete odesílat SMS zprávy vytvořením HTTP Post požadavku na SMS bránu. HTTP Post požadavek bude obsahovat zprávu ve formátu JSON. SMS brána následně odešle tuto SMS na cílové telefonní číslo a vrátí HTTP 200 OK odpověď na váš požadavek.

jak odeslat sms zprávy pomocí node js
Obrázek 1 - Jak odeslat více SMS z Node.Js

JavaScript kód pro odeslání SMS na mobil

Níže uvedený ukázkový kód JavaScriptu pro SMS demonstruje, jak můžete odesílat SMS pomocí HTTP REST SMS API Ozeki SMS Gateway s využitím knihovny JavaScript Ozeki.Libs.Rest. Tato knihovna je poskytována zdarma a můžete ji používat a upravovat v jakémkoli svém projektu.

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 = "Hello world 1";

var msg2 = new Message();
msg2.ToAddress = "+36202222222";
msg2.Text = "Hello world 2";

var msg3 = new Message();
msg3.ToAddress = "+36203333333";
msg3.Text = "Hello world 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());
	

Jak používat ukázku JavaScriptu pro SMS:

Pomocí třídy Message můžete vytvořit SMS a pomocí třídy MessageApi můžete odeslat SMS na SMS bránu. SMS brána následně přepošle vaši zprávu do mobilní sítě buď prostřednictvím bezdrátového připojení nebo přes internet.

Stáhnout SendMultipleSms.js

Zdrojový kód popsaný v tomto článku lze stáhnout, používat a upravovat zdarma.
Stáhnout: SendMultipleSms.js.zip (3.62Kb)

Co obsahuje soubor SendMultipleSms.js.zip?

Soubor SendMultipleSms.js.zip obsahuje knihovnu Ozeki.Libs.Rest, která vám poskytuje všechny nástroje potřebné pro odesílání a přijímání SMS zpráv. V projektu také najdete soubor SendMultipleSms.mjs, který obsahuje ukázkový kód, který vám ukáže, jak odeslat SMS. Tento ukázkový kód je uveden níže.

ukázkový projekt pro odeslání více SMS pomocí node js
Obrázek 2 - Adresář SendMultipleSms.js

Tento projekt má závislosti, takže před spuštěním musíte nainstalovat balíček node-fetch pomocí následujícího příkazu:

npm install node-fetch
	

Kód 1 - Příkaz pro instalaci balíčku node-fetch

.

Jak odeslat SMS z Node.Js (Rychlé kroky)

Pro odeslání SMS z Node.Js:

  1. Nainstalujte Ozeki SMS Gateway
  2. Připojte Ozeki SMS Gateway k mobilní síti
  3. Odešlete testovací SMS z Ozeki GUI
  4. Vytvořte HTTP SMS API uživatele
  5. Apache NetBeans
  6. Stáhněte si výše uvedený ukázkový projekt
  7. Vytvořte SMS vytvořením nového objektu Message
  8. Vytvořte API pro odeslání vaší zprávy
  9. Použijte metodu Send pro odeslání vaší zprávy
  10. Přečtěte si odpověď na konzoli
  11. Zkontrolujte logy v SMS bráně

Instalace Ozeki SMS Gateway a vytvoření HTTP API uživatele

Abyste mohli odesílat SMS z Node.Js, musíte nejprve nainstalovat Ozeki SMS Gateway. SMS bránu lze nainstalovat na stejný počítač, kde vyvíjíte svůj JavaScriptový kód v Visual Studio Code nebo jiném editoru kódu. Po instalaci je dalším krokem připojení Ozeki SMS Gateway k mobilní síti. Můžete odeslat testovací SMS z Ozeki GUI a ověřit, že vaše mobilní síťové připojení funguje. Posledním krokem k přípravě vašeho prostředí je vytvoření HTTP SMS API uživatele. Vytvořte uživatele s uživatelským jménem "http_user" a heslem "qwe123", aby ukázka fungovala bez úprav.

Po nastavení prostředí můžete spustit svůj JavaScriptový kód.

HTTP API URL pro odesílání SMS z Node.Js

Pro odesílání SMS z Node.Js musí váš JavaScript odeslat HTTP požadavek na SMS bránu. API URL je uvedeno níže. Poznámka: IP adresa (127.0.0.1) by měla být nahrazena IP adresou vaší SMS brány. Pokud je Ozeki SMS Gateway nainstalována na stejném počítači, kde běží JavaScriptová SMS aplikace, může to být 127.0.0.1. Pokud je nainstalována na jiném počítači, měla by být použita IP adresa tohoto počítače.

http://127.0.0.1:9509/api?action=rest
	

HTTP autentizace pro odesílání SMS z JavaScriptu

Pro autentizaci Node.Js SMS klienta je třeba odeslat uživatelské jméno a heslo jako řetězec zakódovaný v base64 na server v HTTP požadavku. Použitý formát je: base64(username+":"+password). V JavaScriptu můžete pro toto kódování použít následující kód:

var usernamePassword = username + ":" + password;
return `Basic ${Base64.encode(usernamePassword)}`;
	

Například, pokud zakódujete uživatelské jméno 'http_user' a heslo 'qwe123', získáte následující řetězec zakódovaný v base64: aHR0cF91c2VyOnF3ZTEyMw==. Pro odeslání

HTTP hlavička požadavku pro odesílání SMS z JavaScriptu

Pro odeslání SMS zpráv je třeba do HTTP požadavku zahrnout následující řádky jako hlavičky. Všimněte si, že zahrnujeme typ obsahu a autorizační hlavičku.

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

HTTP požadavek pro odesílání SMS z Node.Js

Pro odeslání SMS váš Node.Js aplikace odešle HTTP požadavek podobný tomuto níže. Všimněte si, že tento požadavek obsahuje část HTTP hlavičky a část HTTP těla. HTTP tělo je řetězec dat zakódovaný v JSON. Obsahuje číslo příjemce a text zprávy.

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":	"Hello world 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":	"Hello world 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":	"Hello world 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 odpověď přijatá JavaScriptovým SMS příkladem

Jakmile SMS brána obdrží tento požadavek, vygeneruje HTTP odpověď. HTTP odpověď bude obsahovat stavový kód, který indikuje, zda byl požadavek na odeslání SMS úspěšný nebo ne. Také vrátí strukturu zakódovanou v JSON, která vám poskytne užitečné detaily o odeslání zprávy.

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": 3,
	  "success_count": 3,
	  "failed_count": 0,
	  "messages": [
	    {
	      "message_id": "bda3e52a-6081-4c7e-954a-e3baf41d68bd",
	      "from_station": "%",
	      "to_address": "+36201111111",
	      "to_station": "%",
	      "text": "Hello world 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": "Type",
	          "value": "SMS:TEXT"
	        }
	      ],
	      "status": "SUCCESS"
	    },
	    {
	      "message_id": "50147a56-d453-50ba-b0ba-567c789cb539",
	      "from_station": "%",
	      "to_address": "+36202222222",
	      "to_station": "%",
	      "text": "Hello world 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": "Type",
	          "value": "SMS:TEXT"
	        }
	      ],
	      "status": "SUCCESS"
	    },
	    {
	      "message_id": "f05671e8-7664-d1c0-82da-0934464e2978",
	      "from_station": "%",
	      "to_address": "+36203333333",
	      "to_station": "%",
	      "text": "Hello world 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": "Type",
	          "value": "SMS:TEXT"
	        }
	      ],
	      "status": "SUCCESS"
	    }
	  ]
	}
}
	

Jak odeslat SMS z Node.Js pomocí SMS API (Video návod)

Toto video vám ukáže, jak stáhnout a použít projekt SendMultipleSms.js. Jakmile přidáte potřebné soubory do svého projektu, můžete si všimnout, že existuje soubor s názvem Ozeki.Lbis.Rest.js. Tento soubor obsahuje MessageApi a vše, co potřebujete k odeslání SMS pomocí JavaScriptu.

Video 1 - Jak stáhnout Ozeki.Libs.Rest a nastavit svůj projekt (Video návod)

Příklad Node.Js SMS: SendMultipleSms.mjs (v Notepadu)

Na tomto obrázku (Obrázek 3) najdete zdrojový kód projektu otevřený v notepadu. Můžete také upravovat v notepadu. Pokud jste obeznámeni s Node.js, klidně změňte proměnné v kódu a odešlete přizpůsobenou zprávu na adresu dle vašeho výběru.

javascript příklad pro odeslání více SMS
Obrázek 3 - SendMultipleSms.mjs v Notepadu

Příklad Node.Js SMS: SendMultipleSms.mjs (v Visual Studio Code)

Pokud hledáte jednodušší způsob otevření a úprav zdrojového kódu, zkuste použít Visual Studio Code (Obrázek 4). Nabízí barevné zvýraznění, více nápovědy a automatické doplňování. Je to lehké IDE (Integrované vývojové prostředí), které je open-source a zdarma.

javascript příklad pro odeslání více SMS
Obrázek 4 - SendMultipleSms.mjs v Visual Studio Code

Jak ověřit, že SMS byla přijata HTTP uživatelem

Po odeslání SMS je dobré zkontrolovat vaši SMS bránu, abyste viděli, co přijala. Protokol můžete zkontrolovat otevřením detailů HTTP uživatele v konzoli pro správu Ozeki SMS Gateway. Následující video vám ukáže, na co se zaměřit.

Video 2 - Jak odeslat více SMS zpráv pomocí výše uvedeného JavaScript kódu (Video návod)

Jak ověřit, že SMS byla odeslána do mobilní sítě

Posledním krokem k ověření procesu je prohlédnout si protokoly připojení k mobilní síti. Možná budete muset před odesláním zprávy zapnout protokolování v konfiguraci připojení, abyste viděli protokoly. Pokud je protokolování povoleno, uvidíte telefonní číslo a text odeslané zprávy.

Závěrečné myšlenky

Tento průvodce obsahuje všechny základní informace pro naučení se, jak odesílat více SMS zpráv z Node.js aplikace pomocí HTTP uživatele Ozeki SMS Gateway. Toto řešení nabízí univerzální použití, protože Node.js SMS API funguje také s Android SMS Gateway, který umožňuje odesílat SMS bezdrátově, což oceníte. Použití této služby zefektivní a zdynamizuje vaše zasílání zpráv tím, že umožní doručovat cenné informace a důležitá oznámení na více mobilních telefonů najednou.

Na webu Ozeki najdete mnoho dalších článků o funkcionalitách Node.js SMS API. Jděte se dozvědět více, pokračujte s Jak naplánovat SMS v Node.js.

Pusťme se do práce, nejprve si stáhněte Ozeki SMS Gateway!

More information