Ako naplánovať SMS v Node.js

Najjednoduchší spôsob, ako odoslať SMS z Node.Js, je použiť vstavanú HTTP/Rest SMS API Ozeki SMS Gateway. Keď použijete toto API, budete odosielať SMS správy pomocou HTTP POST požiadavky na SMS bránu. HTTP POST požiadavka bude obsahovať správu formátovanú v json formáte. SMS brána odošle túto SMS príjemcovi a vráti HTTP 200 OK odpoveď na vašu požiadavku.

ako odoslať naplánovanú sms správu pomocou node js
Obrázok 1 - Ako odoslať naplánovanú SMS z Node.Js

JavaScript kód na odoslanie sms na mobil

Ukážka JavaScript kódu na odoslanie SMS nižšie demonštruje, ako môžete odosielať SMS pomocou HTTP REST SMS API Ozeki SMS Gateway s použitím knižnice JavaScript Ozeki.Libs.Rest. Táto knižnica je poskytovaná bezplatne a môžete ju používať a upravovať v akomkoľvek z vašich projektov.

SendScheduledSms.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 msg = new Message();
msg.ToAddress = "+36201111111";
msg.Text = "Hello world!";
msg.TimeToSend = new Date(Date.UTC(2021, 5, 21, 14, 55, 0));

var api = new MessageApi(configuration);

const result = await api.Send(msg);

console.log(result.toString());
	

Ako použiť JavaScript príklad na odoslanie SMS:

Môžete použiť triedu Message na vytvorenie SMS a triedu MessageApi na odoslanie SMS na SMS bránu. SMS brána prepošle vašu správu do mobilnej siete buď bezdrôtovým pripojením alebo cez internet.

Stiahnuť SendScheduledSms.js

Zdrojový kód vysvetlený v tomto článku je možné stiahnuť, použiť a upraviť bezplatne.
Stiahnuť: SendScheduledSms.js.zip (4.46Kb)

Čo obsahuje súbor SendScheduledSms.js.zip?

Súbor SendScheduledSms.js.zip obsahuje knižnicu Ozeki.Libs.Rest, ktorá vám poskytuje všetky potrebné nástroje na odosielanie a prijímanie SMS správ. Nájdete tu aj súbor SendScheduledSms.mjs v projekte, ktorý obsahuje ukážkový kód, ktorý vám ukáže, ako odoslať SMS. Tento ukážkový kód je uvedený nižšie.

Obrázok 2 - Adresár SendScheduledSms.js

Tento projekt má závislosti, takže pred začatím musíte nainštalovať balík node-fetch pomocou nasledujúceho príkazu:

npm install node-fetch
	

Kód 1 - Príkaz na inštaláciu balíka node-fetch

. Ako odoslať naplánovanú SMS z Node.Js (Rýchle kroky)

Na odoslanie naplánovanej SMS z Node.Js:

  1. Nainštalujte Ozeki SMS Gateway
  2. Pripojte Ozeki SMS Gateway k mobilnej sieti
  3. Odošlite testovaciu SMS z Ozeki GUI
  4. Vytvorte používateľa HTTP SMS API
  5. Apache NetBeans
  6. Stiahnite si vyššie uvedený príklad projektu
  7. Vytvorte SMS vytvorením nového objektu Message
  8. Vytvorte API na odoslanie vašej správy
  9. Použite metódu Send na odoslanie vašej správy
  10. Prečítajte si odpoveď na konzole
  11. Skontrolujte záznamy v SMS bráne
Nainštalujte Ozeki SMS Gateway a vytvorte používateľa HTTP API

Na odosielanie SMS z Node.Js musíte najprv nainštalovať Ozeki SMS Gateway. SMS bránu je možné nainštalovať na rovnakom počítači, kde vyvíjate svoj JavaScript kód v Visual Studio Code alebo inom editore kódu. Po inštalácii je ďalším krokom pripojenie Ozeki SMS Gateway k mobilnej sieti. Môžete odoslať testovaciu SMS z Ozeki GUI a overiť, či vaše mobilné pripojenie funguje. Posledným krokom na prípravu vášho prostredia je vytvorenie používateľa HTTP SMS API. Vytvorte používateľa s menom "http_user" a heslom "qwe123", aby príklad fungoval bez úprav.

Po nastavení prostredia môžete spustiť svoj JavaScript kód.

HTTP API URL na odoslanie SMS z Node.Js

Na odosielanie SMS z Node.Js bude váš JavaScript musieť odoslať HTTP požiadavku na SMS bránu. API URL je uvedené nižšie. Upozorňujeme, že IP adresa (127.0.0.1) by mala byť nahradená IP adresou vašej SMS brány. Ak je Ozeki SMS Gateway nainštalovaný na rovnakom počítači, kde beží JavaScript SMS aplikácia, môže to byť 127.0.0.1. Ak je nainštalovaný na inom počítači, mala by to byť IP adresa toho počítača.

http://127.0.0.1:9509/api?action=rest
	
HTTP autentifikácia na odoslanie SMS z JavaScriptu

Na autentifikáciu Node.Js SMS klienta musíte odoslať používateľské meno a heslo v base64 kódovanom reťazci na server v HTTP požiadavke. Používa sa formát: base64(používateľské meno+":"+heslo). V JavaScripte môžete použiť nasledujúci kód na toto kódovanie:

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

Napríklad, ak zakódujete používateľské meno 'http_user' a heslo 'qwe123', dostanete nasledujúci base64 kódovaný reťazec: aHR0cF91c2VyOnF3ZTEyMw==. Na odoslanie

HTTP hlavička požiadavky na odoslanie SMS z JavaScriptu

Na odoslanie SMS správ musíte do HTTP požiadavky zahrnúť nasledujúce riadky ako hlavičky. Upozorňujeme, že obsahujeme typ obsahu a autorizačnú hlavičku.

Content-Type: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
	
HTTP požiadavka na odoslanie SMS z Node.Js

Na odoslanie SMS bude vaša aplikácia Node.Js odosielať HTTP požiadavku podobnú nižšie uvedenej. Upozorňujeme, že táto požiadavka obsahuje časť HTTP hlavičky a časť tela HTTP. Telo HTTP je reťazec dát zakódovaný v JSON. Obsahuje číslo príjemcu a text správy.

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":	"7f9016d5-1e23-d85d-b425-30a435af529e",
			"to_address":	"+36201111111",
			"text":	"Hello world!",
			"create_date":	"2021-06-14T10:16:21",
			"vaild_date":	"2021-06-21T10:16:21",
			"time_to_send":	"2021-06-14T10:20:00",
			"submit_report_requested":	true,
			"delivery_report_requested":	true,
			"view_report_requested":	true
		}
	]
}
	
HTTP odpoveď prijatá príkladom SMS v JavaScripte

Keď SMS brána prijme túto požiadavku, vygeneruje HTTP odpoveď. HTTP odpoveď bude obsahovať stavový kód, ktorý indikuje, či bola požiadavka na odoslanie SMS úspešná alebo nie. Taktiež vráti štruktúru zakódovanú v JSON, ktorá vám poskytne užitočné informácie o odoslaní sprá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": 1,
	  "success_count": 1,
	  "failed_count": 0,
	  "messages": [
	    {
	      "message_id": "7f9016d5-1e23-d85d-b425-30a435af529e",
	      "from_station": "%",
	      "to_address": "+36201111111",
	      "to_station": "%",
	      "text": "Hello world!",
	      "create_date": "2021-06-14 10:16:21",
	      "valid_until": "2021-06-21 10:16:21",
	      "time_to_send": "2021-06-14 10:20:00",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": false,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ],
	      "status": "SUCCESS"
	    }
	  ]
	}
}
	
Ako odoslať SMS z Node.Js pomocou SMS API (Video návod)

Toto video vám ukáže, ako stiahnuť a použiť projekt SendScheduledSms.js. Keď pridáte potrebné súbory do svojho projektu, môžete si všimnúť, že existuje súbor s názvom Ozeki.Lbis.Rest.js. Toto je súbor, ktorý obsahuje MessageApi a všetko, čo potrebujete na odoslanie SMS pomocou JavaScriptu.

Video 1 - Ako stiahnuť Ozeki.Libs.Rest a nastaviť váš projekt (Video návod)

Príklad SMS v Node.Js: SendScheduledSms.mjs (v Notepade)

Na obrázku 3 môžete vidieť zdrojový kód projektu SendScheduledSMS, otvorený v Notepade. Môžete ho použiť na úpravu kódu, ak ovládate programovací jazyk Node.js. Zmeňte hodnoty premenných, aby ste odoslali vlastnú správu na vlastnú adresu.

príklad javascriptu na odoslanie naplánovanej SMS
Obrázok 3 - SendScheduledSms.mjs v Notepade

Príklad SMS v Node.Js: SendScheduledSms.mjs (v Visual Studio Code)

Ak chcete použiť IDE s farebným zvýrazňovaním syntaxe, rozšíreniami a užitočnou dokumentáciou, použite Visual Studio Code (Obrázok 4). Je to bezplatné IDE, ktoré vám pomôže vytvárať lepšie programy. Ak ovládate programovací jazyk Node.js, neváhajte upraviť hodnoty premenných, aby ste odoslali vlastnú správu na vlastnú adresu.

príklad javascriptu na odoslanie naplánovanej SMS
Obrázok 4 - SendScheduledSms.mjs v Visual Studio Code

Ako skontrolovať, že SMS bola prijatá HTTP používateľom

Po odoslaní SMS je dobré skontrolovať vašu SMS bránu, aby ste videli, čo prijala. Protokol môžete skontrolovať otvorením detailov HTTP používateľa v konzole na správu Ozeki SMS brány. Nasledujúce video vám ukáže, čo hľadať.

Video 2 - Ako odoslať naplánované SMS správy pomocou vyššie uvedeného JavaScriptového kódu (Video návod)

Ako skontrolovať, že SMS bola odoslaná do mobilnej siete

Posledným krokom pri overovaní postupu je pozrieť sa na protokoly mobilného pripojenia. Možno budete musieť zapnúť protokolovanie v konfigurácii pripojenia pred odoslaním správy, aby ste videli protokoly. Ak je protokolovanie zapnuté, uvidíte telefónne číslo a text správy, ktorú ste odoslali.

Záver

Hlavnou funkciou tohto článku bolo ukázať vám, ako odosielať naplánované SMS správy z Node.js pomocou HTTP používateľa Ozeki SMS Gateway. Ak ste pozorne dodržali kroky, mali by ste byť schopní jednoducho naplánovať SMS správy pomocou vášho programu v Node.js. Aby ste informácie zdieľali čo najefektívnejšie, musíte klásť veľký dôraz na načasovanie, pretože to dokáže udržať prevádzku správ vyváženú a podporuje plynulejšiu komunikáciu.

Pokračujte v čítaní návodov na webovej stránke Ozeki pre viac informácií o tom, ako rozvíjať váš systém správ. Nájdite ďalšie tutoriály pre Node.js ako Ako prijímať SMS v Node.js a mnoho ďalšieho.

Stiahnite si Ozeki SMS Gateway ešte dnes a nech sa práca začne!

More information