كيفية جدولة رسالة SMS في Tcl/Tk
أبسط طريقة لإرسال رسائل SMS مجدولة من Tcl/Tk هي استخدام واجهة برمجة تطبيقات HTTP/Rest المدمجة في Ozeki SMS Gateway. عند استخدام هذه الواجهة، ستقوم بإرسال رسائل SMS عن طريق إرسال طلب HTTP Post إلى بوابة الرسائل. سيحتوي طلب HTTP Post على رسالة مُنسقة بتنسيق json. ستقوم بوابة الرسائل بإرسال هذه الرسالة إلى هاتف المستلم، وسيتم إرجاع استجابة HTTP 200 OK لطلبك.
كود Tcl/Tk لإرسال رسالة SMS إلى الهاتف المحمول
يوضح عينة كود Tcl/Tk لإرسال الرسائل القصيرة أدناه كيف يمكنك إرسال رسائل SMS مجدولة باستخدام واجهة برمجة تطبيقات HTTP Rest الخاصة بـ Ozeki SMS Gateway باستخدام مكتبة Ozeki.Libs.Rest في Tcl/Tk. هذه المكتبة مقدمة لك مجانًا، ويمكنك استخدامها وتعديلها في أي من مشاريعك.
SendScheduledSms.tclsource Ozeki.Libs.Rest.tcl set configuration [ Configuration new ] $configuration setUsername "http_user" $configuration setPassword "qwe123" $configuration setApiUrl "http://127.0.0.1:9509/api" set msg [ Message new ] $msg setToAddress "+36201111111" $msg setText "Hello world!" $msg setTimeToSend "2021-08-03 12:00:00" set api [ MessageApi new $configuration ] set result [ $api send $msg ] puts [ $result toString ]
كيفية استخدام مثال Tcl/Tk لإرسال الرسائل القصيرة:
يمكن استخدام مثال Tcl/Tk لإرسال الرسائل القصيرة في أي تطبيق Tcl/Tk. لاستخدامه، يجب عليك إضافة ملف Ozeki.Libs.Rest.tcl إلى مشروعك. بعد إضافة الملف، يجب وضع توجيه source Ozeki.Libs.Rest.tcl في قسم الرأس من كود المصدر Tcl/Tk الخاص بك. سيسمح لك ذلك باستخدام الفئات المقدمة من مكتبة Ozeki.Libs.Rest. يمكنك استخدام فئة Message لإنشاء الرسالة القصيرة. يمكنك استخدام فئة MessageApi لإرسال الرسالة القصيرة إلى بوابة الرسائل. ستقوم بوابة الرسائل بإعادة توجيه رسالتك إلى شبكة الهاتف المحمول إما عبر اتصال لاسلكي أو عبر الإنترنت.
تحميل SendScheduledSms.tcl
يمكن تنزيل كود المصدر الموضح في هذه المقالة واستخدامه وتعديله مجانًا.
تحميل: SendScheduledSms.tcl.zip (4.17 كيلوبايت)
ما الموجود في ملف SendScheduledSms.tcl.zip؟
يحتوي ملف SendScheduledSms.tcl.zip على مكتبة Ozeki.Libs.Rest، والتي تمنحك جميع الأدوات اللازمة لإرسال واستقبال رسائل SMS. ستجد أيضًا مشروع SendScheduledSms في الملف المضغوط، والذي يحتوي على كود المثال ليوضح لك كيفية إرسال رسالة SMS. يتم سرد كود المثال هذا أدناه.
كيفية إرسال رسالة SMS من Tcl/Tk (إرشادات بسيطة)
لإرسال رسالة SMS من Tcl/Tk:
- تثبيت مستخدم HTTP API
- تمكين تسجيل أحداث الاتصال في علامة التبويب المتقدمة
- تنزيل وتثبيت مكتبة Tcllib
- تنزيل ثم استخراج ملف SendScheduledSms.tcl.zip
- فتح ملف SendScheduledSms.tcl في محرر نصوص
- تشغيل تطبيق Ozeki SMS Gateway
- تشغيل كود Tcl/Tk SendScheduledSms.tcl في الطرفية
- التحقق من السجلات لمعرفة ما إذا تم إرسال الرسالة القصيرة
تثبيت Ozeki SMS Gateway وإنشاء مستخدم HTTP API
لتتمكن من إرسال رسائل SMS من Tcl/Tk، تحتاج أولاً إلى إنشاء مستخدم HTTP SMS API. قم بإنشاء مستخدم باسم مستخدم "http_user" وكلمة مرور "qwe123" لجعل المثال يعمل دون تعديل.
بعد إعداد البيئة، يمكنك تشغيل كود Tcl/Tk الخاص بك.
رابط HTTP API لاستخدام إرسال رسالة SMS من Tcl/Tk
لإرسال رسائل SMS من Tcl/Tk، سيتعين على Tcl/Tk إصدار طلب HTTP إلى بوابة الرسائل. يظهر رابط API أدناه. لاحظ أنه يجب استبدال عنوان IP (127.0.0.1) بعنوان IP الخاص ببوابة الرسائل. إذا كان Ozeki SMS Gateway مثبتًا على نفس الكمبيوتر الذي يعمل عليه تطبيق Tcl/Tk لإرسال الرسائل القصيرة، فيمكن أن يكون هذا 127.0.0.1. إذا كان مثبتًا على كمبيوتر مختلف، فيجب أن يكون عنوان IP لهذا الكمبيوتر.
http://127.0.0.1:9509/api?action=rest
مصادقة HTTP لاستخدام إرسال رسالة SMS من Tcl/Tk
لمصادقة عميل Tcl/Tk لإرسال الرسائل القصيرة، تحتاج إلى إرسال اسم المستخدم وكلمة المرور في سلسلة مشفرة بـ base64 إلى الخادم في طلب HTTP. التنسيق المستخدم هو: base64(username+":"+password). في Tcl/Tk، يمكنك استخدام الكود التالي لإجراء هذا التشفير:
set usernamePassword "$username:$password" set usernamePasswordEncoded [ binary encode base64 $usernamePassword ] return "Basic $usernamePasswordEncoded"
على سبيل المثال، إذا قمت بتشفير اسم المستخدم 'http_user' وكلمة المرور 'qwe123'، فستحصل على السلسلة المشفرة بـ base64 التالية: aHR0cF91c2VyOnF3ZTEyMw==. للإرسال
رأس طلب HTTP لإرسال الرسائل القصيرة من Tcl/Tk
لإرسال الرسائل القصيرة، تحتاج إلى تضمين الأسطر التالية كرؤوس في طلب HTTP. لاحظ أننا ندرج نوع المحتوى ورأس التفويض.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
طلب HTTP لإرسال الرسائل القصيرة من Tcl/Tk
لإرسال الرسالة القصيرة، سيقوم تطبيق Tcl/Tk الخاص بك بإرسال طلب HTTP مشابه للطلب أدناه. لاحظ أن هذا الطلب يتضمن جزءًا من رأس HTTP وجزءًا من نص HTTP. نص HTTP هو سلسلة بيانات مشفرة بتنسيق JSON. يحتوي على رقم المستلم ونص الرسالة والوقت الذي نريد إرسال الرسالة فيه.
POST /api?action=sendmsg HTTP/1.1 Host: 127.0.0.1:9509 User-Agent: Mozilla/5.0 (Windows; U; Windows NT 10.0) http/2.9.0 Tcl/8.6.9 Connection: close Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Accept: */* Accept-Encoding: gzip,deflate,compress Content-Type: application/json Content-Length: 321 { "messages": [ { "message_id": "6d862e85-e8e0-4cad-b8bc-42513c7b8e94", "to_address": "+36201111111", "text": "Hello world!", "create_date": "2021-08-04T11:40:38", "valid_until": "2021-08-11T11:40:38", "time_to_send": "2021-08-03 12:00:00", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true } ] }
استجابة HTTP المستلمة من مثال الرسائل القصيرة في Tcl/Tk
بمجرد أن يستقبل بوابة الرسائل القصيرة هذا الطلب، ستقوم بإنشاء استجابة HTTP. ستحتوي استجابة HTTP على رمز حالة، للإشارة إلى ما إذا كان طلب إرسال الرسالة القصيرة ناجحًا أم لا. كما ستعود أيضًا بهيكل مشفر بتنسيق JSON لتزويدك بتفاصيل مفيدة حول إرسال الرسالة.
HTTP/1.1 200 OK Transfer-Encoding: chunked Content-Type: application/json; charset=utf8 Last-Modified: Wed, 04 Aug 2021 08:44:43 GMT Server: 10/10.3.124 Microsoft-HTTPAPI/2.0 User-Agent: OZEKI 10.3.124 (www.myozeki.com) Access-Control-Allow-Origin: * Date: Wed, 04 Aug 2021 09:40:38 GMT Connection: close { "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": "6d862e85-e8e0-4cad-b8bc-42513c7b8e94", "from_station": "%", "to_address": "+36201111111", "to_station": "%", "text": "Hello world!", "create_date": "2021-08-04 11:40:38", "valid_until": "2021-08-11 11:40:38", "time_to_send": "2021-08-03 12:00:00", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" } ] } }
كيفية إرسال الرسائل القصيرة من Tcl/Tk باستخدام واجهة برمجة تطبيقات الرسائل القصيرة في Tcl/Tk (فيديو تعليمي)
يُظهر لك هذا الفيديو كيفية تنزيل ملف SendScheduledSms.tcl.zip من هذه الصفحة، وكيفية تنزيل محتوياته في محرر نصوص. إذا شاهدت الفيديو، ستلاحظ أن محتويات ملف SendScheduledSms.tcl المضغوط توضع على سطح المكتب. ستشاهد أيضًا أننا نضغط مرتين على ملف SendScheduledSms.tcl لفتح نص Tcl.
مثال الرسائل القصيرة في Tcl/Tk: SendScheduledSms.tcl
كود المثال أدناه هو جزء من ملف SendScheduledSms.tcl.zip. في الملف المضغوط ستجد ملفين: SendScheduledSms.tcl و Ozeki.Libs.Rest.tcl.
كيفية التحقق من قبول الرسالة القصيرة من قبل مستخدم HTTP (فيديو تعليمي)
بعد إرسال الرسالة القصيرة، من الجيد التحقق من بوابة الرسائل القصيرة الخاصة بك، لمعرفة ما تم استلامه. يمكنك التحقق من السجل عن طريق فتح تفاصيل مستخدم HTTP من وحدة تحكم إدارة بوابة Ozeki للرسائل القصيرة. يُظهر لك الفيديو التالي ما الذي تبحث عنه. سيبدأ الفيديو بالكود المفتوح وسينتهي بتفاصيل الرسالة المرسلة. ستتعلم كيفية إطلاق المشروع، وكيف يبدو المشروع أثناء التشغيل وكيف يبدو ملف السجل بعد ذلك. يستغرق الفيديو 42 ثانية فقط وسهل الفهم. لن تواجه أي مشكلة في متابعته.
More information
- إرسال SMS باستخدام Tcl/Tk مع واجهة برمجة التطبيقات REST (HTTP) (عينة كود)
- إرسال عدة رسائل SMS باستخدام Tcl/Tk مع واجهة برمجة التطبيقات REST (HTTP) (عينة كود)
- جدولة SMS باستخدام Tcl/Tk مع واجهة برمجة التطبيقات REST (HTTP) (عينة كود)
- استقبال SMS باستخدام Tcl/Tk مع واجهة برمجة التطبيقات REST (HTTP) (عينة كود)
- حذف SMS باستخدام Tcl/Tk مع واجهة برمجة التطبيقات REST (HTTP) (عينة كود)
- كيفية تنزيل أحدث مكتبة Tcl/Tk SMS من Github