Kako načrtovati SMS v Node.js

Najenostavnejši način za pošiljanje SMS-ov iz Node.Js je uporaba vgrajenega HTTP/Rest SMS API-ja Ozeki SMS Gateway. Ko uporabljate ta API, boste pošiljali SMS sporočila z izdajo HTTP Post zahteve proti SMS prehodu. HTTP Post zahteva bo vsebovala sporočilo v json formatu. SMS prehod bo poslal ta SMS prejemniku in vrnil HTTP 200 OK odgovor na vašo zahtevo.

kako poslati načrtovan SMS z uporabo node js
Slika 1 - Kako poslati načrtovan SMS iz Node.Js

JavaScript koda za pošiljanje SMS-ov na mobilne naprave

Spodnji vzorec JavaScript SMS kode prikazuje, kako lahko pošiljate SMS z uporabo http rest SMS API-ja Ozeki SMS Gateway z uporabo knjižnice JavaScript Ozeki.Libs.Rest. Ta knjižnica vam je na voljo brezplačno in jo lahko uporabljate in spreminjate v katerem koli od vaših 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());
	

Kako uporabiti JavaScript SMS primer:

Uporabite lahko razred Message za ustvarjanje SMS in lahko uporabite razred MessageApi za pošiljanje SMS-a na SMS prehod. SMS prehod bo vaše sporočilo posredoval mobilnemu omrežju prek brezžične povezave ali prek interneta.

Prenesite SendScheduledSms.js

Izvorna koda, razložena v tem članku, je na voljo za brezplačen prenos, uporabo in spreminjanje.
Prenos: SendScheduledSms.js.zip (4.46Kb)

Kaj je v datoteki SendScheduledSms.js.zip?

Datoteka SendScheduledSms.js.zip vsebuje knjižnico Ozeki.Libs.Rest, ki vam ponuja vsa orodja, potrebna za pošiljanje in prejemanje SMS sporočil. V projektu boste našli tudi datoteko SendScheduledSms.mjs, ki vsebuje vzorčno kodo, ki prikazuje kako poslati SMS. Ta vzorčna koda je navedena spodaj.

Slika 2 - SendScheduledSms.js imenik

Ta projekt ima odvisnosti, zato morate pred začetkom namestiti paket node-fetch z naslednjim ukazom:

npm install node-fetch
	

Koda 1 - Ukaz za namestitev paketa node-fetch

. Kako poslati načrtovan SMS iz Node.Js (Hitri koraki)

Za pošiljanje načrtovanega SMS-a iz Node.Js:

  1. Namestite Ozeki SMS Gateway
  2. Povežite Ozeki SMS Gateway z mobilnim omrežjem
  3. Pošljite testni SMS iz Ozeki GUI
  4. Ustvarite uporabnika HTTP SMS API
  5. Apache NetBeans
  6. Prenesite zgornji primer projekta
  7. Ustvarite SMS z ustvarjanjem novega objekta Message
  8. Ustvarite API za pošiljanje vašega sporočila
  9. Uporabite metodo Send za pošiljanje vašega sporočila
  10. Preberite odzivno sporočilo na konzoli
  11. Preverite dnevnike v SMS prehodu
Namestite Ozeki SMS Gateway in ustvarite uporabnika HTTP API

Da lahko pošiljate SMS iz Node.Js, morate najprej namestiti Ozeki SMS Gateway. SMS prehod je mogoče namestiti na istem računalniku, kjer razvijate svojo JavaScript kodo v Visual Studio Code ali katerem koli drugem urejevalniku kode. Po namestitvi je naslednji korak povezati Ozeki SMS Gateway z mobilnim omrežjem. Lahko pošljete testni SMS iz Ozeki GUI, da preverite, ali vaša mobilna omrežna povezava deluje. Končni korak za pripravo vašega okolja je ustvarjanje uporabnika HTTP SMS API. Ustvarite uporabnika z uporabniškim imenom "http_user" in geslom "qwe123", da primer deluje brez sprememb.

Ko je okolje pripravljeno, lahko zaženete svojo JavaScript kodo.

HTTP API URL za pošiljanje SMS-ov iz Node.Js

Za pošiljanje SMS-ov iz Node.Js bo vaša JavaScript morala izdati HTTP zahtevo proti SMS prehodu. API URL je prikazan spodaj. Upoštevajte, da je treba IP naslov (127.0.0.1) zamenjati z IP naslovom vašega SMS prehoda. Če je Ozeki SMS Gateway nameščen na istem računalniku, kjer teče JavaScript SMS aplikacija, je to lahko 127.0.0.1. Če je nameščen na drugem računalniku, mora biti to IP naslov tega računalnika.

http://127.0.0.1:9509/api?action=rest
	
HTTP avtentikacija za pošiljanje SMS-ov iz JavaScript

Za avtentikacijo Node.Js SMS odjemalca morate poslati uporabniško ime in geslo v base64 kodiranem nizu na strežnik v HTTP zahtevi. Uporabljen format je: base64(uporabniško_ime+":"+geslo). V JavaScript lahko za to kodiranje uporabite naslednjo kodo:

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

Na primer, če kodirate uporabniško ime 'http_user' in geslo 'qwe123', boste dobili naslednji base64 kodiran niz: aHR0cF91c2VyOnF3ZTEyMw==. Za pošiljanje

HTTP glavni zahtevek za pošiljanje SMS iz JavaScripta

Za pošiljanje SMS sporočil morate vključiti naslednje vrstice kot glave v HTTP zahtevku. Upoštevajte, da vključujemo vrsto vsebine in glavo za avtorizacijo.

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

HTTP zahtevek za pošiljanje SMS iz Node.Js

Za oddajo SMS bo vaša aplikacija Node.Js poslala HTTP zahtevek, podoben spodnjemu. Upoštevajte, da ta zahtevek vsebuje del z glavo HTTP in del s telesom HTTP. Telo HTTP je niz podatkov, kodiran v JSON. Vsebuje številko prejemnika in besedilo sporočila.

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 odziv, prejet v primeru SMS v JavaScriptu

Ko SMS prehod prejme ta zahtevek, bo ustvaril HTTP odziv. HTTP odziv bo vseboval statusno kodo, ki označuje, ali je bila zahteva za oddajo SMS uspešna ali ne. Prav tako bo vrnil strukturo, kodirano v JSON, ki vam bo zagotovila koristne podrobnosti o oddaji sporočila.

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"
	    }
	  ]
	}
}
	

Kako poslati SMS iz Node.Js z uporabo SMS API (video vadnica)

Ta video vam pokaže, kako prenesti in uporabiti projekt SendScheduledSms.js. Ko dodate potrebne datoteke v vaš projekt, boste morda opazili, da obstaja datoteka z imenom Ozeki.Lbis.Rest.js. To je datoteka, ki vsebuje MessageApi in vse, kar potrebujete za pošiljanje SMS z uporabo JavaScripta.

Video 1 - Kako prenesti Ozeki.Libs.Rest in nastaviti vaš projekt (video vadnica)

Primer SMS v Node.Js: SendScheduledSms.mjs (v Notepad)

Na sliki 3 lahko vidite izvorno kodo projekta SendScheduledSMS, odprto v Notepad. Uporabite jo lahko za urejanje kode, če ste seznanjeni z programskim jezikom Node.js. Spremenite vrednosti spremenljivk, da pošljete prilagojeno sporočilo na prilagojen naslov.

primer JavaScripta za pošiljanje načrtovanih SMS
Slika 3 - SendScheduledSms.mjs v Notepad

Primer SMS v Node.Js: SendScheduledSms.mjs (v Visual Studio Code)

Če želite uporabiti IDE z barvnim kodiranjem, razširitvami in koristno dokumentacijo, uporabite Visual Studio Code (slika 4). To je brezplačen IDE, ki vam bo pomagal ustvariti boljše programe. Če ste seznanjeni z programskim jezikom Node.js, prosto spremenite vrednosti spremenljivk, da pošljete prilagojeno sporočilo na prilagojen naslov.

primer JavaScripta za pošiljanje načrtovanih SMS
Slika 4 - SendScheduledSms.mjs v Visual Studio Code

Kako preveriti, ali je SMS sprejel HTTP uporabnik

Po oddaji SMS je dobro preveriti vaš SMS prehod, da vidite, kaj je prejel. Dnevnik lahko preverite tako, da odprete podrobnosti HTTP uporabnika iz konzole za upravljanje Ozeki SMS prehoda. Naslednji video vam pokaže, kaj morate iskati.

Video 2 - Kako poslati načrtovana SMS sporočila s kodo JavaScript zgoraj (video vadnica)

Kako preveriti, ali je SMS poslan v mobilno omrežje

Zadnji korak pri preverjanju postopka je pogled v dnevnike povezave z mobilnim omrežjem. Morda boste morali vklopiti beleženje v nastavitvah povezave, preden pošljete sporočilo, da vidite dnevnike. Če je beleženje omogočeno, boste videli telefonsko številko in besedilo sporočila, ki ste ga poslali.

Zaključek

Glavna funkcija tega članka je bila pokazati, kako pošiljati načrtovana SMS sporočila iz Node.js z uporabo HTTP uporabnika Ozeki SMS Gateway. Če ste pozorno sledili korakom, bi morali z lahkoto načrtovati SMS sporočila s svojim Node.js programom. Za učinkovito deljenje informacij morate veliko poudarka dati na časovni načrt, saj lahko to ohranja promet sporočil uravnotežen in spodbuja bolj gladko komunikacijo.

Za več informacij o razvoju vašega sistema za sporočanje nadaljujte z branjem navodil na spletni strani Ozeki. Poiščite druge vadnice za Node.js, kot je Kako prejeti SMS v Node.js, in še veliko več.

Prenesite Ozeki SMS Gateway zdaj in začnite z delom!

More information