كيفية إرسال رسائل SMS من روبي
أبسط طريقة لإرسال رسائل SMS من روبي هي استخدام واجهة برمجة تطبيقات HTTP/Rest المدمجة في بوابة Ozeki SMS. عند استخدام هذه الواجهة، ستقوم بإرسال رسائل SMS عن طريق إرسال طلب HTTP Post إلى بوابة الرسائل. سيحتوي طلب HTTP Post على رسالة مُنسقة بتنسيق json. ستقوم بوابة الرسائل بإرسال هذه الرسالة إلى هاتف المستلم، وسيتم إرجاع استجابة HTTP 200 OK لطلبك.
كود روبي لإرسال رسائل SMS إلى الهاتف المحمول
يوضح مثال كود روبي لإرسال 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)
كيفية استخدام مثال روبي لإرسال SMS:
يمكن استخدام مثال روبي لإرسال SMS في أي تطبيق روبي. لاستخدامه، يجب تنزيل 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. يمكن تثبيت بوابة الرسائل على نفس الكمبيوتر الذي تقوم فيه بتطوير كود روبي في أي محرر نصوص، مثل Notepad. بعد التثبيت، تكون الخطوة التالية هي ربط Ozeki SMS Gateway بشبكة الهاتف المحمول. يمكنك إنشاء مستخدم HTTP SMS API. قم بإنشاء مستخدم باسم مستخدم "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.
كيفية إرسال الرسائل القصيرة من روبي باستخدام واجهة برمجة تطبيقات الرسائل القصيرة لـ C# (فيديو تعليمي)
يوضح لك هذا الفيديو كيفية تنزيل ملف SendSms.rb.zip من هذه الصفحة. إذا شاهدت الفيديو، ستلاحظ أن محتويات ملف SendSms.rb المضغوط توضع على سطح مكتب Windows. ستلاحظ أيضًا أننا نستخدم موجه الأوامر لإرسال الرسالة القصيرة.
مثال الرسائل القصيرة بروبي: SendSms.rb
كود المثال أدناه هو جزء من ملف SendSms.rb.
كيفية التحقق من قبول الرسالة القصيرة من قبل مستخدم HTTP
بعد إرسال الرسالة القصيرة، من الجيد التحقق من بوابة الرسائل القصيرة الخاصة بك، لمعرفة ما تم استلامه. يمكنك التحقق من السجل عن طريق فتح تفاصيل مستخدم HTTP من وحدة تحكم إدارة بوابة الرسائل القصيرة 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