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

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

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

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

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

SendSms.delphi
program SendSms;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.SysUtils,
  Ozeki.Libs.Rest in '../Ozeki.Libs.Rest/Ozeki.Libs.Rest.pas';

var configuration : Ozeki.Libs.Rest.Configuration;
var msg : Ozeki.Libs.Rest.Message;
var api : Ozeki.Libs.Rest.MessageApi;
var result : MessageSendResult;
var read : string;

begin
  try
    configuration := Ozeki.Libs.Rest.Configuration.Create;
    configuration.Username := 'http_user';
    configuration.Password := 'qwe123';
    configuration.ApiUrl := 'http://127.0.0.1:9509/api';

    msg := Ozeki.Libs.Rest.Message.Create;
    msg.ToAddress := '+36201111111';
    msg.Text := 'Hello world!';

    api := Ozeki.Libs.Rest.MessageApi.Create(configuration);

    result := api.SendMessage(msg);

    Writeln(result.ToString());

    Readln(read);
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.
	

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

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

تحميل SendSMS.delphi

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

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

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

دليل إرسال رسائل دلفي
الشكل 2 - ما الموجود داخل SendSms.delphi.zip

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

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

  1. تثبيت مستخدم واجهة برمجة تطبيقات HTTP
  2. تمكين تسجيل أحداث الاتصال في علامة التبويب المتقدمة
  3. إعداد Embarcadero Delphi Studio
  4. تنزيل ثم استخراج ملف SendSms.delphi.zip
  5. فتح ملف SendSms.dproj في Delphi Studio بالنقر عليه مرتين
  6. تشغيل تطبيق Ozeki SMS Gateway
  7. تشغيل كود دلفي SendSms.dpr في Delphi Studio
  8. التحقق من السجلات لمعرفة ما إذا تم إرسال الرسالة النصية

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

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

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

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

لإرسال رسائل نصية من دلفي، سيتعين على دلفي إصدار طلب 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 Encoder := TBase64Encoding.Create();
var usernamePasswordEncoded := Encoder.Encode(usernamePassword);
result := Format('Basic %s', [usernamePasswordEncoded]);
	

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

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

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

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

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

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

POST /api?action=sendmsg HTTP/1.0
Connection: keep-alive
Content-Type: application/json
Content-Length: 412
Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw==
Host: 127.0.0.1:9509
Accept: application/json
User-Agent: Mozilla/3.0 (compatible; Indy Library)

{
	"messages": [
		{
			"message_id": "ae0d1fe5-7e93-4241-b31c-5b3ebf867c5b",
			"from_connection": "",
			"from_address": "",
			"from_station": "",
			"to_connection": "",
			"to_address": "+36201111111",
			"to_station": "",
			"text": "مرحبًا بالعالم!",
			"create_date": "2021-07-27T14:22:12",
			"valid_until": "2021-08-03T14:22:12",
			"time_to_send": "2021-07-27T14:22:12",
			"submit_report_requested": true,
			"delivery_report_requested": true,
			"view_report_requested": true
		}
	]
}
	

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

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

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf8
Last-Modified: Tue, 27 Jul 2021 06:58:42 GMT
Server: 10/10.3.123 Microsoft-HTTPAPI/2.0
User-Agent: OZEKI 10.3.123 (myozeki.com)
Date: Tue, 27 Jul 2021 12:22:12 GMT
Connection: close

{
  "http_code": 200,
  "response_code": "SUCCESS",
  "response_msg": "تمت إضافة الرسائل إلى قائمة الانتظار للتسليم.",
  "data": {
    "total_count": 1,
    "success_count": 1,
    "failed_count": 0,
    "messages": [
      {
        "message_id": "ae0d1fe5-7e93-4241-b31c-5b3ebf867c5b",
        "from_station": "%",
        "to_address": "+36201111111",
        "to_station": "%",
        "text": "مرحبًا بالعالم!",
        "create_date": "2021-07-27 14:22:12",
        "valid_until": "2021-08-03 14:22:12",
        "time_to_send": "2021-07-27 14:22:12",
        "submit_report_requested": true,
        "delivery_report_requested": true,
        "view_report_requested": false,
        "tags": [
          {
            "name": "النوع",
            "value": "SMS:TEXT"
          }
        ],
        "status": "SUCCESS"
      }
    ]
  }
}

قم بتوصيل بوابة الرسائل القصيرة الخاصة بك بشبكة الهاتف المحمول وإنشاء حساب مستخدم HTTP API

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

الفيديو 1 - كيفية إعداد حساب مستخدم HTTP API (فيديو تعليمي)

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

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

مثال دلفي للرسائل القصيرة: SendSms.dproj

في هذا الحل يوجد مشروع واحد فقط: SendSms.dproj، وملفان: SendSms.dpr و Ozeki.Libs.Rest.pas.

الشكل 3 - SendSms.dproj

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

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

الفيديو 3 - إرسال الرسائل القصيرة باستخدام كود دلفي أعلاه (فيديو تعليمي)

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

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

الفيديو 4 - كيفية اختبار ما إذا كان الطلب قد تم قبوله من قبل عميل SMPP (درس فيديو)

كيف تبدو عملية استلام رسالة قصيرة على أندرويد (درس فيديو)

في هذا الفيديو، سنوضح لك كيف تبدو عملية استلام رسالة قصيرة على أندرويد. الفيديو مدته 18 ثانية فقط، ولكن يمكنك رؤية العملية بأكملها فيه. سيبدأ بصفحة رئيسية عادية لأندرويد. سترى إشعار الرسالة القصيرة وتطبيق الرسائل مفتوحًا مع ظهور الرسالة.

الفيديو 5 - رسالة قصيرة مستلمة على الهاتف المحمول (درس فيديو)

ملخص

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

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

قم بتنزيل بوابة Ozeki للرسائل القصيرة الآن وقم بإعداد النظام!

More information