Hogyan küldjünk SMS-t R-ből
A legegyszerűbb módja az SMS küldésének R-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 tartalmaz. Az SMS gateway továbbítja ezt az SMS-t a címzett telefonjára, és egy HTTP 200 OK választ küld vissza a kérésedre.
Mi az az R?
Az R egy programozási nyelv és környezet, amelyet főleg statisztikai számításokhoz és grafikákhoz használnak.
R kód SMS küldésére mobilra
Az alábbi R SMS kód minta bemutatja, hogyan küldhetsz SMS-t az Ozeki SMS Gateway HTTP REST SMS API-jával az R 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.
SendSms.Rlibrary(Ozeki.Libs.Rest) configuration <- Ozeki.Libs.Rest::Configuration$new( username = "http_user", password = "qwe123", api_url = "http://127.0.0.1:9509/api" ) msg <- Ozeki.Libs.Rest::Message$new() msg$to_address <- "+36201111111" msg$text <- "Hello world!" api <- Ozeki.Libs.Rest::MessageApi$new(configuration) result <- api$send(msg) print(result$to_string())
Az R SMS példa használata:
Ez az R SMS példa bármilyen R alkalmazásban használható. A használatához le kell töltened az Ozeki.Libs.Rest könyvtárat. A könyvtár letöltése után hivatkoznod kell rá az R forráskódodban. 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étrehozhatod az SMS-t. A MessageApi osztály segítségével 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.
SendSms.R letöltése
A cikkben ismertetett forráskód ingyenesen letölthető, használható és módosítható.
Letöltés: SendSms.R.zip (350B)
Mi található a SendSms.R.zip fájlban?
A SendSms.R.zip-ben található a SendSms.R fájl, amely tartalmazza a példakódot, amely bemutatja, hogyan küldj SMS-t. Ez a példakód az alábbiakban látható.
Az Ozeki.Libs.Rest könyvtár telepítése Windows parancssorból
r install.packages("devtools") library(devtools) install_github('ozekisms/r-send-sms-http-rest-ozeki')
A könyvtár sikeres telepítését a következő paranccsal ellenőrizheted:
library(Ozeki.Libs.Rest)
Ha nem ad vissza hibát, a könyvtár sikeresen települt.
Az Ozeki.Libs.Rest könyvtár telepítése
Ebben a videóban bemutatjuk, hogyan telepítheted az Ozeki.Libs.Rest könyvtárat későbbi használatra. A videó a parancssor megnyitásával kezdődik, és végigvezet az összes telepített csomagon. A videó mindössze 1:29 perc hosszú, de nagyon részletes. Ez a videó nagy segítség lesz a folyamat során.
Hogyan küldjünk SMS-t R-ből (Egyszerű útmutató)
SMS küldése R-ből:
- Telepíts egy HTTP API felhasználót
- Kapcsold be a "Log communication events" opciót az Advanced fülön
- Állítsd be a Visual Studio-t
- Töltsd le, majd csomagold ki a SendSms.R.zip fájlt
- Indítsd el az Ozeki SMS Gateway alkalmazást
- Futtasd a SendSms.R R kódot a parancssorból
- Ellenőrizd a naplókat, hogy az SMS elküldődött-e
Telepítsd az Ozeki SMS Gateway-t és hozz létre egy HTTP API felhasználót
Ahhoz, hogy SMS-t tudj küldeni R-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 az R kódodat fejleszted bármilyen szövegszerkesztőben, például a Windows Jegyzettömbben. A telepítés után a következő lépés az, hogy csatlakoztad az Ozeki SMS Gateway-t a mobilhálózathoz. 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állításra került, futtathatod az R kódodat.
HTTP API URL SMS küldéséhez R-ből
Ahhoz, hogy SMS-t küldj R-ből, az R-nek HTTP kérést kell küldenie az SMS gatewaynek. Az API URL az alábbiakban látható. Fontos, 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 az R 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 R-ből
Az R SMS kliens hitelesítéséhez a felhasználónevet és a jelszót base64 kódolt sztringként kell elküldeni a szervernek egy HTTP kérésben. A használt formátum: base64(felhasználónév+":"+jelszó). Az R-ben a következő kódot használhatod a kódoláshoz:
username_password <- paste(username, ":", password, sep="") username_password_encoded <- base64enc::base64encode(charToRaw(username_password)) return (paste("Basic", username_password_encoded, sep=" "))
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 R-bő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 egy Content-Type és egy Authorization fejlécet is tartalmazunk.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP kérés SMS küldéséhez R-ből
Az SMS beküldéséhez az R 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ódolt adatsztring. Tartalmazza a címzett számát és az üzenet szövegét.
POST /api?action=sendmsg HTTP/1.1 Content-Length: 329 Content-Type: application/json Accept: application/json Accept-Encoding: deflate, gzip Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Host: 127.0.0.1:9509 User-Agent: libcurl/7.64.1 r-curl/4.3.2 httr/1.4.2 { "messages": [ { "message_id": "38ad4dfe-3fa3-449c-95c9-b5e9c6ce3b62", "to_address": "+36201111111", "text": "Hello world!", "create_date": "2021-07-13T12:46:23", "valid_until": "2021-07-20T12:46:23", "time_to_send": "2021-07-13T12:46:23", "is_submit_report_requested": true, "is_delivery_report_requested": true, "is_view_report_requested": true } ] }
HTTP válasz az R SMS példa által kapott
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, hogy az SMS beküldési kérés sikeres volt-e vagy sem. Emellett egy JSON kódolt struktúrát is visszaad, ami 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: Tue, 13 Jul 2021 13:39:07 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": "38ad4dfe-3fa3-449c-95c9-b5e9c6ce3b62", "from_station": "%", "to_address": "+36201111111", "to_station": "%", "text": "Hello world!", "create_date": "2021-07-13 12:46:23", "valid_until": "2021-07-20 12:46:23", "time_to_send": "2021-07-13 12:46:23", "submit_report_requested": true, "delivery_report_requested": false, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" } ] } }
Csatlakoztasd az SMS gateway-t a mobilhálózathoz és hozz létre egy HTTP API felhasználói fiókot (Videó oktatóanyag)
Feltételezzük, hogy már telepítetted az Ozeki SMS Gateway-t, és csatlakoztattad a mobilhálózathoz. Ahhoz, hogy SMS-t tudj küldeni egy mobiltelefonra R-ből, létre kell hoznod egy HTTP API felhasználói fiókot az Ozeki SMS Gateway-ben. Ebben a videóban elmagyarázzuk a HTTP API telepítésének folyamatát. A videó mindössze 30 másodperc hosszú, és tartalmazza az összes szükséges információt egy HTTP API beállításához. Megtanulod, hogyan hozz létre egy új felhasználót az Ozeki SMS Gateway-ben és hogyan konfiguráld azt.
Hogyan küldjünk SMS-t R-ből az R SMS API segítségével (Videó oktatóanyag)
Ez a videó bemutatja, hogyan töltheted le a SendSms.R.zip fájlt erről az oldalról. Ha megnézed a videót, észre fogod venni, hogy a SendSms.R.zip tartalma a Windows asztalra kerül. Azt is látni fogod, hogy a parancssort használjuk az SMS küldéséhez. A videó mindössze 32 másodperc hosszú, és tartalmazza az összes szükséges lépést. Ebben a videóban az Ozeki SMS Gateway-t használjuk, amely egy hatékony, de könnyen tanulható gateway alkalmazás.
R SMS példa: SendSms.R
Az alábbi példakód a SendSms.R része.
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 gateway-t, hogy mit kapott. Megnézheted a naplót az Ozeki SMS Gateway kezelőfelületén az HTTP felhasználó részleteinek megnyitásával. A következő videó bemutatja, hogy mire kell figyelni.
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ézzük 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 elküldött üzenet szövegét.
Hogyan fogadj SMS-t egy Android telefonon (Videó oktatóanyag)
Ebben a videóban láthatod, hogyan fogadható SMS egy Android telefonon. Egy közönséges Android kezdőképernyővel kezdődik. Látni fogod az SMS értesítést felbukkan
More information