Jak naplánovat SMS v Perlu

Nejjednodušší způsob, jak odesílat SMS z Perlu, je použít vestavěné HTTP/Rest SMS API Ozeki SMS Gateway. Při použití tohoto API budete odesílat SMS zprávy vytvořením HTTP Post požadavku na SMS bránu. HTTP Post požadavek bude obsahovat zprávu ve formátu json. SMS brána tuto SMS odešle na telefon příjemce a vrátí HTTP 200 OK odpověď na váš požadavek.

jak naplánovat sms v perlu
Obrázek 1 - Jak naplánovat SMS v Perlu

Perl kód pro odeslání naplánované SMS na mobil

Ukázkový kód v Perlu níže ukazuje, jak můžete odesílat SMS pomocí HTTP REST SMS API Ozeki SMS Gateway s využitím knihovny Perl Ozeki.Libs.Rest. Tato knihovna je poskytována zdarma a můžete ji používat a upravovat v jakémkoli vašem projektu.

SendScheduledSms.pl
use 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 použít příklad SMS v Perlu:

Tento příklad SMS v Perlu lze použít v jakékoli Perl aplikaci. Pro použití je nutné přidat knihovnu Ozeki.Libs.Rest do vašeho projektu. Po přidání knihovny musíte do hlavičky vašeho Perl zdrojového kódu vložit direktivu using Ozeki.Libs.Rest;. To vám umožní používat třídy poskytované knihovnou Ozeki.Libs.Rest. Třídu Message můžete použít k vytvoření SMS. Třídu MessageApi můžete použít k odeslání naplánované SMS na SMS bránu. SMS brána přepošle vaši zprávu do mobilní sítě buď přes bezdrátové připojení nebo přes internet.

Stáhnout SendScheduledSms.pl

Zdrojový kód vysvětlený v tomto článku lze stáhnout, použít a upravit zdarma.
Stáhnout: SendScheduledSms.pl.zip (76.1Kb)

Co je v souboru SendScheduledSms.pl?

Soubor SendScheduledSms.pl obsahuje knihovnu Ozeki.Libs.Rest, která vám poskytuje všechny nástroje potřebné pro odesílání a přijímání SMS zpráv. Najdete zde také soubor SendScheduledSms.pl, který obsahuje ukázkový kód, který vám ukáže, jak odeslat naplánovanou SMS. Tento ukázkový kód je uveden níže.

Obrázek 2 - Co je uvnitř SendScheduledSms.pl.zip

Jak odeslat naplánovanou SMS z Perlu (Jednoduchý návod)

Pro odeslání naplánované SMS z Perlu:

  1. Nainstalujte HTTP API uživatele
  2. Stáhněte soubor SendScheduledSms.pl.zip
  3. Extrahujte .zip soubor ze složky Stažené
  4. Otevřete soubor SendScheduledSms.pl v textovém editoru
  5. Upravte soubor pro naplánování SMS z Perlu
  6. Spusťte Ozeki SMS Gateway
  7. Spusťte SendScheduledSms.pl pomocí příkazového řádku
  8. Zkontrolujte logy

Instalace Ozeki SMS Gateway a vytvoření HTTP API uživatele

Pro odesílání SMS z Perlu je nejprve nutné nainstalovat Ozeki SMS Gateway. SMS bránu lze nainstalovat na stejný počítač, kde vyvíjíte svůj Perl kód ve Visual studiu. Po instalaci je dalším krokem připojení Ozeki SMS Gateway k mobilní síti. Můžete odeslat testovací SMS z Ozeki GUI pro ověření, že vaše připojení k mobilní síti funguje. Posledním krokem přípravy prostředí je vytvoření HTTP SMS API uživatelského účtu. Vytvořte uživatele s uživatelským jménem "http_user" a heslem "qwe123", aby příklad fungoval bez úprav.

Po nastavení prostředí můžete spustit svůj Perl kód.

HTTP API URL pro odesílání SMS z Perlu

Pro odesílání SMS z Perlu musí váš Perl vytvořit HTTP požadavek na SMS bránu. API URL je uvedeno níže. Poznámka: IP adresa (127.0.0.1) by měla být nahrazena IP adresou vaší SMS brány. Pokud je Ozeki SMS Gateway nainstalována na stejném počítači, kde běží Perl SMS aplikace, může to být 127.0.0.1. Pokud je nainstalována na jiném počítači, měla by být použita IP adresa tohoto počítače.

http://127.0.0.1:9509/api?action=rest
	

HTTP autentizace pro odesílání SMS z Perlu

Pro autentizaci Perl SMS klienta je nutné odeslat uživatelské jméno a heslo v base64 kódovaném řetězci na server v HTTP požadavku. Použitý formát je: base64(username+":"+password). V Perlu můžete pro toto kódování použít následující kód:

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

Například pokud zakódujete uživatelské jméno 'http_user' a heslo 'qwe123', získáte následující base64 kódovaný řetězec: aHR0cF91c2VyOnF3ZTEyMw==. Pro odeslání

HTTP hlavička požadavku pro odeslání SMS z C#

Pro odeslání SMS zpráv je třeba do HTTP požadavku zahrnout následující řádky jako hlavičky. Všimněte si, že zahrnujeme typ obsahu a autorizační hlavičku.

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

HTTP požadavek pro odeslání naplánované SMS z Perlu

Pro odeslání SMS váš Perl aplikace odešle HTTP požadavek podobný níže uvedenému. Všimněte si, že tento požadavek obsahuje část HTTP hlavičky a část těla HTTP. Tělo HTTP je řetězec dat zakódovaný v JSON. Obsahuje číslo příjemce a text zprávy.

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": []
		}
	]
}

HTTP odpověď přijatá v příkladu SMS v Perlu

Jakmile SMS brána obdrží tento požadavek, vygeneruje HTTP odpověď. HTTP odpověď bude obsahovat stavový kód, který indikuje, zda byl požadavek na odeslání SMS úspěšný. Také vrátí strukturu zakódovanou v JSON, která poskytuje užitečné informace o odeslání zprávy.

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

Příklad SMS v Perlu: SendScheduledSms.pl (Video návod)

V tomto videu se naučíte o procesu stahování souboru projektu SendScjheduledSMS.pl. Video začne stažením složky projektu. Dovede vás k plnému systému, který můžete začít používat. Uvidíte, co je třeba upravit v terminálu. Video je dlouhé pouze 1:36, ale je velmi podrobné. Nebudete mít problém s následováním kroků.

Video 1 - Jak stáhnout a nastavit řešení výše (Video návod)

Příklad kódu

Níže uvedený příklad kódu je součástí SendScheduledSms.pl.zip. Tento kód odešle naplánované SMS zprávy na číslo uložené v proměnné 'ToAddress'. Text zpráv bude text v proměnné 'Text'. Spusťte kód pro odeslání všech zpráv všem příjemcům. Pokud jste obeznámeni s programovacím jazykem Perl, klidně upravte kód podle svých představ.

Obrázek 3 - SendScheduledSms.pl

Jak použít kód (Video návod)

V tomto videu se naučíte o procesu spuštění kódu a odeslání SMS zpráv příjemci. Video začne otevřeným kódem a skončí logem odeslaných zpráv. Na konci videa uvidíte složku v Ozeki SMS Gateway s názvem Odložené zprávy. V této složce najdete všechny odeslané zprávy. Video je dlouhé pouze 1 minutu a provede vás všemi kroky, které je třeba udělat pro odeslání odložených zpráv. Ozeki SMS Gateway nabízí velmi intuitivní uživatelské rozhraní, takže nebudete mít problém s následováním kroků.

Video 2 - Jak použít soubor SendMultipleSms.pl (Video návod)

Shrnutí

Účelem tohoto článku bylo ukázat kroky plánování SMS v Perlu pomocí Ozeki SMS Gateway. Toto řešení umožňuje odložit zprávy, což může být velmi užitečné, když chcete se ujistit, že neobtěžujete zákazníky, když jsou zaneprázdněni. Tímto způsobem můžete dosáhnout přívětivého image vůči zákazníkům a zvýšit efektivitu. Klienti mají větší pravděpodobnost, že si zprávy přečtou, když na to mají volný čas. Je také třeba zmínit, že Ozeki SMS Gateway vám umožňuje spravovat náklady na SMS a sledovat SMS provoz.

Ujistěte se, že čtení zde nekončí, navštivte tutoriálovou stránku Ozeki, kde najdete více informací o tématech, jako je mazání SMS v Perlu.

Jediné, co teď zbývá, je stáhnout Ozeki SMS Gateway a začít pracovat!

More information