Jak zaplanować wysłanie SMS w R
Najprostszym sposobem na wysłanie zaplanowanego SMS z R jest użycie wbudowanego interfejsu HTTP/Rest SMS API Ozeki SMS Gateway. Kiedy używasz tego API, wysyłasz wiadomości SMS poprzez wysłanie żądania HTTP Post do bramki SMS. Żądanie HTTP Post będzie zawierać wiadomość sformatowaną w formacie json. Bramka SMS wyśle tę wiadomość na telefon odbiorcy i zwróci odpowiedź HTTP 200 OK na twoje żądanie.
Kod R do wysłania zaplanowanego SMS na telefon
Przykładowy kod SMS w R poniżej demonstruje, jak możesz wysłać zaplanowanego SMS używając http rest sms api Ozeki SMS Gateway z biblioteką R Ozeki.Libs.Rest. Ta biblioteka jest dostarczana bezpłatnie i możesz jej używać oraz modyfikować w dowolnym z twoich projektów.
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())
Jak użyć przykładu SMS w R:
Ten przykład SMS w R może być użyty w dowolnej aplikacji R. Aby go użyć, musisz pobrać bibliotekę Ozeki.Libs.Rest. Po pobraniu biblioteki trzeba 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 stworzenia SMS. Możesz użyć klasy MessageApi do wysłania SMS do bramki SMS. Bramka SMS przekaże twoją wiadomość do sieci komórkowej albo przez połączenie bezprzewodowe, albo przez Internet.
Pobierz SendScheduledSms.R
Kod źródłowy omówiony w tym artykule może być pobrany, użyty i zmodyfikowany bezpłatnie.
Pobierz: SendScheduledSms.R.zip (391B)
Co znajduje się w pliku SendScheduledSms.R.zip?
W SendScheduledSms.R.zip znajdziesz plik SendScheduledSms.R, który zawiera przykładowy kod pokazujący, jak wysłać SMS. Ten przykładowy kod jest wymieniony poniżej.
Jak wysłać SMS z R (Proste wskazówki)
Aby wysłać SMS 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 SendScheduledSms.R.zip
- Uruchom aplikację Ozeki SMS Gateway
- Uruchom kod R SendScheduledSms.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 wysyłać SMS 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 następnym krokiem jest podłączenie Ozeki SMS Gateway do sieci komórkowej. Możesz wysłać testowego SMS z interfejsu Ozeki, 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 wysyłania SMS z R
Aby wysłać SMS z R, twoje R będzie musiało wysłać żądanie HTTP do bramki SMS. URL API jest pokazany poniżej. Zauważ, ż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 SMS w R, 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 wysyłania SMS 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 wysyłania SMS z R
Aby wysłać wiadomości SMS, musisz uwzględnić następujące linie jako nagłówki w żądaniu HTTP. Zauważ, że uwzględniamy typ zawartości i nagłówek Authorization.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Żądanie HTTP do wysłania SMS-a 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 i część ciała HTTP. Ciało HTTP to ciąg danych zakodowany w formacie JSON. Zawiera numer odbiorcy, tekst oraz czas, w którym chcemy wysłać wiadomość.
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 } ] }
Odpowiedź HTTP otrzymana przez przykład SMS w R
Gdy brama SMS odbierze to żądanie, wygeneruje odpowiedź HTTP. Odpowiedź HTTP będzie zawierać kod statusu, wskazujący, czy żądanie wysłania SMS-a zakończyło się sukcesem czy nie. Zwróci również strukturę zakodowaną w formacie JSON, aby dostarczyć Ci przydatne informacje 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 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" } ] } }
Jak wysłać SMS z R za pomocą API SMS w R (Samouczek wideo)
Ten film pokazuje, jak pobrać plik SendScheduledSms.R.zip z tej strony. Jeśli obejrzysz film, zauważysz, że zawartość pliku SendScheduledSms.R.zip jest umieszczana na pulpicie systemu Windows. Zobaczysz również, że uruchamiamy wiersz poleceń, aby wysłać SMS-a.
Przykład SMS w R: SendScheduledSms.R
Poniższy przykładowy kod jest częścią pliku SendScheduledSms.R.
Jak sprawdzić, czy SMS został zaakceptowany przez użytkownika HTTP
Po przesłaniu SMS-a warto sprawdzić w swojej 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
Powyższy artykuł miał na celu wyjaśnienie kroków planowania SMS-ów w R za pomocą Ozeki SMS Gateway. Dzięki temu rozwiązaniu, możliwe jest odłożenie wiadomości, dając Ci możliwość dotarcia do klientów w idealnym czasie, gdy nie są zajęci i zauważą Twoją wiadomość. W ten sposób można poprawić wydajność i przyjazny wizerunek dla klienta. Ozeki SMS Gateway działa w środowisku, które kontrolujesz, więc lista kontaktów i dane są w bezpiecznych rękach.
Kontynuuj czytanie na stronie samouczków Ozeki, gdzie znajdziesz więcej informacji na tematy takie jak usuwanie 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