Ako poslať viacero SMS z R
Najjednoduchší spôsob, ako poslať viacero SMS z R, je použiť vstavané HTTP/Rest SMS rozhranie Ozeki SMS Gateway. Keď použijete toto rozhranie, budete posielať SMS správy vytvorením HTTP POST požiadavky na SMS bránu. HTTP POST požiadavka bude obsahovať správu vo formáte JSON. SMS brána potom pošle túto SMS na telefón príjemcu a vráti HTTP 200 OK odpoveď na vašu požiadavku.
Ukážka R kódu pre SMS nižšie demonštruje, ako môžete posielať SMS pomocou HTTP REST SMS rozhrania Ozeki SMS Gateway s použitím 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.
SendMultipleSms.Rlibrary(Ozeki.Libs.Rest) configuration <- Ozeki.Libs.Rest::Configuration$new( username = "http_user", password = "qwe123", api_url = "http://127.0.0.1:9509/api" ) msg1 <- Ozeki.Libs.Rest::Message$new() msg1$to_address <- "+36201111111" msg1$text <- "Hello world 1" msg2 <- Ozeki.Libs.Rest::Message$new() msg2$to_address <- "+36202222222" msg2$text <- "Hello world 2" msg3 <- Ozeki.Libs.Rest::Message$new() msg3$to_address <- "+36203333333" msg3$text <- "Hello world 3" api <- Ozeki.Libs.Rest::MessageApi$new(configuration) result <- api$send(list(msg1, msg2, msg3)) print(result$to_string())
Ako použiť ukážku R kódu pre SMS:
Túto ukážku R kódu pre SMS môžete použiť v akejkoľvek R aplikácii. Na jej 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 potom prepošle vašu správu do mobilnej siete buď cez bezdrôtové pripojenie alebo cez internet.
Stiahnuť SendMultipleSms.R
Zdrojový kód vysvetlený v tomto článku je možné stiahnuť, použiť a upravovať bezplatne.
Stiahnuť: SendMultipleSms.R.zip (407B)
V SendMultipleSms.R.zip nájdete súbor SendMultipleSms.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 používateľa HTTP API
- Povoľte zaznamenávanie komunikačných udalostí na karte Pokročilé
- Nastavte Visual Studio
- Stiahnite a rozbaľte súbor SendMultipleSms.R.zip
- Spustite aplikáciu Ozeki SMS Gateway
- Spustite R kód SendMultipleSms.R pomocou príkazového riadku
- Skontrolujte záznamy, č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, napríklad Windows poznámkovom bloku. Po inštalácii je ďalším krokom pripojenie Ozeki SMS Gateway k mobilnej sieti. Môžete odoslať testovaciu SMS z grafického rozhrania Ozeki na overenie, či vaše pripojenie k mobilnej sieti funguje. Posledným krokom pri príprave vášho prostredia je vytvorenie používateľského účtu HTTP SMS API. 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.
URL HTTP API na odosielanie SMS z RNa odosielanie SMS z R musí vaše R aplikácia odoslať HTTP požiadavku na SMS bránu. URL API 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 aplikácia pre SMS, 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 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:
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 reťazec zakódovaný do base64: aHR0cF91c2VyOnF3ZTEyMw==. Na odoslanie
Hlavička HTTP 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 zaraďujeme hlavičku Content-Type a Authorization.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP požiadavka na odoslanie SMS z R
Na odoslanie SMS bude vaša aplikácia v R posielať 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 čísla príjemcov a texty správ, ktoré sme odoslali.
POST /api?action=sendmsg HTTP/1.1 Content-Length: 962 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": "fcb65595-06bd-41fe-84e5-f3f8912ff0a1", "to_address": "+36201111111", "text": "Hello world 1", "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 }, { "message_id": "e14c1980-ca12-4d83-92f3-b25ebf6e1b97", "to_address": "+36202222222", "text":"Hello world 2", "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 }, { "message_id": "5f7f0290-172a-446e-a9fe-cf6b22c84fe6", "to_address": "+36203333333", "text": "Hello world 3", "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. Taktiež vráti štruktúru zakódovanú v JSON, ktorá poskytne užitočné informácie o odoslaných správach.
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:08:09 GMT Server: 10/10.3.123 Transfer-Encoding: chunked { "http_code": 200, "response_code": "SUCCESS", "response_msg": "Messages queued for delivery.", "data": { "total_count": 3, "success_count": 3, "failed_count": 0, "messages": [ { "message_id": "fcb65595-06bd-41fe-84e5-f3f8912ff0a1", "from_station": "%", "to_address": "+36201111111", "to_station": "%", "text": "Hello world 1", "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" }, { "message_id": "e14c1980-ca12-4d83-92f3-b25ebf6e1b97", "from_station": "%", "to_address": "+36202222222", "to_station": "%", "text": "Hello world 2", "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" }, { "message_id": "5f7f0290-172a-446e-a9fe-cf6b22c84fe6", "from_station": "%", "to_address": "+36203333333", "to_station": "%", "text": "Hello world 3", "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" } ] } }
Toto video vám ukáže, ako si stiahnuť súbor SendMultipleSms.R.zip z tejto stránky. Ak si video pozriete, všimnete si, že obsah súboru SendMultipleSms.R.zip je umiestnený na pracovnej ploche Windows. Taktiež uvidíte, že na odoslanie SMS spúšťame príkazový riadok.
Príklad SMS v R: SendMultipleSms.RUkážkový kód nižšie je súčasťou súboru SendMultipleSms.R.
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ť.
Záver
Tento článok mal za cieľ vysvetliť kroky pre hromadné odosielanie SMS v R s pomocou Ozeki SMS Gateway. Toto riešenie je perfektné na oslovenie viacerých klientov pomocou jediného kódu v R. Odporúča sa využiť tieto vedomosti na dosiahnutie vysokého výkonu pri zdieľaní informácií. Ozeki SMS Gateway umožňuje zaznamenávať SMS správy do databázy a ponúka niekoľko možností vytvárania správ, ktoré poskytujú informácie o správaní.
Pokračujte v čítaní na stránke tutoriálov Ozeki, kde nájdete viac informácií o témach ako mazanie SMS v R.
Jediné, čo teraz musíte 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