كيفية إرسال رسائل SMS من بيرل

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

كيفية إرسال رسائل SMS من بيرل
الشكل 1 - كيفية إرسال رسائل SMS من بيرل

كود بيرل لإرسال رسائل SMS إلى الهاتف المحمول

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

SendSms.pl
use 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 } = "Hello world!";

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

my $result = $api->Send($msg);

print($result->stringify);
	

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

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

تحميل SendSms.pl

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

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

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

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

التبعيات

لاستخدام مكتبة Ozeki::Libs::Rest، يجب تثبيت بعض الوحدات:

أوبونتو

$ sudo apt-get install libdatetime-perl
$ cpan
$ install JSON
$ install UUID::Generator::PurePerl
$ install UUID::Object
	

الكود 1 - كيفية تثبيت التبعيات على لينكس

كيفية تثبيت تبعيات بيرل على لينكس (فيديو تعليمي)

في هذا الفيديو، نعرض لك كيفية تثبيت تبعيات بيرل على نظام تشغيل لينكس. سيبدأ الفيديو بفتح طرفية وينتهي بتركيب التبعيات. الفيديو مدته 1:10 دقيقة فقط ولكنه يشرح العملية بطريقة مفصلة. إذا شاهدت الفيديو كاملًا، لن تواجه أي مشكلة في إعادة تنفيذ الخطوات.

الفيديو 1 - كيفية تثبيت تبعيات بيرل على لينكس (فيديو تعليمي)

ويندوز

cpanm DateTime
cpanm UUID::Generator::PurePerl
cpanm UUID::Object
cpanm JSON
	

الكود 2 - كيفية تثبيت التبعيات على ويندوز

كيفية تثبيت تبعيات بيرل على ويندوز (فيديو تعليمي)

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

الفيديو 2 - كيفية تثبيت تبعيات بيرل على ويندوز (فيديو تعليمي)

كيفية إرسال رسائل SMS من بيرل (إرشادات بسيطة)

لإرسال رسائل SMS من بيرل:

  1. قم بتثبيت مستخدم واجهة برمجة تطبيقات HTTP
  2. قم بتمكين تسجيل أحداث الاتصال في علامة التبويب المتقدمة
  3. قم بتنزيل ثم استخراج ملف SendSms.pl.zip
  4. افتح ملف sendsms.pl في أي محرر نصوص
  5. شغّل تطبيق Ozeki SMS Gateway
  6. شغّل كود بيرل SendSms.pl في موجه الأوامر
  7. تحقق من السجلات لمعرفة ما إذا تم إرسال الرسالة القصيرة

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

لإمكانية إرسال الرسائل القصيرة من Perl، تحتاج أولاً إلى تثبيت بوابة Ozeki للرسائل القصيرة. يمكن تثبيت بوابة الرسائل القصيرة على نفس الكمبيوتر حيث تقوم بتطوير كود Perl في المفكرة أو Visual Studio Code. بعد التثبيت، تكون الخطوة التالية هي ربط بوابة Ozeki للرسائل القصيرة بشبكة الهاتف المحمول. يمكنك إنشاء مستخدم لواجهة برمجة تطبيقات الرسائل القصيرة عبر HTTP. قم بإنشاء مستخدم باسم مستخدم "http_user"، وكلمة مرور "qwe123" لجعل المثال يعمل دون تعديل.

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

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

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

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

مصادقة HTTP لإرسال الرسائل القصيرة من Perl

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

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

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

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

طلب HTTP لإرسال الرسائل القصيرة من Perl

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

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 التي يتلقاها مثال 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: 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"
	    }
	  ]
	}
}
	

قم بتوصيل بوابة الرسائل القصيرة الخاصة بك بشبكة الهاتف المحمول وإنشاء حساب مستخدم لـ واجهة برمجة التطبيقات HTTP

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

الفيديو 3 - ما هي عملية إنشاء حساب مستخدم جديد لواجهة برمجة التطبيقات HTTP (فيديو تعليمي)

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

يوضح لك هذا الفيديو كيفية تنزيل ملف SendSms.pl.zip من هذه الصفحة، وكيفية فتح ملف SendSms.pl في المفكرة. إذا شاهدت الفيديو، ستلاحظ أن محتويات ملف SendSms.pl المضغوط موضوعة على سطح مكتب Windows. ستشاهد أيضًا أننا نفتح ملف SendSms.pl باستخدام المفكرة في Windows.

الفيديو 4 - كيفية تنزيل وإعداد الحل أعلاه

مثال على إرسال رسائل SMS بـ Perl: SendSms.pl

في الشكل 1، يمكنك رؤية الكود المصدري لمشروع المثال. إذا كنت معتادًا على لغة البرمجة Perl، فلا تتردد في تعديل الكود كما يحلو لك. سيقوم هذا الكود بإرسال رسالة SMS إلى رقم الهاتف المخزن في المتغير toAddress، مع النص المخزن في المتغير Text.

الشكل 3 - ملف SendSms.pl

كيفية التحقق من قبول HTTP user لرسالة SMS

بعد إرسال الرسالة القصيرة، من الجيد التحقق من بوابة الرسائل القصيرة الخاصة بك، لمعرفة ما تم استلامه. يمكنك التحقق من السجل عن طريق فتح تفاصيل مستخدم HTTP من وحدة تحكم إدارة Ozeki SMS Gateway. يوضح لك الفيديو التالي ما الذي تبحث عنه.

الفيديو 5 - كيفية إرسال رسائل SMS باستخدام كود Perl أعلاه (فيديو تعليمي)

كيفية التحقق من إرسال الرسالة القصيرة إلى شبكة الهاتف المحمول

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

الفيديو 6 - كيفية اختبار ما إذا كان العميل SMPP قد قبل الطلب (فيديو تعليمي)

كيف يبدو استلام رسالة SMS على هاتف Android (فيديو تعليمي)

في هذا الفيديو، سترى كيف يبدو استلام رسالة SMS على جهاز Android. سيبدأ بصفحة رئيسية عادية لـ Android. سترى الإشعار يظهر ثم تطبيق الرسائل المفتوح مع الرسالة SMS مرئية فيه. الفيديو مدته 18 ثانية فقط، لكنه يعرض العملية بأكملها.

الفيديو 7 - كيف يبدو استلام رسالة SMS على جهاز Android (فيديو تعليمي)

الختام

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

تابع القراءة على صفحة البرامج التعليمية لـ Ozeki حيث يمكنك العثور على المزيد من المعلومات حول موضوعات مثل جدولة رسائل SMS بـ Perl.

الشيء الوحيد المتبقي الآن هو تنزيل Ozeki SMS Gateway والبدء في العمل!

More information