كيفية استقبال الرسائل القصيرة من روبي
أسهل طريقة لاستقبال الرسائل القصيرة من روبي هي استخدام واجهة برمجة تطبيقات الرسائل القصيرة المدمجة عبر HTTP/Rest في بوابة Ozeki للرسائل القصيرة. عند استخدام هذه الواجهة، ستقوم بإرسال الرسائل القصيرة عن طريق إرسال طلب HTTP Post إلى بوابة الرسائل القصيرة. سيحتوي طلب HTTP Post على رسالة بصيغة json. ستقوم بوابة الرسائل القصيرة بإرسال هذه الرسالة إلى هاتف المستلم، وستعيد ردًا HTTP 200 OK لطلبك.
كود روبي لاستقبال الرسائل القصيرة
يوضح مثال كود الرسائل القصيرة بروبي أدناه كيف يمكنك إرسال رسالة قصيرة مجدولة باستخدام واجهة برمجة تطبيقات الرسائل القصيرة عبر HTTP Rest لبوابة Ozeki للرسائل القصيرة باستخدام gem ozeki_libs_rest. هذه المكتبة مقدمة لك مجانًا، ويمكنك استخدامها وتعديلها في أي من مشاريعك.
ReceiveSms.rbrequire 'ozeki_libs_rest' configuration = Configuration.new( "http_user", "qwe123", "http://127.0.0.1:9509/api" ); api = MessageApi.new(configuration) result = api.download_incoming() print(result, "\n") result.messages.each do |message| print(message, "\n") end
تنزيل ReceiveSms.rb
يمكن تنزيل كود المصدر الموضح في هذه المقالة واستخدامه وتعديله مجانًا.
تنزيل: ReceiveSms.rb.zip (319B)
ما الموجود في ملف ReceiveSms.rb.zip؟
يحتوي ملف ReceiveSms.rb.zip على ملف ReceiveSms.rb، الذي يحتوي على كود المثال ليوضح لك كيفية إرسال رسالة قصيرة. يتم سرد كود المثال هذا أدناه.
كيفية إرسال رسالة قصيرة مجدولة من روبي (خطوات سريعة)
لإرسال رسالة قصيرة مجدولة من روبي:
- قم بتنزيل ملف ReceiveSms.rb.zip
- استخرج ملف .zip من مجلد التنزيلات
- افتح ملف ReceiveSms.rb في أي محرر نصوص مثل Notepad
- شغّل بوابة Ozeki للرسائل القصيرة
- قم بإنشاء مستخدم HTTP API في Ozeki
- شغّل كود روبي ReceiveSms.rb باستخدام موجه الأوامر
- تحقق من صندوق الرسائل المرسلة في بوابة Ozeki للرسائل القصيرة
تثبيت بوابة Ozeki للرسائل القصيرة وإنشاء مستخدم HTTP API
لتتمكن من إرسال الرسائل القصيرة من روبي، تحتاج أولاً إلى تثبيت بوابة Ozeki للرسائل القصيرة. يمكن تثبيت بوابة الرسائل القصيرة على نفس الكمبيوتر الذي تقوم فيه بتطوير كود روبي في Visual Studio. بعد التثبيت، تكون الخطوة التالية هي ربط بوابة Ozeki للرسائل القصيرة بشبكة الهاتف المحمول. يمكنك إنشاء مستخدم واجهة برمجة تطبيقات الرسائل القصيرة عبر HTTP. قم بإنشاء مستخدم باسم مستخدم "http_user"، وكلمة مرور "qwe123" لجعل المثال يعمل دون تعديل.
بعد إعداد البيئة، يمكنك تشغيل كود روبي الخاص بك.
رابط واجهة برمجة تطبيقات HTTP لإرسال الرسائل القصيرة من روبي
لإرسال الرسائل القصيرة من روبي، سيتعين على روبي إرسال طلب HTTP إلى بوابة الرسائل القصيرة. يظهر رابط واجهة برمجة التطبيقات أدناه. لاحظ أنه يجب استبدال عنوان IP (127.0.0.1) بعنوان IP الخاص ببوابة الرسائل القصيرة. إذا تم تثبيت بوابة Ozeki للرسائل القصيرة على نفس الكمبيوتر الذي يعمل عليه تطبيق الرسائل القصيرة بروبي، يمكن أن يكون هذا 127.0.0.1. إذا تم تثبيته على كمبيوتر مختلف، فيجب أن يكون عنوان IP الخاص بهذا الكمبيوتر.
http://127.0.0.1:9509/api?action=rest
مصادقة HTTP لإرسال الرسائل القصيرة من روبي
لمصادقة عميل الرسائل القصيرة بروبي، تحتاج إلى إرسال اسم المستخدم وكلمة المرور في سلسلة مشفرة بـ base64 إلى الخادم في طلب HTTP. التنسيق المستخدم هو: base64(username+":"+password). في روبي، يمكنك استخدام الكود التالي لإجراء هذا التشفير:
username_password = username + ':' + password username_password_encoded = Base64.encode64(username_password) 'Basic ' + username_password_encoded
على سبيل المثال، إذا قمت بتشفير اسم المستخدم 'http_user' وكلمة المرور 'qwe123'، ستحصل على السلسلة المشفرة بـ base64 التالية: aHR0cF91c2VyOnF3ZTEyMw==. للإرسال
رأس طلب HTTP لإرسال الرسائل القصيرة من روبي
لإرسال الرسائل القصيرة، تحتاج إلى تضمين الأسطر التالية كرؤوس في طلب HTTP. لاحظ أننا ندرج نوع المحتوى ورأس المصادقة.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
طلب HTTP لاستقبال الرسائل القصيرة من روبي
لطلب رسائلك القصيرة الواردة، سيرسل تطبيق روبي الخاص بك طلب HTTP مشابه للطلب أدناه. لاحظ أن هذا الطلب يحتوي على جزء رأس HTTP فقط.
GET /api?action=receivemsg&folder=inbox HTTP/1.1 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
استجابة HTTP المستلمة بواسطة مثال Ruby sms
بمجرد أن يستقبل بوابة الرسائل القصيرة هذا الطلب، سيقوم بإنشاء استجابة 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 14:49:32 GMT Server: 10/10.3.123 Transfer-Encoding: chunked { "http_code": 200, "response_code": "SUCCESS", "response_msg": "", "data": { "folder": "inbox", "limit": "1000", "data": [ { "message_id": "4524cd1f-f048-4b78-99ec-37bd906e676d", "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-07-06 14:47:37", "valid_until": "2021-07-13 14:47:37", "time_to_send": "2021-07-06 14:47:37", "submit_report_requested": true, "delivery_report_requested": false, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ] }, { "message_id": "e3125586-3d66-4f91-ac4e-66747653fe24", "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-07-06 14:47:37", "valid_until": "2021-07-13 14:47:37", "time_to_send": "2021-07-06 14:47:37", "submit_report_requested": true, "delivery_report_requested": false, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ] }, { "message_id": "98895df5-4972-4941-8bf3-5fb0302d1fa8", "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-07-06 14:47:37", "valid_until": "2021-07-13 14:47:37", "time_to_send": "2021-07-06 14:47:37", "submit_report_requested": true, "delivery_report_requested": false, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ] } ] } }
مثال Ruby sms: ReceiveSms.rb
في هذا الفيديو، سترى عملية تنزيل ملف ReceiveSMS.rb من صفحة هذا البرنامج التعليمي. سيبدأ بالصفحة المفتوحة وسينتهي بالمشروع المفتوح. يبلغ طول الفيديو 30 ثانية فقط، لكنه يحتوي على جميع المعلومات التي تحتاجها لتنزيل مشروع المثال. إنه سهل الفهم ومفصل. لن تواجه أي مشكلة في الخطوات.
مثال على الكود
كود المثال أدناه هو جزء من ملف ReceiveSms.rb. إذا كنت معتادًا على لغة برمجة Ruby، لا تتردد في تعديل مشروع المثال حسب رغبتك وإرسال أول رسالة اختبارية لك.
كيفية استخدام مشروع المثال
في الفيديو التالي، سترى كيف يمكنك إرسال رسالة باستخدام مشروع المثال. سيبدأ بفتح المفكرة مع الكود المصدري بداخلها. في نهاية الفيديو، سترى الرسائل المستلمة. يبلغ طول الفيديو دقيقة واحدة فقط، لكنك ستتعلم جميع الخطوات التي تحتاج إلى اتخاذها لإكمال العملية. الفيديو مفصل جدًا لذا لن تواجه أي مشكلة في متابعة الخطوات.
ملخص
كان الغرض من هذا الدليل هو شرح خطوات استقبال الرسائل القصيرة في 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