Kako zakazati SMS u Javascriptu
Najjednostavniji način za slanje zakazanih SMS poruka iz JavaScripta je korištenje ugrađenog HTTP/Rest SMS API-ja Ozeki SMS Gatewaya. Kada koristite ovaj API, slat ćete SMS poruke slanjem HTTP Post zahtjeva SMS gatewayu. HTTP Post zahtjev će sadržavati poruku formatiranu u json formatu. SMS gateway će poslati ovaj SMS primatelju na telefon i vratit će HTTP 200 OK odgovor na vaš zahtjev.
JavaScript kod za slanje zakazanog sms-a na mobilni telefon
JavaScript sms primjer koda u nastavku pokazuje kako možete slati zakazane SMS poruke koristeći http rest sms api Ozeki SMS Gatewaya s JavaScript Ozeki.Libs.Rest bibliotekom. Ova biblioteka vam je dostupna besplatno, a možete je koristiti i mijenjati u bilo kojem od vaših projekata.
SendScheduledSms.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šalji zakazani SMS s Ozeki SMS Gatewayom</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="SendScheduledSms.css"> </head> <body> <div class="form-group form-container"> <b>ToAddress:</b> <input class="form-control" type="text" id="ToAddress" placeholder="+36201111111"> <b>Text:</b> <input class="form-control" type="text" id="Text" placeholder="Hello world!"> <b>TimeToSend:</b> <input class="form-control" type="text" id="TimeToSend" placeholder="2021-07-30 10:00:00"> <button class="btn btn-primary" id="btnSend"> <b>POŠALJI</b> </button> </div> <div class="log-container"> <ul class="card log" id="container"> <li class="list-group-item"><b>Dnevnici:</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() { if (document.getElementById("ToAddress").value != '' && document.getElementById("Text").value != '' && document.getElementById('TimeToSend').value) { var msg = new Message(); var datetime = (document.getElementById('TimeToSend').value).split(' '); var date = datetime[0].split('-'); var time = datetime[1].split(':'); msg.ToAddress = document.getElementById("ToAddress").value; msg.Text = document.getElementById("Text").value; msg.TimeToSend = new Date(Date.UTC(date[0], (parseInt(date[1].replace('0', ''))-1), date[2], time[0], time[1], time[2])); let result = await api.Send(msg); document.getElementById("ToAddress").value = ''; document.getElementById("Text").value = ''; document.getElementById('TimeToSend').value = ''; document.getElementById('container').innerHTML += `<li class="list-group-item">${result}</li>`; } }); </script> </body> </html>
Kako koristiti JavaScript sms primjer:
Ovaj JavaScript sms primjer može se koristiti u bilo kojoj web aplikaciji. Da biste ga koristili, morate dodati Ozeki.Libs.Rest.js u svoj projekt. Nakon što je dodan u vaš projekt, morate staviti import {MessageApi, Message, Configuration} from './Ozeki.Libs.Rest.js'; directivu u zaglavlje vašeg JavaScript izvornog koda. To će vam omogućiti korištenje klasa koje pruža Ozeki.Libs.Rest biblioteka. Možete koristiti klasu Message za kreiranje SMS-a. Možete koristiti klasu MessageApi za slanje SMS-a SMS gatewayu. SMS gateway će proslijediti vašu poruku mobilnoj mreži bilo putem bežične veze ili putem interneta.
Preuzmite SendScheduledSms.js
Izvorni kod objašnjen u ovom članku može se besplatno preuzeti, koristiti i mijenjati.
Preuzimanje: SendScheduledSms.js.zip (5.59Kb)
Što se nalazi u SendScheduledSms.js.zip datoteci?
SendScheduledSms.js.zip datoteka sadrži Ozeki.Libs.Rest biblioteku, koja vam daje sve potrebne alate za slanje i primanje SMS poruka. Također ćete pronaći SendScheduledSms projekt u zip datoteci, koji sadrži primjer koda koji vam pokazuje kako poslati SMS. Ovaj primjer koda je naveden u nastavku.
Kako poslati SMS iz JavaScripta (Jednostavne smjernice)
Za slanje SMS-a iz JavaScripta:
- Instalirajte HTTP API korisnika
- Omogućite bilježenje komunikacijskih događaja na kartici Napredno
- Postavite WampServer
- Preuzmite i raspakirajte datoteku SendScheduledSms.js.zip
- Stavite sadržaj zip datoteke u mapu \www\ wampservera: C:\wamp64\www
- Pokrenite aplikaciju Ozeki SMS Gateway
- Otvorite web stranicu upisivanjem http://localhost/SendScheduledSms.php u preglednik
- Nakon što ste otvorili web stranicu, možete poslati SMS klikom na gumb Pošalji
- Provjerite zapisnike da vidite je li SMS poslan
Instalirajte Ozeki SMS Gateway i stvorite HTTP API korisnika
Da biste mogli slati SMS iz JavaScripta, prvo morate instalirati Ozeki SMS Gateway. SMS gateway se može instalirati na istom računalu na kojem razvijate svoj JavaScript kod u Visual studiju. Nakon instalacije, sljedeći korak je povezivanje Ozeki SMS Gatewaya s mobilnom mrežom. Možete poslati testni SMS iz Ozeki sučelja kako biste potvrdili da vaša mobilna mrežna veza radi. Konačni korak za pripremu vašeg okruženja je stvaranje HTTP SMS API korisničkog računa. Stvorite korisnika s korisničkim imenom "http_user" i lozinkom "qwe123" kako bi primjer radio bez izmjena.
Nakon postavljanja okruženja, možete pokrenuti svoj JavaScript kod.
HTTP API URL za slanje SMS-a iz JavaScripta
Da biste poslali SMS iz JavaScripta, vaš JavaScript će morati poslati HTTP zahtjev SMS gatewayu. API URL je prikazan u nastavku. Imajte na umu da IP adresu (127.0.0.1) treba zamijeniti IP adresom vašeg SMS gatewaya. Ako je Ozeki SMS Gateway instaliran na istom računalu na kojem se pokreće JavaScript SMS aplikacija, ovo može biti 127.0.0.1. Ako je instaliran na drugom računalu, treba biti IP adresa tog računala.
http://127.0.0.1:9509/api?action=rest
HTTP autentifikacija za slanje SMS-a iz JavaScripta
Za autentifikaciju JavaScript SMS klijenta, morate poslati korisničko ime i lozinku u base64 kodiranom nizu na poslužitelj u HTTP zahtjevu. Korišteni format je: base64(korisničko_ime+":"+lozinka). U JavaScriptu možete koristiti sljedeći kod za to kodiranje:
// Base64 enkoder možete pronaći u datoteci Ozeki.Libs.Rest.js var usernamePassword = username + ":" + password; return `Basic ${Base64.encode(usernamePassword)}`;
Na primjer, ako kodirate korisničko ime 'http_user' i lozinku 'qwe123', dobit ćete sljedeći base64 kodirani niz: aHR0cF91c2VyOnF3ZTEyMw==. Za slanje
HTTP zaglavlje zahtjeva za slanje SMS-a iz JavaScripta
Za slanje SMS poruka, morate uključiti sljedeće retke kao zaglavlja u HTTP zahtjevu. Imajte na umu da uključujemo vrstu sadržaja i zaglavlje Autorizacija.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP zahtjev za slanje SMS-a iz JavaScripta
Za slanje SMS-a, vaša JavaScript aplikacija će poslati HTTP zahtjev sličan onome u nastavku. Imajte na umu da ovaj zahtjev sadrži dio HTTP zaglavlja i dio HTTP tijela. HTTP tijelo je JSON kodirani niz podataka. Sadrži broj primatelja, tekst poruke i vrijeme kada želimo poslati našu poruku.
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": "d4420450-3db1-1452-91eb-1145b2126495", "to_address": "+36201111111", "text": "Pozdrav svijete!", "create_date": "2021-07-30T13:04:49", "vaild_date": "2021-08-06T13:04:49", "time_to_send": "2021-07-30T14:00:00", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true } ] }
HTTP odgovor primljen od JavaScript SMS primjera
Nakon što SMS gateway primi ovaj zahtjev, generirat će HTTP odgovor. HTTP odgovor će sadržavati statusni kod, kako bi naznačio je li zahtjev za slanje SMS-a bio uspješan ili ne. Također će vratiti JSON kodiranu strukturu kako bi vam pružio korisne pojedinosti o slanju poruke.
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 12:58:47 GMT Server: 10/10.3.123 Transfer-Encoding: chunked { "http_code": 200, "response_code": "SUCCESS", "response_msg": "Poruke su u redu za isporuku.", "data": { "total_count": 1, "success_count": 1, "failed_count": 0, "messages": [ { "message_id": "d4420450-3db1-1452-91eb-1145b2126495", "from_station": "%", "to_address": "+36201111111", "to_station": "%", "text": "Pozdrav svijete!", "create_date": "2021-07-30 13:04:49", "valid_until": "2021-08-06 13:04:49", "time_to_send": "2021-07-30 14:00:00", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" } ] } }
Ovaj video vam pokazuje kako preuzeti datoteku SendScheduledSms.js.zip s ove stranice. Ako pogledate video, primijetit ćete da se sadržaj SendScheduledSms.js zip datoteke postavlja u \www\ mapu WampServera. Također ćete vidjeti da pokrećemo WampServer dvostrukim klikom na njegovu ikonu, a nakon toga upisujemo http://localhost:8080/SendScheduledSms.js u web preglednik.
JavaScript SMS primjer: SendScheduledSms.js
Primjer koda u nastavku dio je PHP datoteke SendScheduledSms.php.
Osim toga, vidjet ćete još dvije datoteke pod nazivom SendScheduledSms.css i Ozeki.Libs.Rest.js.
- Datoteka Ozeki.Libs.Rest.js sadrži sve potrebne alate za slanje, brisanje, označavanje i primanje SMS poruka.
- SendScheduledSms.php sadrži JavaScript kod i neke zaglavlja koja će nam omogućiti slanje HTTP zahtjeva bez CORS grešaka.
- SendScheduledSms.css sadrži stilsku tablicu za web stranicu.
Kako provjeriti je li SMS prihvaćen od strane HTTP korisnika (Video tutorial)
Nakon što je SMS poslan, dobro je provjeriti svoj SMS pristupnik kako biste vidjeli što je primio. Dnevnik možete provjeriti otvaranjem detalja HTTP korisnika iz upravljačke konzole Ozeki SMS pristupnika. Sljedeći video vam pokazuje na što treba obratiti pažnju. Video će započeti s otvorenim kodom i završiti s detaljima poslane poruke. Naučit ćete kako pokrenuti projekt, kako projekt izgleda tijekom rada i kako izgleda datoteka dnevnika nakon toga. Video traje samo 42 sekunde i lako ga je razumjeti. Nećete imati problema s praćenjem.
Ukratko
Ovaj članak objasnio je kako napraviti rješenje za zakazivanje SMS poruka u JavaScriptu uz pomoć HTTP korisnika Ozeki SMS pristupnika. Ako ste sve pažljivo pročitali, zakazivanje SMS poruka trebalo bi biti vrlo jednostavno. Zakazivanje SMS poruka korisno je zbog činjenice da informacije dijelite s klijentima kada imaju vremena obratiti pažnju na vašu poruku. To će učiniti masovni SMS marketing učinkovitijim, i time ćete doseći više ljudi.
Saznajte više na Ozeki web stranici i nastavite čitati. Pogledajte kako primiti SMS u JavaScriptu, može vam pomoći organizirati pohranu poruka.
Preuzmite Ozeki SMS pristupnik sada i uvjerite se u promjenu!
More information
- Javascript slanje SMS-a s HTTP rest API-jem (primjer koda)
- Javascript slanje višestrukih SMS-ova s HTTP rest API-jem (primjer koda)
- Javascript zakazivanje SMS-a s HTTP rest API-jem (primjer koda)
- Javascript primanje SMS-a s HTTP rest API-jem (primjer koda)
- Javascript brisanje SMS-a s HTTP rest API-jem (primjer koda)
- Kako preuzeti najnoviju JavaScript SMS API biblioteku s Githuba