Ako naplánovať SMS v R
Najjednoduchší spôsob, ako odoslať naplánované SMS z R, je použiť vstavanú HTTP/Rest SMS API Ozeki SMS Gateway. Keď použijete toto API, budete odosielať 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 odošle túto SMS na telefón príjemcu a vráti HTTP 200 OK odpoveď na vašu požiadavku.
Ukážka R SMS kódu nižšie demonštruje, ako môžete odoslať naplánovanú 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žiť a upraviť v akomkoľvek z vašich projektov.
SendScheduledSms.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!" msg$time_to_send <- "2021-07-13T14:00:00" api <- Ozeki.Libs.Rest::MessageApi$new(configuration) result <- api$send(msg) print(result$to_string())
Ako použiť R SMS príklad:
Tento R SMS príklad 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ď cez bezdrôtové pripojenie alebo cez internet.
Stiahnuť SendScheduledSms.R
Zdrojový kód vysvetlený v tomto článku môže byť stiahnutý a používaný a upravovaný bezplatne.
Stiahnuť: SendScheduledSms.R.zip (391B)
V SendScheduledSms.R.zip nájdete súbor SendScheduledSms.R, ktorý obsahuje ukážkový kód, ktorý vám ukáže, ako odoslať SMS. Tento ukážkový kód je uvedený nižšie.
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 SendScheduledSms.R.zip
- Spustite aplikáciu Ozeki SMS Gateway
- Spustite R kód SendScheduledSms.R pomocou príkazového riadku
- Skontrolujte logy, či bola SMS odoslaná
Na odosielanie SMS z R je potrebné 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 notepad. 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 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
Na autentifikáciu R SMS klienta je potrebné odoslať používateľské meno a heslo v base64 kódovanom reťazci na server v HTTP požiadavke. Použitý formát je: base64(username+":"+password). V R môžete použiť nasledujúci kód na toto kódovanie:
username_password <- paste(username, ":", password, sep="") username_password_encoded <- base64enc::base64encode(charToRaw(username_password)) return (paste("Basic", username_password_encoded, sep=" "))
Napríklad, ak zakódujete používateľské meno 'http_user' a heslo 'qwe123', dostanete nasledujúci base64 kódovaný reťazec: 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 v HTTP požiadavke. Upozorňujeme, že zaraďujeme content type a Authorization hlavičku.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP požiadavka na odoslanie SMS z R
Na odoslanie SMS váš aplikácia v R odošle HTTP požiadavku podobnú ako je uvedená nižšie. Upozorňujeme, že táto požiadavka obsahuje časť HTTP hlavičky a časť HTTP tela. Telo HTTP je reťazec dát zakódovaný v JSON. Obsahuje číslo príjemcu, text a čas, kedy chceme správu odoslať.
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 odpoveď prijatá príkladom SMS v R
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. Vráti tiež štruktúru zakódovanú v JSON, ktorá poskytuje 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 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" } ] } }
Ako odoslať SMS z R pomocou SMS API v R (Video návod)
Toto video vám ukáže, ako si stiahnuť súbor SendScheduledSms.R.zip z tejto stránky. Ak si video pozriete, všimnete si, že obsah súboru SendScheduledSms.R.zip je umiestnený na pracovnej ploche Windows. Tiež uvidíte, že na odoslanie SMS používame príkazový riadok.
Príklad SMS v R: SendScheduledSms.R
Príklad kódu nižšie je súčasťou súboru SendScheduledSms.R.
Ako skontrolovať, či SMS bola prijatá HTTP používateľom
Po odoslaní SMS je dobré skontrolovať vašu SMS bránu, aby ste videli, čo prijala. Protokol 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ť.
Zhrnutie
Vyššie uvedený článok mal vysvetliť kroky plánovania SMS v R pomocou Ozeki SMS Gateway. S týmto riešením je možné odložiť odoslanie správ, čo vám dáva možnosť osloviť zákazníkov v ideálnom čase, keď nie sú zaneprázdnení a vašu správu si všimnú. Týmto spôsobom môžete zlepšiť výkon a priateľský obraz voči zákazníkom. Ozeki SMS Gateway beží v prostredí, ktoré kontrolujete, takže zoznam kontaktov a dáta sú v bezpečí.
Pokračujte v čítaní na stránke s návodmi Ozeki, kde nájdete viac informácií o témach ako mazanie v R.
Jediné, čo teraz musíte urobiť, je stiahnuť si Ozeki SMS Gateway a nechať prácu začať!
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