كيفية إرسال رسائل SMS من بايثون
أبسط طريقة لإرسال رسائل SMS من بايثون هي استخدام واجهة برمجة تطبيقات HTTP/Rest المدمجة في بوابة Ozeki SMS. عند استخدام هذه الواجهة، ستقوم بإرسال رسائل SMS عن طريق إرسال طلب HTTP Post إلى بوابة الرسائل. سيحتوي طلب HTTP Post على رسالة مُنسقة بتنسيق json. ستقوم بوابة الرسائل بإرسال هذه الرسالة إلى هاتف المستلم، وسيتم إرجاع استجابة HTTP 200 OK لطلبك.
كود بايثون لإرسال رسائل SMS إلى الهاتف المحمول
يوضح مثال كود SMS في بايثون أدناه كيف يمكنك إرسال رسائل SMS باستخدام واجهة برمجة تطبيقات HTTP Rest الخاصة ببوابة Ozeki SMS باستخدام مكتبة ozekilibsrest في بايثون. هذه المكتبة مقدمة لك مجانًا، ويمكنك استخدامها وتعديلها في أي من مشاريعك.
SendSms.py
from ozekilibsrest import Configuration, Message, MessageApi configuration = Configuration( username="http_user", password="qwe123", api_url="http://127.0.0.1:9509/api" ) msg = Message( to_address="+3620111111", text="Hello world!" ) api = MessageApi(configuration) result = api.send(msg) print(result)
كيفية استخدام مثال SMS في بايثون:
يمكن استخدام مثال SMS هذا في أي تطبيق بايثون. لاستخدامه، يجب عليك تثبيت حزمة ozekilibsrest باستخدام الأمر pip install ozekilibsrest. بعد تثبيت الحزمة، يجب وضع التوجيه from ozekilibsrest import Configuration, Message, MessageApi في قسم الرأس من كود المصدر الخاص بك في بايثون. سيسمح لك ذلك باستخدام الفئات المقدمة من مكتبة ozekilibsrest. يمكنك استخدام فئة Message لإنشاء الرسالة النصية. ويمكنك استخدام فئة MessageApi لإرسال الرسالة إلى بوابة الرسائل. ستقوم بوابة الرسائل بإعادة توجيه رسالتك إلى شبكة الهاتف المحمول إما عبر اتصال لاسلكي أو عبر الإنترنت.
تحميل SendSms.py
يمكن تنزيل كود المصدر الموضح في هذه المقالة واستخدامه وتعديله مجانًا.
تحميل: SendSms.py.zip (355B)
ما الموجود في مجلد SendSms.py؟
يحتوي مجلد SendSms.py على سكريبت مثال SMS في بايثون والذي سيوضح لك كيفية إرسال رسائل SMS متعددة باستخدام بايثون.
كيفية تثبيت مكتبة ozekilibsrest
لتثبيت مكتبة ozekilibsrest، يجب عليك فتح موجه الأوامر واستخدام الأمر التالي. سيؤدي هذا إلى تثبيت مكتبة ozekilibsrest والتبعيات التي تحتاجها.
pip install ozekilibsrest
كيفية إرسال رسائل SMS من بايثون (إرشادات بسيطة)
لإرسال رسائل SMS من بايثون:
- قم بتثبيت مستخدم HTTP API
- قم بتمكين تسجيل أحداث الاتصال في علامة التبويب المتقدم
- قم بتنزيل SendSMS.py
- افتح ملف SendSMS.py في المفكرة
- قم بتغيير البيانات إلى بياناتك الخاصة
- قم بتشغيل تطبيق Ozeki SMS Gateway
- قم بتشغيل كود بايثون SendSMS.py عن طريق فتحه
- تحقق من السجلات لمعرفة ما إذا تم إرسال الرسالة النصية
تثبيت Ozeki SMS Gateway وإنشاء مستخدم HTTP API
لتتمكن من إرسال رسائل SMS من بايثون، تحتاج أولاً إلى إنشاء مستخدم HTTP SMS API. قم بإنشاء مستخدم باسم مستخدم "User1" وكلمة مرور "qwe123" لجعل المثال يعمل دون تعديل.
بعد إعداد البيئة، يمكنك تشغيل كود بايثون الخاص بك.
رابط HTTP API لاستخدام إرسال رسائل SMS من بايثون
لإرسال رسائل SMS من بايثون، سيتعين على بايثون إصدار طلب HTTP إلى بوابة الرسائل. يظهر رابط API أدناه. لاحظ أنه يجب استبدال عنوان IP (127.0.0.1) بعنوان IP الخاص ببوابة الرسائل. إذا كان Ozeki SMS Gateway مثبتًا على نفس الكمبيوتر الذي يعمل عليه تطبيق SMS في بايثون، يمكن أن يكون هذا 127.0.0.1. إذا كان مثبتًا على كمبيوتر مختلف، فيجب أن يكون عنوان IP لذلك الكمبيوتر.
http://127.0.0.1:9509/api?action=rest
مصادقة HTTP لاستخدام إرسال رسائل SMS من بايثون
لمصادقة عميل SMS في بايثون، تحتاج إلى إرسال اسم المستخدم وكلمة المرور في سلسلة مشفرة بـ base64 إلى الخادم في طلب HTTP. التنسيق المستخدم هو: base64(username+":"+password). في بايثون، يمكنك استخدام الكود التالي لإجراء هذا التشفير:
def create_authorization_header(username, password): username_password = f'{ username }:{ password }' return f'Basic { b64encode(username_password.encode()).decode() }'
على سبيل المثال، إذا قمت بتشفير اسم المستخدم 'http_user' وكلمة المرور 'qwe123'، فستحصل على السلسلة المشفرة بـ base64 التالية: aHR0cF91c2VyOnF3ZTEyMw==. للإرسال
رأس طلب HTTP لإرسال الرسائل القصيرة من بايثون
لإرسال الرسائل القصيرة، تحتاج إلى تضمين الأسطر التالية كرؤوس في طلب HTTP. لاحظ أننا نضمّن نوع المحتوى ورأس التفويض.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
طلب HTTP لإرسال الرسائل القصيرة من بايثون
لإرسال الرسالة القصيرة، سيقوم تطبيق بايثون الخاص بك بإرسال طلب HTTP مشابه للطلب أدناه. لاحظ أن هذا الطلب يتكون من جزء رأس HTTP وجزء جسم HTTP. جسم HTTP هو سلسلة بيانات مشفرة بتنسيق JSON. يحتوي على رقم المستلم ونص الرسالة.
POST /api?action=sendmsg HTTP/1.1 Connection: Keep-Alive Content-Length: 336 Content-Type: application/json Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Host: 127.0.0.1:9509 { "messages": [ { "message_id": "b570dbae-3a05-456d-9dad-a02161b16f1c", "to_address": "+36201111111", "text": "Hello, World!", "create_date": "2021-06-11 11:20:02", "valid_until": "2021-06-18 11:20:02", "time_to_send": "2021-06-11 11:20:02", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [] } ] }
استجابة HTTP المستلمة من مثال الرسائل القصيرة في بايثون
بمجرد أن يستقبل بوابة الرسائل القصيرة هذا الطلب، سيقوم بإنشاء استجابة HTTP. ستحتوي استجابة HTTP على رمز حالة، للإشارة إلى ما إذا كان طلب إرسال الرسالة القصيرة ناجحًا أم لا. كما ستعود أيضًا بهيكل مشفر بتنسيق JSON لتزويدك بتفاصيل مفيدة حول إرسال الرسالة.
HTTP/1.1 200 OK User-Agent: OZEKI 10.3.116 (www.myozeki.com) Content-Type: application/json; charset=utf8 Last-Modified: Fri, 11 Jun 2021 11:17:49 GMT Server: 10/10.3.116 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": "b570dbae-3a05-456d-9dad-a02161b16f1c", "from_station": "%", "to_address": "+36201111111", "to_station": "%", "text": "Hello, World!", "create_date": "2021-06-11 11:20:02", "valid_until": "2021-06-18 11:20:02", "time_to_send": "2021-06-11 11:20:02", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" } ] } }
قم بتوصيل بوابة الرسائل القصيرة الخاصة بك بشبكة الهاتف المحمول وأنشئ حساب مستخدم لـ HTTP API
نفترض أنك قمت بالفعل بتثبيت بوابة Ozeki للرسائل القصيرة، وقمت بتوصيلها بشبكة الهاتف المحمول. لكي تتمكن من إرسال رسائل قصيرة إلى هاتف محمول من بايثون، تحتاج إلى إعداد حساب مستخدم لـ HTTP API في بوابة Ozeki للرسائل القصيرة.
إنشاء مستخدم جديد (فيديو تعليمي)
يعرض هذا الفيديو كيفية إعداد حساب مستخدم جديد لـ HTTP API. سيبدأ من الصفحة الرئيسية لـ بوابة Ozeki للرسائل القصيرة وينتهي بعلامة تبويب الأحداث للمستخدم الجديد. سيوضح لك الفيديو كيفية إنشاء وتكوين المستخدم الجديد. الشيء الرائع في هذا الفيديو هو أنه لا يستغرق سوى 30 ثانية لكنه يحتوي على جميع المعلومات التي تحتاجها لإنشاء مستخدم جديد لـ HTTP API.
كيفية إرسال الرسائل القصيرة من بايثون باستخدام واجهة برمجة تطبيقات الرسائل القصيرة في بايثون (فيديو تعليمي)
يوضح لك هذا الفيديو كيفية تنزيل ملف SendSms.py.zip من هذه الصفحة، وكيفية فتح محتوى الملف المضمن في أي محرر نصوص مثل Notepad في Windows. إذا شاهدت الفيديو، ستلاحظ، أن محتويات ملف SendSms.py المضغوط توضع على سطح مكتب Windows.
مثال على الرسائل القصيرة في بايثون: SendSms.py
كود المثال أدناه هو جزء من ملف SendSms.py.zip.
كيفية التحقق من قبول بوابة الرسائل القصيرة للرسالة من قبل مستخدم HTTP (فيديو تعليمي)
بعد إرسال الرسالة القصيرة، من الجيد التحقق من بوابة الرسائل القصيرة الخاصة بك، لمعرفة ما تم استلامه. يمكنك التحقق من السجل عن طريق فتح تفاصيل مستخدم HTTP من وحدة تحكم إدارة بوابة Ozeki للرسائل القصيرة. يوضح لك الفيديو التالي ما الذي تبحث عنه. سيبدأ الفيديو بالكود المفتوح وسينتهي بتفاصيل الرسالة المرسلة. ستتعلم كيفية تشغيل المشروع، وكيف يبدو المشروع أثناء التشغيل وكيف يبدو ملف السجل بعده. يستغرق الفيديو 42 ثانية فقط وسهل الفهم. لن تواجه أي مشكلة في متابعته.
كيفية التحقق من إرسال الرسالة النصية إلى شبكة الهاتف المحمول
الخطوة الأخيرة للتحقق من الإجراء هي النظر إلى سجلات اتصال شبكة الهاتف المحمول. قد تحتاج إلى تفعيل التسجيل في إعدادات الاتصال قبل إرسال الرسالة لرؤية السجلات. إذا كان التسجيل مفعلاً، سترى رقم الهاتف ونص الرسالة التي أرسلتها.
اختبار ما إذا تم قبول الطلب (فيديو تعليمي)
في الفيديو التالي، سترى كيفية التحقق مما إذا كان عميل SMPP قد نجح في إرسال رسالتك. ستتعلم كيفية فتح علامة تبويب الأحداث لمستخدم SMPP وما الذي تبحث عنه. الفيديو مدته 18 ثانية فقط ولكنه سيكون مفيدًا جدًا.
استلام الرسالة النصية على الهاتف (فيديو تعليمي)
في الفيديو التالي، سترى كيف تبدو الرسالة الواردة التي تم إرسالها من بوابة Ozeki للرسائل النصية. سيبدأ بشاشة رئيسية لهاتف أندرويد وينتهي بفتح الرسالة. مدته 18 ثانية فقط ويمكنك رؤية عملية استلام الرسالة بالكامل.
ملخص
شرح الدليل أعلاه خطوات إرسال الرسائل النصية من Python. كما يمكن رؤيته، يوفر Ozeki جميع الأدوات اللازمة لتوصيل الرسائل، لذا إذا تم اتباع الخطوات بعناية، فلن يكون إرسال الرسائل من Python مشكلة بعد الآن. تلعب بوابة Ozeki للرسائل النصية دورًا كبيرًا في التوصيل، حيث لا يمكنك الوصول إلى مستخدمي الهواتف المحمولة بدون هذا البرنامج. من المهم ملاحظة أن بوابة Ozeki للرسائل النصية تعمل في أي بلد، لذا يمكن إرسال الرسائل دوليًا باستخدام هذا الحل.
لا تنهي القراءة هنا، تصفح صفحة البرامج التعليمية لـ Ozeki وتعلم عن استلام الرسائل النصية في Python.
الشيء التالي الذي عليك فعله هو تحميل بوابة Ozeki للرسائل النصية وابدأ العمل!
More information
- إرسال الرسائل القصيرة باستخدام Python مع واجهة برمجة تطبيقات REST HTTP (عينة كود)
- إرسال رسائل متعددة باستخدام Python مع واجهة برمجة تطبيقات REST HTTP (عينة كود)
- جدولة الرسائل القصيرة باستخدام Python مع واجهة برمجة تطبيقات REST HTTP (عينة كود)
- استقبال الرسائل القصيرة باستخدام Python مع واجهة برمجة تطبيقات REST HTTP (عينة كود)
- حذف الرسائل القصيرة باستخدام Python مع واجهة برمجة تطبيقات REST HTTP (عينة كود)
- كيفية تنزيل أحدث مكتبة رسائل قصيرة لـ Python من Github