كيفية إرسال رسالة نصية من جافا

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

كيفية إرسال رسالة نصية من جافا
الشكل 1 - كيفية إرسال رسالة نصية من جافا

كود جافا لإرسال رسالة نصية إلى الهاتف المحمول

يوضح مثال كود جافا لإرسال الرسائل النصية أدناه كيفية إرسال الرسائل النصية باستخدام واجهة برمجة تطبيقات HTTP Rest الخاصة بـ Ozeki SMS Gateway باستخدام مكتبة 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 msg = new Message();
        msg.ToAddress = "+36201111111";
        msg.Text = "Hello world";

        var api = new MessageApi(configuration);
        
        var result = api.Send(msg);
        
        System.out.println(result);
    }
}
	

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

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

تحميل SendSms.java

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

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

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

دليل إرسال الرسائل النصية في جافا
الشكل 2 - دليل SendSms.java

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

لإرسال رسالة نصية من جافا:

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

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

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

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

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

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

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

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

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

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 لإرسال رسالة SMS من جافا

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

POST /api?action=sendmsg HTTP/1.1
HTTP2-Settings: AAEAAEAAAAIAAAABAAMAAABkAAQBAAAAAAUAAEAA
Connection: Upgrade, HTTP2-Settings
Upgrade: h2c
Content-Length: 319
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":	[
		{
			"message_id":"f5035474-77d7-4be0-9ace-14bf3105940e",
			"submit_report_requested":true,
			"view_report_requested":true,
			"valid_until":"2021-06-18 13:37:47",
			"time_to_send":"2021-06-11 13:37:47",
			"to_address":"+36201111111",
			"text":"Hello world",
			"create_date":"2021-06-11 13:37:47",
			"delivery_report_requested":true
		}
	]
}

	

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

بمجرد أن يستقبل بوابة الرسائل القصيرة هذا الطلب، سيقوم بإنشاء استجابة 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": "Messages queued for delivery.",
"data": {
  "total_count": 1,
  "success_count": 1,
  "failed_count": 0,
  "messages": [
    {
      "message_id": "f5035474-77d7-4be0-9ace-14bf3105940e",
      "from_station": "%",
      "to_address": "+36201111111",
      "to_station": "%",
      "text": "Hello world",
      "create_date": "2021-06-11 13:37:47",
      "valid_until": "2021-06-18 13:37:47",
      "time_to_send": "2021-06-11 13:37:47",
      "submit_report_requested": true,
      "delivery_report_requested": true,
      "view_report_requested": false,
      "tags": [
        {
          "name": "Type",
          "value": "SMS:TEXT"
        }
      ],
      "status": "SUCCESS"
    }
  ]
}
}
	

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

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

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

مثال جافا لإرسال الرسائل القصيرة: Main.java

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

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

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

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

كيفية التحقق من إرسال الرسالة القصيرة إلى شبكة الهاتف المحمول

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

الفيديو 3 - كيفية تفعيل التسجيل في بوابة Ozeki للرسائل القصيرة (فيديو تعليمي)

لتفعيل التسجيل في مستخدم HTTP، عليك اتباع نفس التعليمات.

الختام

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

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

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

More information