Ako poslať SMS z R
Najjednoduchší spôsob, ako poslať SMS z R, je použiť vstavané HTTP/Rest SMS API Ozeki SMS Gateway. Keď použijete toto API, budete posielať SMS správy vydaním HTTP POST požiadavky na SMS bránu. HTTP POST požiadavka bude obsahovať správu formátovanú v json formáte. SMS brána pošle túto SMS na telefón príjemcu a vráti HTTP 200 OK odpoveď na vašu požiadavku.
Čo je R?R je programovací jazyk a prostredie používané najmä na štatistické výpočty a grafiku.
Ukážka R SMS kódu nižšie demonštruje, ako môžete poslať SMS pomocou HTTP REST SMS API Ozeki SMS Gateway pomocou knižnice R Ozeki.Libs.Rest. Táto knižnica je poskytovaná bezplatne a môžete ju používať a upravovať v akomkoľvek z vašich projektov.
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())
Ako použiť príklad R SMS:
Tento príklad R SMS môže byť použitý v akejkoľvek R aplikácii. Na použitie je potrebné stiahnuť knižnicu Ozeki.Libs.Rest. Po stiahnutí knižnice je potrebné pridať odkaz na ňu vo vašom R zdrojovom kóde. To vám umožní používať triedy poskytované knižnicou Ozeki.Libs.Rest. Môžete použiť triedu Message na vytvorenie SMS. Môžete použiť triedu MessageApi na odoslanie SMS na SMS bránu. SMS brána prepošle vašu správu do mobilnej siete buď prostredníctvom bezdrôtového pripojenia alebo cez internet.
Stiahnuť SendSms.R
Zdrojový kód vysvetlený v tomto článku môže byť stiahnutý a používaný a upravovaný bezplatne.
Stiahnuť: SendSms.R.zip (350B)
V SendSms.R.zip nájdete súbor SendSms.R, ktorý obsahuje ukážkový kód, ktorý vám ukáže, ako poslať SMS. Tento ukážkový kód je uvedený nižšie.
r install.packages("devtools") library(devtools) install_github('ozekisms/r-send-sms-http-rest-ozeki')
Môžete otestovať, či bola knižnica nainštalovaná, napísaním:
library(Ozeki.Libs.Rest)
Ak nevrátila žiadnu chybu, knižnica bola nainštalovaná správne.
Ako nainštalovať knižnicu Ozeki.Libs.RestV tomto videu vám ukážeme, ako nainštalovať knižnicu Ozeki.Libs.Rest na neskoršie použitie. Video začne otvorením príkazového riadku a prevedie vás cez všetky nainštalované balíčky. Video je dlhé len 1:29, ale veľmi podrobné. Toto video bude veľkým pomocníkom v procese.
Ako poslať SMS z R (Jednoduché pokyny)
Na odoslanie SMS z R:
- Nainštalujte HTTP API používateľa
- Povoľte Log komunikácie na karte Pokročilé
- Nastavte Visual Studio
- Stiahnite a rozbaľte súbor SendSms.R.zip
- Spustite aplikáciu Ozeki SMS Gateway
- Spustite R kód SendSms.R pomocou príkazového riadku
- Skontrolujte logy, či bola SMS odoslaná
Na odoslanie SMS z R musíte najprv nainštalovať Ozeki SMS Gateway. SMS bránu je možné nainštalovať na rovnakom počítači, kde vyvíjate svoj R kód v akomkoľvek textovom editore, ako je napríklad Windows poznámkový blok. Po inštalácii je ďalším krokom pripojenie Ozeki SMS Gateway k mobilnej sieti. Môžete odoslať testovaciu SMS z Ozeki GUI na overenie, že vaše mobilné pripojenie funguje. Posledným krokom na prípravu vášho prostredia je vytvorenie HTTP SMS API používateľského účtu. Vytvorte používateľa s používateľským menom "http_user" a heslom "qwe123", aby príklad fungoval bez úprav.
Po nastavení prostredia môžete spustiť svoj R kód.
HTTP API URL na odoslanie SMS z RNa odoslanie SMS z R bude vaše R musieť vydať HTTP požiadavku na SMS bránu. API URL je uvedené nižšie. Upozorňujeme, že IP adresa (127.0.0.1) by mala byť nahradená IP adresou vašej SMS brány. Ak je Ozeki SMS Gateway nainštalovaný na rovnakom počítači, kde beží R SMS aplikácia, môže to byť 127.0.0.1. Ak je nainštalovaný na inom počítači, mala by to byť IP adresa toho počítača.
http://127.0.0.1:9509/api?action=rest
HTTP autentifikácia na odosielanie SMS z R
Na autentifikáciu SMS klienta v R je potrebné odoslať používateľské meno a heslo v reťazci zakódovanom do base64 na server v HTTP požiadavke. Používa sa formát: base64(používateľské_meno+":"+heslo). V R môžete na toto kódovanie použiť nasledujúci kód:
používateľské_meno_heslo <- paste(používateľské_meno, ":", heslo, sep="") používateľské_meno_heslo_zakódované <- base64enc::base64encode(charToRaw(používateľské_meno_heslo)) return (paste("Basic", používateľské_meno_heslo_zakódované, sep=" "))
Napríklad, ak zakódujete používateľské meno 'http_user' a heslo 'qwe123', dostanete nasledujúci reťazec zakódovaný do base64: aHR0cF91c2VyOnF3ZTEyMw==. Na odoslanie
HTTP hlavička požiadavky na odoslanie SMS z RNa odoslanie SMS správ je potrebné zahrnúť nasledujúce riadky ako hlavičky do HTTP požiadavky. Upozorňujeme, že obsahujeme hlavičku typu obsahu a autorizačnú hlavičku.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Na odoslanie SMS vaša aplikácia v R odošle HTTP požiadavku podobnú nižšie uvedenej. Upozorňujeme, že táto požiadavka obsahuje časť HTTP hlavičky a časť tela HTTP. Telo HTTP je reťazec dát zakódovaný do JSON. Obsahuje číslo príjemcu a text sprá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 } ] }
Keď SMS brána prijme túto požiadavku, vygeneruje HTTP odpoveď. HTTP odpoveď bude obsahovať stavový kód, ktorý indikuje, či bola požiadavka na odoslanie SMS úspešná alebo nie. Tiež vráti štruktúru zakódovanú do JSON, ktorá poskytne užitočné informácie o odoslaní sprá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" } ] } }
Predpokladáme, že ste už nainštalovali Ozeki SMS Gateway, a že ste pripojili ju k mobilnej sieti. Aby ste mohli odosielať SMS na mobilný telefón z R, musíte nastaviť používateľský účet HTTP API v Ozeki SMS Gateway. V tomto videu vám vysvetlíme proces inštalácie HTTP API. Video je dlhé len 30 sekúnd a obsahuje všetky informácie, ktoré potrebujete na nastavenie HTTP API. Dozviete sa, ako vytvoriť nového používateľa v Ozeki SMS Gateway a ako ho nakonfigurovať.
Ako odoslať SMS z R pomocou SMS API v R (Video návod)
Toto video vám ukáže, ako si stiahnuť súbor SendSms.R.zip z tejto stránky. Ak si video pozriete, všimnete si, že obsah súboru SendSms.R.zip je umiestnený na pracovnej ploche Windows. Tiež uvidíte, že na odoslanie SMS používame príkazový riadok. Video je dlhé len 32 sekúnd a obsahuje všetky kroky, ktoré musíte vykonať. V tomto videu používame Ozeki SMS Gateway, čo je výkonná, no ľahko sa naučiteľná aplikácia brány.
Príklad SMS v R: SendSms.RPríklad kódu nižšie je súčasťou súboru SendSms.R.
Ako skontrolovať, že SMS bola prijatá HTTP používateľom
Po odoslaní SMS je dobré skontrolovať svoju SMS bránu, aby ste videli, čo prijala. Log môžete skontrolovať otvorením detailov HTTP používateľa v konzole na správu Ozeki SMS Gateway. Nasledujúce video vám ukáže, čo hľadať.
Ako skontrolovať, že SMS bola odoslaná do mobilnej siete
Posledným krokom pri overovaní postupu je pozrieť si logy mobilného sieťového pripojenia. Možno budete musieť zapnúť logovanie v konfigurácii pripojenia pred odoslaním správy, aby ste videli logy. Ak je logovanie povolené, uvidíte telefónne číslo a text správy, ktorú ste odoslali.
Ako prijímať SMS na telefóne s Androidom (Video návod)
V tomto videu budete svedkami procesu prijímania SMS na telefóne s Androidom. Začne sa obyčajnou domovskou obrazovkou Androidu. Uvidíte, ako sa objaví notifikácia SMS. Tiež sa naučíte, ako otvoriť SMS správu z notifikácie. Video je dlhé len 18 sekúnd, ale prezentuje celý proces.
Zhrnutie
Cieľom tohto sprievodcu bolo ukázať proces odosielania SMS v R s pomocou Ozeki SMS Gateway. Tieto znalosti vám dávajú možnosť osloviť zákazníkov pomocou jednoduchého kódu v R a Ozeki SMS Gateway. Dôležité je poznamenať, že Ozeki SMS Gateway funguje v každej krajine a môže odosielať a prijímať SMS cez rôzne mobilné pripojenia, čo znamená, že medzinárodné zasielanie správ je tiež možné s týmto programom.
Uistite sa, že svoje štúdium tu neukončíte, navštívte stránku s návodmi Ozeki, kde nájdete viac informácií o podobných témach, ako je odosielanie viacerých SMS a plánovanie SMS v R.
Ďalšou vecou, ktorú teraz urobiť, je stiahnuť si Ozeki SMS Gateway a začať pracovať!
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