Cum să trimiți SMS-uri multiple din Node.js

Cea mai simplă metodă de a trimite SMS din Node.Js este utilizarea API-ului HTTP/Rest SMS încorporat al Ozeki SMS Gateway. Când folosești acest API, vei trimite mesaje SMS prin emiterea unei cereri HTTP Post către gateway-ul SMS. Cererea HTTP Post va conține un mesaj formatat în format json. Gateway-ul SMS va trimite acest SMS către telefonul destinatar și va returna un răspuns HTTP 200 OK la cererea ta.

cum să trimiți mesaje sms folosind node js
Figura 1 - Cum să trimiți SMS-uri multiple din Node.Js

Cod JavaScript pentru a trimite sms pe mobil

Exemplul de cod JavaScript sms de mai jos demonstrează cum poți trimite SMS folosind API-ul http rest sms al Ozeki SMS Gateway cu ajutorul bibliotecii JavaScript Ozeki.Libs.Rest. Această bibliotecă este oferită gratuit și poți să o folosești și să o modifici în oricare dintre proiectele tale.

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());
	

Cum să folosești exemplul JavaScript sms:

Poți folosi clasa Message pentru a crea SMS-ul și poți folosi clasa MessageApi pentru a trimite SMS-ul către gateway-ul SMS. Gateway-ul SMS va transmite mesajul tău către rețeaua mobilă fie printr-o conexiune wireless fie prin Internet.

Descarcă SendMultipleSms.js

Codul sursă explicat în acest articol poate fi descărcat, folosit și modificat gratuit.
Descarcă: SendMultipleSms.js.zip (3.62Kb)

Ce conține fișierul SendMultipleSms.js.zip?

Fișierul SendMultipleSms.js.zip conține biblioteca Ozeki.Libs.Rest, care îți oferă toate instrumentele necesare pentru a trimite și primi mesaje SMS. Vei găsi de asemenea un fișier SendMultipleSms.mjs în proiect, care conține codul exemplu pentru a-ți arăta cum să trimiți un SMS. Acest cod exemplu este listat mai jos.

exemplu de proiect pentru a trimite sms-uri multiple cu node js
Figura 2 - Directorul SendMultipleSms.js

Acest proiect are dependențe, așa că înainte de a începe trebuie să instalezi pachetul node-fetch cu următoarea comandă:

npm install node-fetch
	

Codul 1 - Comanda pentru a instala pachetul node-fetch

. Cum să trimiți SMS din Node.Js (Pași rapizi)

Pentru a trimite sms din Node.Js:

  1. Instalează Ozeki SMS Gateway
  2. Conectează Ozeki SMS Gateway la rețeaua mobilă
  3. Trimite un sms de test din interfața Ozeki
  4. Creează un utilizator HTTP sms api
  5. Apache NetBeans
  6. Descarcă proiectul exemplu de mai sus
  7. Creează SMS-ul prin crearea unui nou obiect Message
  8. Creează un api pentru a trimite mesajul tău
  9. Folosește metoda Send pentru a trimite mesajul tău
  10. Citește mesajul de răspuns pe consolă
  11. Verifică jurnalele din gateway-ul SMS
Instalează Ozeki SMS Gateway și creează un utilizator HTTP API

Pentru a putea trimite SMS din Node.Js, mai întâi trebuie să instalezi Ozeki SMS Gateway. Gateway-ul SMS poate fi instalat pe același computer unde dezvolți codul tău JavaScript în Visual Studio Code sau în orice alt editor de cod. După instalare, următorul pas este să conectezi Ozeki SMS Gateway la rețeaua mobilă. Poți trimite un sms de test din interfața Ozeki pentru a verifica dacă conexiunea ta la rețeaua mobilă funcționează. Ultimul pas pentru a-ți pregăti mediul este să creezi un utilizator HTTP sms api. Creează un utilizator cu numele de utilizator "http_user" și parola "qwe123" pentru a face exemplul să funcționeze fără modificări.

După ce mediul este configurat, poți rula codul tău JavaScript.

URL API HTTP pentru a trimite sms din Node.Js

Pentru a trimite SMS din Node.Js, JavaScript-ul tău va trebui să emită o cerere HTTP către gateway-ul SMS. URL-ul API este afișat mai jos. Reține că adresa IP (127.0.0.1) ar trebui să fie înlocuită cu adresa IP a gateway-ului tău SMS. Dacă Ozeki SMS Gateway este instalat pe același computer unde rulează aplicația JavaScript sms, aceasta poate fi 127.0.0.1. Dacă este instalat pe un computer diferit, ar trebui să fie adresa IP a acelui computer.

http://127.0.0.1:9509/api?action=rest
	
Autentificare HTTP pentru a trimite sms din JavaScript

Pentru a autentifica clientul sms Node.Js, trebuie să trimiți numele de utilizator și parola într-un șir codificat base64 către server într-o cerere HTTP. Formatul folosit este: base64(nume_utilizator+":"+parolă). În JavaScript poți folosi următorul cod pentru a face această codificare:

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

De exemplu, dacă codezi numele de utilizator 'http_user' și parola 'qwe123', vei obține următorul șir codificat base64: aHR0cF91c2VyOnF3ZTEyMw==. Pentru a trimite

Antetul cererii HTTP pentru a trimite SMS din JavaScript

Pentru a trimite mesajele SMS, trebuie să includeți următoarele linii ca antet în cererea HTTP. Rețineți că includem un tip de conținut și un antet de autorizare.

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

Cererea HTTP pentru a trimite SMS din Node.Js

Pentru a trimite SMS-ul, aplicația dvs. Node.Js va trimite o cerere HTTP similară cu cea de mai jos. Rețineți că această cerere conține o parte de antet HTTP și o parte de corp HTTP. Corpul HTTP este un șir de date codificat JSON. Acesta conține numărul destinatarului și textul mesajului.

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

Răspunsul HTTP primit de exemplul JavaScript pentru SMS

Odată ce gateway-ul SMS primește această cerere, acesta va genera un răspuns HTTP. Răspunsul HTTP va conține un cod de stare, pentru a indica dacă cererea de trimitere a SMS-ului a fost reușită sau nu. De asemenea, va returna o structură codificată JSON pentru a vă oferi detalii utile despre trimiterea mesajului.

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

Cum să trimiteți SMS din Node.Js folosind API-ul SMS (Tutorial video)

Acest videoclip vă arată cum să descărcați și să utilizați proiectul SendMultipleSms.js. Odată ce ați adăugat fișierele necesare în proiectul dvs., s-ar putea să observați că există un fișier numit Ozeki.Lbis.Rest.js. Acesta este fișierul care conține MessageApi și toate elementele necesare pentru a trimite un SMS folosind JavaScript.

Video 1 - Cum să descărcați Ozeki.Libs.Rest și să vă configurați proiectul (Tutorial video)

Exemplu Node.Js pentru SMS: SendMultipleSms.mjs (în Notepad)

În această imagine (Figura 3), puteți găsi codul sursă al proiectului, deschis în Notepad. Puteți edita și în Notepad. Dacă sunteți familiarizat cu Node.js, nu ezitați să modificați variabilele din cod și să trimiteți un mesaj personalizat la o adresă la alegere.

exemplu javascript pentru a trimite mai multe sms-uri
Figura 3 - SendMultipleSms.mjs în Notepad

Dacă căutați o modalitate mai ușoară de a deschide și edita codul sursă, încercați să utilizați Visual Studio Code (Figura 4). Acesta vă oferă codare colorată, mai multă ajutor și completare automată. Este un IDE (Mediu de Dezvoltare Integrat) ușor, open-source și gratuit.

exemplu javascript pentru trimiterea mai multor SMS-uri
Figura 4 - SendMultipleSms.mjs în Visual Studio Code

Cum să verificați dacă SMS-ul a fost acceptat de utilizatorul HTTP

După ce SMS-ul a fost trimis, este o idee bună să verificați gateway-ul SMS, pentru a vedea ce a primit. Puteți verifica jurnalul deschizând detaliile utilizatorului HTTP din consola de management Ozeki SMS Gateway. Următorul videoclip vă arată ce să căutați.

Video 2 - Cum să trimiteți mai multe mesaje SMS cu codul JavaScript de mai sus (Tutorial video)

Cum să verificați dacă SMS-ul a fost trimis către rețeaua mobilă

Ultimul pas în verificarea procedurii este să verificați jurnalele conexiunii la rețeaua mobilă. Poate fi necesar să activați jurnalizarea în configurația conexiunii înainte de a trimite mesajul pentru a vedea jurnalele. Dacă jurnalizarea este activată, veți vedea numărul de telefon și textul mesajului pe care l-ați trimis.

Gânduri finale

Acest ghid conține toate informațiile esențiale pentru a învăța cum să trimiteți mai multe mesaje SMS dintr-o aplicație Node.js cu utilizatorul HTTP al Ozeki SMS Gateway. Această soluție oferă o utilizare versatilă deoarece API-ul SMS Node.js funcționează și cu Gateway-ul SMS pentru Android, care vă permite să trimiteți SMS-uri fără fir, ceea ce veți considera avantajos. Utilizarea acestui serviciu face ca mesageria dvs. să fie mai eficientă și dinamică, permițându-vă să livrați informații valoroase și notificări importante pe mai multe telefoane mobile simultan.

Puteți găsi multe alte articole despre funcționalitățile API-ului SMS Node.js pe site-ul Ozeki. Mergeți, aflați mai multe acum, continuați cu Cum să programați un SMS în Node.js.

Să începem lucrul, mai întâi de toate, descărcați Ozeki SMS Gateway!

More information