Jak wysłać SMS z R

Najprostszym sposobem na wysłanie SMS z R jest użycie wbudowanego interfejsu HTTP/Rest SMS API Ozeki SMS Gateway. Korzystając z tego API, będziesz wysyłać wiadomości SMS poprzez wysłanie żądania HTTP Post do bramki SMS. Żądanie HTTP Post będzie zawierać wiadomość w formacie JSON. Bramka SMS wyśle tę wiadomość na telefon odbiorcy i zwróci odpowiedź HTTP 200 OK na twoje żądanie.

Co to jest R?

R to język programowania i środowisko używane głównie do obliczeń statystycznych i grafiki.

jak wysłać sms z r
Rysunek 1 - Jak wysłać SMS z R

Kod R do wysyłania SMS na telefon

Poniższy przykładowy kod R do wysyłania SMS demonstruje, jak możesz wysłać SMS, używając interfejsu 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.

SendSms.R
library(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())
	

Kod 1 - SendSms.R

Jak używać przykładu kodu R do wysyłania SMS:

Ten przykład kodu R do wysyłania SMS może być używany 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 tworzenia SMS. Możesz użyć klasy MessageApi, aby wysłać SMS do bramki SMS. Bramka SMS przekaże twoją wiadomość do sieci komórkowej albo przez połączenie bezprzewodowe, albo przez Internet.

Pobierz SendSms.R

Kod źródłowy omówiony w tym artykule można pobrać, używać i modyfikować bezpłatnie.
Pobierz: SendSms.R.zip (350B)

Co znajduje się w pliku SendSms.R.zip?

W pliku SendSms.R.zip znajdziesz plik SendSms.R, który zawiera przykładowy kod pokazujący, jak wysłać SMS. Ten przykładowy kod jest wymieniony poniżej.

Rysunek 2 - Co znajduje się w SendSms.R.zip

Jak zainstalować bibliotekę Ozeki.Libs.Rest za pomocą powłoki Windows

r
install.packages("devtools")
library(devtools)
install_github('ozekisms/r-send-sms-http-rest-ozeki')
	

Kod 2 - Polecenie do zainstalowania biblioteki Ozeki.Libs.Rest

Możesz sprawdzić, czy biblioteka została zainstalowana, wpisując:

library(Ozeki.Libs.Rest)
	

Jeśli nie zwróciła żadnego błędu, biblioteka została poprawnie zainstalowana.

Jak zainstalować bibliotekę Ozeki.Libs.Rest

W tym filmie pokażemy ci, jak zainstalować bibliotekę Ozeki.Libs.Rest do późniejszego użycia. Film zacznie się od otwarcia wiersza poleceń i przeprowadzi cię przez wszystkie zainstalowane pakiety. Film trwa tylko 1:29, ale jest bardzo szczegółowy. Ten film będzie ogromną pomocą w procesie.

Wideo 1 - Jak zainstalować bibliotekę Ozeki.Libs.Rest (Samouczek wideo)

Jak wysłać SMS z R (Proste wskazówki)

Aby wysłać SMS z R:

  1. Zainstaluj użytkownika HTTP API
  2. Włącz Logowanie zdarzeń komunikacyjnych na karcie Zaawansowane
  3. Skonfiguruj Visual Studio
  4. Pobierz, a następnie rozpakuj plik SendSms.R.zip
  5. Uruchom aplikację Ozeki SMS Gateway
  6. Uruchom kod R SendSms.R za pomocą wiersza poleceń
  7. 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 zainstalowana na tym samym komputerze, na którym działa aplikacja R do wysyłania SMS, może to być 127.0.0.1. Jeśli jest zainstalowana 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-ów z R

Aby uwierzytelnić klienta SMS w R, należy wysłać nazwę użytkownika i hasło w postaci zakodowanej w base64 do serwera w żądaniu HTTP. Używany format to: base64(nazwa_użytkownika+":"+hasło). W R można 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-ów z R

Aby wysłać wiadomości SMS, należy dołączyć następujące linie jako nagłówki w żądaniu HTTP. Zauważ, że zawieramy typ zawartości i nagłówek Autoryzacji.

Content-Type: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
	

Żądanie HTTP do wysyłania SMS-ów 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 JSON. Zawiera numer odbiorcy i tekst wiadomości.

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
		}
	]
}
	

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, aby wskazać, czy żądanie wysłania SMS zakończyło się sukcesem, czy nie. Zwróci również strukturę zakodowaną w JSON, aby dostarczyć 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 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"
	    }
	  ]
	}
}
	

Podłącz swoją bramkę SMS do sieci komórkowej i utwórz konto użytkownika HTTP API (Samouczek wideo)

Zakładamy, że masz już zainstalowaną bramkę SMS Ozeki i podłączyłeś ją do sieci komórkowej. Aby móc wysyłać SMS-y na telefon komórkowy z R, musisz skonfigurować konto użytkownika HTTP API w bramce SMS Ozeki. W tym filmie wyjaśnimy proces instalacji HTTP API. Film trwa tylko 30 sekund i zawiera wszystkie informacje potrzebne do skonfigurowania HTTP API. Dowiesz się, jak utworzyć nowego użytkownika w bramce SMS Ozeki i jak go skonfigurować.

Wideo 2 - Jak skonfigurować konto użytkownika HTTP API (Samouczek wideo)

Jak wysyłać SMS-y z R za pomocą API SMS w R (Samouczek wideo)

Ten film pokazuje, jak pobrać plik SendSms.R.zip z tej strony. Jeśli obejrzysz film, zauważysz, że zawartość SendSms.R.zip jest umieszczona na pulpicie Windows. Zobaczysz również, że uruchamiamy wiersz poleceń, aby wysłać SMS. Film trwa tylko 32 sekundy i zawiera wszystkie kroki, które należy wykonać. Używamy w nim bramki SMS Ozeki, która jest potężną, ale łatwą do nauki aplikacją bramki.

Przykład SMS w R: SendSms.R

Poniższy przykładowy kod jest częścią SendSms.R.

kod źródłowy r do wysłania sms
Rysunek 3 - Plik SendSms.R

Jak sprawdzić, czy SMS został zaakceptowany przez użytkownika HTTP

Po wysłaniu SMS-a warto sprawdzić bramkę SMS, aby zobaczyć, co otrzymała. Możesz sprawdzić logi, otwierając szczegóły użytkownika HTTP z konsoli zarządzania Ozeki SMS Gateway. Poniższy film pokazuje, na co zwrócić uwagę.

Wideo 4 - Jak sprawdzić, czy SMS został zaakceptowany przez użytkownika HTTP (samouczek wideo)

Jak sprawdzić, czy SMS został wysłany do sieci komórkowej

Ostatnim krokiem weryfikacji procedury jest sprawdzenie logów połączenia z siecią komórkową. Może być konieczne włączenie logowania w konfiguracji połączenia przed wysłaniem wiadomości, aby zobaczyć logi. Jeśli logowanie jest włączone, zobaczysz numer telefonu i treść wysłanej wiadomości.

Wideo 5 - Jak sprawdzić, czy SMS został wysłany do sieci komórkowej (samouczek wideo)

Jak odbierać SMS-y na telefonie z Androidem (samouczek wideo)

W tym filmie zobaczysz proces odbierania SMS-a na telefonie z Androidem. Zacznie się od zwykłej strony głównej Androida. Zobaczysz powiadomienie o SMS-ie. Nauczysz się również, jak otworzyć wiadomość SMS z powiadomienia. Film trwa tylko 18 sekund, ale pokazuje cały proces.

Wideo 6 - Jak odbierać SMS-y na telefonie z Androidem (samouczek wideo)

Podsumowanie

Celem tego przewodnika było pokazanie procesu wysyłania SMS-ów w R za pomocą Ozeki SMS Gateway. Ta wiedza umożliwia kontakt z klientami przy użyciu prostego kodu R i Ozeki SMS Gateway. Warto zauważyć, że Ozeki SMS Gateway działa w każdym kraju i może wysyłać i odbierać SMS-y przez różne połączenia komórkowe, co oznacza, że międzynarodowa komunikacja jest również możliwa z tym programem.

Upewnij się, że nie kończysz nauki w tym miejscu, odwiedź stronę z samouczkami Ozeki, gdzie znajdziesz więcej informacji na podobne tematy, takie jak planowanie SMS-ów w R.

Następnym krokiem jest pobranie Ozeki SMS Gateway i rozpoczęcie pracy!

More information