Kako zakazati SMS u Perlu

Najjednostavniji način za slanje SMS-a iz Perla je korištenje ugrađenog HTTP/Rest SMS API-ja Ozeki SMS Gatewaya. Kada koristite ovaj API, slat ćete SMS poruke slanjem HTTP Post zahtjeva SMS gatewayu. HTTP Post zahtjev će sadržavati poruku formatiranu u json formatu. SMS gateway će poslati ovaj SMS na telefon primatelja i vratit će HTTP 200 OK odgovor na vaš zahtjev.

kako zakazati sms u perlu
Slika 1 - Kako zakazati SMS u Perlu

Perl kod za slanje zakazanog SMS-a na mobilni telefon

Perl SMS primjer koda ispod pokazuje kako možete poslati SMS koristeći HTTP REST SMS API Ozeki SMS Gatewaya s Perl Ozeki.Libs.Rest bibliotekom. Ova biblioteka vam je dostupna besplatno i možete je koristiti i mijenjati u bilo kojem od vaših projekata.

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);

Kako koristiti Perl SMS primjer:

Ovaj Perl SMS primjer može se koristiti u bilo kojoj Perl aplikaciji. Da biste ga koristili, morate dodati Ozeki.Libs.Rest biblioteku u svoj projekt. Nakon što je biblioteka dodana, morate staviti direktivu using Ozeki.Libs.Rest; u zaglavlje vašeg Perl izvornog koda. To će vam omogućiti korištenje klasa koje pruža Ozeki.Libs.Rest biblioteka. Možete koristiti klasu Message za kreiranje SMS-a. Možete koristiti klasu MessageApi za slanje zakazanog SMS-a SMS gatewayu. SMS gateway će proslijediti vašu poruku mobilnoj mreži putem bežične veze ili putem interneta.

Preuzmite SendScheduledSms.pl

Izvorni kod objašnjen u ovom članku može se besplatno preuzeti, koristiti i mijenjati.
Preuzmi: SendScheduledSms.pl.zip (76.1Kb)

Što se nalazi u datoteci SendScheduledSms.pl?

Datoteka SendScheduledSms.pl sadrži Ozeki.Libs.Rest biblioteku, koja vam daje sve alate potrebne za slanje i primanje SMS poruka. Također ćete pronaći datoteku SendScheduledSms.pl u zip datoteci, koja sadrži primjer koda koji pokazuje kako poslati zakazani SMS. Ovaj primjer koda je naveden ispod.

Slika 2 - Što se nalazi unutar SendScheduledSms.pl.zip

Kako poslati zakazani SMS iz Perla (Jednostavne smjernice)

Za slanje zakazanog SMS-a iz Perla:

  1. Instalirajte HTTP API korisnika
  2. Preuzmite datoteku SendScheduledSms.pl.zip
  3. Raspakirajte .zip datoteku iz mape Preuzimanja
  4. Otvorite datoteku SendScheduledSms.pl u tekstualnom editoru
  5. Uredite datoteku za zakazivanje SMS-a iz Perla
  6. Pokrenite Ozeki SMS Gateway
  7. Pokrenite SendScheduledSms.pl koristeći naredbeni redak
  8. Provjerite zapisnike

Instalirajte Ozeki SMS Gateway i kreirajte HTTP API korisnika

Da biste mogli slati SMS iz Perla, prvo morate instalirati Ozeki SMS Gateway. SMS gateway se može instalirati na istom računalu gdje razvijate svoj Perl kod u Visual studiju. Nakon instalacije, sljedeći korak je povezivanje Ozeki SMS Gatewaya s mobilnom mrežom. Možete poslati testni SMS iz Ozeki GUI-ja kako biste potvrdili da vaša mobilna mrežna veza radi. Konačni korak za pripremu vašeg okruženja je kreiranje HTTP SMS API korisničkog računa. Kreirajte korisnika s korisničkim imenom "http_user" i lozinkom "qwe123" kako bi primjer radio bez izmjena.

Nakon što je okruženje postavljeno, možete pokrenuti svoj Perl kod.

HTTP API URL za slanje SMS-a iz Perla

Za slanje SMS-a iz Perla, vaš Perl će morati poslati HTTP zahtjev SMS gatewayu. API URL je prikazan ispod. Imajte na umu da IP adresa (127.0.0.1) treba biti zamijenjena IP adresom vašeg SMS gatewaya. Ako je Ozeki SMS Gateway instaliran na istom računalu gdje se pokreće Perl SMS aplikacija, ovo može biti 127.0.0.1. Ako je instaliran na drugom računalu, treba biti IP adresa tog računala.

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

HTTP autentifikacija za slanje SMS-a iz Perla

Za autentifikaciju Perl SMS klijenta, morate poslati korisničko ime i lozinku u base64 kodiranom stringu na poslužitelj u HTTP zahtjevu. Korišteni format je: base64(korisničko_ime+":"+lozinka). U Perlu možete koristiti sljedeći kod za ovo kodiranje:

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

Na primjer, ako kodirate korisničko ime 'http_user' i lozinku 'qwe123', dobit ćete sljedeći base64 kodirani string: aHR0cF91c2VyOnF3ZTEyMw==. Za slanje

HTTP zaglavlje zahtjeva za slanje SMS-a iz C#

Za slanje SMS poruka, potrebno je uključiti sljedeće retke kao zaglavlja u HTTP zahtjev. Imajte na umu da uključujemo vrstu sadržaja i zaglavlje za autorizaciju.

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

HTTP zahtjev za slanje zakazanog SMS-a iz Perla

Za slanje SMS-a, vaša Perl aplikacija će poslati HTTP zahtjev sličan onome ispod. Imajte na umu da ovaj zahtjev sadrži dio HTTP zaglavlja i dio HTTP tijela. HTTP tijelo je JSON kodirani niz podataka. Sadrži broj primatelja i tekst poruke.

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 odgovor primljen u Perl SMS primjeru

Nakon što SMS gateway primi ovaj zahtjev, generirat će HTTP odgovor. HTTP odgovor će sadržavati statusni kod, kako bi naznačio je li zahtjev za slanje SMS-a bio uspješan ili ne. Također će vratiti JSON kodiranu strukturu kako bi vam pružio korisne detalje o slanju poruke.

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

Perl SMS primjer: SendScheduledSms.pl (Video tutorial)

U ovom videu naučit ćete o procesu preuzimanja datoteke projekta SendScjheduledSMS.pl. Video će započeti s preuzimanjem mape projekta. Odvest će vas do potpuno funkcionalnog sustava koji možete početi koristiti. Vidjet ćete što trebate promijeniti u terminalu. Video traje samo 1:36, ali je vrlo detaljan. Nećete imati problema s praćenjem koraka.

Video 1 - Kako preuzeti i postaviti gore navedeno rješenje (Video tutorial)

Primjer koda

Primjer koda u nastavku dio je SendScheduledSms.pl.zip. Ovaj kod će poslati zakazane SMS poruke na broj pohranjen u varijabli 'ToAddress'. Tekst poruka bit će tekstovi u varijabli 'Text'. Pokrenite kod kako biste poslali sve poruke svim primateljima. Ako ste upoznati s programskim jezikom Perl, slobodno izmijenite kod prema vlastitim željama.

Slika 3 - SendScheduledSms.pl

Kako koristiti kod (Video tutorial)

U ovom videu naučit ćete o procesu pokretanja koda i slanja SMS poruka primatelju. Video će započeti s otvorenim kodom i završiti s logom poslanih poruka. Na kraju videa vidjet ćete mapu u Ozeki SMS Gatewayu pod nazivom Odgođene poruke. U mapi ćete pronaći sve poslane poruke. Video traje samo 1 minutu i vodi vas kroz sve korake koje trebate poduzeti kako biste poslali odgođene poruke. Ozeki SMS Gateway nudi vrlo intuitivno korisničko sučelje, tako da nećete imati problema s praćenjem koraka.

Video 2 - Kako koristiti datoteku SendMultipleSms.pl (Video tutorial)

Sažetak

Svrha ovog članka bila je pokazati korake za zakazivanje SMS poruka u Perl-u uz pomoć Ozeki SMS Gatewaya. Ovo rješenje omogućuje odgađanje poruka, što može biti vrlo korisno kada želite osigurati da ne ometate korisnike dok su zauzeti. Na taj način možete stvoriti korisnički prilagođenu sliku i poboljšati učinkovitost. Klijenti će vjerojatnije pročitati poruke kada imaju slobodnog vremena za to. Također, valja napomenuti da Ozeki SMS Gateway omogućuje upravljanje troškovima SMS poruka i praćenje SMS prometa.

Pobrinite se da čitanje ne završava ovdje, posjetite Ozeki-ovu stranicu s tutorijalima gdje možete pronaći više informacija o temama poput brisanja SMS poruka u Perl-u.

Jedino što sada preostaje jest preuzeti Ozeki SMS Gateway i početi raditi!

More information