Cum să programezi un SMS în Perl

Cea mai simplă metodă de a trimite SMS din Perl este utilizarea API-ului HTTP/Rest SMS încorporat al Ozeki SMS Gateway. Când folosești acest API, vei trimite mesaje SMS prin trimiterea unei cereri HTTP Post către gateway-ul SMS. Cererea HTTP Post va conține un mesaj formatat în format json. Gateway-ul SMS va trimite acest SMS către telefonul destinatarului și va returna un răspuns HTTP 200 OK la cererea ta.

cum să programezi un sms în perl
Figura 1 - Cum să programezi un SMS în Perl

Cod Perl pentru a trimite SMS programat pe mobil

Exemplul de cod Perl SMS de mai jos demonstrează cum poți trimite SMS folosind API-ul HTTP rest SMS al Ozeki SMS Gateway cu ajutorul bibliotecii Perl Ozeki.Libs.Rest. Această bibliotecă este oferită gratuit și poți să o folosești și să o modifici în oricare dintre proiectele tale.

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

Cum să folosești exemplul Perl SMS:

Acest exemplu Perl SMS poate fi folosit în orice aplicație Perl. Pentru a-l folosi, trebuie să adaugi biblioteca Ozeki.Libs.Rest în proiectul tău. După ce biblioteca este adăugată, trebuie să incluzi directiva using Ozeki.Libs.Rest; în secțiunea de antet a codului sursă Perl. Acest lucru îți va permite să folosești clasele furnizate de biblioteca Ozeki.Libs.Rest. Poți folosi clasa Message pentru a crea SMS-ul. Poți folosi clasa MessageApi pentru a trimite SMS-ul programat către gateway-ul SMS. Gateway-ul SMS va transmite mesajul tău către rețeaua mobilă fie printr-o conexiune wireless fie prin Internet.

Descarcă SendScheduledSms.pl

Codul sursă explicat în acest articol poate fi descărcat, folosit și modificat gratuit.
Descarcă: SendScheduledSms.pl.zip (76.1Kb)

Ce conține fișierul SendScheduledSms.pl?

Fișierul SendScheduledSms.pl conține biblioteca Ozeki.Libs.Rest, care îți oferă toate instrumentele necesare pentru a trimite și primi mesaje SMS. Vei găsi de asemenea și fișierul SendScheduledSms.pl în arhivă, care conține codul exemplu pentru a-ți arăta cum să trimiți un SMS programat. Acest cod exemplu este listat mai jos.

Figura 2 - Ce conține SendScheduledSms.pl.zip

Cum să trimiți SMS programat din Perl (Ghid simplu)

Pentru a trimite SMS programat din Perl:

  1. Instalează utilizatorul HTTP API
  2. Descarcă fișierul SendScheduledSms.pl.zip
  3. Extrage fișierul .zip din folderul Descărcări
  4. Deschide fișierul SendScheduledSms.pl într-un editor de text
  5. Editează fișierul pentru a programa SMS din Perl
  6. Pornește Ozeki SMS Gateway
  7. Rulează SendScheduledSms.pl folosind linia de comandă
  8. Verifică jurnalele
Instalează Ozeki SMS Gateway și creează un utilizator HTTP API

Pentru a putea trimite SMS din Perl, mai întâi trebuie să instalezi Ozeki SMS Gateway. Gateway-ul SMS poate fi instalat pe același computer pe care dezvolți codul Perl în Visual Studio. După instalare, următorul pas este să conectezi Ozeki SMS Gateway la rețeaua mobilă. Poți trimite un SMS test din interfața Ozeki pentru a verifica dacă conexiunea ta la rețeaua mobilă funcționează. Ultimul pas pentru a-ți pregăti mediul este să creezi un utilizator HTTP SMS API. Creează un utilizator cu numele de utilizator "http_user" și parola "qwe123" pentru a face exemplul să funcționeze fără modificări.

După ce mediul este configurat, poți rula codul tău Perl.

URL API HTTP pentru a trimite SMS din Perl

Pentru a trimite SMS din Perl, aplicația ta Perl va trebui să trimită o cerere HTTP către gateway-ul SMS. URL-ul API este afișat mai jos. Reține că adresa IP (127.0.0.1) ar trebui să fie înlocuită cu adresa IP a gateway-ului tău SMS. Dacă Ozeki SMS Gateway este instalat pe același computer pe care rulează aplicația Perl SMS, aceasta poate fi 127.0.0.1. Dacă este instalat pe un computer diferit, ar trebui să fie adresa IP a acelui computer.

http://127.0.0.1:9509/api?action=rest
	
Autentificare HTTP pentru a trimite SMS din Perl

Pentru a autentifica clientul Perl SMS, trebuie să trimiți numele de utilizator și parola într-un șir codificat base64 către server într-o cerere HTTP. Formatul folosit este: base64(nume_utilizator+":"+parolă). În Perl poți folosi următorul cod pentru a face această codificare:

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

De exemplu, dacă codezi numele de utilizator 'http_user' și parola 'qwe123', vei obține următorul șir codificat base64: aHR0cF91c2VyOnF3ZTEyMw==. Pentru a trimite

Antetul cererii HTTP pentru a trimite SMS din C#

Pentru a trimite mesajele SMS, trebuie să includeți următoarele linii ca anteturi în cererea HTTP. Rețineți că includem un tip de conținut și un antet de autorizare.

Content-Type: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Cererea HTTP pentru a trimite SMS programat din Perl

Pentru a trimite SMS-ul, aplicația dvs. Perl va trimite o cerere HTTP similară cu cea de mai jos. Rețineți că această cerere conține o parte de antet HTTP și o parte de corp HTTP. Corpul HTTP este un șir de date codificat în JSON. Acesta conține numărul destinatarului și textul mesajului.

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": []
		}
	]
}
Răspunsul HTTP primit de exemplul Perl pentru SMS

Odată ce gateway-ul SMS primește această cerere, va genera un răspuns HTTP. Răspunsul HTTP va conține un cod de stare, pentru a indica dacă cererea de trimitere a SMS-ului a fost reușită sau nu. De asemenea, va returna o structură codificată în JSON pentru a vă oferi detalii utile despre trimiterea mesajului.

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"
	    }
	  ]
	}
}
Exemplu Perl pentru SMS: SendScheduledSms.pl (Tutorial video)

În acest videoclip, veți învăța despre procesul de descărcare a fișierului de proiect SendScjheduledSMS.pl. Videoclipul va începe cu descărcarea folderului de proiect. Vă va conduce la obținerea sistemului complet pe care îl puteți începe să utilizați. Veți vedea ce trebuie să modificați în terminal. Videoclipul durează doar 1:36, dar este foarte detaliat. Nu veți avea probleme în a urma pașii.

Video 1 - Cum să descărcați și să configurați soluția de mai sus (Tutorial video)

Codul exemplu

Codul exemplu de mai jos face parte din SendScheduledSms.pl.zip. Acest cod va trimite mesaje SMS programate la numărul stocat în variabila 'ToAddress'. Textul mesajelor va fi textul din variabila 'Text'. Rulați codul pentru a trimite toate mesajele către toți destinatarii. Dacă sunteți familiarizat cu limbajul de programare Perl, nu ezitați să modificați codul după preferințele dumneavoastră.

Figura 3 - SendScheduledSms.pl

Cum să utilizați codul (Tutorial video)

În acest videoclip, veți învăța despre procesul de rulare a codului și de trimitere a mesajelor SMS către destinatar. Videoclipul va începe cu codul deschis și se va încheia cu jurnalul mesajelor trimise. La sfârșitul videoclipului, veți vedea un folder în Ozeki SMS Gateway, intitulat Mesaje amânate. În folder, veți găsi toate mesajele trimise. Videoclipul durează doar 1 minut și vă ghidează prin toți pașii pe care trebuie să-i faceți pentru a trimite mesajele amânate. Ozeki SMS Gateway oferă o interfață de utilizator foarte intuitivă, așa că nu veți avea probleme în a urma pașii.

Video 2 - Cum să utilizați fișierul SendMultipleSms.pl (Tutorial video)

Rezumat

Scopul acestui articol a fost de a prezenta pașii pentru programarea SMS-urilor în Perl cu ajutorul Ozeki SMS Gateway. Această soluție permite amânarea mesajelor, ceea ce poate fi foarte util atunci când doriți să vă asigurați că nu deranjați clienții atunci când aceștia sunt ocupați. Astfel, puteți obține o imagine prietenoasă față de clienți și puteți îmbunătăți eficiența. Clienții sunt mai înclinați să citească mesajele atunci când au timp liber pentru a face acest lucru. De asemenea, trebuie menționat că Ozeki SMS Gateway vă permite să gestionați costurile SMS-urilor și să urmăriți traficul de SMS.

Asigurați-vă că citirea nu se termină aici, vizitați pagina de tutoriale Ozeki unde puteți găsi mai multe informații despre subiecte precum ștergerea SMS-urilor în Perl.

Singurul lucru care rămâne de făcut acum este să descărcați Ozeki SMS Gateway și să începeți să lucrați!

More information