Kako poslati SMS iz JavaScripta
Najenostavnejši način za pošiljanje SMS-ov iz JavaScripta je uporaba vgrajenega HTTP/Rest SMS API-ja Ozeki SMS Gateway. Ko uporabljate ta API, boste pošiljali SMS sporočila z izdajo HTTP Post zahteve proti SMS prehodu. HTTP Post zahteva bo vsebovala sporočilo v json formatu. SMS prehod bo poslal ta SMS prejemniku in vrnil HTTP 200 OK odgovor na vašo zahtevo.
Spodnji vzorec JavaScript SMS kode prikazuje, kako lahko pošiljate SMS z uporabo http rest sms api-ja Ozeki SMS Gateway z uporabo JavaScript knjižnice Ozeki.Libs.Rest. Ta knjižnica vam je na voljo brezplačno in jo lahko uporabljate in spreminjate v katerem koli od vaših projektov.
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>Pošlji SMS z 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>Naslov prejemnika:</b> <input class="form-control" type="text" id="ToAddress" placeholder="+36201111111"> <b>Besedilo:</b> <input class="form-control" type="text" id="Text" placeholder="Pozdravljen svet!"> <button class="btn btn-primary" id="btnSend"> <b>POŠLJI</b> </button> </div> <div class="log-container"> <ul class="card log" id="log-container"> <li class="list-group-item"><b>Dnevniki:</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>
Kako uporabiti JavaScript SMS primer:
Ta JavaScript SMS primer se lahko uporablja v kateri koli spletni aplikaciji. Za uporabo morate dodati Ozeki.Libs.Rest.js v vaš projekt. Ko je dodan v vaš projekt, morate vstaviti import {MessageApi, Message, Configuration} from './Ozeki.Libs.Rest.js'; navodilo v glavni del vaše JavaScript izvorne kode. To vam bo omogočilo uporabo razredov ki jih ponuja knjižnica Ozeki.Libs.Rest. Razred Message lahko uporabite za ustvarjanje SMS-ja. Razred MessageApi lahko uporabite za pošiljanje SMS-ja proti SMS prehodu. SMS prehod bo vaše sporočilo posredoval mobilnemu omrežju prek brezžične povezave ali prek interneta.
Prenesite SendSms.js
Izvorna koda, razložena v tem članku, je na voljo za brezplačen prenos, uporabo in spreminjanje.
Prenos: SendSms.js.zip (5,3Kb)
Datoteka SendSms.js.zip vsebuje knjižnico Ozeki.Libs.Rest, ki vam ponuja vsa orodja, potrebna za pošiljanje in prejemanje SMS sporočil. V zip datoteki boste našli tudi projekt SendSms, ki vsebuje primer kode, ki vam pokaže kako poslati SMS. Ta primer kode je naveden spodaj.
Za pošiljanje SMS-ov iz JavaScripta:
- Namestite uporabnika HTTP API-ja
- Omogočite beleženje komunikacijskih dogodkov na zavihku Napredno
- Prenesite in namestite WampServer
- Prenesite in razširite datoteko SendSms.js.zip
- Vsebino zip datoteke postavite v mapo \www\ wampserverja: C:\wamp64\www
- Zaženite aplikacijo Ozeki SMS Gateway
- Odprite spletno stran tako, da v brskalnik vnesete http://localhost/SendSms.php
- Ko odprete spletno stran, lahko pošljete SMS s klikom na gumb Pošlji
- Preverite dnevnike, da vidite, ali je bil SMS poslan
Namestite Ozeki SMS Gateway in ustvarite uporabnika HTTP API
Za pošiljanje SMS-ov iz JavaScripta morate najprej namestiti Ozeki SMS Gateway. SMS gateway lahko namestite na istem računalniku, kjer razvijate svojo JavaScript kodo v Visual Studiu. Po namestitvi je naslednji korak povezovanje Ozeki SMS Gatewaya z mobilnim omrežjem. Lahko pošljete testno SMS sporočilo iz Ozeki GUI, da preverite, ali vaša povezava z mobilnim omrežjem deluje. Zadnji korak pri pripravi okolja je ustvarjanje uporabnika HTTP SMS API. Ustvarite uporabnika z uporabniškim imenom "http_user" in geslom "qwe123", da bo primer deloval brez sprememb.
Ko je okolje pripravljeno, lahko zaženete svojo JavaScript kodo.
URL HTTP API za pošiljanje SMS-ov iz JavaScripta
Za pošiljanje SMS-ov iz JavaScripta mora vaš JavaScript poslati HTTP zahtevo na SMS gateway. API URL je prikazan spodaj. Upoštevajte, da je treba IP naslov (127.0.0.1) zamenjati z IP naslovom vašega SMS gatewaya. Če je Ozeki SMS Gateway nameščen na istem računalniku, kjer teče JavaScript SMS aplikacija, lahko uporabite 127.0.0.1. Če je nameščen na drugem računalniku, morate uporabiti IP naslov tega računalnika.
http://127.0.0.1:9509/api?action=rest
HTTP avtentikacija za pošiljanje SMS-ov iz JavaScripta
Za avtentikacijo JavaScript SMS odjemalca morate poslati uporabniško ime in geslo v base64 kodiranem nizu na strežnik v HTTP zahtevi. Uporabljen format je: base64(uporabniško_ime+":"+geslo). V JavaScriptu lahko za to kodiranje uporabite naslednjo kodo:
// Base64 kodirnik najdete v datoteki Ozeki.Libs.Rest.js var usernamePassword = username + ":" + password; return `Basic ${Base64.encode(usernamePassword)}`;
Na primer, če kodirate uporabniško ime 'http_user' in geslo 'qwe123', boste dobili naslednji base64 kodiran niz: aHR0cF91c2VyOnF3ZTEyMw==. Za pošiljanje
Glava HTTP zahteve za pošiljanje SMS-ov iz JavaScripta
Za pošiljanje SMS sporočil morate vključiti naslednje vrstice kot glave v HTTP zahtevo. Upoštevajte, da vključujemo tip vsebine in glavo za avtorizacijo.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP zahteva za pošiljanje SMS-ov iz JavaScripta
Za oddajo SMS-a bo vaša JavaScript aplikacija poslala HTTP zahtevo, podobno spodnji. Upoštevajte, da ta zahteva vsebuje del z glavo HTTP in del s telesom HTTP. Telo HTTP je JSON kodiran podatkovni niz. Vsebuje prejemnikovo številko in besedilo sporočila.
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 } ] }
HTTP odziv, ki ga prejme JavaScript SMS primer
Ko SMS gateway prejme to zahtevo, bo ustvaril HTTP odziv. HTTP odziv bo vseboval statusno kodo, ki označuje, ali je bila zahteva za oddajo SMS-a uspešna ali ne. Prav tako bo vrnil JSON kodirano strukturo, ki vam bo omogočila uporabne podrobnosti o oddaji sporočila.
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" } ] } }
Povežite svoj SMS gateway z mobilnim omrežjem in ustvarite račun HTTP API uporabnika
Predpostavljamo, da ste že namestili Ozeki SMS Gateway in ste ga povezali z mobilnim omrežjem. Da boste lahko pošiljali SMS-e na mobilni telefon iz JavaScripta, morate nastaviti račun HTTP API uporabnika v Ozeki SMS Gatewayu.
Ustvarite novega uporabnika (Video vadnica)
Ta video prikazuje, kako nastaviti nov račun HTTP API uporabnika. Začne se z domačo stranjo Ozeki SMS Gatewaya in konča z zavihtkom Dogodki novega uporabnika. Video vam bo pokazal, kako ustvariti in konfigurirati svojega novega uporabnika. Odlična stvar pri tem videu je, da je dolg le 30 sekund, vsebuje pa vse informacije, ki jih potrebujete za ustvarjanje novega http api uporabnika.
Kako poslati SMS iz JavaScripta z uporabo JavaScript SMS API (Video vadnica)
Ta video vam pokaže, kako prenesti datoteko SendSms.js.zip s te strani. Če si ogledate video, boste opazili, da so vsebine datoteke SendSms.cs zip postavljene v mapo \www\ WampServerja. Videli boste tudi, da zaženemo WampServer z dvoklikom na njegovo ikono, nato pa v brskalnik vpišemo http://localhost:8080/SendSms.js.
Primer SMS pošiljanja v JavaScriptu: SendSms.js
Spodnja primer kode je del PHP datoteke SendSms.php.
Poleg tega boste videli še dve drugi datoteki, imenovani SendSms.css in Ozeki.Libs.Rest.js.
- Datoteka Ozeki.Libs.Rest.js vsebuje vsa potrebna orodja za pošiljanje, brisanje, označevanje in prejemanje SMS sporočil.
- SendSms.php vsebuje JavaScript kodo in nekatere glave, ki nam omogočajo pošiljanje HTTP zahtev brez napak CORS.
- SendSms.css vsebuje slogovno datoteko.
Po oddaji SMS-a je dobro preveriti vaš SMS prehod, da vidite, kaj je prejel. Dnevnik lahko preverite tako, da odprete podrobnosti HTTP uporabnika v upravljalski konzoli Ozeki SMS Gateway. Naslednji video vam pokaže, kaj morate iskati. Video se bo začel z odprto kodo in končal s podrobnostmi poslanega sporočila. Naučili se boste, kako zagnati projekt, kako izgleda projekt med izvajanjem in kako izgleda dnevniški zapis po tem. Video je dolg le 42 sekund in ga je enostavno razumeti. Ne boste imeli težav s sledenjem.
Kako preveriti, ali je SMS poslan v mobilno omrežje
Zadnji korak pri preverjanju postopka je pogled v dnevnike povezave z mobilnim omrežjem. Morda boste morali vklopiti beleženje v nastavitvah povezave, preden pošljete sporočilo, da boste videli dnevnike. Če je beleženje omogočeno, boste videli telefonsko številko in besedilo sporočila, ki ste ga poslali.
Preizkusite, ali je bila zahteva sprejeta (Video vadnica)V naslednjem videu boste videli, kako preveriti, ali je bil SMPP odjemalec uspešen pri pošiljanju vašega sporočila. Naučili se boste, kako odpreti zavihek dogodkov SMPP uporabnika in kaj iskati. Video je dolg le 18 sekund, vendar bo zelo koristen.
SMS prejet na telefonu (Video vadnica)
V naslednjem videu boste videli, kako izgleda dohodno sporočilo, poslano iz Ozeki SMS Gateway. Začelo se bo z domačim zaslonom android telefona in končalo z odprtim sporočilom. Dolgo je le 18 sekund in vidite lahko celoten proces prejemanja sporočila.
Povzetek
Zgornji vodnik je razložil korake za pošiljanje SMS iz JavaScripta. Kot je bilo videti, vam Ozeki ponuja vsa orodja, potrebna za dostavo sporočil, tako da, če ste skrbno sledili korakom, pošiljanje sporočil iz JavaScripta ni več težava. Ozeki SMS Gateway igra ključno vlogo pri dostavi, brez tega programa ne bi mogli doseči mobilnih uporabnikov. Pomembno je omeniti, da Ozeki SMS Gateway deluje v kateri koli državi, tako da je s to rešitvijo mogoče pošiljati sporočila mednarodno.
Ne končajte branja tukaj, obiščite Ozekijevo stran z vadnicami in se naučite več o prejemanju SMS-ov v JavaScriptu.
Naslednja stvar, ki jo morate storiti, je prenesti Ozeki SMS Gateway in naj se delo začne!
More information
- Javascript pošlji SMS z HTTP rest API (vzorec kode)
- Javascript pošlji več SMS z HTTP rest API (vzorec kode)
- Javascript načrtuj SMS z HTTP rest API (vzorec kode)
- Javascript prejmi SMS z HTTP rest API (vzorec kode)
- Javascript izbriši SMS z HTTP rest API (vzorec kode)
- Kako prenesti najnovejšo knjižnico JavaScript SMS API z Githuba