كيفية إرسال رسائل SMS متعددة من Perl
أسهل طريقة لإرسال رسائل SMS متعددة من Perl هي استخدام واجهة برمجة تطبيقات HTTP/Rest المدمجة في Ozeki SMS Gateway. عند استخدام هذه الواجهة، ستقوم بإرسال رسائل SMS عن طريق إرسال طلب HTTP Post إلى بوابة SMS. سيحتوي طلب HTTP Post على رسالة مُنسقة بتنسيق json. ستقوم بوابة SMS بإرسال هذه الرسالة إلى هاتف المستلم، وسيتم إرجاع استجابة HTTP 200 OK لطلبك.
كود Perl لإرسال رسائل SMS متعددة إلى الهاتف المحمول
يوضح مثال كود Perl لرسائل SMS أدناه كيفية إرسال SMS باستخدام واجهة برمجة تطبيقات HTTP Rest لـ Ozeki SMS Gateway باستخدام مكتبة Perl Ozeki.Libs.Rest. هذه المكتبة مقدمة لك مجانًا، ويمكنك استخدامها وتعديلها في أي من مشاريعك.
SendMultipleSms.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 $msg1 = new Ozeki::Libs::Rest::Message(); $msg1->{ ToAddress } = "+36201111111"; $msg1->{ Text } = "Hello world 1"; my $msg2 = new Ozeki::Libs::Rest::Message(); $msg2->{ ToAddress } = "+36202222222"; $msg2->{ Text } = "Hello world 2"; my $msg3 = new Ozeki::Libs::Rest::Message(); $msg3->{ ToAddress } = "+36203333333"; $msg3->{ Text } = "Hello world 3"; my $api = new Ozeki::Libs::Rest::MessageApi($configuration); my $result = $api->Send(( $msg1, $msg2, $msg3 )); print($result->stringify);
كيفية استخدام مثال Perl لرسائل SMS:
يمكن استخدام هذا مثال Perl لرسائل SMS في أي تطبيق Perl. لاستخدامه، يجب عليك إضافة مكتبة Ozeki.Libs.Rest إلى مشروعك. بعد إضافة المكتبة، يجب وضع التوجيه using Ozeki.Libs.Rest; في قسم الرأس من كود Perl المصدر الخاص بك. سيسمح لك ذلك باستخدام الفئات المقدمة من مكتبة Ozeki.Libs.Rest. يمكنك استخدام فئة Message لإنشاء الرسالة SMS. يمكنك استخدام فئة MessageApi لإرسال رسائل SMS إلى بوابة SMS. ستقوم بوابة SMS بإعادة توجيه رسالتك إلى شبكة الهاتف المحمول إما عبر اتصال لاسلكي أو عبر الإنترنت.
تحميل SendMultipleSms.pl
يمكن تنزيل كود المصدر الموضح في هذه المقالة واستخدامه وتعديله مجانًا.
تحميل: SendMultipleSms.pl.zip (76.1Kb)
ما الموجود في ملف SendMultipleSms.pl؟
يحتوي ملف SendMultipleSms.pl على مكتبة Ozeki.Libs.Rest، والتي تمنحك جميع الأدوات اللازمة لإرسال واستقبال رسائل SMS. ستجد أيضًا ملف SendMultipleSms في ملف zip، والذي يحتوي على كود المثال ليوضح لك كيفية إرسال رسالة SMS. يتم سرد كود المثال هذا أدناه.
كيفية إرسال رسائل SMS متعددة من Perl (خطوات سريعة)
لإرسال رسائل SMS متعددة من Perl:
- إعداد Strawberry Perl
- تحميل ملف SendMultipleSms.pl.zip
- استخراج ملف .zip من مجلد التنزيلات
- فتح ملف SendSms.pl في Notepad أو Visual Studio Code
- تشغيل Ozeki SMS Gateway
- إنشاء مستخدم HTTP API في Ozeki
- تشغيل كود Perl SendMultipleSms.pl في موجه الأوامر
- التحقق من صندوق Sent في Ozeki SMS Gateway
تثبيت Ozeki SMS Gateway وإنشاء مستخدم HTTP API
لتتمكن من إرسال SMS من Perl، تحتاج أولاً إلى إنشاء مستخدم HTTP SMS API. قم بإنشاء مستخدم باسم مستخدم "http_user"، وكلمة مرور "qwe123" لجعل المثال يعمل دون تعديل.
بعد إعداد البيئة، يمكنك تشغيل كود Perl الخاص بك.
رابط HTTP API لاستخدام إرسال SMS من Perl
لإرسال SMS من Perl، سيتعين على Perl الخاص بك إرسال طلب HTTP إلى بوابة SMS. يظهر رابط API أدناه. لاحظ أنه يجب استبدال عنوان IP (127.0.0.1) بعنوان IP الخاص ببوابة SMS. إذا تم تثبيت Ozeki SMS Gateway على نفس الكمبيوتر الذي يعمل عليه تطبيق Perl لرسائل SMS، فيمكن أن يكون هذا 127.0.0.1. إذا تم تثبيته على كمبيوتر مختلف، فيجب أن يكون عنوان IP لذلك الكمبيوتر.
http://127.0.0.1:9509/api?action=rest
مصادقة HTTP لاستخدام إرسال SMS من Perl
لمصادقة عميل Perl لرسائل SMS، تحتاج إلى إرسال اسم المستخدم وكلمة المرور في سلسلة مشفرة 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 لإرسال الرسائل القصيرة من بيرل
لإرسال الرسائل القصيرة، تحتاج إلى تضمين الأسطر التالية كرؤوس في طلب HTTP. لاحظ أننا نضمن نوع المحتوى ورأس التخويل.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
طلب HTTP لإرسال الرسائل القصيرة من بيرل
لإرسال الرسالة القصيرة، سيقوم تطبيق بيرل الخاص بك بإرسال طلب HTTP مشابه للطلب أدناه. لاحظ أن هذا الطلب يحتوي على جزء رأس HTTP وجزء جسم HTTP. جسم HTTP هو سلسلة بيانات مشفرة بتنسيق JSON. يحتوي على رقم المستلم ونص الرسالة.
استجابة HTTP المستلمة من مثال بيرل للرسائل القصيرة
بمجرد أن يتلقى بوابة الرسائل القصيرة هذا الطلب، سيقوم بإنشاء استجابة 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": "Messages queued for delivery.", "data": { "total_count": 3, "success_count": 3, "failed_count": 0, "messages": [ { "message_id": "ab4c1e78-db41-11eb-8298-c00c4d4e2ea7", "from_station": "%", "to_address": "+36201111111", "to_station": "%", "text": "مرحبا بالعالم 1", "create_date": "2021-07-02 14:27:45", "valid_until": "2021-07-09 14:27:45", "time_to_send": "2021-07-02 14:27:45", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" }, { "message_id": "ab4c4523-db41-11eb-838d-c00c4d4e2ea7", "from_station": "%", "to_address": "+36202222222", "to_station": "%", "text": "مرحبا بالعالم 2", "create_date": "2021-07-02 14:27:45", "valid_until": "2021-07-09 14:27:45", "time_to_send": "2021-07-02 14:27:45", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" }, { "message_id": "ab4c59cd-db41-11eb-82c0-c00c4d4e2ea7", "from_station": "%", "to_address": "+36203333333", "to_station": "%", "text": "مرحبا بالعالم 3", "create_date": "2021-07-02 14:27:45", "valid_until": "2021-07-09 14:27:45", "time_to_send": "2021-07-02 14:27:45", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" } ] }
مثال بيرل للرسائل القصيرة: SendMultipleSms.pl
في هذا الفيديو، سترى عملية تنزيل وإعداد مشروع SendMultipleSMS.pl. سيبدأ بتنزيل المشروع وينتهي بإتمام الإعداد. ستتعلم جميع خطوات عملية الإعداد التي تحتاج إلى القيام بها للحصول على حل يعمل. طول الفيديو هو 1:44 دقيقة ولكنه يوضح جميع الخطوات بطريقة مفصلة جدًا. بعد مشاهدته، يمكنك تنزيل وإعداد الحل بنفسك.
كود المثال
في الشكل 3، يمكنك رؤية كود المثال. هذا الكود سيرسل رسائل قصيرة متعددة إلى مستلمين متعددين. إذا كنت معتادًا على لغة برمجة بيرل، فلا تتردد في تعديل الكود حسب رغبتك. سيرسل الرسائل القصيرة إلى جميع أرقام الهواتف المخزنة كمتغير 'ToAddress'، مع النص المخزن في متغيرات النص.
كيفية استخدام ملف مشروع المثال (فيديو تعليمي)
في هذا الفيديو، سترى مشروع المثال في العمل. سنوضح لك ما تحتاج إلى القيام به لجعل المشروع يرسل رسائل قصيرة متعددة بتشغيل واحد فقط. طول الفيديو هو 1:12 دقيقة فقط ويحتوي على جميع المعلومات التي تحتاجها لبدء تشغيل البرنامج. سيبدأ بالمشروع المفتوح وينتهي بإرسال جميع الرسائل.
ملخص
شرح الدليل أعلاه خطوات إرسال رسائل قصيرة متعددة في بيرل باستخدام بوابة Ozeki للرسائل القصيرة. إذا تم اتباع كل خطوة بعناية، فيجب أن تكون قادرًا على التواصل مع عملاء متعددين باستخدام كود بيرل واحد وبوابة Ozeki للرسائل القصيرة. باستخدام هذا الحل، يمكن لعدد كبير من العملاء تلقي رسائلهم القصيرة في نفس الوقت. من المهم ملاحظة أن بوابة Ozeki للرسائل القصيرة توفر أداءً عاليًا، مما يعني أنها يمكنها إرسال ما يصل إلى 1000 رسالة قصيرة في الثانية.
تأكد من أنك لا تنتهي من القراءة هنا، قم بزيارة صفحة البرامج التعليمية لـ Ozeki حيث يمكنك العثور على المزيد من المعلومات حول مواضيع مشابهة، مثل جدولة الرسائل القصيرة في بيرل.
الشيء الوحيد المتبقي الآن هو تنزيل بوابة Ozeki للرسائل القصيرة والبدء في العمل!
More information
- إرسال SMS باستخدام Perl مع واجهة برمجة التطبيقات REST (HTTP) (عينة كود)
- إرسال عدة رسائل SMS باستخدام Perl مع واجهة برمجة التطبيقات REST (HTTP) (عينة كود)
- جدولة SMS باستخدام Perl مع واجهة برمجة التطبيقات REST (HTTP) (عينة كود)
- استقبال SMS باستخدام Perl مع واجهة برمجة التطبيقات REST (HTTP) (عينة كود)
- حذف SMS باستخدام Perl مع واجهة برمجة التطبيقات REST (HTTP) (عينة كود)
- كيفية تنزيل أحدث مكتبة Perl SMS من Github