Hogyan ütemezhetünk SMS-t R-ben

A legegyszerűbb módja az ütemezett 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 fog tartalmazni. 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.

hogyan ütemezhetünk sms-t r-ben
1. ábra - Hogyan ütemezhetünk SMS-t R-ben

R kód ütemezett SMS küldésére mobilra

Az alábbi R SMS kód minta bemutatja, hogyan küldhetsz ütemezett 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ő számodra, és bármilyen projektben felhasználhatod és módosíthatod.

SendScheduledSms.R
library(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!"
msg$time_to_send <- "2021-07-13T14:00:00"

api <- Ozeki.Libs.Rest::MessageApi$new(configuration)

result <- api$send(msg)

print(result$to_string())
	

1. kód - SendScheduledSms.R

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 hivatkozást kell felvenned 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.

SendScheduledSms.R letöltése

A cikkben ismertetett forráskód ingyenesen letölthető, használható és módosítható.
Letöltés: SendScheduledSms.R.zip (391B)

Mi található a SendScheduledSms.R.zip fájlban?

A SendScheduledSms.R.zip-ben található a SendScheduledSms.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ó.

2. ábra - Mi található a SendScheduledSms.R.zip-ben

Hogyan küldjünk SMS-t R-ből (Egyszerű útmutató)

SMS küldése R-ből:

  1. Telepíts egy HTTP API felhasználót
  2. Engedélyezd a Kommunikációs események naplózását a Speciális lapon
  3. Állítsd be a Visual Studio-t
  4. Töltsd le, majd csomagold ki a SendScheduledSms.R.zip fájlt
  5. Indítsd el az Ozeki SMS Gateway alkalmazást
  6. Futtasd a SendScheduledSms.R R kódot a parancssorból
  7. Ellenőrizd a naplókat, hogy az SMS elküldődött-e

Ozeki SMS Gateway telepítése és HTTP API felhasználó létrehozása

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ömbjében. A telepítés után a következő lépés az, hogy csatlakoztassuk 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ó. 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 az R 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 R-ből

Az R SMS kliens hitelesítéséhez a felhasználónevet és a jelszót base64 kódolású karakterláncként kell elküldeni a szervernek egy HTTP kérésben. A használt formátum: base64(felhasználónév+":"+jelszó). R-ben a következő kódot használhatod ehhez 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ódolású karakterláncot kapod: aHR0cF91c2VyOnF3ZTEyMw==. Az elküldéshez

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 fejlécben tartalmazni az HTTP kérésben. Figyelj arra, hogy egy 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 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. 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ódolású adatsor. Tartalmazza a címzett számát, a szöveget és az üzenet küldési idejé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": "5540aa51-c82d-4813-bbbe-d15919bb8b50",
			"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-13T15:00:00",
			"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

Miután 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. Emellett egy JSON kódolású 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 14:44:12 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": "5540aa51-c82d-4813-bbbe-d15919bb8b50",
	      "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 15:00:00",
	      "submit_report_requested": true,
	      "delivery_report_requested": false,
	      "view_report_requested": false,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ],
	      "status": "SUCCESS"
	    }
	  ]
	}
}
	

Hogyan küldjünk SMS-t R-ből az R SMS API-val (Videó útmutató)

Ez a videó bemutatja, hogyan töltheted le a SendScheduledSms.R.zip fájlt erről az oldalról. Ha megnézed a videót, észreveszed, hogy a SendScheduledSms.R.zip tartalma a Windows asztalra kerül. Azt is látni fogod, hogy a parancssort használjuk az SMS küldéséhez.

R SMS példa: SendScheduledSms.R

Az alábbi példakód a SendScheduledSms.R része.

r forráskód ütemezett sms küldéséhez
3. ábra - SendScheduledSms.R fájl

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

Az SMS beküldése után érdemes ellenőrizni az SMS gatewayt, hogy mit kapott. A naplót az Ozeki SMS Gateway kezelőfelületén keresztül tekintheted meg, ahol megnyithatod a HTTP felhasználó részleteit. Az alábbi videó bemutatja, hogy mire kell figyelni.

2. videó - Hogyan ellenőrizhetjük, hogy az SMS-t elfogadta-e a HTTP felhasználó (Videó útmutató)

Összefoglalás

A fenti cikk célja az volt, hogy elmagyarázza az SMS ütemezés lépéseit R-ben az Ozeki SMS Gateway segítségével. Ezzel a megoldással lehetőség van az üzenetek elhalasztására, így tökéletes időben érheted el az ügyfeleket, amikor nem elfoglaltak és észreveszik az üzenetedet. Így javítható a teljesítmény és az ügyfélbarát kép. Az Ozeki SMS Gateway egy olyan környezetben fut, amelyet te irányítasz, így a névjegyzék és az adatok biztonságban vannak.

Folytasd az olvasást az Ozeki oktatóoldalán, ahol további információkat találsz olyan témákról, mint az SMS törlése R-ben.

Most már csak annyi a teendő, hogy letöltöd az Ozeki SMS Gateway-t és elkezded a munkát!

More information