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

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

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

كود Scala لاستقبال رسائل SMS على الهاتف المحمول

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

ReceiveSms.scala
import Ozeki.Libs.Rest.{ Configuration, MessageApi }


object main  {
  def main(args: Array[String]): Unit = {
      
    val configuration = Configuration(
      Username = "http_user",
      Password = "qwe123",
      ApiUrl = "http://127.0.0.1:9509/api"
    )

    val api : MessageApi = MessageApi(configuration)

    val result = api.DownloadIncoming()

    println(result)

    for (message <- result.Messages) {
      println(message)
    }
  }
}
	

الكود 1 - ReceiveSms.scala

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

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

تنزيل ReceiveSms.scala

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

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

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

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

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

لاستقبال الرسائل القصيرة من Scala:

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

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

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

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

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

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

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

val usernamePassword = "%s:%s".format(Username, Password).getBytes()
val usernamePasswordEncoded = Base64.getEncoder.encodeToString(usernamePassword)
"Basic %s".format(usernamePasswordEncoded)
	

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

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

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

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

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

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

GET /api?action=receivemsg&folder=inbox HTTP/1.1
HTTP2-Settings: AAEAAEAAAAIAAAABAAMAAABkAAQBAAAAAAUAAEAA
Connection: Upgrade, HTTP2-Settings
Upgrade: h2c
Content-Length: 0
Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw==
Host: 127.0.0.1:9509
User-Agent: Java-http-client/16.0.1
	

استجابة HTTP المستلمة من مثال الرسائل القصيرة في Scala

بمجرد أن يستقبل بوابة الرسائل القصيرة هذا الطلب، سيقوم بإنشاء استجابة 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: Thu, 15 Jul 2021 11:23:02 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": "bf1960cf-1474-40ac-85aa-5487a6edeb7f",
	      "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 11:51:57",
	      "valid_until": "2021-07-20 11:51:57",
	      "time_to_send": "2021-07-13 11:51:57",
	      "submit_report_requested": true,
	      "delivery_report_requested": false,
	      "view_report_requested": false,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ]
	    },
	    {
	      "message_id": "df87cdf8-6e8b-4c99-a648-d2f24231bf04",
	      "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 11:51:57",
	      "valid_until": "2021-07-20 11:51:57",
	      "time_to_send": "2021-07-13 11:51:57",
	      "submit_report_requested": true,
	      "delivery_report_requested": false,
	      "view_report_requested": false,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ]
	    },
	    {
	      "message_id": "7308e035-f92d-4515-9d21-9bb80ef26e74",
	      "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 11:51:57",
	      "valid_until": "2021-07-20 11:51:57",
	      "time_to_send": "2021-07-13 11:51:57",
	      "submit_report_requested": true,
	      "delivery_report_requested": false,
	      "view_report_requested": false,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ]
	    }
	  ]
	}
}
	

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

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

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

مثال على الرسائل القصيرة في Scala: ReceiveSms.scala

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

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

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

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

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

ملخص

عرض هذا الدليل الخطوات الأساسية لاستقبال الرسائل القصيرة في Scala بمساعدة بوابة Ozeki للرسائل القصيرة. إذا تم اتباع كل خطوة بعناية، يجب أن يكون توجيه الرسائل الواردة إلى برنامج Scala بسيطًا جدًا. مع هذا الحل، يمكنك التأكد من أن هذه الرسائل يتم جمعها في المكان المناسب. من المهم ملاحظة أن بوابة Ozeki للرسائل القصيرة تعمل في بيئة تتحكم فيها، لذا فإن قائمة جهات الاتصال الخاصة بك والبيانات في أيدٍ آمنة.

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

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

More information