Ako prijímať SMS v Node.js

Najjednoduchší spôsob, ako odosielať 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 vytvorením HTTP POST požiadavky na SMS bránu. HTTP POST požiadavka bude obsahovať správu vo formáte JSON. SMS brána následne odosiela túto SMS na príjemcove telefónne číslo a vráti HTTP 200 OK odpoveď na vašu požiadavku.

ako prijímať SMS správy pomocou node js
Obrázok 1 - Ako prijímať SMS z Node.Js

JavaScript kód na prijímanie SMS správ

Vzorový JavaScript kód pre SMS nižšie demonštruje, ako môžete prijímať 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.

ReceiveSms.mjs
import { Configuration, 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 api = new MessageApi(configuration);

const result = await api.DownloadIncoming();

console.log(result.toString());

for (let i = 0; i < result.MessageCount; i++) {
    console.log(result.Messages[i].toString());
}
	

Ako použiť JavaScript príklad pre SMS:

Môžete použiť triedu Message na vytvorenie SMS a triedu MessageApi na odoslanie SMS na SMS bránu. SMS brána následne prepošle vašu správu do mobilnej siete buď prostredníctvom bezdrôtového pripojenia alebo cez internet.

Stiahnuť ReceiveSms.js

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

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

Súbor ReceiveSms.js.zip obsahuje knižnicu Ozeki.Libs.Rest, ktorá vám poskytuje všetky potrebné nástroje na odosielanie, označovanie, mazanie a prijímanie SMS správ. Nájdete tu aj súbor ReceiveSms.mjs v projekte, ktorý obsahuje vzorový kód, ktorý ukazuje, ako prijímať SMS správy. Tento vzorový kód je uvedený nižšie.

príklad projektu na prijímanie SMS pomocou node js
Obrázok 2 - Priečinok ReceiveSms.js

Tento projekt má závislosti, takže pred spustení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 prijímať SMS správy z Node.Js (Rýchle kroky)

Na prijímanie SMS správ 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 DownloadIncoming() na prijatie vašej správy (správ)
  10. Prečítajte si odpoveď na konzole a vypíšte správy na konzolu
  11. Skontrolujte záznamy v SMS bráne
Nainštalujte Ozeki SMS Gateway a vytvorte používateľa HTTP API

Ak chcete byť schopní odosielať 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, aby ste overili, že 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 používateľským 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 prijímanie SMS z Node.Js

Na prijímanie 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 tohto počítača.

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

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

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 reťazec zakódovaný do base64: aHR0cF91c2VyOnF3ZTEyMw==. Na odoslanie

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

Na odoslanie SMS správy 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 správy vaša aplikácia Node.Js odošle HTTP požiadavku podobnú nižšie uvedenej. Upozorňujeme, že táto požiadavka obsahuje časť HTTP hlavičky a časť HTTP tela. Telo HTTP je reťazec údajov zakódovaný v JSON. Obsahuje číslo príjemcu a text správy.

GET /api?action=receivemsg&folder=inbox HTTP/1.1
Connection: close
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)
	
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. Tiež vráti štruktúru zakódovanú v JSON, ktorá poskytuje 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": "",
	"data": {
	  "folder": "inbox",
	  "limit": "1000",
	  "data": [
	    {
	      "message_id": "02ccc4d5-4aeb-7f64-b980-9aa262ef86fb",
	      "from_connection": "http_user@localhost",
	      "from_address": "+36201111111",
	      "from_station": "%",
	      "to_connection": "http_user@localhost",
	      "to_address": "http_user",
	      "to_station": "%",
	      "text": "Hello world 1",
	      "create_date": "2021-06-14 12:00:14",
	      "valid_until": "2021-06-21 12:00:14",
	      "time_to_send": "2021-06-14 12:00:14",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": true,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ]
	    },
	    {
	      "message_id": "bb663f6c-fcf2-df32-bd33-1778e8578f23",
	      "from_connection": "http_user@localhost",
	      "from_address": "+36202222222",
	      "from_station": "%",
	      "to_connection": "http_user@localhost",
	      "to_address": "http_user",
	      "to_station": "%",
	      "text": "Hello world 2",
	      "create_date": "2021-06-14 12:00:14",
	      "valid_until": "2021-06-21 12:00:14",
	      "time_to_send": "2021-06-14 12:00:14",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": true,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ]
	    },
	    {
	      "message_id": "ca555a52-2f5a-285a-b6e2-6aa1fa3353f8",
	      "from_connection": "http_user@localhost",
	      "from_address": "+36203333333",
	      "from_station": "%",
	      "to_connection": "http_user@localhost",
	      "to_address": "http_user",
	      "to_station": "%",
	      "text": "Hello world 3",
	      "create_date": "2021-06-14 12:00:14",
	      "valid_until": "2021-06-21 12:00:14",
	      "time_to_send": "2021-06-14 12:00:14",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": true,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ]
	    }
	  ]
	}
}
	
Ako prijímať SMS z Node.Js pomocou SMS API (Video návod)

Toto video vám ukáže, ako stiahnuť a použiť projekt ReceiveSms.js. Po pridaní potrebných súborov do vášho projektu si môžete 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 odosielanie SMS pomocou JavaScriptu.

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

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

Na nasledujúcom obrázku môžete vidieť zdrojový kód ReceiveSMS.mjs otvorený (Obrázok 3). V tomto prípade sme na otvorenie zdrojového kódu použili Notepad, ktorý možno použiť aj na jeho úpravu. Ako vidíte, kód obsahuje prednastavené premenné používateľského mena a hesla. Ak ste oboznámení s programovacím jazykom Node.js, neváhajte zmeniť hodnoty premenných tak, aby zodpovedali vašim prihlasovacím údajom HTTP používateľa.

príklad javascriptu na prijímanie sms správ
Obrázok 3 - ReceiveSms.mjs v Notepade

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

Ak chcete použiť integrované vývojové prostredie (IDE) s farebným zvýrazňovaním syntaxe, užitočnou dokumentáciou a rozšíreniami, použite Visual Studio Code. Je to ľahké a bezplatné programovacie prostredie, ktoré môžete použiť na úpravu kódu v mnohých rôznych jazykoch. Ako vidíte, príkladové používateľské meno a heslo sme zakódovali priamo do zdrojového kódu. Ak ste oboznámení s programovacím jazykom Node.js, neváhajte ich upraviť podľa vášho HTTP používateľa.

príklad javascriptu na prijímanie sms správ
Obrázok 4 - ReceiveSms.mjs v Visual Studio Code

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

Po odoslaní žiadosti je dobré skontrolovať svoju SMS bránu, aby ste videli, čo prijala. Protokol môžete skontrolovať otvorením podrobností HTTP používateľa z konzoly na správu Ozeki SMS Gateway. Nasledujúce video vám ukáže, čo hľadať.

Video 2 - Ako prijímať SMS správy pomocou vyššie uvedeného JavaScriptu kódu (Video návod)

Zhrnutie

Tento sprievodca vysvetľuje, ako nastaviť túto SMS API na prijímanie SMS pomocou programu Node.js a HTTP používateľa Ozeki SMS Gateway. Toto riešenie vám pomáha organizovať prichádzajúce správy ich presunutím z priečinka Doručená pošta do vašej Node.js aplikácie. Použitím tohto programu získate možnosť udržiavať váš systém správ organizovaný a dôležité informácie budú prúdiť k vám.

Určite sa chcete dozvedieť viac o efektívnom správaní správ, všetko, čo potrebujete, nájdete na webovej stránke Ozeki. Veľmi pomáha, ak správy roztriedite a ponecháte si len to, čo potrebujete, takže si prečítajte ďalší článok o Ako vymazať SMS v Node.js.

Nastavte si Ozeki SMS Gateway hneď teraz a využívajte to, čo ste sa naučili!

More information