Jak naplánovat SMS v R
Nejjednodušší způsob, jak odesílat naplánované SMS z R, je použít vestavěné HTTP/Rest SMS API Ozeki SMS Gateway. Při použití tohoto API budete odesílat SMS zprávy vytvořením HTTP POST požadavku na SMS bránu. HTTP POST požadavek bude obsahovat zprávu ve formátu JSON. SMS brána odešle tuto SMS na telefon příjemce a vrátí HTTP 200 OK odpověď na váš požadavek.

R kód pro odeslání naplánované SMS na mobil
Ukázkový kód R pro SMS níže ukazuje, jak můžete odeslat naplánovanou SMS pomocí HTTP REST SMS API Ozeki SMS Gateway s využitím knihovny R Ozeki.Libs.Rest. Tato knihovna je poskytována zdarma a můžete ji používat a upravovat v jakémkoli svém projektu.
SendScheduledSms.R1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
library(Ozeki.Libs.Rest) configuration <- Ozeki.Libs.Rest::Configuration$ new ( username = "http_user" , password = "qwe123" , ) 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()) |
Jak použít příklad R pro SMS:
Tento příklad R pro SMS lze použít v jakékoli aplikaci R. Pro použití je nutné stáhnout knihovnu Ozeki.Libs.Rest. Po stažení knihovny je třeba přidat odkaz na ni ve vašem zdrojovém kódu R. To vám umožní používat třídy poskytované knihovnou Ozeki.Libs.Rest. Třídu Message můžete použít k vytvoření SMS. Třídu MessageApi můžete použít k odeslání SMS na SMS bránu. SMS brána přepošle vaši zprávu do mobilní sítě buď prostřednictvím bezdrátového připojení nebo přes internet.
Stáhnout SendScheduledSms.R
Zdrojový kód vysvětlený v tomto článku lze stáhnout, použít a upravit zdarma.
Stáhnout: SendScheduledSms.R.zip (391B)
Co je v souboru SendScheduledSms.R.zip?
V SendScheduledSms.R.zip najdete soubor SendScheduledSms.R, který obsahuje ukázkový kód, který vám ukáže, jak odeslat SMS. Tento ukázkový kód je uveden níže.

Jak odeslat SMS z R (Jednoduchý návod)
Pro odeslání SMS z R:
- Nainstalujte uživatele HTTP API
- Povolte Logování komunikačních událostí na kartě Pokročilé
- Nastavte Visual Studio
- Stáhněte a rozbalte soubor SendScheduledSms.R.zip
- Spusťte aplikaci Ozeki SMS Gateway
- Spusťte R kód SendScheduledSms.R pomocí příkazového řádku
- Zkontrolujte logy, zda byla SMS odeslána
Instalace Ozeki SMS Gateway a vytvoření uživatele HTTP API
Pro odesílání SMS z R je nejprve nutné nainstalovat Ozeki SMS Gateway. SMS bránu lze nainstalovat na stejný počítač, kde vyvíjíte svůj R kód v libovolném textovém editoru, jako je například Windows Notepad. Po instalaci je dalším krokem připojení Ozeki SMS Gateway k mobilní síti. Můžete odeslat testovací SMS z grafického rozhraní Ozeki pro ověření, že vaše připojení k mobilní síti funguje. Posledním krokem k přípravě prostředí je vytvoření uživatele HTTP SMS API. Vytvořte uživatele s uživatelským jménem "http_user" a heslem "qwe123", aby příklad fungoval bez úprav.
Po nastavení prostředí můžete spustit svůj R kód.
URL HTTP API pro odesílání SMS z R
Pro odesílání SMS z R musí vaše R aplikace odeslat HTTP požadavek na SMS bránu. API URL je uvedeno níže. Poznámka: IP adresa (127.0.0.1) by měla být nahrazena IP adresou vaší SMS brány. Pokud je Ozeki SMS Gateway nainstalována na stejném počítači, kde běží R aplikace pro SMS, může to být 127.0.0.1. Pokud je nainstalována na jiném počítači, měla by to být IP adresa tohoto počítače.
1 2 |
http: //127.0.0.1:9509/api?action=rest |
HTTP autentizace pro odesílání SMS z R
Pro ověření R SMS klienta je nutné odeslat uživatelské jméno a heslo v base64 kódovaném řetězci na server v HTTP požadavku. Použitý formát je: base64(username+":"+password). V R můžete použít následující kód pro toto kódování:
1 2 3 4 |
username_password <- paste(username, ":" , password, sep= "" ) username_password_encoded <- base64enc::base64encode(charToRaw(username_password)) return (paste( "Basic" , username_password_encoded, sep= " " )) |
Například, pokud zakódujete uživatelské jméno 'http_user' a heslo 'qwe123', získáte následující base64 kódovaný řetězec: aHR0cF91c2VyOnF3ZTEyMw==. Pro odeslání
Hlavička HTTP požadavku pro odesílání SMS z R
Pro odesílání SMS zpráv je nutné do hlavičky HTTP požadavku zahrnout následující řádky. Poznámka: zahrnujeme content type a Authorization hlavičku.
1 2 3 |
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ== |
HTTP požadavek pro odeslání SMS z R
Pro odeslání SMS bude vaše aplikace v R odesílat HTTP požadavek podobný tomu níže. Všimněte si, že tento požadavek obsahuje část HTTP hlavičky a část HTTP těla. Tělo HTTP je řetězec dat zakódovaný v JSON. Obsahuje číslo příjemce, text a čas, kdy chceme zprávu odeslat.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
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 odpověď přijatá příkladem SMS v R
Jakmile SMS brána obdrží tento požadavek, vygeneruje HTTP odpověď. HTTP odpověď bude obsahovat stavový kód, který indikuje, zda byl požadavek na odeslání SMS úspěšný nebo ne. Vrátí také strukturu zakódovanou v JSON, která vám poskytne užitečné detaily o odeslání zprávy.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
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" } ] } } |
Jak odeslat SMS z R pomocí SMS API v R (Video návod)
Toto video vám ukáže, jak stáhnout soubor SendScheduledSms.R.zip z této stránky. Pokud se na video podíváte, všimnete si, že obsah souboru SendScheduledSms.R.zip je umístěn na plochu Windows. Uvidíte také, že spouštíme příkazový řádek, abychom odeslali SMS.
Příklad SMS v R: SendScheduledSms.R
Níže uvedený příklad kódu je součástí souboru SendScheduledSms.R.

Jak ověřit, že SMS byla přijata HTTP uživatelem
Po odeslání SMS je dobré zkontrolovat vaši SMS bránu, abyste viděli, co přijala. Protokol můžete zkontrolovat otevřením detailů HTTP uživatele v konzoli pro správu Ozeki SMS Gateway. Následující video vám ukáže, na co se zaměřit.
Shrnutí
Výše uvedený článek měl za cíl vysvětlit kroky plánování SMS v R s pomocí Ozeki SMS Gateway. S tímto řešením je možné odkládat zprávy, což vám dává příležitost oslovit zákazníky v ideálním čase, kdy nejsou zaneprázdněni a všimnou si vaší zprávy. Tímto způsobem lze zlepšit výkon a image přátelskou k zákazníkům. Ozeki SMS Gateway běží v prostředí, které kontrolujete, takže seznam kontaktů a data jsou v bezpečí.
Pokračujte ve čtení na stránce s návody Ozeki, kde najdete více informací o tématech jako mazání v R.
Jediné, co teď zbývá, je stáhnout Ozeki SMS Gateway a začít pracovat!
More information
- R send SMS with the HTTP rest API (code sample)
- R send multiple SMS with the HTTP rest API (code sample)
- R schedule SMS with the HTTP rest API (code sample)
- R receive SMS with the HTTP rest API (code sample)
- R delete SMS with the HTTP rest API (code sample)
- How to download the latest R SMS library from Github