كيفية استقبال الرسائل القصيرة من روبي

أسهل طريقة لاستقبال الرسائل القصيرة من روبي هي استخدام واجهة برمجة تطبيقات الرسائل القصيرة المدمجة عبر HTTP/Rest في بوابة Ozeki للرسائل القصيرة. عند استخدام هذه الواجهة، ستقوم بإرسال الرسائل القصيرة عن طريق إرسال طلب HTTP Post إلى بوابة الرسائل القصيرة. سيحتوي طلب HTTP Post على رسالة بصيغة json. ستقوم بوابة الرسائل القصيرة بإرسال هذه الرسالة إلى هاتف المستلم، وستعيد ردًا HTTP 200 OK لطلبك.

كيفية استقبال الرسائل القصيرة من روبي
الشكل 1 - كيفية استقبال الرسائل القصيرة من روبي

كود روبي لاستقبال الرسائل القصيرة

يوضح مثال كود الرسائل القصيرة بروبي أدناه كيف يمكنك إرسال رسالة قصيرة مجدولة باستخدام واجهة برمجة تطبيقات الرسائل القصيرة عبر HTTP Rest لبوابة Ozeki للرسائل القصيرة باستخدام gem ozeki_libs_rest. هذه المكتبة مقدمة لك مجانًا، ويمكنك استخدامها وتعديلها في أي من مشاريعك.

ReceiveSms.rb
require '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
	
كيفية استخدام مثال الرسائل القصيرة بروبي:

يمكن استخدام مثال الرسائل القصيرة بروبي هذا في أي تطبيق روبي. لاستخدامه، يجب عليك تنزيل gem ozeki_libs_rest. بعد تنزيل الجيم، تحتاج إلى إضافة مرجع إليه في كود المصدر الخاص بروبي. سيسمح لك ذلك باستخدام الفئات المقدمة من gem ozeki_libs_rest. يمكنك استخدام فئة Message لإنشاء الرسالة القصيرة. يمكنك استخدام فئة MessageApi لإرسال الرسالة القصيرة إلى بوابة الرسائل القصيرة. ستقوم بوابة الرسائل القصيرة بإعادة توجيه رسالتك إلى شبكة الهاتف المحمول إما عبر اتصال لاسلكي أو عبر الإنترنت.

تنزيل ReceiveSms.rb

يمكن تنزيل كود المصدر الموضح في هذه المقالة واستخدامه وتعديله مجانًا.
تنزيل: ReceiveSms.rb.zip (319B)

ما الموجود في ملف ReceiveSms.rb.zip؟

يحتوي ملف ReceiveSms.rb.zip على ملف ReceiveSms.rb، الذي يحتوي على كود المثال ليوضح لك كيفية إرسال رسالة قصيرة. يتم سرد كود المثال هذا أدناه.

الشكل 2 - ما الموجود داخل ReceiveSms.rb.zip

كيفية إرسال رسالة قصيرة مجدولة من روبي (خطوات سريعة)

لإرسال رسالة قصيرة مجدولة من روبي:

  1. قم بتنزيل ملف ReceiveSms.rb.zip
  2. استخرج ملف .zip من مجلد التنزيلات
  3. افتح ملف ReceiveSms.rb في أي محرر نصوص مثل Notepad
  4. شغّل بوابة Ozeki للرسائل القصيرة
  5. قم بإنشاء مستخدم HTTP API في Ozeki
  6. شغّل كود روبي ReceiveSms.rb باستخدام موجه الأوامر
  7. تحقق من صندوق الرسائل المرسلة في بوابة 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 ثانية فقط، لكنه يحتوي على جميع المعلومات التي تحتاجها لتنزيل مشروع المثال. إنه سهل الفهم ومفصل. لن تواجه أي مشكلة في الخطوات.

الفيديو 1 - كيفية تنزيل وفتح الملف أعلاه (برنامج تعليمي بالفيديو)

مثال على الكود

كود المثال أدناه هو جزء من ملف ReceiveSms.rb. إذا كنت معتادًا على لغة برمجة Ruby، لا تتردد في تعديل مشروع المثال حسب رغبتك وإرسال أول رسالة اختبارية لك.

الشكل 3 - ملف ReceiveSms.rb

كيفية استخدام مشروع المثال

في الفيديو التالي، سترى كيف يمكنك إرسال رسالة باستخدام مشروع المثال. سيبدأ بفتح المفكرة مع الكود المصدري بداخلها. في نهاية الفيديو، سترى الرسائل المستلمة. يبلغ طول الفيديو دقيقة واحدة فقط، لكنك ستتعلم جميع الخطوات التي تحتاج إلى اتخاذها لإكمال العملية. الفيديو مفصل جدًا لذا لن تواجه أي مشكلة في متابعة الخطوات.

الفيديو 2 - كيفية استخدام ملف ReceiveSms.rb (برنامج تعليمي بالفيديو)

ملخص

كان الغرض من هذا الدليل هو شرح خطوات استقبال الرسائل القصيرة في Ruby بمساعدة بوابة Ozeki للرسائل القصيرة. بخطوات بسيطة قليلة، يمكنك توجيه الرسائل من مجلد الوارد إلى برنامج Ruby. هذا الحل مهم إذا كنت ترغب في جمع هذه الرسائل في مكان منفصل. تتيح لك بوابة Ozeki للرسائل القصيرة إدارة تكاليف الرسائل القصيرة و تتبع حركة المرور للرسائل القصيرة.

تأكد من متابعة القراءة على صفحة البرنامج التعليمي لـ Ozeki حيث يمكن العثور على المزيد من المعلومات حول مواضيع مماثلة، مثل إرسال رسائل متعددة في Ruby.

الشيء الوحيد المتبقي الآن هو تنزيل بوابة Ozeki للرسائل القصيرة وليبدأ العمل!

More information