كيفية جدولة رسالة SMS في Perl
أبسط طريقة لإرسال رسائل SMS من Perl هي استخدام واجهة برمجة تطبيقات HTTP/Rest المدمجة في Ozeki SMS Gateway. عند استخدام هذه الواجهة، ستقوم بإرسال رسائل SMS عن طريق إرسال طلب HTTP Post إلى بوابة الرسائل. سيحتوي طلب HTTP Post على رسالة مُنسقة بتنسيق json. ستقوم بوابة الرسائل بإرسال هذه الرسالة إلى هاتف المستلم، وستعيد رد HTTP 200 OK إلى طلبك.
كود Perl لإرسال رسالة SMS مجدولة إلى الهاتف المحمول
يوضح مثال كود Perl لإرسال SMS أدناه كيف يمكنك إرسال رسائل SMS باستخدام واجهة برمجة تطبيقات HTTP Rest الخاصة بـ Ozeki SMS Gateway باستخدام مكتبة Perl Ozeki.Libs.Rest. هذه المكتبة مقدمة لك مجانًا، ويمكنك استخدامها وتعديلها في أي من مشاريعك.
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);
كيفية استخدام مثال Perl لإرسال SMS:
يمكن استخدام مثال Perl لإرسال SMS في أي تطبيق Perl. لاستخدامه، يجب عليك إضافة مكتبة Ozeki.Libs.Rest إلى مشروعك. بعد إضافة المكتبة، يجب وضع التوجيه using Ozeki.Libs.Rest; في قسم الرأس من كود Perl المصدر. سيسمح لك ذلك باستخدام الفئات المقدمة من مكتبة Ozeki.Libs.Rest. يمكنك استخدام فئة Message لإنشاء الرسالة. يمكنك استخدام فئة MessageApi لإرسال الرسالة المجدولة إلى بوابة الرسائل. ستقوم بوابة الرسائل بإعادة توجيه رسالتك إلى شبكة الهاتف المحمول إما عبر اتصال لاسلكي أو عبر الإنترنت.
تحميل SendScheduledSms.pl
يمكن تنزيل كود المصدر الموضح في هذه المقالة واستخدامه وتعديله مجانًا.
تحميل: SendScheduledSms.pl.zip (76.1 كيلوبايت)
ما الموجود في ملف SendScheduledSms.pl؟
يحتوي ملف SendScheduledSms.pl على مكتبة Ozeki.Libs.Rest، والتي توفر لك جميع الأدوات اللازمة لإرسال واستقبال رسائل SMS. ستجد أيضًا ملف SendScheduledSms.pl في الأرشيف، والذي يحتوي على كود المثال ليوضح لك كيفية إرسال رسالة SMS مجدولة. يتم سرد كود المثال هذا أدناه.
كيفية إرسال رسالة SMS مجدولة من Perl (إرشادات بسيطة)
لإرسال رسالة SMS مجدولة من Perl:
- تثبيت مستخدم واجهة برمجة تطبيقات HTTP
- تحميل ملف SendScheduledSms.pl.zip
- استخراج ملف .zip من مجلد التنزيلات
- فتح ملف SendScheduledSms.pl في محرر نصوص
- تعديل الملف لجدولة رسالة SMS من Perl
- تشغيل Ozeki SMS Gateway
- تشغيل SendScheduledSms.pl باستخدام موجه الأوامر
- فحص السجلات
تثبيت Ozeki SMS Gateway وإنشاء مستخدم واجهة برمجة تطبيقات HTTP
لتتمكن من إرسال رسائل SMS من Perl، تحتاج أولاً إلى إنشاء مستخدم لواجهة برمجة تطبيقات HTTP. قم بإنشاء مستخدم باسم مستخدم "http_user"، وكلمة مرور "qwe123" لجعل المثال يعمل دون تعديل.
بعد إعداد البيئة، يمكنك تشغيل كود Perl الخاص بك.
رابط واجهة برمجة تطبيقات HTTP لإرسال رسائل SMS من Perl
لإرسال رسائل SMS من Perl، سيتعين على Perl إصدار طلب HTTP إلى بوابة الرسائل. يظهر رابط واجهة برمجة التطبيقات أدناه. لاحظ أنه يجب استبدال عنوان IP (127.0.0.1) بعنوان IP الخاص ببوابة الرسائل. إذا كان Ozeki SMS Gateway مثبتًا على نفس الكمبيوتر الذي يعمل عليه تطبيق Perl لإرسال الرسائل، فيمكن أن يكون هذا 127.0.0.1. إذا كان مثبتًا على كمبيوتر مختلف، فيجب أن يكون عنوان IP الخاص بهذا الكمبيوتر.
http://127.0.0.1:9509/api?action=rest
مصادقة HTTP لإرسال رسائل SMS من 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 لإرسال الرسائل القصيرة من C#
لإرسال الرسائل القصيرة، تحتاج إلى تضمين الأسطر التالية كرؤوس في طلب 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: 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 المستلمة من مثال 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": "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 للرسائل القصيرة: SendScheduledSms.pl (فيديو تعليمي)
في هذا الفيديو، ستتعلم عن عملية تنزيل ملف مشروع SendScjheduledSMS.pl. سيبدأ الفيديو بتنزيل مجلد المشروع. وسيأخذك إلى الحصول على النظام الكامل الذي يمكنك البدء في استخدامه. سترى ما تحتاج إلى تعديله في المحطة. يبلغ طول الفيديو دقيقة و36 ثانية فقط ولكنه مفصل للغاية. لن تواجه أي مشكلة في اتباع الخطوات.
كود المثال
كود المثال أدناه هو جزء من SendScheduledSms.pl.zip. سيقوم هذا الكود بإرسال رسائل قصيرة مجدولة إلى الرقم المخزن في المتغير 'ToAddress'. سيكون نص الرسائل هو النصوص في المتغير 'Text'. قم بتشغيل الكود لإرسال جميع الرسائل إلى جميع المستلمين. إذا كنت معتادًا على لغة البرمجة Perl، فلا تتردد في تعديل الكود حسب رغبتك.
كيفية استخدام الكود (فيديو تعليمي)
في هذا الفيديو، ستتعلم عن عملية تشغيل الكود وإرسال الرسائل القصيرة إلى المستلم. سيبدأ الفيديو بالكود المفتوح وسينتهي بسجل الرسائل المرسلة. في نهاية الفيديو، سترى مجلدًا في بوابة Ozeki للرسائل القصيرة، بعنوان الرسائل المؤجلة. في المجلد، ستجد جميع الرسائل المرسلة. يبلغ طول الفيديو دقيقة واحدة فقط، وهو يرشدك عبر جميع الخطوات التي تحتاج إلى اتخاذها لإرسال الرسائل المؤجلة. تقدم بوابة Ozeki للرسائل القصيرة واجهة مستخدم بديهية للغاية، لذلك لن تواجه أي مشكلة في اتباع الخطوات.
ملخص
كان الغرض من هذه المقالة هو عرض خطوات جدولة الرسائل القصيرة (SMS) في لغة Perl بمساعدة بوابة Ozeki للرسائل القصيرة. هذا الحل يتيح تأجيل الرسائل، مما يمكن أن يكون مفيدًا جدًا عندما تريد التأكد من أنك لا تزعج العملاء عندما يكونون مشغولين. من خلال القيام بذلك، يمكنك تحقيق صورة ودودة للعملاء وتحسين الكفاءة. من المرجح أن يقرأ العملاء الرسائل عندما يكون لديهم وقت فراغ للقيام بذلك. يجب أيضًا أن يُذكر أن بوابة Ozeki للرسائل القصيرة تتيح لك إدارة تكاليف الرسائل القصيرة وتتبع حركة المرور الخاصة بها.
تأكد من أن القراءة لا تنتهي هنا، قم بزيارة صفحة البرامج التعليمية لـ Ozeki حيث يمكن العثور على المزيد من المعلومات حول مواضيع مثل حذف الرسائل القصيرة في Perl.
الشيء الوحيد المتبقي الآن هو تحميل بوابة 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