Jak poslat SMS z R
Nejjednodušší způsob, jak poslat SMS z R, je použít vestavěné HTTP/Rest SMS API Ozeki SMS Gateway. Když použijete toto API, budete posílat SMS zprávy vytvořením HTTP Post požadavku na SMS bránu. HTTP Post požadavek bude obsahovat zprávu formátovanou ve formátu json. SMS brána poté pošle tuto SMS na telefon příjemce a vrátí HTTP 200 OK odpověď na váš požadavek.
Co je R?
R je programovací jazyk a prostředí používané především pro statistické výpočty a grafiku.
R kód pro poslání SMS na mobil
Ukázka R kódu pro SMS níže ukazuje, jak můžete poslat 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 vašem projektu.
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())
Jak použít R příklad pro SMS:
Tento R příklad pro SMS lze použít v jakékoli R aplikaci. 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 R zdrojovém kódu. To vám umožní používat třídy poskytované knihovnou Ozeki.Libs.Rest. Můžete použít třídu Message 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ď přes bezdrátové připojení nebo přes internet.
Stáhnout SendSms.R
Zdrojový kód vysvětlený v tomto článku lze stáhnout a používat a upravovat zdarma.
Stáhnout: SendSms.R.zip (350B)
Co je v souboru SendSms.R.zip?
V SendSms.R.zip najdete soubor SendSms.R, který obsahuje ukázkový kód, který vám ukáže, jak poslat SMS. Tento ukázkový kód je uveden níže.
Jak nainstalovat knihovnu Ozeki.Libs.Rest pomocí Windows shell
r install.packages("devtools") library(devtools) install_github('ozekisms/r-send-sms-http-rest-ozeki')
Můžete otestovat, zda byla knihovna nainstalována, zadáním:
library(Ozeki.Libs.Rest)
Pokud nevrátila žádnou chybu, knihovna byla nainstalována správně.
Jak nainstalovat knihovnu Ozeki.Libs.Rest
V tomto videu vám ukážeme, jak nainstalovat knihovnu Ozeki.Libs.Rest pro pozdější použití. Video začne otevřením příkazového řádku a provede vás všemi nainstalovanými balíčky. Video je dlouhé pouze 1:29, ale velmi podrobné. Toto video bude velkou pomocí v procesu.
Jak poslat SMS z R (Jednoduchý návod)
Pro odeslání SMS z R:
- Nainstalujte HTTP API uživatele
- Povolte Logování komunikačních událostí na záložce Pokročilé
- Nastavte Visual Studio
- Stáhněte a rozbalte soubor SendSms.R.zip
- Spusťte aplikaci Ozeki SMS Gateway
- Spusťte R kód SendSms.R pomocí příkazového řádku
- Zkontrolujte logy, zda byla SMS odeslána
Nainstalujte Ozeki SMS Gateway a vytvořte HTTP API uživatele
Abyste mohli posílat SMS z R, musíte nejprve nainstalovat Ozeki SMS Gateway. SMS bránu lze nainstalovat na stejný počítač, kde vyvíjíte svůj R kód v jakémkoli textovém editoru, například Windows notepadu. Po instalaci je dalším krokem připojení Ozeki SMS Gateway k mobilní síti. Můžete poslat testovací SMS z Ozeki GUI a ověřit, zda vaše připojení k mobilní síti funguje. Posledním krokem k přípravě vašeho prostředí je vytvoření HTTP SMS API uživatele. 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.
HTTP API URL pro posílání SMS z R
Pro posílání SMS z R musí vaše R vytvořit 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ěží vaše R SMS aplikace, může to být 127.0.0.1. Pokud je nainstalována na jiném počítači, měla by být použita IP adresa toho počítače.
http://127.0.0.1:9509/api?action=rest
HTTP autentizace pro odesílání SMS z R
Pro autentizaci R SMS klienta je třeba odeslat uživatelské jméno a heslo jako řetězec zakódovaný v base64 na server v HTTP požadavku. Použitý formát je: base64(uživatelské_jméno+":"+heslo). V R můžete pro toto kódování použít následující kód:
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í řetězec zakódovaný v base64: aHR0cF91c2VyOnF3ZTEyMw==. Pro odeslání
HTTP hlavička požadavku pro odeslání SMS z R
Pro odeslání SMS zpráv je třeba do HTTP požadavku zahrnout následující řádky jako hlavičky. Poznámka: zahrnujeme hlavičku Content-Type a Authorization.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP požadavek pro odeslání SMS z R
Pro odeslání SMS bude vaše R aplikace odesílat HTTP požadavek podobný tomuto níže. Poznámka: tento požadavek obsahuje část HTTP hlavičky a část HTTP těla. HTTP tělo je řetězec dat zakódovaný v JSON. Obsahuje číslo příjemce a text zprávy.
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 odpověď přijatá R SMS příkladem
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. Také vrátí strukturu zakódovanou v JSON, která poskytuje užitečné detaily o odeslání zprávy.
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" } ] } }
Připojte svou SMS bránu k mobilní síti a vytvořte HTTP API uživatelský účet (Video návod)
Předpokládáme, že jste již nainstalovali Ozeki SMS Gateway, a že jste připojili ji k mobilní síti. Abyste mohli odesílat SMS na mobilní telefon z R, je třeba nastavit uživatelský účet HTTP API v Ozeki SMS Gateway. V tomto videu vám vysvětlíme proces instalace HTTP API. Video je dlouhé pouze 30 sekund a obsahuje všechny informace, které potřebujete k nastavení HTTP API. Dozvíte se, jak vytvořit nového uživatele v Ozeki SMS Gateway a jak jej nakonfigurovat.
Jak odeslat SMS z R pomocí R SMS API (Video návod)
Toto video vám ukáže, jak stáhnout soubor SendSms.R.zip z této stránky. Pokud se podíváte na video, všimnete si, že obsah souboru SendSms.R.zip je umístěn na ploše Windows. Uvidíte také, že spouštíme příkazový řádek pro odeslání SMS. Video je dlouhé pouze 32 sekund a obsahuje všechny kroky, které je třeba provést. V tomto videu používáme Ozeki SMS Gateway, což je výkonná, ale snadno naučitelná bránová aplikace.
Příklad R SMS: SendSms.R
Níže uvedený příklad kódu je součástí SendSms.R.
Po odeslání SMS je vhodné 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.
Jak zkontrolovat, že SMS byla odeslána do mobilní sítě
Posledním krokem při ověřování postupu je prohlédnout si protokoly připojení k mobilní síti. Možná budete muset před odesláním zprávy v konfiguraci připojení zapnout protokolování, abyste viděli protokoly. Pokud je protokolování povoleno, uvidíte telefonní číslo a text odeslané zprávy.
Jak přijímat SMS na telefonu s Androidem (Návod ve videu)
V tomto videu uvidíte proces přijetí SMS na telefonu s Androidem. Začíná se na běžné domovské obrazovce Androidu. Uvidíte, jak se objeví oznámení o SMS. Také se naučíte, jak otevřít SMS zprávu z oznámení. Video je dlouhé pouze 18 sekund, ale ukazuje celý proces.
Shrnutí
Cílem této příručky bylo ukázat proces odesílání SMS v R pomocí Ozeki SMS Gateway. Tato znalost vám umožní oslovit zákazníky pomocí jednoduchého kódu v R a Ozeki SMS Gateway. Důležité je poznamenat, že Ozeki SMS Gateway funguje v jakékoli zemi a může odesílat a přijímat SMS prostřednictvím různých mobilních připojení, což znamená, že mezinárodní zasílání zpráv je také s tímto programem možné.
Ujistěte se, že zde své studium neukončíte, navštivte stránku s návody Ozeki, kde najdete více informací o podobných tématech, jako je odesílání více SMS a plánování SMS v R.
Dalším krokem 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