كيفية إرسال رسائل SMS من روبي
أبسط طريقة لإرسال رسائل SMS من روبي هي استخدام واجهة برمجة تطبيقات HTTP/Rest المدمجة في بوابة Ozeki SMS. عند استخدام هذه الواجهة، ستقوم بإرسال رسائل SMS عن طريق إرسال طلب HTTP Post إلى بوابة الرسائل. سيحتوي طلب HTTP Post على رسالة مُنسقة بتنسيق json. ستقوم بوابة الرسائل بإرسال هذه الرسالة إلى هاتف المستلم، وستعيد رد HTTP 200 OK إلى طلبك.
كود روبي لإرسال رسائل SMS إلى الهاتف المحمول
يوضح مثال كود روبي لإرسال الرسائل أدناه كيفية إرسال رسائل SMS باستخدام واجهة برمجة تطبيقات HTTP Rest الخاصة ببوابة Ozeki SMS باستخدام gem ozeki_libs_rest. هذه المكتبة مقدمة لك مجانًا، ويمكنك استخدامها وتعديلها في أي من مشاريعك.
SendSms.rbrequire 'ozeki_libs_rest' configuration = Configuration.new( "http_user", "qwe123", "http://127.0.0.1:9509/api" ); msg = Message.new msg.to_address = "+36201111111" msg.text = "Hello world!" api = MessageApi.new(configuration) result = api.send(msg) print(result)
كيفية استخدام مثال روبي لإرسال الرسائل:
يمكن استخدام مثال روبي لإرسال الرسائل في أي تطبيق روبي. لاستخدامه، يجب تنزيل gem ozeki_libs_rest. بعد تنزيل الجيم، تحتاج إلى إضافة مرجع إليه في كود المصدر الخاص بروبي. سيسمح لك ذلك باستخدام الفئات المقدمة من gem ozeki_libs_rest. يمكنك استخدام فئة Message لإنشاء الرسالة. يمكنك استخدام فئة MessageApi لإرسال الرسالة إلى بوابة الرسائل. ستقوم بوابة الرسائل بإعادة توجيه رسالتك إلى شبكة الهاتف المحمول إما عبر اتصال لاسلكي أو عبر الإنترنت.
تنزيل SendSms.rb
يمكن تنزيل كود المصدر الموضح في هذه المقالة واستخدامه وتعديله مجانًا.
تنزيل: SendSms.rb.zip (316B)
ما الموجود في ملف SendSms.rb.zip؟
ستجد في ملف SendSms.rb.zip ملف SendSms.rb، الذي يحتوي على كود المثال ليوضح لك كيفية إرسال رسالة SMS. يتم سرد كود المثال هذا أدناه.
كيفية تثبيت gem ozeki_libs_rest باستخدام سطر أوامر ويندوز
gem install ozeki_libs_rest
كيفية إرسال رسائل SMS من روبي (إرشادات بسيطة)
لإرسال رسائل SMS من روبي:
- قم بتثبيت مستخدم HTTP API
- قم بتمكين تسجيل أحداث الاتصال في علامة التبويب المتقدم
- قم بإعداد Visual Studio
- قم بتنزيل ثم استخراج ملف SendSms.rb.zip
- قم بتشغيل تطبيق Ozeki SMS Gateway
- قم بتشغيل كود SendSend.rb باستخدام سطر الأوامر
- تحقق من السجلات لمعرفة ما إذا تم إرسال الرسالة
قم بتثبيت Ozeki SMS Gateway وإنشاء مستخدم HTTP API
لتتمكن من إرسال رسائل SMS من روبي، تحتاج أولاً إلى تثبيت Ozeki SMS Gateway. يمكن تثبيت بوابة الرسائل على نفس الكمبيوتر الذي تقوم فيه بتطوير كود روبي في أي محرر نصوص، مثل المفكرة في ويندوز. بعد التثبيت، الخطوة التالية هي ربط Ozeki SMS Gateway بشبكة الهاتف المحمول. يمكنك إنشاء مستخدم لواجهة برمجة تطبيقات HTTP SMS. قم بإنشاء مستخدم باسم مستخدم "http_user"، وكلمة مرور "qwe123" لجعل المثال يعمل دون تعديل.
بعد إعداد البيئة، يمكنك تشغيل كود روبي الخاص بك.
رابط HTTP API لاستخدامه في إرسال رسائل SMS من روبي
لإرسال رسائل SMS من روبي، سيتعين على روبي إرسال طلب HTTP إلى بوابة الرسائل. يظهر رابط API أدناه. لاحظ أنه يجب استبدال عنوان IP (127.0.0.1) بعنوان IP الخاص ببوابة الرسائل. إذا كان Ozeki SMS Gateway مثبتًا على نفس الكمبيوتر الذي يعمل عليه تطبيق روبي لإرسال الرسائل، يمكن أن يكون هذا 127.0.0.1. إذا كان مثبتًا على كمبيوتر مختلف، فيجب أن يكون عنوان IP الخاص بذلك الكمبيوتر.
http://127.0.0.1:9509/api?action=rest
مصادقة HTTP لاستخدامها في إرسال رسائل SMS من روبي
لمصادقة عميل روبي لإرسال الرسائل، تحتاج إلى إرسال اسم المستخدم وكلمة المرور في سلسلة مشفرة بـ base64 إلى الخادم في طلب HTTP. التنسيق المستخدم هو: base64(username+":"+password). في روبي، يمكنك استخدام الكود التالي لإجراء هذا التشفير:
username_password = username + ':' + password username_password_encoded = Base64.encode64(username_password) 'Basic ' + username_password_encoded
على سبيل المثال، إذا قمت بتشفير اسم المستخدم 'http_user' وكلمة المرور 'qwe123'، فستحصل على السلسلة المشفرة التالية: aHR0cF91c2VyOnF3ZTEyMw==. للإرسال
رأس طلب HTTP لإرسال الرسائل القصيرة من روبيلإرسال الرسائل القصيرة، تحتاج إلى تضمين الأسطر التالية كرؤوس في طلب HTTP. لاحظ أننا ندرج نوع المحتوى ورأس التفويض.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
طلب HTTP لإرسال الرسائل القصيرة من روبي
لإرسال الرسالة القصيرة، سيقوم تطبيق روبي الخاص بك بإرسال طلب HTTP مشابه للطلب أدناه. لاحظ أن هذا الطلب يتضمن جزءًا من رأس HTTP وجزءًا من نص HTTP. نص HTTP هو سلسلة بيانات مشفرة بتنسيق JSON. يحتوي على رقم المستلم ونص الرسالة.
POST /api?action=sendmsg HTTP/1.1 Content-Length: 339 Content-Type: application/json Accept: application/json Accept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Host: 127.0.0.1:9509 User-Agent: Faraday v1.5.0 { "messages": [ { "message_id": "2861551f-fddd-4b8e-9b06-eab9e1a0d179", "to_address": "+36201111111", "text": "Hello world!", "create_date": "2021-07-06T09:09:44", "valid_until": "2021-07-13T09:09:44", "time_to_send": "2021-07-06T09:09:44", "is_submit_report_requested": true, "is_delivery_report_requested": true, "is_view_report_requested": true, "tags": [] } ] }
استجابة HTTP المستلمة من مثال الرسائل القصيرة بروبي
بمجرد أن يستقبل بوابة الرسائل القصيرة هذا الطلب، سوف يولد استجابة 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: Tue, 06 Jul 2021 08:52:02 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": "2861551f-fddd-4b8e-9b06-eab9e1a0d179", "from_station": "%", "to_address": "+36201111111", "to_station": "%", "text": "Hello world!", "create_date": "2021-07-06 09:09:44", "valid_until": "2021-07-13 09:09:44", "time_to_send": "2021-07-06 09:09:44", "submit_report_requested": true, "delivery_report_requested": false, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" } ] } }
قم بتوصيل بوابة الرسائل القصيرة الخاصة بك بشبكة الهاتف المحمول وأنشئ حساب مستخدم لـ HTTP API
نفترض أنك قمت بالفعل بتثبيت بوابة Ozeki للرسائل القصيرة، وقمت بتوصيلها بشبكة الهاتف المحمول. لكي تتمكن من إرسال رسائل قصيرة إلى هاتف محمول من روبي، تحتاج إلى إعداد حساب مستخدم لـ HTTP API في بوابة Ozeki للرسائل القصيرة.
كيفية إرسال الرسائل القصيرة من روبي باستخدام واجهة برمجة تطبيقات الرسائل القصيرة لروبي (فيديو تعليمي)
يظهر لك هذا الفيديو كيفية تنزيل ملف SendSms.rb.zip من هذه الصفحة. إذا شاهدت الفيديو، ستلاحظ أن محتويات ملف SendSms.rb المضغوط توضع على سطح مكتب Windows. سترى أيضًا أننا نفتح موجه الأوامر لإرسال الرسالة القصيرة.
مثال الرسائل القصيرة بروبي: SendSms.rb
كود المثال أدناه هو جزء من ملف SendSms.rb.
كيفية التحقق من قبول مستخدم HTTP للرسالة القصيرة
بعد إرسال الرسالة القصيرة، من الجيد التحقق من بوابة الرسائل القصيرة الخاصة بك، لمعرفة ما تم استلامه. يمكنك التحقق من السجل عن طريق فتح تفاصيل مستخدم HTTP من وحدة تحكم إدارة بوابة Ozeki للرسائل القصيرة. يوضح لك الفيديو التالي ما الذي تبحث عنه.
كيفية التحقق من إرسال الرسالة القصيرة إلى شبكة الهاتف المحمول
الخطوة الأخيرة في التحقق من الإجراء هي إلقاء نظرة على سجلات اتصال شبكة الهاتف المحمول. قد تحتاج إلى تفعيل التسجيل في إعدادات الاتصال قبل إرسال الرسالة لرؤية السجلات. إذا تم تفعيل التسجيل، سترى رقم الهاتف والنص الرسالة التي أرسلتها.
كيف تبدو عملية استقبال رسالة على نظام Android (فيديو تعليمي)
في هذا الفيديو، سترى عملية استقبال رسالة على نظام Android، عندما يتم إرسال الرسالة باستخدام بوابة Ozeki للرسائل القصيرة. سيبدأ الفيديو بشاشة رئيسية عادية لنظام Android وسيظهر الإشعار الذي تحصل عليه في حالة ورود رسالة SMS ثم تطبيق الرسائل المفتوح مع رسالة "Hello World". يبلغ طول الفيديو 18 ثانية فقط، لكنه يوضح العملية بأكملها.
الختام
الهدف الرئيسي من هذه المقالة هو عرض خطوات إرسال الرسائل القصيرة بلغة Ruby بمساعدة بوابة Ozeki للرسائل القصيرة. بفضل هذه الابتكار، يمكنك إرسال رسائل إلى عملائك وأنت جالس خلف جهاز الكمبيوتر، باستخدام بوابة Ozeki للرسائل القصيرة فقط وكود Ruby. هذا الحل مثال رائع على مدى سهولة التحكم في بوابة Ozeki للرسائل القصيرة باستخدام أكواد Ruby. ويجب أيضًا ذكر أن بوابة Ozeki للرسائل القصيرة تعمل في أي بلد ويمكنها إرسال واستقبال الرسائل القصيرة عبر اتصالات متنوعة بالهاتف المحمول.
تابع القراءة على صفحة البرنامج التعليمي لـ Ozeki، حيث يمكن العثور على المزيد من المعلومات حول مواضيع مثل جدولة الرسائل القصيرة بلغة Ruby.
الشيء الوحيد المتبقي الآن هو تنزيل بوابة Ozeki للرسائل القصيرة والبدء في العمل!
More information
- إرسال SMS بـ Ruby باستخدام واجهة برمجة التطبيقات REST لـ HTTP (عينة كود)
- إرسال عدة رسائل SMS بـ Ruby باستخدام واجهة برمجة التطبيقات REST لـ HTTP (عينة كود)
- جدولة SMS بـ Ruby باستخدام واجهة برمجة التطبيقات REST لـ HTTP (عينة كود)
- استقبال SMS بـ Ruby باستخدام واجهة برمجة التطبيقات REST لـ HTTP (عينة كود)
- حذف SMS بـ Ruby باستخدام واجهة برمجة التطبيقات REST لـ HTTP (عينة كود)
- كيفية تنزيل أحدث مكتبة SMS لـ Ruby من Github
- إرسال SMS بـ Ruby من Linux