كيفية إرسال رسائل SMS متعددة من Scala

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

كيفية إرسال رسائل SMS متعددة من Scala
الشكل 1 - كيفية إرسال رسائل SMS متعددة من Scala

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

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

SendMultipleSms.scala
import Ozeki.Libs.Rest.{ Configuration, Message, 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 msg1 = Message(
      ToAddress = "+36201111111",
      Text = "Hello world 1"
    )

    val msg2 = Message(
      ToAddress = "+36202222222",
      Text = "Hello world 2"
    )

    val msg3 = Message(
      ToAddress = "+36203333333",
      Text = "Hello world 3"
    )

    val api = MessageApi(configuration)

    val result = api.Send(List[Message]( msg1, msg2, msg3 ))

    println(result)
  }
}
	

الكود 1 - SendMultipleSms.scala

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

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

تنزيل SendMultipleSms.scala

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

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

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

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

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

لإرسال رسائل SMS من Scala:

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

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

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

رابط HTTP API لاستخدام إرسال رسائل SMS من Scala

لإرسال رسائل SMS من Scala، سيتعين على كود Scala الخاص بك إرسال طلب 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 لاستخدام إرسال رسائل SMS من 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

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

Content-Type: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
    
طلب HTTP لإرسال الرسائل القصيرة من Scala

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

POST /api?action=sendmsg HTTP/1.1
HTTP2-Settings: AAEAAEAAAAIAAAABAAMAAABkAAQBAAAAAAUAAEAA
Connection: Upgrade, HTTP2-Settings
Upgrade: h2c
Content-Length: 956
Content-Type: application/json
Accept: application/json
Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw==
Host: 127.0.0.1:9509
User-Agent: Java-http-client/16.0.1

{
    "messages": [
        {
            "submit_report_requested":true,
            "view_report_requested":true,
            "valid_until":"2021-07-22T09:50:02",
            "time_to_send":"+1000000000-01-01T00:00:00",
            "message_id":"2052d6e3-111b-4d1b-8b63-548414c4cee8",
            "to_address":"+36201111111",
            "text":"Hello world 1",
            "create_date":"2021-07-15T09:50:02",
            "delivery_report_requested":true
        },
        {
            "submit_report_requested":true,
            "view_report_requested":true,
            "valid_until":"2021-07-22T09:50:02",
            "time_to_send":"+1000000000-01-01T00:00:00",
            "message_id":"3cb70960-3687-49e5-a602-9cbf7f9818cc",
            "to_address":"+36202222222",
            "text":"Hello world 2",
            "create_date":"2021-07-15T09:50:02",
            "delivery_report_requested":true
        },
        {
            "submit_report_requested":true,
            "view_report_requested":true,
            "valid_until":"2021-07-22T09:50:02",
            "time_to_send":"+1000000000-01-01T00:00:00",
            "message_id":"9b5c9ea6-f619-4ebb-93cc-2499ebcbc6a9",
            "to_address":"+36203333333",
            "text":"Hello world 3",
            "create_date":"2021-07-15T09:50:02",
            "delivery_report_requested":true
        }
    ]
}
    
استجابة 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 09:37:03 GMT
Server: 10/10.3.123
Transfer-Encoding: chunked

{
    "http_code": 200,
    "response_code": "SUCCESS",
    "response_msg": "Messages queued for delivery.",
    "data": {
      "total_count": 3,
      "success_count": 3,
      "failed_count": 0,
      "messages": [
        {
          "message_id": "2052d6e3-111b-4d1b-8b63-548414c4cee8",
          "from_station": "%",
          "to_address": "+36201111111",
          "to_station": "%",
          "text": "Hello world 1",
          "create_date": "2021-07-15 09:50:02",
          "valid_until": "2021-07-22 09:50:02",
          "time_to_send": "2021-07-15 09:50:02",
          "submit_report_requested": true,
          "delivery_report_requested": true,
          "view_report_requested": false,
          "tags": [
            {
              "name": "Type",
              "value": "SMS:TEXT"
            }
          ],
          "status": "SUCCESS"
        },
        {
          "message_id": "3cb70960-3687-49e5-a602-9cbf7f9818cc",
          "from_station": "%",
          "to_address": "+36202222222",
          "to_station": "%",
          "text": "Hello world 2",
          "create_date": "2021-07-15 09:50:02",
          "valid_until": "2021-07-22 09:50:02",
          "time_to_send": "2021-07-15 09:50:02",
          "submit_report_requested": true,
          "delivery_report_requested": true,
          "view_report_requested": false,
          "tags": [
            {
              "name": "Type",
              "value": "SMS:TEXT"
            }
          ],
          "status": "SUCCESS"
        },
        {
          "message_id": "9b5c9ea6-f619-4ebb-93cc-2499ebcbc6a9",
          "from_station": "%",
          "to_address": "+36203333333",
          "to_station": "%",
          "text": "Hello world 3",
          "create_date": "2021-07-15 09:50:02",
          "valid_until": "2021-07-22 09:50:02",
          "time_to_send": "2021-07-15 09:50:02",
          "submit_report_requested": true,
          "delivery_report_requested": true,
          "view_report_requested": false,
          "tags": [
            {
              "name": "Type",
              "value": "SMS:TEXT"
            }
          ],
          "status": "SUCCESS"
        }
      ]
    }
}
    
كيفية إرسال الرسائل القصيرة من Scala باستخدام واجهة برمجة تطبيقات الرسائل القصيرة في Scala (فيديو تعليمي)

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

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

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

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

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

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

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

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

الختام

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

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

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

More information