Cum să trimiți SMS din Javascript

Cea mai simplă metodă de a trimite SMS din JavaScript este utilizarea API-ului HTTP/Rest SMS încorporat al Ozeki SMS Gateway. Când utilizați acest API, veți trimite mesaje SMS prin efectuarea 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 dumneavoastră.

cum să trimiți sms din javascript
Figura 1 - Cum să trimiți un SMS din Javasricpt

Cod JavaScript pentru a trimite SMS pe mobil

Exemplul de cod JavaScript pentru SMS de mai jos demonstrează cum puteți trimite SMS folosind API-ul http rest sms al Ozeki SMS Gateway cu ajutorul bibliotecii JavaScript Ozeki.Libs.Rest. Această bibliotecă vă este oferită gratuit și o puteți utiliza și modifica în oricare dintre proiectele dumneavoastră.

SendSms.php
<?php
    header("Access-Control-Allow-Origin: *");
    header('Access-Control-Allow-Credentials: true');
    header('Access-Control-Max-Age: 86400');
    header("Access-Control-Allow-Headers: Authorization, Accept, Content-Type");
    header("Access-Control-Allow-Methods: GET, POST, OPTIONS"); 
?>

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Trimite SMS cu Ozeki SMS Gateway</title>
        <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css"rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
        <link rel="stylesheet" href="SendSms.css">
    </head>
    <body>

        <div class="form-group form-container">
            <b>Destinatar:</b>
            <input class="form-control" type="text" id="ToAddress" placeholder="+36201111111">
            <b>Text:</b>
            <input class="form-control" type="text" id="Text" placeholder="Salut lume!">
            <button class="btn btn-primary" id="btnSend">
                <b>TRIMITE</b>
            </button>
        </div>

        <div class="log-container">
            <ul class="card log" id="log-container">
                <li class="list-group-item"><b>Jurnal:</b></li>
            </ul> 
        </div>

        <script type="module">
            import { Configuration, Message, MessageApi } from "./Ozeki.Libs.Rest.js";

            var btnSend = document.getElementById("btnSend");
                        
            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);

            btnSend.addEventListener("click", async function() {
                var msg = new Message();
                msg.ToAddress = document.getElementById("ToAddress").value;
                msg.Text = document.getElementById("Text").value;

                let result = await api.Send(msg);

                document.getElementById('log-container').innerHTML += `<li class="list-group-item">${result}</li>`;
            });
        </script>
    </body>
</html>
	

Cum să utilizați exemplul de SMS în JavaScript:

Acest exemplu de SMS în JavaScript poate fi utilizat în orice aplicație web. Pentru a-l utiliza, trebuie să adăugați Ozeki.Libs.Rest.js în proiectul dumneavoastră. După ce a fost adăugat în proiect, trebuie să introduceți directiva import {MessageApi, Message, Configuration} from './Ozeki.Libs.Rest.js'; în secțiunea de antet a codului sursă JavaScript. Acest lucru vă va permite să utilizați clasele furnizate de biblioteca Ozeki.Libs.Rest. Puteți utiliza clasa Message pentru a crea SMS-ul. Puteți utiliza clasa MessageApi pentru a trimite SMS-ul către gateway-ul SMS. Gateway-ul SMS va transmite mesajul dumneavoastră către rețeaua mobilă fie printr-o conexiune fără fir, fie prin Internet.

Descarcă SendSms.js

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

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

Fișierul SendSms.js.zip conține biblioteca Ozeki.Libs.Rest, care vă oferă toate instrumentele necesare pentru a trimite și primi mesaje SMS. De asemenea, veți găsi proiectul SendSms în arhivă, care conține codul exemplu pentru a vă arăta cum să trimiteți un SMS. Acest cod exemplu este listat mai jos.

director send sms js
Figura 2 - Ce conține SendSms.js.zip

Cum să trimiți SMS din JavaScript (Ghid simplu)

Pentru a trimite SMS din JavaScript:

  1. Instalați un utilizator HTTP API
  2. Activați Log communication events în fila Advanced
  3. Descărcați și instalați WampServer
  4. Descărcați apoi extrageți fișierul SendSms.js.zip
  5. Puneți conținutul fișierului zip în folderul \www\ al wampserver: C:\wamp64\www
  6. Lansați aplicația Ozeki SMS Gateway
  7. Deschideți site-ul web tastând http://localhost/SendSms.php în browser-ul dumneavoastră
  8. După ce ați deschis site-ul web, puteți trimite un SMS făcând clic pe butonul Trimite
  9. Verificați jurnalul pentru a vedea dacă SMS-ul a fost trimis

Instalați Ozeki SMS Gateway și creați un utilizator HTTP API

Pentru a putea trimite SMS din JavaScript, mai întâi trebuie să instalați Ozeki SMS Gateway. Gateway-ul SMS poate fi instalat pe același computer unde dezvoltați codul JavaScript în Visual Studio. După instalare, următorul pas este să conectați Ozeki SMS Gateway la rețeaua mobilă. Puteți creați un utilizator HTTP API pentru SMS. Creați un utilizator cu numele "http_user" și parola "qwe123" pentru ca exemplul să funcționeze fără modificări.

După ce mediul este configurat, puteți rula codul JavaScript.

URL-ul API HTTP pentru a trimite SMS din JavaScript

Pentru a trimite SMS din JavaScript, codul JavaScript va trebui să facă o cerere HTTP către gateway-ul SMS. URL-ul API este afișat mai jos. Rețineți că adresa IP (127.0.0.1) ar trebui să fie înlocuită cu adresa IP a gateway-ului SMS. Dacă Ozeki SMS Gateway este instalat pe același computer unde rulează aplicația JavaScript pentru 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
	

Autentificarea HTTP pentru a trimite SMS din JavaScript

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

// Puteți găsi codificatorul Base64 în fișierul Ozeki.Libs.Rest.js 
var usernamePassword = username + ":" + password;
return `Basic ${Base64.encode(usernamePassword)}`;
	

De exemplu, dacă codificați numele de utilizator 'http_user' și parola 'qwe123', veți obține următorul șir codat 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 antete în cererea HTTP. Rețineți că includem un antet pentru tipul de conținut și unul pentru autorizare.

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

Cererea HTTP pentru a trimite SMS din JavaScript

Pentru a trimite SMS, aplicația JavaScript va trimite o cerere HTTP similară cu cea de mai jos. Rețineți că această cerere conține o parte pentru antetul HTTP și o parte pentru corpul HTTP. Corpul HTTP este un șir de date codat JSON. Acesta conține numărul destinatarului și textul mesajului.

POST /api?action=sendmsg HTTP/1.1
Connection: close
Content-Length: 418
Content-Type: text/plain;charset=UTF-8
Accept: */*
Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw==
Host: 127.0.0.1:9509
User-Agent: node-XMLHttpRequest
 
{
	"messages": [
		{
			"message_id": "ca3be75b-f55d-9237-adee-e425007cd253",
			"to_address": "+36201111111",
			"text": "Hello world!",
			"create_date": "2021-07-30T11:14:56",
			"vaild_date": "2021-08-06T11:14:56",
			"time_to_send": "2021-07-30T11:14:56",
			"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ă codată JSON pentru a vă oferi detalii utile despre trimiterea mesajului.

HTTP/1.1 200 OK
User-Agent: OZEKI 10.3.123 (www.myozeki.com)
Content-Type: application/json; charset=utf8
Last-Modified: Fri, 30 Jul 2021 11:03:09 GMT
Server: 10/10.3.123
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": "ca3be75b-f55d-9237-adee-e425007cd253",
	      "from_station": "%",
	      "to_address": "+36201111111",
	      "to_station": "%",
	      "text": "Hello world!",
	      "create_date": "2021-07-30 11:14:56",
	      "valid_until": "2021-08-06 11:14:56",
	      "time_to_send": "2021-07-30 11:14:56",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": false,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ],
	      "status": "SUCCESS"
	    }
	  ]
	}
}
	

Conectați-vă gateway-ul SMS la rețeaua mobilă și creați un cont de utilizator HTTP API

Presupunem că ați instalat deja Ozeki SMS Gateway și ați conectat la rețeaua mobilă. Pentru a putea trimite SMS către un telefon mobil din JavaScript, trebuie să configurați un cont de utilizator HTTP API în Ozeki SMS Gateway.

Creați un utilizator nou (Tutorial video)

Acest videoclip vă prezintă cum să configurați un cont nou de utilizator HTTP API. Acesta va începe cu pagina de start a Ozeki SMS Gateway și se va încheia cu fila Evenimente a noului utilizator. Videoclipul vă va arăta cum să creați și să configurați noul utilizator. Marele lucru la acest videoclip este că durează doar 30 de secunde, dar conține toate informațiile necesare pentru a crea un nou utilizator HTTP API.

Video 1 - Cum să configurați un cont de utilizator HTTP API (Tutorial video)

Cum să trimiți SMS din JavaScript folosind API-ul SMS JavaScript (Tutorial video)

Acest videoclip vă arată cum să descărcați fișierul SendSms.js.zip de pe această pagină. Dacă urmăriți videoclipul, veți observa că conținutul arhivei SendSms.cs este plasat în folderul \www\ al WampServer. De asemenea, veți vedea că pornim WampServer dând dublu clic pe pictograma sa, iar după aceasta introducem http://localhost:8080/SendSms.js în browserul web.

Video 2 - Cum să descărcați și să rulați proiectul exemplu (Tutorial video)

Exemplu SMS în JavaScript: SendSms.js

Codul exemplu de mai jos face parte din fișierul PHP SendSms.php. În plus, veți vedea alte două fișiere numite SendSms.css și Ozeki.Libs.Rest.js.

  • Fișierul Ozeki.Libs.Rest.js conține toate instrumentele necesare pentru a trimite, șterge, marca și primi mesaje SMS.
  • SendSms.php conține codul JavaScript și câteva antete care ne vor permite să trimitem cereri HTTP fără erori CORS.
  • SendSms.css conține fișierul de stiluri.

Figura 3 - SendSms.php

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

După ce SMS-ul a fost trimis, este bine 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. Videoclipul va începe cu codul deschis și se va încheia cu detaliile mesajului trimis. Veți învăța cum să lansați proiectul, cum arată proiectul în timpul rulării și cum arată fișierul jurnal după aceasta. Videoclipul durează doar 42 de secunde și este ușor de înțeles. Nu veți avea probleme în a-l urmări.

Video 3 - Trimitere SMS cu codul JavaScript de mai sus (Tutorial video)

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

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

Testați dacă cererea a fost acceptată (Tutorial video)

În următorul videoclip, veți vedea cum să verificați dacă clientul SMPP a reușit să trimită mesajul dvs. Veți învăța cum să deschideți fila de evenimente a utilizatorului SMPP și ce să căutați. Videoclipul durează doar 18 secunde, dar va fi foarte util.

Video 4 - Cum să testați dacă cererea a fost acceptată de clientul SMPP (Tutorial video)

SMS primit pe telefon (Tutorial video)

În următorul videoclip, veți vedea cum arată un mesaj primit care a fost trimis de la Ozeki SMS Gateway. Acesta va începe cu ecranul principal al unui telefon Android și se va încheia cu mesajul deschis. Durează doar 18 secunde și puteți vedea întregul proces de primire a unui mesaj.

Video 5 - Mesaj SMS primit pe telefonul mobil (Tutorial video)

Rezumat

Ghidul de mai sus a explicat pașii pentru trimiterea SMS-urilor din JavaScript. După cum s-a putut observa, Ozeki vă oferă toate instrumentele necesare pentru livrarea mesajelor, așa că, dacă pașii au fost urmați cu atenție, trimiterea mesajelor din JavaScript nu mai este o problemă. Ozeki SMS Gateway joacă un rol enorm în livrare, fără acest program nu ați putea ajunge la utilizatorii mobili. Este important de menționat că Ozeki SMS Gateway funcționează în orice țară, astfel încât mesajele pot fi trimise internațional cu această soluție.

Nu încheiați citirea aici, navigați pe pagina de tutoriale Ozeki și aflați despre primirea SMS-urilor în JavaScript.

Următorul lucru pe care trebuie să-l faceți este să descărcați Ozeki SMS Gateway și să începeți lucrul!

More information