كيفية استقبال رسالة SMS في جافا

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

كيفية استقبال رسالة SMS من جافا
الشكل 1 - كيفية استقبال رسالة 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 api = new MessageApi(configuration);
        
        var result = api.DownloadIncoming();
        
        System.out.println(result);
    }
}
	

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

يمكنك استخدام فئة MessageApi لـ استقبال الرسائل القصيرة من بوابة الرسائل القصيرة. ستقوم بوابة الرسائل القصيرة بإعادة توجيه الرسائل إليك من مجلد الوارد.

تنزيل ReceiveSms.java

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

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

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

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

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

لاستقبال رسائل SMS من جافا:

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

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

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

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

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

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

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

مصادقة HTTP لاستقبال رسائل SMS من جافا

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

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

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

رأس طلب HTTP لاستقبال رسائل SMS من جافا

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

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

استقبال رسالة SMS عبر طلب HTTP من جافا

لحذف الرسالة القصيرة، سيرسل تطبيق الجافا الخاص بك طلب 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 المستلمة بواسطة مثال SMS في جافا

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

HTTP/1.1 200 OK
User-Agent: OZEKI 10.3.120 (www.myozeki.com)
Content-Type: application/json; charset=utf8
Last-Modified: Fri, 11 Jun 2021 13:37:11 GMT
Server: 10/10.3.120
Transfer-Encoding: chunked

{
	"http_code": 200,
	"response_code": "SUCCESS",
	"response_msg": "",
	"data": {
	  "folder": "inbox",
	  "limit": "1000",
	  "data": [
	    {
	      "message_id": "0401f09a-5edb-4728-9bbc-0426fd9bea09",
	      "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-06-11 14:01:15",
	      "valid_until": "2021-06-18 14:01:15",
	      "time_to_send": "2021-06-11 14:01:15",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": true,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ]
	    },
	    {
	      "message_id": "5302e7df-18c4-4e01-82e7-181967bc8516",
	      "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-06-11 14:01:15",
	      "valid_until": "2021-06-18 14:01:15",
	      "time_to_send": "2021-06-11 14:01:15",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": true,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ]
	    },
	    {
	      "message_id": "95c60379-e541-4be1-b698-adfde4e425c8",
	      "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-06-11 14:01:15",
	      "valid_until": "2021-06-18 14:01:15",
	      "time_to_send": "2021-06-11 14:01:15",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": true,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ]
	    }
	  ]
	}
}
	

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

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

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

مثال استقبال SMS في جافا: Main.java

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

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

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

الفيديو 2 - كيفية استقبال رسالة SMS باستخدام كود جافا أعلاه (فيديو تعليمي)/figcaption>

ملخص

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

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

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

More information