Hogyan ütemezhetünk SMS-t Perl nyelven

A legegyszerűbb módja SMS küldésének Perl nyelven az Ozeki SMS Gateway beépített HTTP/Rest SMS API-jának használata. Amikor ezt az API-t használod, SMS üzeneteket küldhetsz HTTP POST kérések kiadásával az SMS gateway felé. A HTTP POST kérés egy JSON formátumban formázott üzenetet fog tartalmazni. Az SMS gateway továbbítja ezt az SMS-t a címzett telefonjára, és egy HTTP 200 OK választ küld vissza a kérésedre.

hogyan ütemezhetünk sms-t perl nyelven
1. ábra - Hogyan ütemezhetünk SMS-t Perl nyelven

Perl kód ütemezett SMS küldésére mobilra

Az alábbi Perl SMS kód minta bemutatja, hogyan küldhetsz SMS-t az Ozeki SMS Gateway HTTP REST SMS API-jával a Perl Ozeki.Libs.Rest könyvtár segítségével. Ez a könyvtár ingyenesen elérhető, és bármilyen projektjében használhatod és módosíthatod.

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

Hogyan használd a Perl SMS példát:

Ez a Perl SMS példa bármilyen Perl alkalmazásban használható. A használathoz hozzá kell adnod az Ozeki.Libs.Rest könyvtárat a projektedhez. A könyvtár hozzáadása után a using Ozeki.Libs.Rest; direktívát kell elhelyezned a Perl forráskódod fejléc részébe. Ez lehetővé teszi az Ozeki.Libs.Rest könyvtár által nyújtott osztályok használatát. A Message osztály segítségével létrehozhatod az SMS-t. A MessageApi osztály segítségével küldheted az ütemezett SMS-t az SMS gatewaynek. Az SMS gateway továbbítja az üzenetedet a mobil hálózatnak vezeték nélküli kapcsolaton vagy az interneten keresztül.

SendScheduledSms.pl letöltése

A cikkben ismertetett forráskód ingyenesen letölthető, használható és módosítható.
Letöltés: SendScheduledSms.pl.zip (76.1Kb)

Mi található a SendScheduledSms.pl fájlban?

A SendScheduledSms.pl fájl tartalmazza az Ozeki.Libs.Rest könyvtárat, amely minden szükséges eszközt biztosít SMS üzenetek küldéséhez és fogadásához. A zip fájlban megtalálod a SendScheduledSms.pl fájlt is, amely tartalmazza a példakódot, amely bemutatja, hogyan küldhetsz ütemezett SMS-t. Ez a példakód az alábbiakban látható.

2. ábra - Mi található a SendScheduledSms.pl.zip fájlban

Hogyan küldjünk ütemezett SMS-t Perl nyelven (Egyszerű útmutató)

Ütemezett SMS küldése Perl nyelven:

  1. Telepítsd az HTTP API felhasználót
  2. Töltsd le a SendScheduledSms.pl.zip fájlt
  3. Csomagold ki a .zip fájlt a Letöltések mappából
  4. Nyisd meg a SendScheduledSms.pl fájlt egy szövegszerkesztőben
  5. Szerkeszd a fájlt az ütemezett SMS küldéséhez Perl nyelven
  6. Indítsd el az Ozeki SMS Gateway-t
  7. Futtasd a SendScheduledSms.pl fájlt a parancssorból
  8. Ellenőrizd a naplókat

Ozeki SMS Gateway telepítése és HTTP API felhasználó létrehozása

Ahhoz, hogy SMS-t tudj küldeni Perl nyelven, először telepítened kell az Ozeki SMS Gateway-t. Az SMS gateway telepíthető ugyanarra a számítógépre, ahol a Perl kódodat fejleszted Visual Studio-ban. A telepítés után a következő lépés az Ozeki SMS Gateway csatlakoztatása a mobil hálózathoz. Küldhetsz egy teszt SMS-t az Ozeki GUI-ból annak ellenőrzésére, hogy a mobil hálózati kapcsolatod működik. A környezet előkészítésének utolsó lépése egy HTTP SMS API felhasználói fiók létrehozása. Hozz létre egy felhasználót "http_user" felhasználónévvel és "qwe123" jelszóval, hogy a példa módosítás nélkül működjön.

Miután a környezet beállításra került, futtathatod a Perl kódodat.

HTTP API URL SMS küldéséhez Perl nyelven

Ahhoz, hogy SMS-t küldj Perl nyelven, a Perl alkalmazásodnak HTTP kérést kell küldenie az SMS gatewaynek. Az API URL az alábbiakban látható. Fontos, hogy az IP cím (127.0.0.1) helyére az SMS gateway IP címét írd. Ha az Ozeki SMS Gateway ugyanarra a számítógépre van telepítve, ahol a Perl SMS alkalmazás fut, ez maradhat 127.0.0.1. Ha másik számítógépre van telepítve, akkor annak az IP címét kell megadni.

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

HTTP hitelesítés SMS küldéséhez Perl nyelven

A Perl SMS kliens hitelesítéséhez a felhasználónevet és jelszót base64 kódolású karakterláncként kell elküldened a szervernek egy HTTP kérésben. A használt formátum: base64(username+":"+password). Perl nyelven a következő kóddal végezheted el ezt a kódolást:

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

Például, ha a 'http_user' felhasználónevet és a 'qwe123' jelszót kódolod, a következő base64 kódolású karakterláncot kapod: aHR0cF91c2VyOnF3ZTEyMw==.

HTTP kérés fejléc SMS küldéséhez C# nyelven

Az SMS üzenetek küldéséhez a következő sorokat kell tartalmaznia a HTTP kérés fejléc részének. Figyelj rá, hogy tartalmazzon egy content type és egy Authorization fejlécet.

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

HTTP kérés ütemezett SMS küldéséhez Perl nyelven

Az SMS beküldéséhez a Perl alkalmazásod egy olyan HTTP kérést fog küldeni, mint az alábbi. Figyelj rá, hogy ez a kérés tartalmaz egy HTTP fejléc részt és egy HTTP törzs részt. A HTTP törzs egy JSON kódolású adat karakterlánc. Tartalmazza a címzett számát és az üzenet szövegét.

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 válasz, amelyet a Perl SMS példa kap

Amint az SMS gateway megkapja ezt a kérést, generál egy HTTP választ. A HTTP válasz tartalmaz egy státuszkódot, amely jelzi, hogy az SMS beküldési kérés sikeres volt-e vagy sem. Ezenkívül visszaad egy JSON kódolású struktúrát is, amely hasznos részleteket nyújt az üzenet beküldéséről.

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 példa: SendScheduledSms.pl (Videó útmutató)

Ebben a videóban a SendScjheduledSMS.pl projektfájl letöltési folyamatáról fogsz tanulni. A videó a projekt mappa letöltésével kezdődik. Elvezet a teljes rendszer használatához. Látni fogod, mit kell módosítani a terminálban. A videó csak 1:36 perc hosszú, de nagyon részletes. Nem lesz gondod a lépések követésével.

1. videó - Hogyan töltsd le és állítsd be a fenti megoldást (Videó útmutató)

A példakód

Az alábbi példakód a SendScheduledSms.pl.zip része. Ez a kód ütemezett SMS üzeneteket fog küldeni a 'ToAddress' változóban tárolt számra. Az üzenetek szövege a 'Text' változóban található szöveg lesz. Futtasd a kódot az összes üzenet elküldéséhez az összes címzettnek. Ha ismered a Perl programozási nyelvet, nyugodtan módosíthatod a kódot saját igényeid szerint.

3. ábra - SendScheduledSms.pl

Hogyan használd a kódot (Videó útmutató)

Ebben a videóban a kód futtatásának és az SMS üzenetek címzetthez való küldésének folyamatáról fogsz tanulni. A videó a megnyitott kóddal kezdődik, és az elküldött üzenetek naplójával ér véget. A videó végén egy mappát fogsz látni az Ozeki SMS Gateway-ben, "Postponed messages" (Elhalasztott üzenetek) néven. Ebben a mappában megtalálod az összes elküldött üzenetet. A videó mindössze 1 perc hosszú, és végigvezet azon a lépéseken, amelyeket meg kell tenned az elhalasztott üzenetek küldéséhez. Az Ozeki SMS Gateway nagyon intuitív felhasználói felületet kínál, így nem lesz gondod a lépések követésével.

2. videó - Hogyan használd a SendMultipleSms.pl fájlt (Videó útmutató)

Összefoglalás

Ennek a cikknek az volt a célja, hogy bemutassa az SMS ütemezés lépéseit Perl nyelven az Ozeki SMS Gateway segítségével. Ez a megoldás lehetővé teszi az üzenetek elhalasztását, ami nagyon hasznos lehet, ha biztosítani szeretnéd, hogy ne zavard az ügyfeleket, amikor elfoglaltak. Ezzel elérheted, hogy ügyfélbarát képed legyen, és növeld a hatékonyságot. Az ügyfelek nagyobb valószínűséggel olvassák el az üzeneteket, amikor szabadidejük van rá. Azt is érdemes megemlíteni, hogy az Ozeki SMS Gateway lehetővé teszi az SMS költségek kezelését és az SMS forgalom nyomon követését.

Győződj meg róla, hogy az olvasás itt nem ér véget, látogass el az Ozeki oktatóoldalára, ahol további információkat találsz olyan témákról, mint az SMS törlése Perl nyelven.

Most már csak egy dolgot kell tenned: töltsd le az Ozeki SMS Gateway-t és kezdj el dolgozni!

More information