Hogyan ütemezhetünk SMS-t Node.js-ben
A legegyszerűbb módja SMS küldésének Node.Js-ből az Ozeki SMS Gateway beépített HTTP/Rest SMS API-jának használata. Amikor ezt az API-t használod, SMS üzeneteket küldhetsz 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ésedre.
JavaScript kód SMS küldésére mobilra
Az alábbi JavaScript SMS kód minta bemutatja, hogyan küldhetsz SMS-t 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 projektben használhatod és módosíthatod.
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());
Hogyan használd a JavaScript SMS példát:
A Message osztály segítségével hozhatod létre az SMS-t, és a MessageApi osztállyal elküldheted az SMS-t az SMS gatewaynek. Az SMS gateway továbbítja az üzenetedet a mobilhálózatnak vezeték nélküli kapcsolaton vagy az interneten keresztül.
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 (4.46Kb)
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 SMS üzenetek küldéséhez és fogadásához. A projektben találsz egy SendScheduledSms.mjs fájlt is, amely tartalmazza a példakódot, amely bemutatja, hogyan küldjél SMS-t. Ez a példakód az alábbiakban látható.
Ennek a projektnek vannak függőségei, ezért a kezdés előtt telepítened kell a node-fetch csomagot a következő paranccsal:
npm install node-fetch
Hogyan küldjünk ütemezett SMS-t Node.Js-ből (Gyors lépések)
Ütemezett SMS küldése Node.Js-ből:
- Telepítsd az Ozeki SMS Gateway-t
- Kapcsold az Ozeki SMS Gateway-t a mobilhálózathoz
- Küldj egy teszt SMS-t az Ozeki GUI-ból
- Hozz létre egy HTTP SMS API felhasználót
- Apache NetBeans
- Töltsd le a fenti példaprojektet
- Hozd létre az SMS-t egy új Message objektum létrehozásával
- Hozz létre egy API-t az üzeneted küldéséhez
- A Send metódus használatával küldd el az üzeneted
- Olvasd el a válaszüzenetet a konzolon
- Ellenőrizd a naplókat az SMS gateway-ben
Ozeki SMS Gateway telepítése és HTTP API felhasználó létrehozása
Ahhoz, hogy SMS-t tudj küldeni Node.Js-ből, először telepítened kell az Ozeki SMS Gateway-t. Az SMS gateway telepíthető ugyanarra a számítógépre, ahol a JavaScript kódodat fejleszted Visual Studio Code-ban vagy bármely más kódszerkesztőben. A telepítés után a következő lépés az, hogy kapcsold az Ozeki SMS Gateway-t a mobilhálózathoz. Küldhetsz egy teszt SMS-t az Ozeki GUI-ból, hogy ellenőrizd, működik-e a mobilhálózati kapcsolatod. A környezet előkészítésének utolsó lépése, hogy hozz létre egy HTTP SMS API felhasználót. Hozz 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 a környezet be van állítva, futtathatod a JavaScript kódodat.
HTTP API URL SMS küldéséhez Node.Js-ből
Ahhoz, hogy SMS-t küldj Node.Js-ből, a JavaScriptednek HTTP kérést kell küldenie az SMS gatewaynek. Az API URL az alábbiakban látható. Fontos, hogy az IP cím (127.0.0.1) helyére az SMS gateway IP címét írd be. 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, akkor annak 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 Node.Js SMS kliens hitelesítéséhez a felhasználónevet és jelszót base64 kódolású sztringként kell elküldened a szervernek egy HTTP kérésben. A használt formátum: base64(felhasználónév+":"+jelszó). JavaScriptben a következő kóddal végezheted el ezt a kódolást:
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ódolod, a következő base64 kódolású sztringet kapod: 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 belefoglalnod fejlécként az HTTP kérésbe. Figyeld meg, hogy tartalmazunk egy content type és egy Authorization fejlécet.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP kérés SMS küldéséhez Node.Js-ből
Az SMS beküldéséhez a Node.Js alkalmazásod egy olyan HTTP kérést fog küldeni, mint az alábbi. Figyeld meg, 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ódolású adatsztring. Tartalmazza a címzett számát és az üzenet szövegét.
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 } ] }
HTTP válasz, amit a JavaScript SMS példa kap
Amint az SMS gateway megkapja ezt a kérést, generál egy HTTP választ. A HTTP válasz tartalmaz egy státuszkódot, amely jelzi, sikeres volt-e az SMS beküldési kérés vagy sem. Egy JSON kódolású struktúrát is visszaküld, ami hasznos részleteket nyújt az üzenet beküldéséről.
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" } ] } }
Hogyan küldjünk SMS-t Node.Js-ből az SMS API-val (Videó útmutató)
Ez a videó bemutatja, hogyan töltsd le és használd a SendScheduledSms.js projektet. Miután hozzáadtad a szükséges fájlokat a projektedhez, észreveheted, hogy van egy Ozeki.Lbis.Rest.js nevű fájl. Ez a fájl tartalmazza a MessageApi-t és minden szükséges eszközt, hogy SMS-t küldhess JavaScripttel.
Node.Js SMS példa: SendScheduledSms.mjs (Notepadban)
A 3. ábrán láthatod a SendScheduledSMS projekt forráskódját, Notepadban megnyitva. Használhatod a kód szerkesztésére, ha ismered a Node.js programozási nyelvet. Változtasd meg a változók értékét, hogy egyedi üzenetet küldj egyedi címre.
Node.Js SMS példa: SendScheduledSms.mjs (Visual Studio Code-ban)
Ha színes kódolású, kiegészítésekkel és hasznos dokumentációval ellátott IDE-t szeretnél használni, használd a Visual Studio Code-ot (4. ábra). Ez egy ingyenesen használható IDE, amely segít jobb programokat írni. Ha ismered a Node.js programozási nyelvet, nyugodtan módosíthatod a változók értékét, hogy egyedi üzenetet küldj egyedi címre.
Hogyan ellenőrizd, hogy az SMS-t elfogadta-e a HTTP felhasználó
Az SMS beküldése után érdemes ellenőrizni az SMS gatewayedet, hogy lásd, mit kapott. A naplót az Ozeki SMS Gateway kezelőfelületén keresztül tekintheted meg, a HTTP felhasználó részleteinek megnyitásával. A következő videó bemutatja, mire kell figyelni.
Hogyan ellenőrizd, hogy az SMS el lett-e küldve a mobilhálózatnak
A folyamat ellenőrzésének utolsó lépése, hogy megnézd a mobilhálózati kapcsolat naplóit. Lehet, hogy be kell kapcsolnod a naplózást a kapcsolat beállításaiban, mielőtt elküldöd az üzenetet, hogy lásd a naplókat. Ha a naplózás be van kapcsolva, látni fogod a telefonszámot és az üzenet szövegét, amit küldtél.
Összegzés
Ennek a cikknek a fő funkciója az volt, hogy bemutassa, hogyan küldhetsz ütemezett SMS üzeneteket Node.js-ből az Ozeki SMS Gateway HTTP felhasználójának használatával. Ha figyelmesen követted a lépéseket, könnyedén ütemezhetsz SMS üzeneteket a Node.js programoddal. A hatékony információmegosztás érdekében nagy hangsúlyt kell fektetni az időzítésre, mert ez egyensúlyban tarthatja az üzenetforgalmat és simább kommunikációt eredményezhet.
Olvass további útmutatókat az Ozeki weboldalán, hogy többet megtudj a saját üzenetküldő rendszered fejlesztéséről. Találj más Node.js oktatóanyagokat, mint például a Hogyan fogadjunk SMS-t Node.js-ben és még sok mást.
Töltsd le most az Ozeki SMS Gateway-t és kezdődhet a munka!
More information
- Node js SMS küldés HTTP REST API-val (kódminta)
- Node js több SMS küldése HTTP REST API-val (kódminta)
- Node js SMS ütemezés HTTP REST API-val (kódminta)
- Node js SMS fogadás HTTP REST API-val (kódminta)
- Node js SMS törlés HTTP REST API-val (kódminta)
- Github Node js SMS API
- Node js oktatóanyag Hello world