Jak zaplanować wysłanie SMS w Perl
Najprostszym sposobem wysyłania SMS z Perla 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ść sformatowaną w formacie json. Bramka SMS wyśle tę wiadomość SMS na telefon odbiorcy i zwróci odpowiedź HTTP 200 OK na twoje żądanie.
Kod Perl do wysyłania zaplanowanych SMS na telefon
Poniższy przykładowy kod SMS w Perl demonstruje, jak możesz wysyłać SMS przy użyciu interfejsu HTTP rest sms API Ozeki SMS Gateway, korzystając z biblioteki Perl Ozeki.Libs.Rest. Ta biblioteka jest dostarczana bezpłatnie i możesz jej używać oraz modyfikować w dowolnym z twoich projektów.
SendScheduledSms.pluse Ozeki::Libs::Rest::Configuration; use Ozeki::Libs::Rest::MessageApi; use Ozeki::Libs::Rest::Message; use DateTime; 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!"; $msg->{ TimeToSend } = DateTime->new(year=>2021,month=>7,day=>2,hour=>16,minute=>0,second=>0)->stringify; my $api = new Ozeki::Libs::Rest::MessageApi($configuration); my $result = $api->Send($msg); print($result->stringify);
Jak używać przykładu SMS w Perl:
Ten przykład SMS w Perl 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łówkowej swojego kodu źródłowego Perl. To pozwoli ci korzystać z klas dostarczonych przez bibliotekę Ozeki.Libs.Rest. Możesz użyć klasy Message do tworzenia SMS. Możesz użyć klasy MessageApi do wysłania zaplanowanego SMS do bramki SMS. Bramka SMS przekaże twoją wiadomość do sieci komórkowej poprzez połączenie bezprzewodowe lub przez Internet.
Pobierz SendScheduledSms.pl
Kod źródłowy omówiony w tym artykule może być pobrany, używany i modyfikowany bezpłatnie.
Pobierz: SendScheduledSms.pl.zip (76.1Kb)
Co znajduje się w pliku SendScheduledSms.pl?
Plik SendScheduledSms.pl zawiera bibliotekę Ozeki.Libs.Rest, która dostarcza wszystkich narzędzi niezbędnych do wysyłania i odbierania wiadomości SMS. Znajdziesz tam również plik SendScheduledSms.pl, który zawiera przykładowy kod pokazujący, jak wysłać zaplanowaną wiadomość SMS. Ten przykładowy kod jest wymieniony poniżej.
Jak wysłać zaplanowaną wiadomość SMS z Perla (Proste wskazówki)
Aby wysłać zaplanowaną wiadomość SMS z Perla:
- Zainstaluj użytkownika HTTP API
- Pobierz plik SendScheduledSms.pl.zip
- Wypakuj plik .zip z folderu Pobrane
- Otwórz plik SendScheduledSms.pl w edytorze tekstu
- Edytuj plik, aby zaplanować wysłanie SMS z Perla
- Uruchom Ozeki SMS Gateway
- Uruchom SendScheduledSms.pl za pomocą wiersza poleceń
- Sprawdź logi
Zainstaluj Ozeki SMS Gateway i utwórz użytkownika HTTP API
Aby móc wysyłać SMS 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 Perl w Visual Studio. Po instalacji kolejnym krokiem jest podłączenie Ozeki SMS Gateway do sieci komórkowej. Możesz wysłać testową wiadomość 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 Perl.
URL API HTTP do wysyłania SMS z Perla
Aby wysłać SMS z Perla, twój Perl będzie musiał 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 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 z Perla
Aby uwierzytelnić klienta SMS Perl, 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 Perl 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 C#
Aby wysłać wiadomości SMS, należy dołączyć następujące linie jako nagłówki w żądaniu HTTP. Należy zauważyć, że zawieramy typ zawartości i nagłówek autoryzacji.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Żądanie HTTP do wysyłania zaplanowanych SMS-ów z Perla
Aby przesłać SMS, Twoja aplikacja Perl wyśle żądanie HTTP podobne do poniższego. Należy zauważyć, ż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 i tekst wiadomości.
POST /api?action=sendmsg HTTP/1.1 Connection: TE, close Content-Length: 998 Content-Type: application/json; charset=utf8 Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Host: 192.168.0.14:9509 Te: deflate,gzip;q=0.3 User-Agent: libwww-perl/6.43 { "messages": [ { "message_id": "ab4c1e78-db41-11eb-8298-c00c4d4e2ea7", "to_address": "+36201111111", "text": "Hello world 1", "create_date": "2021-07-02T14:27:45", "valid_until": "2021-07-09T14:27:45", "time_to_send": "2021-07-02T14:27:45", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [] }, { "message_id": "ab4c4523-db41-11eb-838d-c00c4d4e2ea7", "to_address": "+36202222222", "text": "Hello world 2", "create_date": "2021-07-02T14:27:45", "valid_until": "2021-07-09T14:27:45", "time_to_send": "2021-07-02T14:27:45", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [] }, { "message_id": "ab4c59cd-db41-11eb-82c0-c00c4d4e2ea7", "to_address": "+36203333333", "text": "Hello world 3", "create_date": "2021-07-02T14:27:45", "valid_until": "2021-07-09T14:27:45", "time_to_send": "2021-07-02T14:27:45", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [] } ] }
Odpowiedź HTTP otrzymana przez przykład SMS w Perlu
Gdy brama SMS odbierze to żądanie, wygeneruje odpowiedź HTTP. Odpowiedź HTTP będzie zawierać kod statusu, aby wskazać, czy żądanie przesłania SMS zakończyło się sukcesem, czy nie. Zwróci również strukturę zakodowaną w formacie 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: Fri, 02 Jul 2021 16:00:35 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": "7596081e-db3e-11eb-827e-c00c4d4e2ea7", "from_station": "%", "to_address": "+36201111111", "to_station": "%", "text": "Hello world!", "create_date": "2021-07-02 14:04:47", "valid_until": "2021-07-09 14:04:47", "time_to_send": "2021-07-02 16:10:00", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" } ] } }
Przykład SMS w Perlu: SendScheduledSms.pl (Samouczek wideo)
W tym filmie dowiesz się o procesie pobierania pliku projektu SendScjheduledSMS.pl. Film rozpocznie się od pobrania folderu projektu. Zaprowadzi Cię do posiadania pełnego systemu, który możesz zacząć używać. Zobaczysz, co musisz zmodyfikować w terminalu. Film trwa tylko 1:36, ale jest bardzo szczegółowy. Nie będziesz miał problemu z wykonaniem kroków.
Przykładowy kod
Poniższy przykładowy kod jest częścią SendScheduledSms.pl.zip. Ten kod wyśle zaplanowane wiadomości SMS na numer zapisany w zmiennej 'ToAddress'. Tekst wiadomości będzie tekstem w zmiennej 'Text'. Uruchom kod, aby wysłać wszystkie wiadomości do wszystkich odbiorców. Jeśli znasz język programowania Perl, możesz swobodnie zmodyfikować kod według własnych preferencji.
Jak użyć kodu (Samouczek wideo)
W tym filmie dowiesz się o procesie uruchamiania kodu i wysyłania wiadomości SMS do odbiorcy. Film rozpocznie się od otwartego kodu i zakończy się logiem wysłanych wiadomości. Na końcu filmu zobaczysz folder w Ozeki SMS Gateway o nazwie Odroczone wiadomości. W folderze znajdziesz wszystkie wysłane wiadomości. Film trwa tylko minutę i przeprowadzi Cię przez wszystkie kroki potrzebne do wysłania odroczonych wiadomości. Ozeki SMS Gateway oferuje bardzo intuicyjny interfejs użytkownika, więc nie będziesz miał problemu z wykonaniem kroków.
Podsumowanie
Celem tego artykułu było przedstawienie kroków planowania SMS-ów w Perlu przy użyciu Ozeki SMS Gateway. To rozwiązanie umożliwia odłożenie w czasie wysyłania wiadomości, co może być bardzo przydatne, gdy chcesz upewnić się, że nie przeszkadzasz klientom, gdy są zajęci. Dzięki temu możesz zbudować przyjazny wizerunek wśród klientów oraz poprawić efektywność. Klienci są bardziej skłonni przeczytać wiadomości, gdy mają na to czas. Warto również dodać, że Ozeki SMS Gateway pozwala zarządzać kosztami SMS-ów oraz śledzić ruch związany z ich wysyłką.
Nie kończ czytania w tym miejscu, odwiedź stronę z tutorialami Ozeki, gdzie znajdziesz więcej informacji na tematy takie jak usuwanie SMS-ów w Perlu.
Jedyne, co teraz pozostaje, to pobrać Ozeki SMS Gateway i zacząć pracę!
More information
- Perl wyślij SMS za pomocą interfejsu HTTP REST API (przykładowy kod)
- Perl wyślij wiele SMS za pomocą interfejsu HTTP REST API (przykładowy kod)
- Perl zaplanuj SMS za pomocą interfejsu HTTP REST API (przykładowy kod)
- Perl odbierz SMS za pomocą interfejsu HTTP REST API (przykładowy kod)
- Perl usuń SMS za pomocą interfejsu HTTP REST API (przykładowy kod)
- Jak pobrać najnowszą bibliotekę Perl SMS z Github