Hogyan kapjunk 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.

hogyan kapjunk sms üzeneteket node js használatával
1. ábra - Hogyan kapjunk SMS-t Node.Js-ből

JavaScript kód SMS üzenetek fogadásához

Az alábbi JavaScript SMS kódminta bemutatja, hogyan fogadhatsz SMS-t az Ozeki SMS Gateway HTTP REST SMS API-ját használva, 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.

ReceiveSms.mjs
import { Configuration, 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 api = new MessageApi(configuration);

const result = await api.DownloadIncoming();

console.log(result.toString());

for (let i = 0; i < result.MessageCount; i++) {
    console.log(result.Messages[i].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.

ReceiveSms.js letöltése

A cikkben ismertetett forráskód letölthető, felhasználható és módosítható ingyenesen.
Letöltés: ReceiveSms.js.zip (4.38Kb)

Mi található a ReceiveSms.js.zip fájlban?

A ReceiveSms.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, jelöléséhez, törléséhez és fogadásához. A projektben találsz egy ReceiveSms.mjs fájlt is, amely tartalmazza a példakódot, amely bemutatja, hogyan fogadhatsz SMS üzeneteket. Ez a példakód az alábbiakban látható.

példa projekt sms fogadására node js használatával
2. ábra - ReceiveSms.js könyvtár

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
	

1. kód - Parancs a node-fetch csomag telepítéséhez

.

Hogyan kapjunk SMS üzeneteket Node.Js-ből (Gyors lépések)

SMS üzenetek fogadásához Node.Js-ből:

  1. Telepítsd az Ozeki SMS Gateway-t
  2. Kapcsold össze az Ozeki SMS Gateway-t a mobilhálózattal
  3. Küldj egy teszt SMS-t az Ozeki GUI-ból
  4. Hozz létre egy HTTP SMS API felhasználót
  5. Apache NetBeans
  6. Töltsd le a fenti példa projektet
  7. Hozd létre az SMS-t egy új Message objektum létrehozásával
  8. Hozz létre egy API-t az üzeneted elküldéséhez
  9. Használd a DownloadIncoming() metódust az üzenet(ek) fogadásához
  10. Olvasd el a válaszüzenetet a konzolon, és írd ki az üzeneteket a konzolra
  11. Ellenőrizd a naplókat az SMS gateway-ben

Telepítsd az Ozeki SMS Gateway-t és hozz létre egy HTTP API felhasználót

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 összekapcsolod az Ozeki SMS Gateway-t a mobilhálózattal. 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 létrehozol egy HTTP SMS API felhasználói fiókot. 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 fogadásához Node.Js-ből

Ahhoz, hogy SMS-t fogadj Node.Js-ből, a JavaScript alkalmazásodnak 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. 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 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 JavaScript-ből

A Node.Js SMS kliens hitelesítéséhez a felhasználónevet és a jelszót base64 kódolású karakterláncként kell elküldened a szervernek egy HTTP kérésben. A használt formátum: base64(username+":"+password). JavaScript-ben 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ú karakterláncot kapod: aHR0cF91c2VyOnF3ZTEyMw==.

HTTP kérés fejléc SMS küldéséhez JavaScript-ből

Az SMS üzenetek küldéséhez a következő sorokat kell tartalmaznia a HTTP kérés fejlécének. Figyelj rá, 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 rá, 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ú adatkarakterlánc. Tartalmazza a címzett számát és az üzenet szövegét.

GET /api?action=receivemsg&folder=inbox HTTP/1.1
Connection: close
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)
	

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, jelezve, hogy az SMS beküldési kérés sikeres volt-e vagy sem. Egy JSON kódolású 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": "",
	"data": {
	  "folder": "inbox",
	  "limit": "1000",
	  "data": [
	    {
	      "message_id": "02ccc4d5-4aeb-7f64-b980-9aa262ef86fb",
	      "from_connection": "http_user@localhost",
	      "from_address": "+36201111111",
	      "from_station": "%",
	      "to_connection": "http_user@localhost",
	      "to_address": "http_user",
	      "to_station": "%",
	      "text": "Hello world 1",
	      "create_date": "2021-06-14 12:00:14",
	      "valid_until": "2021-06-21 12:00:14",
	      "time_to_send": "2021-06-14 12:00:14",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": true,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ]
	    },
	    {
	      "message_id": "bb663f6c-fcf2-df32-bd33-1778e8578f23",
	      "from_connection": "http_user@localhost",
	      "from_address": "+36202222222",
	      "from_station": "%",
	      "to_connection": "http_user@localhost",
	      "to_address": "http_user",
	      "to_station": "%",
	      "text": "Hello world 2",
	      "create_date": "2021-06-14 12:00:14",
	      "valid_until": "2021-06-21 12:00:14",
	      "time_to_send": "2021-06-14 12:00:14",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": true,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ]
	    },
	    {
	      "message_id": "ca555a52-2f5a-285a-b6e2-6aa1fa3353f8",
	      "from_connection": "http_user@localhost",
	      "from_address": "+36203333333",
	      "from_station": "%",
	      "to_connection": "http_user@localhost",
	      "to_address": "http_user",
	      "to_station": "%",
	      "text": "Hello world 3",
	      "create_date": "2021-06-14 12:00:14",
	      "valid_until": "2021-06-21 12:00:14",
	      "time_to_send": "2021-06-14 12:00:14",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": true,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ]
	    }
	  ]
	}
}
	

Hogyan kapjunk 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 ReceiveSms.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, amellyel SMS-t küldhetsz JavaScript használatával.

1. videó - Hogyan töltsd le az Ozeki.Libs.Rest-et és állítsd be a projektet (Videó útmutató)

Node.Js SMS példa: ReceiveSms.mjs (Notepad-ban)

A következő képen láthatod a ReceiveSMS.mjs forráskódot megnyitva (3. ábra). Ebben az esetben a Notepad-ot használtuk a forráskód megnyitására, amellyel szerkesztheted is azt. Amint látod, a kód tartalmaz egy előre beállított felhasználónév és jelszó változót. Ha ismered a Node.js programozási nyelvet, nyugodtan módosíthatod a változók értékét, hogy illeszkedjenek a HTTP felhasználói bejelentkezési adataidhoz.

javascript példa sms üzenetek fogadására
3. ábra - ReceiveSms.mjs Notepad-ban

Node.Js SMS példa: ReceiveSms.mjs (Visual Studio Code-ban)

Ha egy beépített színes kódolással, hasznos dokumentációval és kiegészítőkkel rendelkező IDE-t szeretnél használni, használd a Visual Studio Code-ot. Ez egy könnyű és ingyenesen használható programozási környezet, amellyel számos különböző nyelven szerkeszthetsz kódot. Amint látod, a példa felhasználónevet és jelszót beágyaztuk a forráskódba. Ha ismered a Node.js programozási nyelvet, nyugodtan módosíthatod őket, hogy illeszkedjenek a HTTP felhasználódhoz.

javascript példa sms üzenetek fogadására
4. ábra - ReceiveSms.mjs Visual Studio Code-ban

Hogyan ellenőrizd, hogy az SMS-t elfogadta-e a HTTP felhasználó

A kérés beküldése után érdemes ellenőrizni az SMS gateway-t, hogy lássad, 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, hogy mire kell figyelni.

2. videó - Hogyan fogadj SMS üzeneteket a fenti JavaScript kóddal (Videó útmutató)

Összefoglalás

Ez az útmutató bemutatta, hogyan állíthatod be ezt az SMS API-t SMS fogadására a Node.js programmal az Ozeki SMS Gateway HTTP felhasználójának használatával. Ez a megoldás segít rendszerezni a bejövő üzeneteidet azáltal, hogy az Inbox mappából áthelyezi őket a Node.js alkalmazásodba. Ennek a programnak a használata lehetővé teszi, hogy rendezett legyen az üzenetküldő rendszered, és a fontos információk eljussanak hozzád.

Gondolom, szeretnél többet megtudni az hatékony üzenetkezelésről, megtalálod, amire szükséged van az Ozeki weboldalán. Sokat segít, ha rendszerezed az üzeneteket és csak azt tartod meg, amire szükséged van, ezért olvasd el a következő cikket Hogyan törölj egy SMS-t Node.js-ben.

Állítsd be most az Ozeki SMS Gateway-t és használd, amit kaptál!

More information