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

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

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

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

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

Main.java
import Ozeki.Libs.Rest.*;

public class Main {

    public static void main(String[] args) {

        var configuration = new Configuration();
        configuration.Username = "http_user";
        configuration.Password = "qwe123";
        configuration.ApiURL = "http://127.0.0.1:9509/api";

        var msg1 = new Message();
        msg1.ToAddress = "+36201111111";
        msg1.Text = "Hello world 1";

        var msg2 = new Message();
        msg2.ToAddress = "+36202222222";
        msg2.Text = "Hello world 2";

        var msg3 = new Message();
        msg3.ToAddress = "+36203333333";
        msg3.Text = "Hello world 3";

        var api = new MessageApi(configuration);
        
        var result = api.Send(new Message[] { msg1, msg2, msg3 });
        
        System.out.println(result);
    }
}
	

كيفية استخدام مثال جافا لإرسال SMS:

يمكنك استخدام فئة Message لإنشاء الرسالة النصية واستخدام فئة MessageApi لإرسال الرسالة النصية إلى بوابة SMS. ستقوم بوابة SMS بإعادة توجيه رسالتك إلى شبكة الهاتف المحمول إما عبر اتصال لاسلكي أو عبر الإنترنت.

تحميل SendMultipleSms.java

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

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

يحتوي ملف SendMultipleSms.java.zip على مكتبة Ozeki، التي توفر لك جميع الأدوات اللازمة لإرسال واستقبال رسائل SMS. ستجد أيضًا ملف Main.java في المشروع، الذي يحتوي على كود المثال ليوضح لك كيفية إرسال رسالة SMS. كود المثال هذا مدرج أدناه.

الشكل 2 - دليل SendMultipleSms.java

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

لإرسال رسائل SMS متعددة من جافا:

  1. قم بتثبيت بوابة Ozeki SMS
  2. قم بتوصيل بوابة Ozeki SMS بشبكة الهاتف المحمول
  3. أرسل رسالة SMS تجريبية من واجهة Ozeki الرسومية
  4. قم بإنشاء مستخدم لواجهة برمجة تطبيقات HTTP لإرسال SMS
  5. قم بتثبيت Apache NetBeans
  6. قم بإنشاء مشروع باسم SendMultipleSms
  7. ضع الكود في ملف Main.java جديد أو استخدم ملف Main.java الموجود في ملف .zip
  8. قم بإنشاء الرسائل النصية عن طريق إنشاء كائنات Message جديدة متعددة
  9. قم بإنشاء واجهة برمجة تطبيقات لإرسال رسالتك
  10. استخدم طريقة Send لإرسال رسائلك
  11. اقرأ رسالة الاستجابة على وحدة التحكم
  12. تحقق من السجلات في بوابة SMS

قم بتثبيت بوابة Ozeki SMS وأنشئ مستخدمًا لواجهة برمجة تطبيقات HTTP

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

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

رابط واجهة برمجة تطبيقات HTTP لإرسال SMS من جافا

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

http://127.0.0.1:9509/api?action=rest
	

مصادقة HTTP لإرسال SMS من جافا

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

var usernamePassword = username + ":" + password;
var encodedUsernamePassword = usernamePassword.getBytes();
return "Basic " + Base64.getEncoder().encodeToString(encodedUsernamePassword);
	

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

رأس طلب HTTP لإرسال الرسائل القصيرة من جافا

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

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

طلب HTTP لإرسال الرسائل القصيرة من جافا

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

HTTP/1.1 200 OK
User-Agent: OZEKI 10.3.114 (www.myozeki.com)
Content-Type: application/json; charset=utf8
Last-Modified: Fri, 04 Jun 2021 09:45:50 GMT
Server: 10/10.3.114
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": "d6bac8f4-278d-4de0-bc28-b245c3d63b20",
        "from_station": "%",
        "to_address": "+36201111111",
        "to_station": "%",
        "text": "Hello, World 1",
        "create_date": "2021-06-07 09:05:09",
        "valid_until": "2021-06-14 09:05:09",
        "time_to_send": "2021-06-14 09:05:09",
        "submit_report_requested": true,
        "delivery_report_requested": true,
        "view_report_requested": false,
        "tags": [
          {
            "name": "Type",
            "value": "SMS:TEXT"
          }
        ],
        "status": "SUCCESS"
      },
      {
        "message_id": "5b8bb56c-61fa-44dc-b774-1165c60fdf62",
        "from_station": "%",
        "to_address": "+362222222",
        "to_station": "%",
        "text": "Hello, World 2",
        "create_date": "2021-06-07 09:05:09",
        "valid_until": "2021-06-14 09:05:09",
        "time_to_send": "2021-06-14 09:05:09",
        "submit_report_requested": true,
        "delivery_report_requested": true,
        "view_report_requested": false,
        "tags": [
          {
            "name": "Type",
            "value": "SMS:TEXT"
          }
        ],
        "status": "SUCCESS"
      },
      {
        "message_id": "ea454898-451e-4c64-b8ab-c3d9d137ca93",
        "from_station": "%",
        "to_address": "+363333333",
        "to_station": "%",
        "text": "Hello, World 3",
        "create_date": "2021-06-07 09:05:09",
        "valid_until": "2021-06-14 09:05:09",
        "time_to_send": "2021-06-14 09:05:09",
        "submit_report_requested": true,
        "delivery_report_requested": true,
        "view_report_requested": false,
        "tags": [
          {
            "name": "Type",
            "value": "SMS:TEXT"
          }
        ],
        "status": "SUCCESS"
      }
    ]
  }
}
	

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

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

HTTP/1.1 200 OK
User-Agent: OZEKI 10.3.114 (www.myozeki.com)
Content-Type: application/json; charset=utf8
Last-Modified: Fri, 04 Jun 2021 09:45:50 GMT
Server: 10/10.3.114
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": "d6bac8f4-278d-4de0-bc28-b245c3d63b20",
        "from_station": "%",
        "to_address": "+36201111111",
        "to_station": "%",
        "text": "Hello, World 1",
        "create_date": "2021-06-07 09:05:09",
        "valid_until": "2021-06-14 09:05:09",
        "time_to_send": "2021-06-14 09:05:09",
        "submit_report_requested": true,
        "delivery_report_requested": true,
        "view_report_requested": false,
        "tags": [
          {
            "name": "Type",
            "value": "SMS:TEXT"
          }
        ],
        "status": "SUCCESS"
      },
      {
        "message_id": "5b8bb56c-61fa-44dc-b774-1165c60fdf62",
        "from_station": "%",
        "to_address": "+362222222",
        "to_station": "%",
        "text": "Hello, World 2",
        "create_date": "2021-06-07 09:05:09",
        "valid_until": "2021-06-14 09:05:09",
        "time_to_send": "2021-06-14 09:05:09",
        "submit_report_requested": true,
        "delivery_report_requested": true,
        "view_report_requested": false,
        "tags": [
          {
            "name": "Type",
            "value": "SMS:TEXT"
          }
        ],
        "status": "SUCCESS"
      },
      {
        "message_id": "ea454898-451e-4c64-b8ab-c3d9d137ca93",
        "from_station": "%",
        "to_address": "+363333333",
        "to_station": "%",
        "text": "Hello, World 3",
        "create_date": "2021-06-07 09:05:09",
        "valid_until": "2021-06-14 09:05:09",
        "time_to_send": "2021-06-14 09:05:09",
        "submit_report_requested": true,
        "delivery_report_requested": true,
        "view_report_requested": false,
        "tags": [
          {
            "name": "Type",
            "value": "SMS:TEXT"
          }
        ],
        "status": "SUCCESS"
      }
    ]
  }
}
	

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

يُظهر لك هذا الفيديو كيفية إنشاء مشروع جديد في Apache NetBeans، وكيفية تسميته إلى Send-multiple-SMS. بمجرد إنشاء الحل، قد تلاحظ وجود مجلد يسمى <default package> في مشروعك داخل مجلد Source Packages. هذا هو المكان الذي ستقوم فيه بإنشاء أو لصق ملف Main.java. ثم يتعين عليك لصق مجلد Ozeki في مجلد Source packages وهذه كل التحضيرات التي تحتاجها لإرسال رسالة قصيرة باستخدام جافا.

الفيديو 1 - كيفية تنزيل Ozeki.Libs.Rest وإعداد مشروعك (فيديو تعليمي)

مثال جافا لرسائل SMS: Main.java

الشكل 3 - مشروع SendMultipleSms

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

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

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

ملخص

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

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

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

More information