Hogyan ütemezzen SMS-t JavaScriptben
A legegyszerűbb módja az ütemezett SMS küldésének JavaScriptből az Ozeki SMS Gateway beépített HTTP/Rest SMS API-jának használata. Amikor ezt az API-t használja, SMS üzeneteket küldhet HTTP POST kérések kiadásával az SMS gateway felé. A HTTP POST kérés egy JSON formátumban formázott üzenetet fog tartalmazni. Az SMS gateway továbbítja ezt az SMS-t a címzett telefonszámára, és egy HTTP 200 OK választ küld vissza a kérésére.
JavaScript kód ütemezett SMS küldésére mobilra
Az alábbi JavaScript SMS kódminta bemutatja, hogyan küldhet ütemezett SMS üzeneteket az Ozeki SMS Gateway HTTP REST SMS API-jával a JavaScript Ozeki.Libs.Rest könyvtár segítségével. Ez a könyvtár ingyenesen elérhető, és bármilyen projektjében használhatja és módosíthatja.
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>Send Scheduled SMS with 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="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>SEND</b> </button> </div> <div class="log-container"> <ul class="card log" id="container"> <li class="list-group-item"><b>Logs:</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>
A JavaScript SMS példa használata:
Ez a JavaScript SMS példa bármilyen webalkalmazásban használható. A használatához hozzá kell adnia az Ozeki.Libs.Rest.js fájlt a projekthez. Miután hozzáadta a projekthez, az import {MessageApi, Message, Configuration} from './Ozeki.Libs.Rest.js'; direktívát kell elhelyeznie a JavaScript forráskód fejléc részébe. Ez lehetővé teszi az Ozeki.Libs.Rest könyvtár által nyújtott osztályok használatát. A Message osztály segítségével létrehozhatja az SMS-t. A MessageApi osztály segítségével elküldheti az SMS-t az SMS gatewaynek. Az SMS gateway továbbítja az üzenetet a mobilhálózatnak vezeték nélküli kapcsolaton vagy az interneten keresztül.
A SendScheduledSms.js letöltése
A cikkben ismertetett forráskód ingyenesen letölthető, használható és módosítható.
Letöltés: SendScheduledSms.js.zip (5.59Kb)
Mi található a SendScheduledSms.js.zip fájlban?
A SendScheduledSms.js.zip fájl tartalmazza az Ozeki.Libs.Rest könyvtárat, amely minden szükséges eszközt biztosít az SMS-ek küldéséhez és fogadásához. A zip fájlban megtalálható a SendScheduledSms projekt is, amely tartalmazza a példakódot, amely bemutatja, hogyan küldhet SMS-t. Ez a példakód az alábbiakban látható.
Hogyan küldjön SMS-t JavaScriptből (Egyszerű útmutató)
SMS küldése JavaScriptből:
- Telepítsen egy HTTP API felhasználót
- Engedélyezze a Kommunikációs események naplózását a Speciális lapon
- Állítsa be a WampServer-t
- Töltse le, majd csomagolja ki a SendScheduledSms.js.zip fájlt
- Helyezze a zip fájl tartalmát a wampserver \www\ mappájába: C:\wamp64\www
- Indítsa el az Ozeki SMS Gateway alkalmazást
- Nyissa meg a weboldalt a http://localhost/SendScheduledSms.php cím beírásával a böngészőjébe
- Miután megnyitotta a weboldalt, SMS-t küldhet a Küldés gombra kattintva
- Ellenőrizze a naplókat, hogy az SMS elküldődött-e
Az Ozeki SMS Gateway telepítése és HTTP API felhasználó létrehozása
Ahhoz, hogy SMS-t tudjon küldeni JavaScriptből, először telepítenie kell az Ozeki SMS Gateway-t. Az SMS gateway telepíthető ugyanarra a számítógépre, ahol a JavaScript kódját fejleszti a Visual Studio-ban. A telepítés után a következő lépés az, hogy csatlakoztassa az Ozeki SMS Gateway-t a mobilhálózathoz. létrehoz egy HTTP SMS API felhasználói fiókot. Hozzon létre egy felhasználót "http_user" felhasználónévvel és "qwe123" jelszóval, hogy a példa módosítás nélkül működjön.
Miután beállította a környezetet, futtathatja a JavaScript kódját.
HTTP API URL SMS küldéséhez JavaScriptből
SMS küldéséhez JavaScriptből a JavaScriptnek HTTP kérést kell küldenie az SMS gatewaynek. Az API URL az alábbiakban látható. Vegye figyelembe, hogy az IP-címet (127.0.0.1) le kell cserélni az SMS gateway IP-címére. Ha az Ozeki SMS Gateway ugyanarra a számítógépre van telepítve, ahol a JavaScript SMS alkalmazás fut, ez lehet 127.0.0.1. Ha másik számítógépre van telepítve, annak a számítógépnek az IP-címét kell megadni.
http://127.0.0.1:9509/api?action=rest
HTTP hitelesítés SMS küldéséhez JavaScriptből
A JavaScript SMS kliens hitelesítéséhez a felhasználónevet és a jelszót base64 kódolt karakterláncként kell elküldenie a szervernek egy HTTP kérésben. A használt formátum: base64(felhasználónév+":"+jelszó). JavaScriptben a következő kódot használhatja a kódoláshoz:
// A Base64 kódoló az Ozeki.Libs.Rest.js fájlban található var usernamePassword = username + ":" + password; return `Basic ${Base64.encode(usernamePassword)}`;
Például, ha a 'http_user' felhasználónevet és a 'qwe123' jelszót kódolja, a következő base64 kódolt karakterláncot kapja: aHR0cF91c2VyOnF3ZTEyMw==.
HTTP kérés fejléc SMS küldéséhez JavaScriptből
Az SMS üzenetek küldéséhez a következő sorokat kell tartalmaznia a HTTP kérés fejlécében. Vegye figyelembe, hogy tartalomtípust és Authorization fejlécet is tartalmazunk.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP kérés SMS küldéséhez JavaScriptből
Az SMS beküldéséhez a JavaScript alkalmazása egy olyan HTTP kérést küld, amely hasonlít az alábbihoz. Vegye figyelembe, hogy ez a kérés tartalmaz egy HTTP fejléc részt és egy HTTP törzs részt. A HTTP törzs egy JSON kódolt adatsor. Tartalmazza a címzett számát, az üzenet szövegét és az üzenet küldési idejét.
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": "Hello world!", "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 válasz a JavaScript SMS példa által kapott
Miután az SMS gateway megkapja ezt a kérést, egy HTTP választ generál. A HTTP válasz tartalmaz egy állapotkódot, amely jelzi, hogy az SMS beküldési kérés sikeres volt-e vagy sem. Emellett egy JSON kódolt struktúrát is visszaad, amely hasznos részleteket nyújt az üzenet beküldéséről.
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": "Messages queued for delivery.", "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": "Hello world!", "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" } ] } }
Hogyan küldjön ütemezett SMS-t JavaScriptből a JavaScript SMS API segítségével (Videó útmutató)
Ez a videó bemutatja, hogyan töltheti le a SendScheduledSms.js.zip fájlt erről az oldalról. Ha megnézi a videót, észreveszi, hogy a SendScheduledSms.js zip tartalma a WampServer \www\ mappájába kerül. Azt is látni fogja, hogy a WampServer-t kétszer kattintva indítjuk el, majd a http://localhost:8080/SendScheduledSms.js címet írjuk be a webböngészőbe.
JavaScript SMS példa: SendScheduledSms.js
Az alábbi példakód a SendScheduledSms.php PHP fájl része.
Ezen kívül két másik fájlt is talál, a SendScheduledSms.css és a Ozeki.Libs.Rest.js fájlokat.
- Az Ozeki.Libs.Rest.js fájl tartalmazza az összes szükséges eszközt az SMS-ek küldéséhez, törléséhez, megjelöléséhez és fogadásához.
- A SendScheduledSms.php tartalmazza a JavaScript kódot és néhány fejlécet, amelyek lehetővé teszik a HTTP kérések küldését CORS hibák nélkül.
- A SendScheduledSms.css tartalmazza a weboldal stíluslapját.
Hogyan ellenőrizze, hogy az SMS-t elfogadta-e a HTTP felhasználó (Videó útmutató)
Az SMS beküldése után érdemes ellenőrizni az SMS gatewayt, hogy lássa, mit kapott. A naplót az Ozeki SMS Gateway kezelőfelületén az HTTP felhasználó részleteinek megnyitásával ellenőrizheti. A következő videó bemutatja, hogy mit kell keresni. A videó a megnyitott kóddal kezdődik, és az elküldött üzenet részleteivel ér véget. Megtanulhatja, hogyan indíthatja el a projektet, hogyan néz ki a projekt futás közben, és hogyan néz ki a naplófájl utána. A videó mindössze 42 másodperc hosszú és könnyen érthető. Nem lesz gondja a követésével.
Összefoglalás
Ez a cikk elmagyarázta, hogyan készíthet megoldást SMS ütemezésre JavaScriptben az Ozeki SMS Gateway HTTP felhasználójának segítségével. Ha mindent figyelmesen elolvasott, az SMS ütemezés nagyon egyszerű lesz. Az SMS ütemezés előnyös, mert akkor osztja meg az információt az ügyfelekkel, amikor időt szánhatnak az üzenetére. Ez hatékonyabbá teszi a tömeges SMS marketinget, és több embert érhet el vele.
További tanulási lehetőségeket talál az Ozeki weboldalán, olvasson tovább. Nézze meg, hogyan fogadhat SMS-t JavaScriptben, ez segíthet az üzenettárolás szervezésében.
Töltse le most az Ozeki SMS Gateway-t, és lássa a változást!
More information
- Javascript SMS küldés a HTTP REST API-val (kódminta)
- Javascript több SMS küldése a HTTP REST API-val (kódminta)
- Javascript SMS ütemezés a HTTP REST API-val (kódminta)
- Javascript SMS fogadás a HTTP REST API-val (kódminta)
- Javascript SMS törlés a HTTP REST API-val (kódminta)
- Hogyan töltsd le a legújabb Javascript SMS API könyvtárat Githubról