Jak odeslat více SMS z Perlu

Nejjednodušší způsob, jak odeslat více SMS z Perlu, je použít vestavěné HTTP/Rest SMS API Ozeki SMS Gateway. Když použijete toto 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 formátovanou v json formátu. SMS brána odešle tuto SMS na cílový telefon a vrátí HTTP 200 OK odpověď na váš požadavek.

jak odeslat více SMS z Perlu
Obrázek 1 - Jak odeslat více SMS z Perlu

Perl kód pro odeslání více SMS na mobil

Ukázka Perl kódu pro SMS níže ukazuje, jak můžete odeslat 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.

SendMultipleSms.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 $msg1 = new Ozeki::Libs::Rest::Message();
$msg1->{ ToAddress } = "+36201111111";
$msg1->{ Text } = "Hello world 1";

my $msg2 = new Ozeki::Libs::Rest::Message();
$msg2->{ ToAddress } = "+36202222222";
$msg2->{ Text } = "Hello world 2";

my $msg3 = new Ozeki::Libs::Rest::Message();
$msg3->{ ToAddress } = "+36203333333";
$msg3->{ Text } = "Hello world 3";

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

my $result = $api->Send(( $msg1, $msg2, $msg3 ));

print($result->stringify);

Jak použít Perl příklad pro SMS:

Tento Perl příklad pro SMS lze použít v jakékoli Perl aplikaci. Pro použití musíte přidat knihovnu Ozeki.Libs.Rest do vašeho projektu. Po přidání knihovny musíte vložit direktivu using Ozeki.Libs.Rest; do hlavičkové části vašeho Perl zdrojového kódu. To vám umožní používat třídy poskytované knihovnou Ozeki.Libs.Rest. Můžete použít třídu Message k vytvoření SMS. Můžete použít třídu MessageApi k odeslání SMS zpráv 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 SendMultipleSms.pl

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

Co je v souboru SendMultipleSms.pl?

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

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

Jak odeslat více SMS z Perlu (Rychlé kroky)

Pro odeslání více SMS z Perlu:

  1. Nastavte Strawberry Perl
  2. Stáhněte soubor SendMultipleSms.pl.zip
  3. Extrahujte .zip soubor ze složky Stažené
  4. Otevřete soubor SendSms.pl v Notepadu nebo Visual Studio Code
  5. Spusťte Ozeki SMS Gateway
  6. Vytvořte HTTP API uživatele v Ozeki
  7. Spusťte Perl kód SendMultipleSms.pl v příkazovém řádku
  8. Zkontrolujte složku Odeslané v Ozeki SMS Gateway

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

Pro odesílání SMS z Perlu je nejprve potřeba 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 k přípravě prostředí je vytvoření HTTP SMS API uživatele. 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 bude váš Perl muset odeslat 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 to být 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 třeba 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 použít následující kód pro toto kódování:

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', dostanete následující base64 kódovaný řetězec: aHR0cF91c2VyOnF3ZTEyMw==. Pro odeslání

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

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í SMS z Perlu

Pro odeslání SMS bude vaše aplikace v Perlu odesílat HTTP požadavek podobný tomu níže. 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.


HTTP odpověď přijatá příkladem 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ý nebo ne. Vrátí také strukturu zakódovanou v JSON, která vám poskytne 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": "Zprávy zařazeny do fronty k odeslání.",
	"data": {
	  "total_count": 3,
	  "success_count": 3,
	  "failed_count": 0,
	  "messages": [
	    {
	      "message_id": "ab4c1e78-db41-11eb-8298-c00c4d4e2ea7",
	      "from_station": "%",
	      "to_address": "+36201111111",
	      "to_station": "%",
	      "text": "Hello world 1",
	      "create_date": "2021-07-02 14:27:45",
	      "valid_until": "2021-07-09 14:27:45",
	      "time_to_send": "2021-07-02 14:27:45",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": false,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ],
	      "status": "SUCCESS"
	    },
	    {
	      "message_id": "ab4c4523-db41-11eb-838d-c00c4d4e2ea7",
	      "from_station": "%",
	      "to_address": "+36202222222",
	      "to_station": "%",
	      "text": "Hello world 2",
	      "create_date": "2021-07-02 14:27:45",
	      "valid_until": "2021-07-09 14:27:45",
	      "time_to_send": "2021-07-02 14:27:45",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": false,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ],
	      "status": "SUCCESS"
	    },
	    {
	      "message_id": "ab4c59cd-db41-11eb-82c0-c00c4d4e2ea7",
	      "from_station": "%",
	      "to_address": "+36203333333",
	      "to_station": "%",
	      "text": "Hello world 3",
	      "create_date": "2021-07-02 14:27:45",
	      "valid_until": "2021-07-09 14:27:45",
	      "time_to_send": "2021-07-02 14:27:45",
	      "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: SendMultipleSms.pl

V tomto videu uvidíte proces stažení a nastavení projektu SendMultipleSMS.pl. Začne stažením projektu a skončí dokončeným nastavením. Naučíte se všechny kroky nastavení, které je třeba provést, abyste měli funkční řešení. Video je dlouhé 1:44, ale všechny kroky jsou velmi podrobně ukázány. Po jeho shlédnutí byste mohli řešení stáhnout a nastavit sami.

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

Příklad kódu

Na obrázku 3 můžete vidět příklad kódu. Tento příkladový kód odešle více SMS zpráv více příjemcům. Pokud ovládáte programovací jazyk Perl, můžete kód upravit podle svých potřeb. Odešle SMS na všechna telefonní čísla uložená v proměnné 'ToAddress', s textem uloženým v proměnných Text.

Obrázek 3 - SendMultipleSms.pl

Jak použít příkladový soubor projektu (Video návod)

V tomto videu uvidíte příkladový projekt v akci. Ukážeme vám, co je třeba udělat, aby projekt odeslal více SMS zpráv jedním spuštěním. Video je dlouhé pouze 1:12 a obsahuje všechny informace, které potřebujete k spuštění programu. Začne otevřeným projektem a skončí odesláním všech zpráv.

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

Shrnutí

Výše uvedený průvodce vysvětluje kroky pro odesílání více SMS v Perlu pomocí Ozeki SMS brány. Pokud byly všechny kroky pečlivě dodrženy, měli byste být schopni oslovit více klientů jedním kódem v Perlu a Ozeki SMS bránou. S tímto řešením může velký počet zákazníků obdržet SMS současně. Důležité je poznamenat, že Ozeki SMS brána nabízí vysoký výkon, což znamená, že může odeslat až 1000 SMS za sekundu.

Ujistěte se, že nekončíte čtením zde, navštivte stránku s návody Ozeki, kde najdete více informací o podobných tématech, jako je plánování SMS v Perlu.

Jediné, co teď zbývá, je stáhnout Ozeki SMS bránu a nechat práci začít!

More information