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.
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.mjsimport { 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)
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.
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
Na odoslanie naplánovanej SMS z Node.Js:
- Nainštalujte Ozeki SMS Gateway
- Pripojte Ozeki SMS Gateway k mobilnej sieti
- Odošlite testovaciu SMS z Ozeki GUI
- Vytvorte používateľa HTTP SMS API
- Apache NetBeans
- Stiahnite si vyššie uvedený príklad projektu
- Vytvorte SMS vytvorením nového objektu Message
- Vytvorte API na odoslanie vašej správy
- Použite metódu Send na odoslanie vašej správy
- Prečítajte si odpoveď na konzole
- Skontrolujte záznamy v SMS bráne
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.JsNa 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
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==
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 } ] }
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" } ] } }
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.
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.
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.
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ť.
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
- Node js send SMS with the HTTP rest API (code sample)
- Node js send multiple SMS with the HTTP rest API (code sample)
- Node js schedule SMS with the HTTP rest API (code sample)
- Node js receive SMS with the HTTP rest API (code sample)
- Node js delete SMS with the HTTP rest API (code sample)
- Github Node js SMS API
- Node js tutorial Hello world