Cum să programezi un SMS în Node.js
Cea mai simplă metodă de a trimite SMS din Node.Js este să folosești API-ul 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 destinatarului și va returna un răspuns HTTP 200 OK la cererea ta.
Exemplul de cod JavaScript pentru 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 o poți folosi și modifica în oricare dintre proiectele tale.
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());
Cum să folosești exemplul de JavaScript pentru 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ă SendScheduledSms.js
Codul sursă explicat în acest articol poate fi descărcat, folosit și modificat gratuit.
Descarcă: SendScheduledSms.js.zip (4.46Kb)
Fișierul SendScheduledSms.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 SendScheduledSms.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.
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
Pentru a trimite un SMS programat din Node.Js:
- Instalează Ozeki SMS Gateway
- Conectează Ozeki SMS Gateway la rețeaua mobilă
- Trimite un SMS test din interfața Ozeki
- Creează un utilizator HTTP sms api
- Apache NetBeans
- Descarcă proiectul exemplu de mai sus
- Creează SMS-ul prin crearea unui nou obiect Message
- Creează un api pentru a trimite mesajul tău
- Folosește metoda Send pentru a trimite mesajul tău
- Citește mesajul de răspuns pe consolă
- Verifică jurnalele în gateway-ul SMS
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 calculator unde îți dezvolți codul JavaScript în Visual Studio Code sau 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 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.JsPentru 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 calculator unde rulează aplicația JavaScript pentru sms, aceasta poate fi 127.0.0.1. Dacă este instalat pe un alt calculator, ar trebui să fie adresa IP a acelui calculator.
http://127.0.0.1:9509/api?action=rest
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 trimiterea 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 trimiterea 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: 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 } ] }
Răspunsul HTTP primit de exemplul JavaScript pentru SMS
Odată ce gateway-ul SMS primește această cerere, 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": 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" } ] } }
Cum să trimiț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 SendScheduledSms.js. După 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.
Exemplu Node.Js pentru SMS: SendScheduledSms.mjs (în Notepad)
În Figura 3, puteți vedea codul sursă al proiectului SendScheduledSMS, deschis în Notepad. Puteți să-l folosiți pentru a edita codul dacă sunteți familiarizat cu limbajul de programare Node.js. Modificați valorile variabilelor pentru a trimite un mesaj personalizat la o adresă personalizată.
Exemplu Node.Js pentru SMS: SendScheduledSms.mjs (în Visual Studio Code)
Dacă doriți să utilizați un IDE cu colorare sintactică, extensii și documentație utilă, folosiți Visual Studio Code (Figura 4). Acesta este un IDE gratuit care vă va ajuta să construiți programe mai bune. Dacă sunteți familiarizat cu limbajul de programare Node.js, nu ezitați să ajustați valorile variabilelor pentru a trimite un mesaj personalizat la o adresă personalizată.
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.
Cum să verificați dacă SMS-ul a fost trimis către rețeaua mobilă
Pasul final în verificarea procedurii este să vă uitați la jurnalele conexiunii la rețeaua mobilă. S-ar putea să fie nevoie 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.
Concluzie
Funcția principală a acestui articol a fost să vă arate cum să trimiteți mesaje SMS programate din Node.js folosind utilizatorul HTTP al Ozeki SMS Gateway. Dacă ați urmărit cu atenție pașii, ar trebui să puteți programa cu ușurință mesaje SMS cu programul vostru Node.js. Pentru a distribui informațiile cât mai eficient, trebuie să acordați o atenție deosebită momentului potrivit, deoarece acesta poate menține traficul de mesaje echilibrat și poate promova o comunicare mai fluidă.
Continuați să citiți ghidurile de pe pagina Ozeki pentru mai multe informații despre cum să vă dezvoltați sistemul de mesagerie. Găsiți alte tutoriale Node.js, cum ar fi Cum să primiți un SMS în Node.js și multe altele.
Descărcați acum Ozeki SMS Gateway și începeți lucrul!
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