Ako naplánovať SMS v Perle
Najjednoduchší spôsob, ako odoslať SMS z Perlu, je použiť vstavané HTTP/Rest SMS API Ozeki SMS Gateway. Keď použijete toto API, budete odosielať SMS správy vytvorením HTTP POST požiadavky na SMS bránu. HTTP POST požiadavka bude obsahovať správu formátovanú v json formáte. SMS brána odošle túto SMS na telefón príjemcu 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 odoslať 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žiť a upraviť v akomkoľvek z vašich projektov.
SendScheduledSms.pluse 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);
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 jeho použitie musíte 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 naplánovanej SMS na SMS bránu. SMS brána prepošle vašu správu do mobilnej siete buď cez bezdrôtové pripojenie alebo cez internet.
Stiahnuť SendScheduledSms.pl
Zdrojový kód vysvetlený v tomto článku môže byť stiahnutý, použitý a upravený bezplatne.
Stiahnuť: SendScheduledSms.pl.zip (76.1Kb)
Súbor SendScheduledSms.pl obsahuje knižnicu Ozeki.Libs.Rest, ktorá vám poskytuje všetky potrebné nástroje na odosielanie a prijímanie SMS správ. Nájdete tu aj súbor SendScheduledSms.pl, ktorý obsahuje ukážkový kód, ktorý vám ukáže, ako odoslať naplánovanú SMS. Tento ukážkový kód je uvedený nižšie.
Na odoslanie naplánovanej SMS z Perlu:
- Nainštalujte HTTP API používateľa
- Stiahnite súbor SendScheduledSms.pl.zip
- Extrahujte .zip súbor z priečinka Stiahnuté
- Otvorte súbor SendScheduledSms.pl v textovom editore
- Upravte súbor na naplánovanie SMS z Perlu
- Spustite Ozeki SMS Gateway
- Spustite SendScheduledSms.pl pomocou príkazového riadku
- Skontrolujte logy
Na odosielanie SMS z Perlu musíte najprv nainštalovať Ozeki SMS Gateway. SMS bránu môžete nainštalovať na rovnaký počítač, kde vyvíjate svoj Perl kód v Visual Studiu. Po inštalácii je ďalším krokom pripojenie Ozeki SMS Gateway k mobilnej sieti. Môžete odoslať testovaciu SMS z Ozeki GUI na overenie, že vaše mobilné pripojenie funguje. Posledným krokom na prípravu vášho prostredia je vytvorenie HTTP SMS API používateľského účtu. Vytvorte používateľa s menom "http_user" a heslom "qwe123", aby príklad fungoval bez úprav.
Po nastavení prostredia môžete spustiť svoj Perl kód.
HTTP API URL na odoslanie SMS z PerluNa odoslanie SMS z Perlu musí váš Perl vytvoriť 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
Na autentifikáciu Perl SMS klienta musíte odoslať používateľské meno a heslo v base64 kódovanom reťazci na server v HTTP požiadavke. Použitý formát je: base64(používateľské meno+":"+heslo). V Perli môžete použiť nasledujúci kód na toto kódovanie:
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 base64 kódovaný reťazec: aHR0cF91c2VyOnF3ZTEyMw==. Na odoslanie
HTTP hlavička požiadavky na odoslanie SMS z C#
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==
Na odoslanie SMS bude vaša Perl aplikácia posielať HTTP požiadavku podobnú nižšie uvedenej. Upozorňujeme, že táto požiadavka obsahuje časť HTTP hlavičky a časť tela HTTP. Telo HTTP je reťazec dát zakódovaný v JSON. Obsahuje číslo príjemcu a text sprá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": [] } ] }
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. Tiež vráti štruktúru zakódovanú v JSON, ktorá 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: 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" } ] } }
V tomto videu sa dozviete o procese sťahovania súboru projektu SendScjheduledSMS.pl. Video začne sťahovaním priečinka projektu. Dostanete sa k úplnému systému, ktorý môžete začať používať. Uvidíte, čo je potrebné upraviť v termináli. Video je dlhé len 1:36, ale je veľmi podrobné. Nebudete mať problém sledovať kroky.
Príkladový kód
Príkladový kód nižšie je súčasťou SendScheduledSms.pl.zip. Tento kód odošle naplánované SMS správy na číslo uložené v premennej 'ToAddress'. Text správ bude text v premennej 'Text'. Spustenie kódu odošle všetky správy všetkým príjemcom. Ak ste oboznámení s programovacím jazykom Perl, môžete kód upraviť podľa svojich potrieb.
V tomto videu sa dozviete o procese spustenia kódu a odosielania SMS správ príjemcom. Video začne otvoreným kódom a skončí záznamom odoslaných správ. Na konci videa uvidíte priečinok v Ozeki SMS Gateway s názvom Odložené správy. V priečinku nájdete všetky odoslané správy. Video je dlhé len 1 minútu a prevedie vás všetkými krokmi, ktoré musíte vykonať na odoslanie odložených správ. Ozeki SMS Gateway ponúka veľmi intuitívne používateľské rozhranie, takže nebudete mať problém sledovať kroky.
Zhrnutie
Cieľom tohto článku bolo ukázať kroky naplánovania SMS v Perli pomocou Ozeki SMS Gateway. Toto riešenie umožňuje odložiť správy, čo môže byť veľmi užitočné, keď chcete zaistiť, že neobťažujete zákazníkov, keď sú zaneprázdnení. Týmto spôsobom môžete dosiahnuť zákazníkom priateľský obraz a zlepšiť efektivitu. Je pravdepodobnejšie, že klienti si správy prečítajú, keď na to budú mať voľný čas. Treba tiež povedať, že Ozeki SMS Gateway vám umožňuje spravovať náklady na SMS a sledovať SMS prevádzku.
Uistite sa, že čítanie tu nekončí, navštívte Ozekiho stránku s návodmi, kde nájdete viac informácií o témach ako mazanie SMS v Perli.
Jediné, čo teraz musíte urobiť, je 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