كيفية استقبال الرسائل القصيرة من بيرل

أبسط طريقة لاستقبال الرسائل القصيرة من بيرل هي استخدام واجهة برمجة تطبيقات HTTP/Rest المدمجة في بوابة Ozeki للرسائل القصيرة. عند استخدام هذه الواجهة، ستقوم بإرسال الرسائل القصيرة عن طريق إرسال طلب HTTP Post إلى بوابة الرسائل القصيرة. سيحتوي طلب HTTP Post على رسالة مُنسقة بتنسيق json. ستقوم بوابة الرسائل القصيرة بإرسال هذه الرسالة إلى هاتف المستلم، وسيتم إرجاع استجابة HTTP 200 OK لطلبك.

كيفية استقبال الرسائل القصيرة من بيرل
الشكل 1 - كيفية استقبال الرسائل القصيرة من بيرل

كود بيرل لاستقبال الرسائل القصيرة من الهاتف المحمول

يوضح مثال كود بيرل للرسائل القصيرة أدناه كيف يمكنك استقبال الرسائل القصيرة باستخدام واجهة برمجة تطبيقات HTTP Rest الخاصة ببوابة Ozeki للرسائل القصيرة باستخدام مكتبة Ozeki.Libs.Rest لبيرل. هذه المكتبة مقدمة لك مجانًا، ويمكنك استخدامها وتعديلها في أي من مشاريعك.

ReceiveSms.pl
use Ozeki::Libs::Rest::Configuration;
use Ozeki::Libs::Rest::MessageApi;

my $configuration = new Ozeki::Libs::Rest::Configuration();
$configuration->{ Username } = "http_user";
$configuration->{ Password } = "qwe123";
$configuration->{ ApiUrl } = "http://127.0.0.1:9509/api";

my $api = new Ozeki::Libs::Rest::MessageApi($configuration);

my $result = $api->DownloadIncoming();

print($result->stringify, "\n");

foreach my $message (@{ $result->{ messages } }) {
    print($message->stringify, "\n");
}

كيفية استخدام مثال بيرل للرسائل القصيرة:

يمكن استخدام هذا مثال بيرل للرسائل القصيرة في أي تطبيق بيرل. لاستخدامه، يجب عليك إضافة مكتبة Ozeki.Libs.Rest إلى مشروعك. بعد إضافة المكتبة، يجب وضع توجيه using Ozeki.Libs.Rest; في قسم الرأس من كود المصدر الخاص بك في بيرل. سيسمح لك ذلك باستخدام الفئات المقدمة من مكتبة Ozeki.Libs.Rest. يمكنك استخدام فئة Message لإنشاء الرسالة القصيرة. يمكنك استخدام فئة MessageApi لـ استقبال الرسائل القصيرة إلى بوابة الرسائل القصيرة. ستقوم بوابة الرسائل القصيرة بإعادة توجيه رسالتك إلى شبكة الهاتف المحمول إما عبر اتصال لاسلكي أو عبر الإنترنت.

تنزيل ReceiveSms.pl

يمكن تنزيل كود المصدر الموضح في هذه المقالة واستخدامه وتعديله مجانًا.
تنزيل: ReceiveSms.pl.zip (76.0 كيلوبايت)

ما الموجود في ملف ReceiveSms.pl.zip؟

يحتوي ملف ReceiveSms.pl.zip على مكتبة Ozeki.Libs.Rest، والتي تمنحك جميع الأدوات اللازمة لإرسال واستقبال الرسائل القصيرة. ستجد أيضًا ملف ReceiveSms.pl في الملف المضغوط، والذي يحتوي على كود المثال ليوضح لك كيفية استقبال رسالة قصيرة. تم سرد كود المثال هذا أدناه.

الشكل 2 - ما الموجود داخل ReceiveSms.pl.zip

كيفية استقبال الرسائل القصيرة في بيرل (إرشادات سهلة)

لاستقبال الرسائل القصيرة في بيرل:

  1. قم بتنزيل ملف ReceiveSms.pl.zip
  2. استخرج ملف .zip من مجلد التنزيلات
  3. افتح ملف ReceiveSms.pl في محرر نصوص
  4. شغّل بوابة Ozeki للرسائل القصيرة
  5. انقر على مستخدم HTTP في علامة تبويب المستخدمين والتطبيقات
  6. شغّل ReceiveSms.pl لاستقبال الرسائل القصيرة باستخدام موجه الأوامر
  7. تحقق من صندوق الوارد في بوابة Ozeki للرسائل القصيرة

تثبيت بوابة Ozeki للرسائل القصيرة وإنشاء مستخدم HTTP API

لتتمكن من إرسال واستقبال الرسائل القصيرة من بيرل، تحتاج أولاً إلى إنشاء مستخدم HTTP API للرسائل القصيرة. قم بإنشاء مستخدم باسم مستخدم "http_user"، وكلمة مرور "qwe123" لجعل المثال يعمل دون تعديل.

بعد إعداد البيئة، يمكنك تشغيل كود بيرل الخاص بك.

رابط HTTP API لاستقبال الرسائل القصيرة من بيرل

لإرسال الرسائل القصيرة من بيرل، سيتعين على بيرل إصدار طلب HTTP إلى بوابة الرسائل القصيرة. يظهر رابط API أدناه. لاحظ أنه يجب استبدال عنوان IP (127.0.0.1) بعنوان IP الخاص ببوابة الرسائل القصيرة. إذا تم تثبيت بوابة Ozeki للرسائل القصيرة على نفس الكمبيوتر الذي يعمل عليه تطبيق بيرل للرسائل القصيرة، فيمكن أن يكون هذا 127.0.0.1. إذا تم تثبيته على كمبيوتر مختلف، فيجب أن يكون عنوان IP الخاص بهذا الكمبيوتر.

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

مصادقة HTTP لاستقبال الرسائل القصيرة من بيرل

لمصادقة عميل بيرل للرسائل القصيرة، تحتاج إلى إرسال اسم المستخدم وكلمة المرور في سلسلة مشفرة بـ base64 إلى الخادم في طلب HTTP. التنسيق المستخدم هو: base64(اسم المستخدم+":"+كلمة المرور). في بيرل، يمكنك استخدام الكود التالي لإجراء هذا التشفير:

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

على سبيل المثال، إذا قمت بتشفير اسم المستخدم 'http_user' وكلمة المرور 'qwe123'، فستحصل على السلسلة المشفرة بـ base64 التالية: aHR0cF91c2VyOnF3ZTEyMw==. للإرسال

طلب HTTP لاستقبال الرسائل القصيرة باستخدام Perl

لاستقبال الرسائل القصيرة، سيرسل تطبيق Perl الخاص بك طلب HTTP مشابهًا للطلب أدناه. لاحظ أن هذا الطلب يتضمن جزءًا من رأس HTTP و جزءًا من جسم HTTP. جسم HTTP هو سلسلة بيانات مشفرة بتنسيق JSON. يحتوي على رقم المستلم ونص الرسالة.

GET /api?action=receivemsg&folder=inbox HTTP/1.1
Connection: TE, close
Content-Type: application/json
Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw==
Host: 192.168.0.14:9509
Te: deflate,gzip;q=0.3
User-Agent: libwww-perl/6.43
	

رأس طلب HTTP لاستقبال الرسائل القصيرة من C#

لإرسال الرسائل القصيرة، تحتاج إلى تضمين الأسطر التالية كرؤوس في طلب HTTP. لاحظ أننا نضمن نوع المحتوى ورأس التفويض.

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

استجابة HTTP المستلمة بواسطة مثال Perl للرسائل القصيرة

بمجرد أن يتلقى بوابة الرسائل القصيرة هذا الطلب، سوف يولد استجابة HTTP. ستحتوي استجابة HTTP على رمز حالة، للإشارة إلى ما إذا كان طلب إرسال الرسالة القصيرة ناجحًا أم لا. كما ستعود ببنية مشفرة بتنسيق JSON لتزويدك بتفاصيل مفيدة حول إرسال الرسالة.

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": "",
	"data": {
	  "folder": "inbox",
	  "limit": "1000",
	  "data": [
	    {
	      "message_id": "a860555d-db45-11eb-82d5-c00c4d4e2ea7",
	      "from_connection": "http_user@localhost",
	      "from_address": "+36201111111",
	      "from_station": "%",
	      "to_connection": "http_user@localhost",
	      "to_address": "http_user",
	      "to_station": "%",
	      "text": "Hello world 1",
	      "create_date": "2021-07-02 14:56:18",
	      "valid_until": "2021-07-09 14:56:18",
	      "time_to_send": "2021-07-02 14:56:18",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": true,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ]
	    },
	    {
	      "message_id": "a8607b04-db45-11eb-818e-c00c4d4e2ea7",
	      "from_connection": "http_user@localhost",
	      "from_address": "+36202222222",
	      "from_station": "%",
	      "to_connection": "http_user@localhost",
	      "to_address": "http_user",
	      "to_station": "%",
	      "text": "Hello world 2",
	      "create_date": "2021-07-02 14:56:18",
	      "valid_until": "2021-07-09 14:56:18",
	      "time_to_send": "2021-07-02 14:56:18",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": true,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ]
	    },
	    {
	      "message_id": "a8609539-db45-11eb-80db-c00c4d4e2ea7",
	      "from_connection": "http_user@localhost",
	      "from_address": "+36203333333",
	      "from_station": "%",
	      "to_connection": "http_user@localhost",
	      "to_address": "http_user",
	      "to_station": "%",
	      "text": "Hello world 3",
	      "create_date": "2021-07-02 14:56:18",
	      "valid_until": "2021-07-09 14:56:18",
	      "time_to_send": "2021-07-02 14:56:18",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": true,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ]
	    }
	  ]
	}
}

كيفية استقبال الرسائل القصيرة باستخدام Perl باستخدام واجهة برمجة تطبيقات الرسائل القصيرة لـ Perl (فيديو تعليمي)

ستوضح لك مقاطع الفيديو هذه كيفية تثبيت الوحدة Ozeki::Libs::Rest، و كيفية استخدام برنامج ReceiveSms.pl كمثال. سيعرض لك الفيديو كيفية تنزيل مجلد مشروع ReceiveSMS.pl، وكيفية إعداد نظام يمكنك البدء في استخدامه. يبلغ طول الفيديو دقيقة و30 ثانية فقط ولكنه يتضمن جميع الخطوات التي تحتاج إلى اتخاذها. البرنامج التعليمي واضح وسهل المتابعة لذا لن تواجه أي مشكلة في تكرار العملية.

الفيديو 1 - كيفية تنزيل وإعداد الحل المثال (فيديو تعليمي)

مثال Perl للرسائل القصيرة: ReceiveSms.pl

في الشكل 3، يمكنك رؤية الكود المصدري لـ ReceiveSMS.pl. سيقوم هذا الكود بتنزيل جميع الرسائل الواردة من الخادم وطباعتها على الشاشة. تحتاج إلى تقديم بيانات اعتماد تسجيل الدخول للخادم في متغيري 'Username' و 'Password'. إذا كنت معتادًا على لغة برمجة Perl، لا تتردد في تعديل الكود ليناسب احتياجاتك تمامًا.

الشكل 3 - ReceiveSms.pl

كيفية استقبال الرسائل القصيرة باستخدام كود Perl (فيديو تعليمي)

في هذا الفيديو، سترى الكود في العمل. سنعرض لك كيفية تشغيل الكود وفحص نتائجه. سيبدأ بفتح طرفية وفتح الكود وسيأخذك إلى قراءة الرسائل المستلمة. يبلغ طول الفيديو دقيقة واحدة فقط، وهو سهل المتابعة. لن تواجه أي مشكلة في اتباع الخطوات.

الفيديو 2 - كيفية استقبال الرسائل القصيرة باستخدام كود Perl أعلاه (فيديو تعليمي)

لخص ذلك

شرحت هذه المقالة كيفية استقبال رسائل SMS من Perl باستخدام واجهة برمجة تطبيقات REST SMS المدمجة في بوابة Ozeki SMS. إذا كنت قد اتبعت البرنامج التعليمي بعناية، فأنت الآن قادر على إنشاء مستخدم HTTP في بوابة Ozeki SMS واستخدام المستودع المقدم لاستقبال رسائل SMS باستخدام واجهة برمجة تطبيقات Perl SMS. هذه المكتبة مقدمة لك مجانًا، ويمكنك استخدامها وتعديلها في أي من مشاريعك.

كلما زادت معرفتك، زادت كفاءتك، لذا استمر في القراءة. تحقق من مقالة كيفية تنزيل أحدث مكتبة Perl SMS من Github، وتعلم كيفية استخدام واجهة برمجة تطبيقات Perl SMS على نطاق أوسع.

قم بتنزيل Ozeki SMS Gateway الآن، ولتبدأ العمل!

More information