Jak odbierać SMS-y z R
Najprostszym sposobem na odbieranie SMS-ów z R jest użycie wbudowanego interfejsu HTTP/Rest SMS API Ozeki SMS Gateway. Korzystając z tego API, będziesz otrzymywać wiadomości SMS poprzez wysłanie żądania HTTP Get do bramki SMS. Żądanie HTTP Get będzie zawierać folder. Bramka SMS wyśle wiadomości SMS do klienta i zwróci odpowiedź HTTP 200 OK na Twoje żądanie.
Kod R do odbierania SMS-ów na telefon
Poniższy przykładowy kod R do obsługi SMS demonstruje, jak można odebrać SMS przy użyciu interfejsu HTTP REST SMS API Ozeki SMS Gateway z wykorzystaniem biblioteki R Ozeki.Libs.Rest. Ta biblioteka jest dostarczana bezpłatnie i możesz ją używać oraz modyfikować w dowolnym z Twoich projektów.
ReceiveSms.Rlibrary(Ozeki.Libs.Rest) configuration <- Ozeki.Libs.Rest::Configuration$new( username = "http_user", password = "qwe123", api_url = "http://127.0.0.1:9509/api" ) api <- Ozeki.Libs.Rest::MessageApi$new(configuration) result <- api$download_incoming() print(result$to_string()) for (message in result$messages) { print(message$to_string()) }
Jak używać przykładu SMS w R:
Ten przykład SMS w R może być używany w dowolnej aplikacji R. Aby go użyć, musisz pobrać bibliotekę Ozeki.Libs.Rest. Po pobraniu biblioteki należy dodać do niej referencję w swoim kodzie źródłowym R. To pozwoli Ci używać klas dostarczonych przez bibliotekę Ozeki.Libs.Rest. Możesz użyć klasy Message do tworzenia SMS-ów. Możesz użyć klasy MessageApi do odbierania SMS-ów z bramki SMS. Bramka SMS przekaże Twoją wiadomość do sieci komórkowej poprzez połączenie bezprzewodowe lub przez Internet.
Pobierz ReceiveSms.R
Kod źródłowy omówiony w tym artykule można pobrać, używać i modyfikować bezpłatnie.
Pobierz: ReceiveSms.R.zip (391B)
Co znajduje się w pliku ReceiveSms.R.zip?
W pliku ReceiveSms.R.zip znajdziesz plik ReceiveSms.R, który zawiera przykładowy kod pokazujący, jak odebrać SMS. Ten przykładowy kod jest wymieniony poniżej.
Jak odbierać SMS-y z R (proste wskazówki)
Aby wysyłać SMS-y z R:
- Zainstaluj użytkownika HTTP API
- Włącz Logowanie zdarzeń komunikacyjnych w zakładce Zaawansowane
- Skonfiguruj Visual Studio
- Pobierz, a następnie rozpakuj plik ReceiveSms.R.zip
- Uruchom aplikację Ozeki SMS Gateway
- Uruchom kod R ReceiveSms.R za pomocą wiersza poleceń
- Sprawdź logi, aby zobaczyć, czy SMS został wysłany
Zainstaluj Ozeki SMS Gateway i utwórz użytkownika HTTP API
Aby móc odbierać SMS-y z R, najpierw musisz zainstalować Ozeki SMS Gateway. Bramka SMS może być zainstalowana na tym samym komputerze, na którym tworzysz swój kod R w dowolnym edytorze tekstu, takim jak Windows Notepad. Po instalacji kolejnym krokiem jest podłączenie Ozeki SMS Gateway do sieci komórkowej. Możesz odebrać testowy SMS z interfejsu Ozeki GUI, aby sprawdzić, czy Twoje połączenie z siecią komórkową działa. Ostatnim krokiem przygotowania środowiska jest utworzenie użytkownika HTTP SMS API. Utwórz użytkownika z nazwą "http_user" i hasłem "qwe123", aby przykład działał bez modyfikacji.
Po skonfigurowaniu środowiska możesz uruchomić swój kod R.
URL API HTTP do odbierania SMS-ów z R
Aby wysyłać SMS-y z R, Twoje R będzie musiało wysłać żądanie HTTP do bramki SMS. URL API jest pokazany poniżej. Pamiętaj, że adres IP (127.0.0.1) powinien zostać zastąpiony adresem IP Twojej bramki SMS. Jeśli Ozeki SMS Gateway jest zainstalowany na tym samym komputerze, na którym działa aplikacja R do obsługi SMS, może to być 127.0.0.1. Jeśli jest zainstalowany na innym komputerze, powinien to być adres IP tego komputera.
http://127.0.0.1:9509/api?action=rest
Uwierzytelnianie HTTP do odbierania SMS-ów z R
Aby uwierzytelnić klienta SMS w R, musisz wysłać nazwę użytkownika i hasło w zakodowanym ciągu base64 do serwera w żądaniu HTTP. Używany format to: base64(nazwa_użytkownika+":"+hasło). W R możesz użyć następującego kodu do wykonania tego kodowania:
username_password <- paste(username, ":", password, sep="") username_password_encoded <- base64enc::base64encode(charToRaw(username_password)) return (paste("Basic", username_password_encoded, sep=" "))
Na przykład, jeśli zakodujesz nazwę użytkownika 'http_user' i hasło 'qwe123', otrzymasz następujący zakodowany ciąg base64: aHR0cF91c2VyOnF3ZTEyMw==. Aby wysłać
Nagłówek żądania HTTP do odbierania SMS-ów z R
Aby odebrać wiadomości SMS, musisz uwzględnić następujące linie jako nagłówki w żądaniu HTTP. Pamiętaj, że zawieramy typ zawartości i nagłówek Authorization.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Żądanie HTTP do odbierania SMS z R
Aby przesłać SMS, Twoja aplikacja R wyśle żądanie HTTP podobne do poniższego. Zauważ, że to żądanie zawiera część nagłówka HTTP, która zawiera wszystkie dane potrzebne do odbioru wiadomości z określonego folderu.
GET /api?action=receivemsg&folder=inbox HTTP/1.1 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
Odpowiedź HTTP otrzymana przez przykład SMS w R
Gdy brama SMS otrzyma to żądanie, wygeneruje odpowiedź HTTP. Odpowiedź HTTP będzie zawierać kod statusu, wskazujący, czy żądanie przesłania SMS zakończyło się sukcesem czy nie. Zwróci również strukturę zakodowaną w formacie JSON, dostarczając przydatnych informacji o przesłaniu wiadomości.
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 15:29:23 GMT Server: 10/10.3.123 Transfer-Encoding: chunked { "http_code": 200, "response_code": "SUCCESS", "response_msg": "", "data": { "folder": "inbox", "limit": "1000", "data": [ { "message_id": "85a57d61-808a-481b-98d7-6136bf87dce0", "from_connection": "http_user@localhost", "from_address": "+36203333333", "from_station": "%", "to_connection": "http_user@localhost", "to_address": "http_user", "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" } ] }, { "message_id": "76d551d6-1096-4943-ae50-1efc71049b6f", "from_connection": "http_user@localhost", "from_address": "+36201111111", "from_station": "%", "to_connection": "http_user@localhost", "to_address": "http_user", "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" } ] }, { "message_id": "52af9742-f533-4056-a9cf-2fb8d4ef0613", "from_connection": "http_user@localhost", "from_address": "+36202222222", "from_station": "%", "to_connection": "http_user@localhost", "to_address": "http_user", "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" } ] } ] } }
Jak odbierać SMS z R za pomocą API SMS w R (Samouczek wideo)
Ten film pokazuje, jak pobrać plik ReceiveSms.R.zip z tej strony. Jeśli obejrzysz film, zauważysz, że zawartość pliku ReceiveSms.R.zip jest umieszczana na pulpicie systemu Windows. Zobaczysz również, że uruchamiamy wiersz poleceń, aby odebrać SMS.
Przykład SMS w R: ReceiveSms.R
Poniższy przykładowy kod jest częścią pliku ReceiveSms.R.
Jak sprawdzić, czy SMS został zaakceptowany przez użytkownika HTTP
Po przesłaniu SMS warto sprawdzić w bramie SMS, co zostało odebrane. Możesz sprawdzić log, otwierając szczegóły użytkownika HTTP w konsoli zarządzania Ozeki SMS Gateway. Poniższy film pokazuje, na co zwrócić uwagę.
Podsumowanie
Celem tego przewodnika było pokazanie kroków odbierania SMS w R za pomocą Ozeki SMS Gateway. To rozwiązanie pozwala przenieść wiadomości z folderu Odebrane do programu R, aby można je było zebrać w docelowym miejscu. Ozeki SMS Gateway można pobrać ze strony Ozeki i korzystać z niego bezpłatnie w okresie próbnym.
Koniecznie przeczytaj więcej na stronie samouczków Ozeki, gdzie znajdziesz artykuły na podobne tematy, takie jak planowanie SMS w R.
Jedyne, co teraz pozostaje, to pobrać Ozeki SMS Gateway i zacząć pracę!
More information
- Wyślij SMS za pomocą interfejsu HTTP REST API (przykład kodu)
- Wyślij wiele SMS za pomocą interfejsu HTTP REST API (przykład kodu)
- Zaplanuj SMS za pomocą interfejsu HTTP REST API (przykład kodu)
- Odbierz SMS za pomocą interfejsu HTTP REST API (przykład kodu)
- Usuń SMS za pomocą interfejsu HTTP REST API (przykład kodu)
- Jak pobrać najnowszą bibliotekę R SMS z Github