Hogyan küldjünk több SMS-t Node.js-ből
A legegyszerűbb módja az 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ódminta 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 felhasználhatod és módosíthatod.
SendMultipleSms.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 msg1 = new Message(); msg1.ToAddress = "+36201111111"; msg1.Text = "Hello world 1"; var msg2 = new Message(); msg2.ToAddress = "+36202222222"; msg2.Text = "Hello world 2"; var msg3 = new Message(); msg3.ToAddress = "+36203333333"; msg3.Text = "Hello world 3"; var messages = new Array(); messages.push(msg1); messages.push(msg2); messages.push(msg3); var api = new MessageApi(configuration); const result = await api.Send(messages); console.log(result.toString());
Hogyan használd a JavaScript SMS példát:
A Message osztály segítségével létrehozhatod 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.
SendMultipleSms.js letöltése
A cikkben ismertetett forráskód letölthető, felhasználható és módosítható ingyenesen.
Letöltés: SendMultipleSms.js.zip (3.62Kb)
Mi található a SendMultipleSms.js.zip fájlban?
A SendMultipleSms.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 projektben találsz egy SendMultipleSms.mjs fájlt is, amely tartalmazza a példakódot, amely bemutatja, hogyan küldjél egy 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 SMS-t Node.Js-ből (Gyors lépések)
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 gatewayben
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 csatlakoztad az Ozeki SMS Gateway-t a mobilhálózathoz. Küldhetsz egy teszt SMS-t az Ozeki GUI-ból annak ellenőrzésére, hogy a mobilhálózati kapcsolatod működik. A környezet előkészítésének utolsó lépése az, hogy létrehozol 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ó. Figyelj arra, 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, akkor 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 Node.Js SMS kliens hitelesítéséhez a felhasználónevet és a jelszót base64 kódolt sztringként kell elküldened a szervernek egy HTTP kérésben. A használt formátum: base64(username+":"+password). JavaScriptben a következő kódot használhatod ehhez a kódoláshoz:
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ódolt 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 tartalmaznia a HTTP kérés fejlécének. Figyelj arra, hogy tartalomtípust és egy Authorization fejlécet is tartalmazunk.
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. Figyelj arra, 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 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: 932 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": "bda3e52a-6081-4c7e-954a-e3baf41d68bd", "to_address": "+36201111111", "text": "Hello world 1", "create_date": "2021-06-14T09:45:52", "vaild_date": "2021-06-21T09:45:52", "time_to_send": "2021-06-14T09:45:52", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true }, { "message_id": "50147a56-d453-50ba-b0ba-567c789cb539", "to_address": "+36202222222", "text": "Hello world 2", "create_date": "2021-06-14T09:45:52", "vaild_date": "2021-06-21T09:45:52", "time_to_send": "2021-06-14T09:45:52", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true }, { "message_id": "f05671e8-7664-d1c0-82da-0934464e2978", "to_address": "+36203333333", "text": "Hello world 3", "create_date": "2021-06-14T09:45:52", "vaild_date": "2021-06-21T09:45:52", "time_to_send": "2021-06-14T09:45:52", "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 állapotkódot, amely jelzi, hogy az SMS beküldési kérés sikeres volt-e vagy sem. 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.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": 3, "success_count": 3, "failed_count": 0, "messages": [ { "message_id": "bda3e52a-6081-4c7e-954a-e3baf41d68bd", "from_station": "%", "to_address": "+36201111111", "to_station": "%", "text": "Hello world 1", "create_date": "2021-06-14 09:45:52", "valid_until": "2021-06-21 09:45:52", "time_to_send": "2021-06-14 09:45:52", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" }, { "message_id": "50147a56-d453-50ba-b0ba-567c789cb539", "from_station": "%", "to_address": "+36202222222", "to_station": "%", "text": "Hello world 2", "create_date": "2021-06-14 09:45:52", "valid_until": "2021-06-21 09:45:52", "time_to_send": "2021-06-14 09:45:52", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" }, { "message_id": "f05671e8-7664-d1c0-82da-0934464e2978", "from_station": "%", "to_address": "+36203333333", "to_station": "%", "text": "Hello world 3", "create_date": "2021-06-14 09:45:52", "valid_until": "2021-06-21 09:45:52", "time_to_send": "2021-06-14 09:45:52", "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 használatával (Videó útmutató)
Ez a videó bemutatja, hogyan töltheted le és használhatod a SendMultipleSms.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 az SMS küldéséhez JavaScript használatával.
Node.Js SMS példa: SendMultipleSms.mjs (Jegyzettömbben)
Ezen a képen (3. ábra) megtalálod a projekt forráskódját, Jegyzettömbben megnyitva. Jegyzettömbben is szerkesztheted. Ha ismered a Node.js-t, nyugodtan módosíthatod a változókat a kódban, és testreszabott üzenetet küldhetsz a választott címre.
Node.Js SMS példa: SendMultipleSms.mjs (Visual Studio Code-ban)
Ha egyszerűbb módot keresel a forráskód megnyitására és szerkesztésére, próbáld ki a Visual Studio Code-ot (4. ábra). Színkódolást, több segítséget és automatikus kiegészítést kínál. Ez egy könnyű IDE (Integrált Fejlesztői Környezet), amely nyílt forráskódú és ingyenesen használható.
Hogyan ellenőrizd, hogy az SMS-t elfogadta-e az HTTP felhasználó
Az SMS beküldése után érdemes ellenőrizni az SMS gatewayt, hogy lássad, mit kapott. A naplót az Ozeki SMS Gateway kezelőfelületén keresztül ellenőrizheted, ha megnyitod a HTTP felhasználó részleteit. A következő videó bemutatja, hogy mire kell figyelned.
Hogyan ellenőrizd, hogy az SMS-t elküldte-e a mobilhálózatnak
A folyamat ellenőrzésének utolsó lépése, hogy megnézed 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 elküldtél.
Végső gondolatok
Ez az útmutató tartalmazza az összes lényeges információt annak megtanulásához, hogyan küldj több SMS üzenetet egy Node.js alkalmazásból az Ozeki SMS Gateway HTTP felhasználójával. Ez a megoldás sokoldalúan használható, mert a Node.js SMS API működik az Android SMS Gateway-vel is, amely lehetővé teszi az SMS vezeték nélküli küldését, ami előnyös lesz számodra. Ennek a szolgáltatásnak a használata hatékonyabbá és dinamikusabbá teszi az üzenetküldést, mivel egyszerre több mobiltelefonra is képes vagy értékes információkat és fontos értesítéseket küldeni.
Sok további cikket találhatsz a Node.js SMS API funkcióiról az Ozeki weboldalán. Menj, tanulj még többet, folytasd a Hogyan ütemezz egy SMS-t Node.js-ben című cikkel.
Lássunk munkához, először is töltsd le az Ozeki SMS Gateway-t!
More information
- Node js send SMS with the HTTP rest API (code sample)
- Node js send multiple SMS with the HTTP rest API (code sample)
- Node js schedule SMS with the HTTP rest API (code sample)
- Node js receive SMS with the HTTP rest API (code sample)
- Node js delete SMS with the HTTP rest API (code sample)
- Github Node js SMS API
- Node js tutorial Hello world