Jak wysłać SMS z Perla

Najprostszym sposobem na wysłanie SMS-a z Perla jest użycie wbudowanego interfejsu HTTP/Rest SMS API bramki SMS Ozeki. Korzystając z tego API, wysyłasz wiadomości SMS, wysyłając żądanie 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.

jak wysłać sms z perla
Rysunek 1 - Jak wysłać SMS z Perla

Kod Perla do wysyłania SMS-ów na telefon

Poniższy przykładowy kod SMS w Perlu demonstruje, jak można wysyłać SMS-y za pomocą interfejsu HTTP REST SMS API bramki SMS Ozeki, korzystając z biblioteki Perl Ozeki.Libs.Rest. Ta biblioteka jest dostarczana bezpłatnie i możesz jej używać oraz modyfikować w dowolnym projekcie.

SendSms.pl
use Ozeki::Libs::Rest::Configuration;
use Ozeki::Libs::Rest::MessageApi;
use Ozeki::Libs::Rest::Message;

my $configuration = new Ozeki::Libs::Rest::Configuration();
$configuration->{ Username } = "http_user";
$configuration->{ Password } = "qwe123";
$configuration->{ ApiUrl } = "http://127.0.0.1:9509/api";

my $msg = new Ozeki::Libs::Rest::Message();
$msg->{ ToAddress } = "+36201111111";
$msg->{ Text } = "Hello world!";

my $api = new Ozeki::Libs::Rest::MessageApi($configuration);

my $result = $api->Send($msg);

print($result->stringify);
	

Jak używać przykładu SMS w Perlu:

Ten przykład SMS w Perlu może być używany w dowolnej aplikacji Perl. Aby go użyć, musisz dodać bibliotekę Ozeki.Libs.Rest do swojego projektu. Po dodaniu biblioteki musisz umieścić dyrektywę using Ozeki.Libs.Rest; w sekcji nagłówka swojego kodu źródłowego Perla. To pozwoli Ci korzystać z klas dostarczonych przez bibliotekę Ozeki.Libs.Rest. Możesz użyć klasy Message do tworzenia SMS-ów. Możesz użyć klasy MessageApi, aby wysłać SMS do bramki SMS. Bramka SMS przekaże Twoją wiadomość do sieci komórkowej za pośrednictwem połączenia bezprzewodowego lub Internetu.

Pobierz SendSms.pl

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

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

Plik SendSms.pl.zip zawiera bibliotekę Ozeki.Libs.Rest, która daje Ci wszystkie narzędzia niezbędne do wysyłania i odbierania wiadomości SMS. W zipie znajdziesz również plik SendSms.pl, 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.pl.zip

Zależności

Aby używać biblioteki Ozeki::Libs::Rest, musisz zainstalować kilka modułów:

Ubuntu

$ sudo apt-get install libdatetime-perl
$ cpan
$ install JSON
$ install UUID::Generator::PurePerl
$ install UUID::Object
	

Kod 1 - Jak zainstalować zależności w Linuxie

Jak zainstalować zależności Perla w Linuxie (Samouczek wideo)

W tym filmie pokazujemy, jak zainstalować zależności Perla w systemie Linux. Film rozpoczyna się od otwarcia terminala i kończy się zainstalowanymi zależnościami. Film trwa tylko 1:10, ale szczegółowo wyjaśnia proces. Jeśli obejrzysz cały film, nie będziesz miał problemu z odtworzeniem kroków.

Wideo 1 - Jak zainstalować zależności Perla w Linuxie (Samouczek wideo)

Windows

cpanm DateTime
cpanm UUID::Generator::PurePerl
cpanm UUID::Object
cpanm JSON
	

Kod 2 - Jak zainstalować zależności w Windows

Jak zainstalować zależności Perla w Windows (Samouczek wideo)

W tym filmie pokazujemy, jak zainstalować zależności Perla w systemie Windows. Film rozpoczyna się od otwarcia wiersza poleceń i kończy się zainstalowanymi zależnościami. Film trwa tylko 46 sekund, ale szczegółowo wyjaśnia proces. Proces jest łatwy do wykonania, więc z pomocą tego filmu nie będziesz miał problemu z wykonaniem kroków.

Wideo 2 - Jak zainstalować zależności Perla w Windows (Samouczek wideo)

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

Aby wysłać SMS z Perla:

  1. Zainstaluj użytkownika HTTP API
  2. Włącz Logowanie zdarzeń komunikacyjnych na karcie Zaawansowane
  3. Pobierz, a następnie rozpakuj plik SendSms.pl.zip
  4. Otwórz plik sendsms.pl w dowolnym edytorze tekstu
  5. Uruchom aplikację Ozeki SMS Gateway
  6. Uruchom kod Perla SendSms.pl w wierszu 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-y z Perla, najpierw musisz zainstalować Ozeki SMS Gateway. Bramka SMS może być zainstalowana na tym samym komputerze, na którym tworzysz swój kod Perla w Notatniku Windows lub Visual Studio Code. Po instalacji kolejnym krokiem jest podłączenie Ozeki SMS Gateway do sieci komórkowej. Możesz 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 Perla.

URL API HTTP do wysyłania SMS-ów z Perla

Aby wysłać SMS z Perla, Twój kod Perla musi wysłać żądanie HTTP do bramki SMS. URL API jest pokazany poniżej. Pamiętaj, że adres IP (127.0.0.1) należy zastąpić adresem IP Twojej bramki SMS. Jeśli Ozeki SMS Gateway jest zainstalowany na tym samym komputerze, na którym działa aplikacja Perl, 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-ów z Perla

Aby uwierzytelnić klienta SMS w Perlu, należy 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 Perlu możesz użyć następującego kodu do wykonania tego kodowania:

my ($self, $Username, $Password) = @_;
my $Username_Password = "${Username}:${Password}";
my $Username_Password_encoded = encode_base64($Username_Password);
return "Basic ${Username_Password_encoded}";
	

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 Perla

Aby wysłać wiadomości SMS, musisz uwzględnić następujące linie jako nagłówki w żądaniu HTTP. Zwróć uwagę, że zawieramy typ zawartości i nagłówek Authorization.

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

Żądanie HTTP do wysyłania SMS-ów z Perla

Aby przesłać SMS, Twoja aplikacja Perl wyśle żądanie HTTP podobne do poniższego. Pamiętaj, ż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
Connection: TE, close
Content-Length: 341
Content-Type: application/json; charset=utf8
Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw==
Host: 127.0.0.1:9509
Te: deflate,gzip;q=0.3
User-Agent: libwww-perl/6.52

{
	"messages": [
		{
			"message_id": "fa32293f-db00-11eb-804d-ffacbeab4160",
			"to_address": "+36201111111",
			"text": "Hello world!",
			"create_date": "2021-07-02T06:44:40",
			"valid_until": "2021-07-09T06:44:40",
			"time_to_send": "2021-07-02T06:44:40",
			"submit_report_requested": true,
			"delivery_report_requested": true,
			"view_report_requested": true,
			"tags": []
		}
	]
}
	

Odpowiedź HTTP otrzymana przez przykład SMS w Perlu

Gdy bramka 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, 29 Jun 2021 11:48:38 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": "fa32293f-db00-11eb-804d-ffacbeab4160",
	      "from_station": "%",
	      "to_address": "+36201111111",
	      "to_station": "%",
	      "text": "Hello world!",
	      "create_date": "2021-07-02 06:44:40",
	      "valid_until": "2021-07-09 06:44:40",
	      "time_to_send": "2021-07-02 06:44:40",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": false,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ],
	      "status": "SUCCESS"
	    }
	  ]
	}
}
	

Podłącz swój bramkę SMS do sieci komórkowej i utwórz konto użytkownika HTTP API

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 Perla, musisz skonfigurować konto użytkownika HTTP API w bramce SMS Ozeki. W tym filmie wyjaśnimy proces tworzenia nowego konta użytkownika HTTP API. Film rozpocznie się od otwarcia aplikacji bramki SMS Ozeki i przeprowadzi Cię przez proces tworzenia konta użytkownika HTTP API. W trakcie nauczysz się, jak skonfigurować nowego użytkownika i włączyć opcję logowania. Film trwa tylko 30 sekund i bardzo szczegółowo wyjaśnia cały proces. Nie będziesz miał problemu ze zrozumieniem poszczególnych kroków.

Wideo 3 - Jak wygląda proces tworzenia nowego konta użytkownika HTTP API (Samouczek wideo)

Jak wysłać SMS z Perla za pomocą API SMS Perla (Samouczek wideo)

Ten film pokazuje, jak pobrać plik SendSms.pl.zip z tej strony i jak otworzyć plik SendSms.pl w Notatniku. Jeśli obejrzysz film, zauważysz, że zawartość pliku SendSms.pl.zip jest umieszczana na pulpicie Windows. Zobaczysz również, że otwieramy plik SendSms.pl w Notatniku Windows.

Wideo 4 - Jak pobrać i skonfigurować powyższe rozwiązanie

Przykład SMS w Perlu: SendSms.pl

Na Rysunku 1 możesz zobaczyć kod źródłowy przykładowego projektu. Jeśli znasz język programowania Perl, możesz dowolnie modyfikować kod. Ten kod wyśle SMS na numer telefonu zapisany w zmiennej toAddress, z tekstem zapisanym w zmiennej Text.

Rysunek 3 - Plik SendSms.pl

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

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

Wideo 5 - Jak wysłać SMS za pomocą powyższego kodu Perla (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 tekst wysłanej wiadomości.

Wideo 6 - Jak sprawdzić, czy żądanie zostało zaakceptowane przez klienta SMPP (Samouczek wideo)

Jak wygląda odbieranie SMS-a na telefonie z Androidem (Samouczek wideo)

W tym filmie zobaczysz, jak wygląda odbieranie wiadomości SMS na urządzeniu z Androidem. Zacznie się od zwykłego ekranu głównego Androida. Zobaczysz pojawiające się powiadomienie, a następnie otwartą aplikację Wiadomości z widocznym SMS-em. Film trwa tylko 18 sekund, ale pokazuje cały proces.

Wideo 7 - Jak wygląda odbieranie wiadomości SMS na urządzeniu z Androidem (Samouczek wideo)

Podsumowanie

Ten przewodnik miał na celu pokazanie, jak wysyłać SMS-y w Perlu za pomocą bramki SMS Ozeki. Jeśli wszystko zostało uważnie przeczytane, wysyłanie wiadomości do klientów w Perlu za pomocą bramki SMS Ozeki nie powinno sprawiać żadnych problemów. Należy podkreślić, że bramka SMS Ozeki umożliwia logowanie wiadomości SMS w bazie danych i oferuje różne możliwości raportowania, dostarczając więcej informacji o połączeniu SMS.

Kontynuuj czytanie na stronie samouczków Ozeki, gdzie znajdziesz więcej informacji na temat tematów takich jak planowanie SMS-ów w Perlu.

Jedyne, co teraz pozostaje, to pobrać bramkę SMS Ozeki i zacząć pracę!

More information