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

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

كيفية استقبال رسالة SMS في دلفي
الشكل 1 - كيفية استقبال رسالة SMS في دلفي

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

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

ReceiveSms.delphi
program ReceiveSms;

{$APPTYPE CONSOLE}

{$R *.res}

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

var configuration : Ozeki.Libs.Rest.Configuration;
var api : Ozeki.Libs.Rest.MessageApi;
var result : MessageReceiveResult;
var message : Ozeki.Libs.Rest.Message;
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';

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

    result := api.DownloadIncoming;

    Writeln(result.ToString);

    for message in result.Messages do
    begin
      Writeln(message.ToString);
    end;

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

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

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

تحميل ReceiveSms.delphi

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

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

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

دليل استقبال رسائل SMS في دلفي
الشكل 2 - ما الموجود داخل ReceiveSms.delphi.zip

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

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

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

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

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

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

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

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

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

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

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

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، والذي يحمل جميع المعلومات اللازمة لتنزيل كل رسالة من مجلد معين.

GET /api?action=receivemsg&folder=inbox HTTP/1.1
Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw==
Host: 127.0.0.1:9509
Accept: application/json
User-Agent: Mozilla/3.0 (compatible; Indy Library)
	

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

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

HTTP/1.1 200 OK
Transfer-Encoding: chunked
Content-Type: application/json; charset=utf8
Last-Modified: Tue, 27 Jul 2021 15:49:18 GMT
Server: 10/10.3.123 Microsoft-HTTPAPI/2.0
User-Agent: OZEKI 10.3.123 (myozeki.com)
Date: Tue, 27 Jul 2021 14:10:33 GMT

{
  "http_code": 200,
  "response_code": "SUCCESS",
  "response_msg": "",
  "data": {
    "folder": "inbox",
    "limit": "1000",
    "data": [
      {
        "message_id": "be5e98cf-2bcb-d8dc-94ae-aa909504afe7",
        "from_connection": "http_user@localhost",
        "from_address": "+36201111111",
        "from_station": "%",
        "to_connection": "http_user@localhost",
        "to_address": "http_user",
        "to_station": "%",
        "text": "مرحبا بالعالم 1",
        "create_date": "2021-07-27 16:06:02",
        "valid_until": "2021-08-03 16:06:02",
        "time_to_send": "2021-07-27 16:06:02",
        "submit_report_requested": true,
        "delivery_report_requested": true,
        "view_report_requested": true,
        "tags": [
          {
            "name": "Type",
            "value": "SMS:TEXT"
          }
        ]
      },
      {
        "message_id": "466d737f-68d5-f64d-84d8-ac0a3f950543",
        "from_connection": "http_user@localhost",
        "from_address": "+36202222222",
        "from_station": "%",
        "to_connection": "http_user@localhost",
        "to_address": "http_user",
        "to_station": "%",
        "text": "مرحبا بالعالم 2",
        "create_date": "2021-07-27 16:06:02",
        "valid_until": "2021-08-03 16:06:02",
        "time_to_send": "2021-07-27 16:06:02",
        "submit_report_requested": true,
        "delivery_report_requested": true,
        "view_report_requested": true,
        "tags": [
          {
            "name": "Type",
            "value": "SMS:TEXT"
          }
        ]
      },
      {
        "message_id": "36069eca-95c1-bced-8876-ece0dcd74acd",
        "from_connection": "http_user@localhost",
        "from_address": "+36203333333",
        "from_station": "%",
        "to_connection": "http_user@localhost",
        "to_address": "http_user",
        "to_station": "%",
        "text": "مرحبا بالعالم 3",
        "create_date": "2021-07-27 16:06:02",
        "valid_until": "2021-08-03 16:06:02",
        "time_to_send": "2021-07-27 16:06:02",
        "submit_report_requested": true,
        "delivery_report_requested": true,
        "view_report_requested": true,
        "tags": [
          {
            "name": "Type",
            "value": "SMS:TEXT"
          }
        ]
      }
    ]
  }
}	
	

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

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

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

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

الشكل 2 - ReceiveSms.dproj

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

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

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

أفكار أخيرة

باتباع هذا الدرس، تعلمت كيفية استخدام مستخدم HTTP لـ API الرسائل النصية في بوابة Ozeki للرسائل النصية لاستقبال الرسائل من Delphi. هذا المثال لـ Delphi للرسائل النصية بسيط وسهل الإعداد، وسيكون متوافقًا مع أي نوع من تطبيقات Delphi لديك. هذه الخدمة يمكن أن تجعل مؤسستك أكثر كفاءة لأنها تتيح لك تقديم معلومات قيمة بسرعة وسلاسة.

قد تحتاج إلى Delphi لـ API الرسائل النصية مع وظائف أخرى، لذا لا تتوقف عن القراءة هنا. اكتشف المزيد من الفرص في مقالة كيفية تنزيل أحدث وحدة Delphi لـ API الرسائل النصية من GitHub.

قم بتنزيل بوابة Ozeki للرسائل النصية وطور عملك الآن!

More information