Ako poslať SMS z Perlu
Najjednoduchší spôsob, ako poslať SMS z Perlu, je použiť vstavanú HTTP/Rest SMS API Ozeki SMS Gateway. Keď použijete toto API, budete posielať SMS správy odoslaním HTTP POST požiadavky na SMS bránu. HTTP POST požiadavka bude obsahovať správu vo formáte JSON. SMS brána potom pošle túto SMS na príjemcove telefónne číslo a vráti HTTP 200 OK odpoveď na vašu požiadavku.
Ukážka Perl kódu pre SMS nižšie demonštruje, ako môžete poslať SMS pomocou HTTP REST SMS API Ozeki SMS Gateway s použitím knižnice Perl Ozeki.Libs.Rest. Táto knižnica je poskytovaná bezplatne a môžete ju používať a upravovať v akomkoľvek z vašich projektov.
SendSms.pluse 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 $msg = new Ozeki::Libs::Rest::Message(); $msg->{ ToAddress } = "+36201111111"; $msg->{ Text } = "Ahoj svet!"; my $api = new Ozeki::Libs::Rest::MessageApi($configuration); my $result = $api->Send($msg); print($result->stringify);
Ako použiť Perl príklad pre SMS:
Tento Perl príklad pre SMS môže byť použitý v akejkoľvek Perl aplikácii. Na použitie je potrebné pridať knižnicu Ozeki.Libs.Rest do vášho projektu. Po pridaní knižnice musíte vložiť direktívu using Ozeki.Libs.Rest; do hlavičkovej časti vášho Perl zdrojového kódu. To vám umožní používať triedy poskytované knižnicou Ozeki.Libs.Rest. Môžete použiť triedu Message na vytvorenie SMS. Môžete použiť triedu MessageApi na odoslanie SMS na SMS bránu. SMS brána potom prepošle vašu správu do mobilnej siete buď cez bezdrôtové pripojenie alebo cez internet.
Stiahnuť SendSms.pl
Zdrojový kód vysvetlený v tomto článku môže byť stiahnutý, použitý a upravený bezplatne.
Stiahnuť: SendSms.pl.zip (76.0Kb)
Súbor SendSms.pl.zip obsahuje knižnicu Ozeki.Libs.Rest, ktorá vám poskytuje všetky potrebné nástroje na odosielanie a prijímanie SMS správ. V zip súbore nájdete aj súbor SendSms.pl, ktorý obsahuje ukážkový kód, ktorý vám ukáže, ako odoslať SMS. Tento ukážkový kód je uvedený nižšie.
Na použitie knižnice Ozeki::Libs::Rest musíte nainštalovať niekoľko modulov:
Ubuntu
$ sudo apt-get install libdatetime-perl $ cpan $ install JSON $ install UUID::Generator::PurePerl $ install UUID::Object
V tomto videu vám ukážeme, ako nainštalovať závislosti Perlu na Linux OS. Video začína otvorením terminálu a končí inštaláciou závislostí. Video je dlhé len 1:10, ale podrobne vysvetľuje proces. Ak si pozriete celé video, nebudete mať problém zopakovať kroky.
Windows
cpanm DateTime cpanm UUID::Generator::PurePerl cpanm UUID::Object cpanm JSON
V tomto videu vám ukážeme, ako nainštalovať závislosti Perlu na Windows OS. Video začína otvorením príkazového riadka a končí inštaláciou všetkých závislostí. Video je dlhé len 46 sekúnd, ale podrobne vysvetľuje proces. Proces je jednoduchý, takže s pomocou tohto videa nebudete mať problém nasledovať kroky.
Ako poslať SMS z Perlu (Jednoduché pokyny)
Na odoslanie SMS z Perlu:
- Nainštalujte HTTP API používateľa
- Povoľte Logovanie komunikačných udalostí na karte Pokročilé
- Stiahnite a rozbaľte súbor SendSms.pl.zip
- Otvorte súbor sendsms.pl v ľubovoľnom textovom editore
- Spustite aplikáciu Ozeki SMS Gateway
- Spustite Perl kód SendSms.pl v príkazovom riadku
- Skontrolujte logy, či bola SMS odoslaná
Nainštalujte si Ozeki SMS Gateway a vytvorte používateľa HTTP API
Ak chcete posielať SMS z Perlu, musíte si najskôr nainštalovať Ozeki SMS Gateway. SMS bránu je možné nainštalovať na rovnakom počítači, kde vyvíjate svoj Perl kód v Windows Notepade alebo Visual Studio Code. Po inštalácii je ďalším krokom pripojenie Ozeki SMS Gateway k mobilnej sieti. Môžete vytvorenie používateľa HTTP SMS API. Vytvorte používateľa s používateľským menom "http_user" a heslom "qwe123", aby príklad fungoval bez úprav.
Po nastavení prostredia môžete spustiť svoj Perl kód.
URL HTTP API na odosielanie SMS z Perlu
Na odoslanie SMS z Perlu musí váš Perl odoslať HTTP požiadavku na SMS bránu. API URL je uvedené nižšie. Upozorňujeme, že IP adresa (127.0.0.1) by mala byť nahradená IP adresou vašej SMS brány. Ak je Ozeki SMS Gateway nainštalovaný na rovnakom počítači, kde beží Perl SMS aplikácia, môže to byť 127.0.0.1. Ak je nainštalovaný na inom počítači, mala by to byť IP adresa toho počítača.
http://127.0.0.1:9509/api?action=rest
Autentifikácia HTTP na odosielanie SMS z Perlu
Na autentifikáciu Perl SMS klienta musíte odoslať používateľské meno a heslo v reťazci zakódovanom do base64 na server v HTTP požiadavke. Používa sa formát: base64(používateľské meno+":"+heslo). V Perli môžete na toto kódovanie použiť nasledujúci kód:
my ($self, $Username, $Password) = @_; my $Username_Password = "${Username}:${Password}"; my $Username_Password_encoded = encode_base64($Username_Password); return "Basic ${Username_Password_encoded}";
Napríklad, ak zakódujete používateľské meno 'http_user' a heslo 'qwe123', dostanete nasledujúci reťazec zakódovaný do base64: aHR0cF91c2VyOnF3ZTEyMw==. Na odoslanie
Hlavička HTTP požiadavky na odoslanie SMS z Perlu
Na odoslanie SMS správ musíte do HTTP požiadavky zahrnúť nasledujúce riadky ako hlavičky. Upozorňujeme, že obsahujeme hlavičku typu obsahu a autorizačnú hlavičku.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP požiadavka na odoslanie SMS z Perlu
Na odoslanie SMS vaša Perl aplikácia odošle HTTP požiadavku podobnú nižšie uvedenej. Upozorňujeme, že táto požiadavka obsahuje časť HTTP hlavičky a časť HTTP tela. Telo HTTP je reťazec dát zakódovaný do JSON. Obsahuje číslo príjemcu a text správy.
POST /api?action=sendmsg HTTP/1.1 Connection: TE, close Content-Length: 341 Content-Type: application/json; charset=utf8 Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Host: 127.0.0.1:9509 Te: deflate,gzip;q=0.3 User-Agent: libwww-perl/6.52 { "messages": [ { "message_id": "fa32293f-db00-11eb-804d-ffacbeab4160", "to_address": "+36201111111", "text": "Hello world!", "create_date": "2021-07-02T06:44:40", "valid_until": "2021-07-09T06:44:40", "time_to_send": "2021-07-02T06:44:40", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [] } ] }
HTTP odpoveď prijatá Perl SMS príkladom
Keď SMS brána prijme túto požiadavku, vygeneruje HTTP odpoveď. HTTP odpoveď bude obsahovať stavový kód, ktorý indikuje, či bola požiadavka na odoslanie SMS úspešná alebo nie. Vráti tiež štruktúru zakódovanú do JSON, ktorá vám poskytne užitočné informácie o odoslaní správy.
HTTP/1.1 200 OK User-Agent: OZEKI 10.3.123 (www.myozeki.com) Content-Type: application/json; charset=utf8 Last-Modified: Tue, 29 Jun 2021 11:48:38 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": "fa32293f-db00-11eb-804d-ffacbeab4160", "from_station": "%", "to_address": "+36201111111", "to_station": "%", "text": "Hello world!", "create_date": "2021-07-02 06:44:40", "valid_until": "2021-07-09 06:44:40", "time_to_send": "2021-07-02 06:44:40", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" } ] } }
Pripojte svoju SMS bránu k mobilnej sieti a vytvorte používateľský účet HTTP API
Predpokladáme, že ste už nainštalovali Ozeki SMS Gateway a že ste ju pripojili k mobilnej sieti. Aby ste mohli odosielať SMS na mobilný telefón z Perlu, musíte si nastaviť používateľský účet HTTP API v Ozeki SMS Gateway. V tomto videu vám vysvetlíme proces vytvorenia nového používateľského účtu HTTP API. Video začne otvorením aplikácie Ozeki SMS gateway a prevedie vás až k vytvoreniu používateľského účtu HTTP API. Počas procesu sa naučíte, ako nakonfigurovať nového používateľa a ako zapnúť možnosť logovania. Video je dlhé len 30 sekúnd a veľmi podrobne vysvetľuje celý proces. Nebudete mať žiadny problém pochopiť jednotlivé kroky.
Ako poslať SMS z Perlu pomocou Perl SMS API (Video návod)
Toto video vám ukáže, ako si stiahnuť súbor SendSms.pl.zip z tejto stránky a ako otvoriť súbor SendSms.pl v poznámkovom bloku. Ak sledujete video, všimnete si, že obsah SendSms.pl zipu je umiestnený na pracovnej ploche Windows. Uvidíte tiež, že otvárame súbor SendSms.pl v poznámkovom bloku Windows.
Príklad SMS v Perli: SendSms.pl
Na obrázku 1 môžete vidieť zdrojový kód príkladu projektu. Ak poznáte programovací jazyk Perl, kód môžete podľa potreby upraviť. Tento kód odošle SMS na telefónne číslo uložené v premennej toAddress, s textom uloženým v premennej Text.
Ako skontrolovať, že SMS bola prijatá HTTP používateľom
Po odoslaní SMS je dobré skontrolovať svoju SMS bránu, aby ste videli, čo prijala. Log môžete skontrolovať otvorením detailov HTTP používateľa v konzole na správu Ozeki SMS Gateway. Nasledujúce video vám ukáže, čo hľadať.
Ako skontrolovať, že SMS bola odoslaná do mobilnej siete
Posledným krokom pri overovaní postupu je pozrieť sa na logy pripojenia k mobilnej sieti. Možno budete musieť pred odoslaním správy zapnúť logovanie v konfigurácii pripojenia, aby ste videli logy. Ak je logovanie povolené, uvidíte telefónne číslo a text správy, ktorú ste odoslali.
Ako vyzerá prijatie SMS na telefóne s Androidom (Video návod)
V tomto videu uvidíte, ako vyzerá prijatie SMS správy na zariadení s Androidom. Začne sa obyčajnou domovskou obrazovkou Androidu. Uvidíte vyskočenie notifikácie a potom otvorenú aplikáciu Správy so zobrazenou SMS. Video je dlhé len 18 sekúnd, ale zachytáva celý proces.
Záver
Tento návod mal za cieľ ukázať, ako posielať SMS v Perli s pomocou Ozeki SMS Gateway. Ak ste všetko pozorne prečítali, komunikácia s vašimi zákazníkmi v Perli pomocou Ozeki SMS Gateway by nemala spôsobovať žiadne problémy. Je potrebné zdôrazniť, že Ozeki SMS Gateway vám umožňuje logovať SMS správy do databázy a ponúka rôzne možnosti reportovania, ktoré poskytujú viac informácií o SMS pripojení.
Pokračujte v čítaní na stránke s návodmi Ozeki, kde nájdete viac informácií o témach ako plánovanie SMS v Perli.
Teraz už len stačí stiahnuť si Ozeki SMS Gateway a začať pracovať!
More information
- Perl send SMS with the HTTP rest API (code sample)
- Perl send multiple SMS with the HTTP rest API (code sample)
- Perl schedule SMS with the HTTP rest API (code sample)
- Perl receive SMS with the HTTP rest API (code sample)
- Perl delete SMS with the HTTP rest API (code sample)
- How to download the latest Perl SMS library from Github