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

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

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

كود R لاستقبال الرسائل القصيرة على الهاتف المحمول

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

ReceiveSms.R
library(Ozeki.Libs.Rest)


configuration <- Ozeki.Libs.Rest::Configuration$new(
  username = "http_user",
  password = "qwe123",
  api_url = "http://127.0.0.1:9509/api"
)

api <- Ozeki.Libs.Rest::MessageApi$new(configuration)

result <- api$download_incoming()

print(result$to_string())

for (message in result$messages) {
  print(message$to_string())
}
	

الكود 1 - ReceiveSms.R

كيفية استخدام مثال R للرسائل القصيرة:

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

تنزيل ReceiveSms.R

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

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

في ملف ReceiveSms.R.zip ستجد ملف ReceiveSms.R، الذي يحتوي على كود المثال ليوضح لك كيفية استقبال رسالة SMS. يتم سرد كود المثال هذا أدناه.

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

كيفية استقبال الرسائل القصيرة من R (إرشادات بسيطة)

لإرسال الرسائل القصيرة من R:

  1. تثبيت مستخدم HTTP API
  2. تمكين تسجيل أحداث الاتصال في علامة التبويب المتقدم
  3. إعداد Visual Studio
  4. تنزيل ثم استخراج ملف ReceiveSms.R.zip
  5. تشغيل تطبيق Ozeki SMS Gateway
  6. تشغيل كود R ReceiveSms.R باستخدام موجه الأوامر
  7. تحقق من السجلات لمعرفة ما إذا كانت الرسالة القصيرة قد أرسلت
تثبيت Ozeki SMS Gateway وإنشاء مستخدم HTTP API

لتتمكن من استقبال الرسائل القصيرة من R، تحتاج أولاً إلى تثبيت Ozeki SMS Gateway. يمكن تثبيت بوابة الرسائل القصيرة على نفس الكمبيوتر حيث تقوم بتطوير كود R في أي محرر نصوص، مثل Notepad. بعد التثبيت، تكون الخطوة التالية هي ربط Ozeki SMS Gateway بشبكة الهاتف المحمول. يمكنك إنشاء مستخدم HTTP SMS API. قم بإنشاء مستخدم باسم مستخدم "http_user"، وكلمة مرور "qwe123" لجعل المثال يعمل دون تعديل.

بعد إعداد البيئة، يمكنك تشغيل كود R الخاص بك.

رابط HTTP API لاستقبال الرسائل القصيرة من R

لإرسال الرسائل القصيرة من R، سيتعين على R إصدار طلب HTTP إلى بوابة الرسائل القصيرة. يظهر رابط API أدناه. لاحظ أنه يجب استبدال عنوان IP (127.0.0.1) بعنوان IP الخاص ببوابة الرسائل القصيرة. إذا تم تثبيت Ozeki SMS Gateway على نفس الكمبيوتر حيث يتم تشغيل تطبيق R للرسائل القصيرة، يمكن أن يكون هذا 127.0.0.1. إذا تم تثبيته على كمبيوتر مختلف، فيجب أن يكون عنوان IP لذلك الكمبيوتر.

http://127.0.0.1:9509/api?action=rest
	
مصادقة HTTP لاستقبال الرسائل القصيرة من R

لمصادقة عميل R للرسائل القصيرة، تحتاج إلى إرسال اسم المستخدم وكلمة المرور في سلسلة مشفرة بـ base64 إلى الخادم في طلب HTTP. التنسيق المستخدم هو: base64(username+":"+password). في R يمكنك استخدام الكود التالي لإجراء هذا التشفير:

username_password <- paste(username, ":", password, sep="")
username_password_encoded <- base64enc::base64encode(charToRaw(username_password))
return (paste("Basic", username_password_encoded, sep=" "))
	

على سبيل المثال، إذا قمت بتشفير اسم المستخدم 'http_user' وكلمة المرور 'qwe123'، فستحصل على السلسلة المشفرة بـ base64 التالية: aHR0cF91c2VyOnF3ZTEyMw==. للإرسال

رأس طلب HTTP لاستقبال الرسائل القصيرة من R

لاستقبال رسائل SMS، تحتاج إلى تضمين الأسطر التالية كرؤوس في طلب HTTP. لاحظ أننا نضمن نوع المحتوى ورأس المصادقة.

Content-Type: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
	

طلب HTTP لاستقبال الرسائل القصيرة من R

لإرسال الرسالة القصيرة، سيقوم تطبيقك R بإرسال طلب HTTP مشابه للطلب أدناه. لاحظ أن هذا الطلب يحتوي على جزء رأس HTTP، والذي يحتوي على جميع البيانات التي نحتاجها لاستقبال الرسائل من مجلد معين.

GET /api?action=receivemsg&folder=inbox HTTP/1.1
Content-Type: application/json
Accept: application/json
Accept-Encoding: deflate, gzip
Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw==
Host: 127.0.0.1:9509
User-Agent: libcurl/7.64.1 r-curl/4.3.2 httr/1.4.2
  

استجابة HTTP المستلمة بواسطة مثال الرسائل القصيرة في R

بمجرد أن يستقبل بوابة الرسائل القصيرة هذا الطلب، سيقوم بإنشاء استجابة 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, 13 Jul 2021 15:29:23 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": "85a57d61-808a-481b-98d7-6136bf87dce0",
        "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-13 12:46:23",
        "valid_until": "2021-07-20 12:46:23",
        "time_to_send": "2021-07-13 12:46:23",
        "submit_report_requested": true,
        "delivery_report_requested": false,
        "view_report_requested": false,
        "tags": [
          {
            "name": "Type",
            "value": "SMS:TEXT"
          }
        ]
      },
      {
        "message_id": "76d551d6-1096-4943-ae50-1efc71049b6f",
        "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-13 12:46:23",
        "valid_until": "2021-07-20 12:46:23",
        "time_to_send": "2021-07-13 12:46:23",
        "submit_report_requested": true,
        "delivery_report_requested": false,
        "view_report_requested": false,
        "tags": [
          {
            "name": "Type",
            "value": "SMS:TEXT"
          }
        ]
      },
      {
        "message_id": "52af9742-f533-4056-a9cf-2fb8d4ef0613",
        "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-13 12:46:23",
        "valid_until": "2021-07-20 12:46:23",
        "time_to_send": "2021-07-13 12:46:23",
        "submit_report_requested": true,
        "delivery_report_requested": false,
        "view_report_requested": false,
        "tags": [
          {
            "name": "Type",
            "value": "SMS:TEXT"
          }
        ]
      }
    ]
  }
}
  

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

يوضح لك هذا الفيديو كيفية تنزيل ملف ReceiveSms.R.zip من هذه الصفحة. إذا شاهدت الفيديو، ستلاحظ أن محتويات ملف ReceiveSms.R.zip يتم وضعها على سطح مكتب Windows. سترى أيضًا أننا نقوم بتشغيل موجه الأوامر من أجل استقبال الرسائل القصيرة.

الفيديو 1 - كيفية استقبال الرسائل القصيرة من R باستخدام واجهة برمجة تطبيقات الرسائل القصيرة في R (فيديو تعليمي)

مثال الرسائل القصيرة في R: ReceiveSms.R

الكود المثال أدناه هو جزء من ملف ReceiveSms.R.

كود مصدر R لاستقبال الرسائل القصيرة
الشكل 3 - ملف ReceiveSms.R

كيفية التحقق من قبول الرسالة القصيرة من قبل مستخدم HTTP

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

الفيديو 2 - كيفية التحقق من قبول الرسالة القصيرة من قبل مستخدم HTTP (فيديو تعليمي)

الختام

الغرض من هذا الدليل هو عرض خطوات استقبال الرسائل القصيرة في R باستخدام بوابة Ozeki للرسائل القصيرة. هذا الحل يمكّنك من نقل الرسائل من مجلد الوارد إلى برنامجك R، بحيث يمكن جمع هذه الرسائل في مكانها المخصص. يمكن تنزيل بوابة Ozeki للرسائل القصيرة من موقع Ozekي ويمكن استخدامها في فترة تجريبية مجانًا.

تأكد من مواصلة القراءة على صفحة البرامج التعليمية لـ Ozekي، حيث توجد مقالات حول مواضيع مشابهة، مثل جدولة الرسائل القصيرة في R.

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

More information