كيفية استقبال الرسائل القصيرة من Tcl/Tk
أبسط طريقة لاستقبال الرسائل القصيرة من Tcl/Tk هي استخدام واجهة برمجة تطبيقات HTTP/Rest المدمجة في بوابة Ozeki SMS. عند استخدام هذه الواجهة، ستقوم بإرسال رسائل SMS عن طريق إرسال طلب HTTP Get إلى بوابة الرسائل القصيرة. سيحتوي طلب HTTP Get على اسم المجلد الذي نريد استقبال الرسائل القصيرة منه. ستقوم بوابة الرسائل القصيرة بإرسال الرسائل إلى عميل Tcl/Tk API، وسيتم إرجاع استجابة HTTP 200 OK لطلبك.
كود Tcl/Tk لإرسال رسائل SMS إلى الهاتف المحمول
يوضح مثال كود Tcl/Tk للرسائل القصيرة أدناه كيف يمكنك استقبال الرسائل القصيرة باستخدام واجهة برمجة تطبيقات HTTP Rest الخاصة ببوابة Ozeki SMS باستخدام مكتبة Ozeki.Libs.Rest في Tcl/Tk. هذه المكتبة مقدمة لك مجانًا، ويمكنك استخدامها وتعديلها في أي من مشاريعك.
ReceiveSms.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 api [ MessageApi new $configuration ] set result [ $api downloadIncoming ] puts [ $result toString ] for { set i 0 } { $i < [ llength [ $result getMessages ] ] } { incr i } { puts [ [ lindex [ $result getMessages ] $i ] toString ] }
كيفية استخدام مثال Tcl/Tk للرسائل القصيرة:
يمكن استخدام مثال Tcl/Tk للرسائل القصيرة هذا في أي تطبيق Tcl/Tk. لاستخدامه، يجب عليك إضافة ملف Ozeki.Libs.Rest.tcl إلى مشروعك. بعد إضافة الملف، يجب وضع توجيه source Ozeki.Libs.Rest.tcl في قسم الرأس من كود Tcl/Tk المصدر الخاص بك. سيسمح لك ذلك باستخدام الفئات المقدمة من مكتبة Ozeki.Libs.Rest. يمكنك استخدام فئة Message لإنشاء الرسالة القصيرة. يمكنك استخدام فئة MessageApi لإرسال الرسالة القصيرة إلى بوابة الرسائل القصيرة. ستقوم بوابة الرسائل القصيرة بإعادة توجيه رسالتك إلى شبكة الهاتف المحمول إما عبر اتصال لاسلكي أو عبر الإنترنت.
تحميل ReceiveSms.tcl
يمكن تنزيل كود المصدر الموضح في هذه المقالة واستخدامه وتعديله مجانًا.
تحميل: ReceiveSms.tcl.zip (4.1 كيلوبايت)
ما الموجود في ملف ReceiveSms.tcl.zip؟
يحتوي ملف ReceiveSms.tcl.zip على مكتبة Ozeki.Libs.Rest، والتي تمنحك جميع الأدوات اللازمة لإرسال واستقبال رسائل SMS. ستجد أيضًا مشروع ReceiveSms في الملف المضغوط، والذي يحتوي على كود المثال ليوضح لك كيفية إرسال رسالة SMS. تم سرد كود المثال هذا أدناه.
كيفية إرسال رسائل SMS من Tcl/Tk (إرشادات بسيطة)
لإرسال رسائل SMS من Tcl/Tk:
- قم بتثبيت مستخدم HTTP API
- قم بتمكين تسجيل أحداث الاتصال في علامة التبويب المتقدمة
- قم بتنزيل وتثبيت مكتبة Tcllib
- قم بتنزيل ثم استخراج ملف ReceiveSms.tcl.zip
- افتح ملف ReceiveSms.tcl في محرر نصوص
- قم بتشغيل تطبيق Ozeki SMS Gateway
- قم بتشغيل كود Tcl/Tk ReceiveSms.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 لإرسال رسائل SMS من Tcl/Tk
لإرسال رسائل SMS، تحتاج إلى تضمين الأسطر التالية كرؤوس في طلب HTTP. لاحظ أننا ندرج نوع المحتوى ورأس المصادقة.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
طلب HTTP لإرسال رسالة SMS من Tcl/Tk
لإرسال الرسالة القصيرة، سيقوم تطبيق Tcl/Tk الخاص بك بإرسال طلب HTTP مشابه للطلب أدناه. لاحظ أن هذا الطلب يحتوي على رأس HTTP يتضمن اسم المجلد الذي نريد استقبال الرسائل منه، واسم المستخدم وكلمة المرور المشفرة بـ base64.
GET /api?action=receivemsg&folder=inbox 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
استجابة HTTP المستلمة من مثال Tcl/Tk لرسائل SMS
بمجرد أن يتلقى بوابة الرسائل القصيرة هذا الطلب، سيقوم بإنشاء استجابة 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 10:11:34 GMT Connection: close { "http_code": 200, "response_code": "SUCCESS", "response_msg": "", "data": { "folder": "inbox", "limit": "1000", "data": [ { "message_id": "82469c20-8f97-4c72-9d2f-d8224d30722a", "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-08-04 12:11:28", "valid_until": "2021-08-11 12:11:28", "time_to_send": "2021-08-04 12:11:28", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ] }, { "message_id": "5172aae1-f708-12ca-9115-2d202a084a13", "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-08-04 12:11:28", "valid_until": "2021-08-11 12:11:28", "time_to_send": "2021-08-04 12:11:28", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ] }, { "message_id": "d5843a47-0ff6-ed10-8875-1c2e6ef8cefc", "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-08-04 12:11:28", "valid_until": "2021-08-11 12:11:28", "time_to_send": "2021-08-04 12:11:28", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ] } ] } }
كيفية إرسال رسالة SMS من Tcl/Tk باستخدام واجهة برمجة تطبيقات Tcl/Tk لرسائل SMS (فيديو تعليمي)
يُظهر لك هذا الفيديو كيفية تنزيل ملف ReceiveSms.tcl.zip من هذه الصفحة، وكيفية تنزيل محتوياته في محرر نصوص. إذا شاهدت الفيديو، ستلاحظ أن محتويات ملف ReceiveSms.tcl المضغوط توضع في سطح المكتب. ستشاهد أيضًا أننا نضغط مرتين على ملف ReceiveSms.tcl لفتح نص Tcl.
مثال Tcl/Tk لرسائل SMS: ReceiveSms.tcl
كود المثال أدناه هو جزء من ملف ReceiveSms.tcl.zip. في الملف المضغوط يمكنك العثور على ملفين: ReceiveSms.tcl و Ozeki.Libs.Rest.tcl.
كيفية التحقق من قبول HTTP user لرسالة SMS (فيديو تعليمي)
بعد إرسال الرسالة القصيرة، من الجيد التحقق من بوابة الرسائل القصيرة الخاصة بك، لمعرفة ما تم استلامه. يمكنك التحقق من السجل عن طريق فتح تفاصيل مستخدم 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