كيفية إرسال رسائل 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. هذه المكتبة مقدمة لك مجانًا، ويمكنك استخدامها وتعديلها في أي من مشاريعك.
SendMultipleSms.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 msg1 [ Message new ] $msg1 setToAddress "+36201111111" $msg1 setText "Hello world 1" set msg2 [ Message new ] $msg2 setToAddress "+36202222222" $msg2 setText "Hello world 2" set msg3 [ Message new ] $msg3 setToAddress "+36203333333" $msg3 setText "Hello world 3" set api [ MessageApi new $configuration ] set messages [list] lappend messages $msg1 lappend messages $msg2 lappend messages $msg3 set result [ $api send $messages ] 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 لإرسال الرسالة القصيرة إلى بوابة الرسائل القصيرة. ستقوم بوابة الرسائل القصيرة بإعادة توجيه رسالتك إلى شبكة الهاتف المحمول إما عبر اتصال لاسلكي أو عبر الإنترنت.
تحميل SendMultipleSms.tcl
يمكن تنزيل الكود المصدري الموضح في هذه المقالة واستخدامه وتعديله مجانًا.
تحميل: SendMultipleSms.tcl.zip (4.17 كيلوبايت)
ما الموجود في ملف SendMultipleSms.tcl.zip؟
يحتوي ملف SendMultipleSms.tcl.zip على مكتبة Ozeki.Libs.Rest، والتي تمنحك جميع الأدوات اللازمة لإرسال واستقبال رسائل SMS. ستجد أيضًا مشروع SendMultipleSms في الملف المضغوط، والذي يحتوي على الكود المثال ليوضح لك كيفية إرسال رسالة SMS. هذا الكود المثال مدرج أدناه.
كيفية إرسال رسائل SMS من Tcl/Tk (إرشادات بسيطة)
لإرسال رسائل SMS من Tcl/Tk:
- تثبيت مستخدم واجهة برمجة تطبيقات HTTP
- تمكين تسجيل أحداث الاتصال في علامة التبويب المتقدمة
- تنزيل وتثبيت مكتبة Tcllib
- تنزيل ثم استخراج ملف SendMultipleSms.tcl.zip
- فتح ملف SendMultipleSms.tcl في محرر نصوص
- تشغيل تطبيق Ozeki SMS Gateway
- تشغيل كود Tcl/Tk SendMultipleSms.tcl في الطرفية
- التحقق من السجلات لمعرفة ما إذا تم إرسال الرسائل القصيرة
تثبيت Ozeki SMS Gateway وإنشاء مستخدم واجهة برمجة تطبيقات HTTP
لتتمكن من إرسال رسائل SMS من Tcl/Tk، تحتاج أولاً إلى إنشاء حساب مستخدم لواجهة برمجة تطبيقات HTTP للرسائل القصيرة. قم بإنشاء مستخدم باسم مستخدم "http_user"، وكلمة مرور "qwe123" لجعل المثال يعمل دون تعديل.
بعد إعداد البيئة، يمكنك تشغيل كود Tcl/Tk الخاص بك.
رابط واجهة برمجة تطبيقات HTTP لاستخدام إرسال رسائل SMS من Tcl/Tk
لإرسال رسائل SMS من Tcl/Tk، سيتعين على Tcl/Tk إصدار طلب HTTP إلى بوابة الرسائل القصيرة. يظهر رابط واجهة برمجة التطبيقات أدناه. لاحظ أنه يجب استبدال عنوان 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(اسم المستخدم+":"+كلمة المرور). في 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: 935 { "messages": [ { "message_id": "dbaf5396-a220-424b-bb17-534dc6a92c34", "to_address": "+36201111111", "text": "Hello world 1", "create_date": "2021-08-04T10:28:14", "valid_until": "2021-08-11T10:28:14", "time_to_send": "2021-08-04T10:28:14", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true }, { "message_id": "b884f2c3-555b-416e-bcd4-5d7c653ec3ba", "to_address": "+36202222222", "text": "Hello world 2", "create_date": "2021-08-04T10:28:14", "valid_until": "2021-08-11T10:28:14", "time_to_send": "2021-08-04T10:28:14", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true }, { "message_id": "911092b2-4338-4dc7-97f6-1939a99779f7", "to_address": "+36203333333", "text": "Hello world 3", "create_date": "2021-08-04T10:28:14", "valid_until": "2021-08-11T10:28:14", "time_to_send": "2021-08-04T10:28:14", "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 08:28:14 GMT Connection: close { "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": "dbaf5396-a220-424b-bb17-534dc6a92c34", "from_station": "%", "to_address": "+36201111111", "to_station": "%", "text": "Hello world 1", "create_date": "2021-08-04 10:28:14", "valid_until": "2021-08-11 10:28:14", "time_to_send": "2021-08-04 10:28:14", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" }, { "message_id": "b884f2c3-555b-416e-bcd4-5d7c653ec3ba", "from_station": "%", "to_address": "+36202222222", "to_station": "%", "text": "Hello world 2", "create_date": "2021-08-04 10:28:14", "valid_until": "2021-08-11 10:28:14", "time_to_send": "2021-08-04 10:28:14", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" }, { "message_id": "911092b2-4338-4dc7-97f6-1939a99779f7", "from_station": "%", "to_address": "+36203333333", "to_station": "%", "text": "Hello world 3", "create_date": "2021-08-04 10:28:14", "valid_until": "2021-08-11 10:28:14", "time_to_send": "2021-08-04 10:28:14", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" } ] } }
كيفية إرسال الرسائل القصيرة من Tcl/Tk باستخدام واجهة برمجة تطبيقات الرسائل القصيرة في Tcl/Tk (فيديو تعليمي)
يُظهر لك هذا الفيديو كيفية تنزيل ملف SendMultipleSms.tcl.zip من هذه الصفحة، وكيفية تنزيل محتوياته في محرر نصوص. إذا شاهدت الفيديو، ستلاحظ أن محتويات ملف SendMultipleSms.tcl المضغوط توضع في سطح المكتب. ستلاحظ أيضًا أننا نضغط مرتين على ملف SendMultipleSms.tcl لفتح سكريبت Tcl.
مثال الرسائل القصيرة في Tcl/Tk: SendMultipleSms.tcl
كود المثال أدناه هو جزء من ملف SendMultipleSms.tcl.zip. في الملف المضغوط يمكنك العثور على ملفين: SendMultipleSms.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