كيفية إرسال رسائل SMS متعددة من دلفي
أبسط طريقة لإرسال رسائل SMS من دلفي هي استخدام واجهة برمجة تطبيقات HTTP/Rest المدمجة في بوابة Ozeki SMS. عند استخدام هذه الواجهة، ستقوم بإرسال رسائل SMS عن طريق إرسال طلب HTTP Post إلى بوابة الرسائل. سيحتوي طلب HTTP Post على رسالة مُنسقة بصيغة json. ستقوم بوابة الرسائل بإرسال هذه الرسالة إلى هاتف المستلم، وستعيد رد HTTP 200 OK إلى طلبك.
كود دلفي لإرسال رسائل SMS إلى الهاتف المحمول
يوضح مثال كود دلفي لإرسال SMS أدناه كيفية إرسال رسائل SMS باستخدام واجهة برمجة تطبيقات HTTP Rest الخاصة ببوابة Ozeki SMS باستخدام وحدة Ozeki.Libs.Rest في دلفي. هذه الوحدة مقدمة لك مجانًا، ويمكنك استخدامها وتعديلها في أي من مشاريعك.
SendMultipleSms.delphiprogram SendMultipleSms; {$APPTYPE CONSOLE} {$R *.res} uses System.SysUtils, Ozeki.Libs.Rest in 'Ozeki.Libs.Rest.pas'; var configuration : Ozeki.Libs.Rest.Configuration; var msg1, msg2, msg3 : Ozeki.Libs.Rest.Message; var api : Ozeki.Libs.Rest.MessageApi; var result : MessageSendResults; 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'; msg1 := Ozeki.Libs.Rest.Message.Create; msg1.ToAddress := '+36201111111'; msg1.Text := 'Hello world 1'; msg2 := Ozeki.Libs.Rest.Message.Create; msg2.ToAddress := '+36202222222'; msg2.Text := 'Hello world 2'; msg3 := Ozeki.Libs.Rest.Message.Create; msg3.ToAddress := '+36203333333'; msg3.Text := 'Hello world 3'; api := Ozeki.Libs.Rest.MessageApi.Create(configuration); result := api.SendMessages([ msg1, msg2, msg3 ]); Writeln(result.ToString()); 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 لإنشاء الرسالة النصية. يمكنك استخدام فئة MessageApi لإرسال الرسالة النصية إلى بوابة الرسائل. ستقوم بوابة الرسائل بإعادة توجيه رسالتك إلى شبكة الهاتف المحمول إما عبر اتصال لاسلكي أو عبر الإنترنت.
تحميل SendMultipleSms.delphi
يمكن تحميل كود المصدر الموضح في هذه المقالة واستخدامه وتعديله مجانًا.
تحميل: SendMultipleSms.delphi.zip (11.8Kb)
ما الموجود في ملف SendMultipleSms.delphi.zip؟
يحتوي ملف SendMultipleSms.delphi.zip على وحدة Ozeki.Libs.Rest، والتي تمنحك جميع الأدوات اللازمة لإرسال واستقبال رسائل SMS. ستجد أيضًا مشروع SendMultipleSms في الملف المضغوط، والذي يحتوي على كود المثال ليوضح لك كيفية إرسال رسالة SMS. كود المثال هذا مدرج أدناه.
كيفية إرسال رسائل SMS من دلفي (إرشادات بسيطة)
لإرسال رسائل SMS من دلفي:
- تثبيت مستخدم واجهة برمجة تطبيقات HTTP
- تمكين تسجيل أحداث الاتصال في علامة التبويب المتقدم
- إعداد Embarcadero Delphi Studio
- تحميل ثم استخراج ملف SendMultipleSms.delphi.zip
- فتح ملف SendMultipleSms.dproj في Delphi Studio بالنقر عليه مرتين
- تشغيل تطبيق Ozeki SMS Gateway
- تشغيل كود دلفي SendMultipleSms.dpr في Delphi Studio
- التحقق من السجلات لمعرفة ما إذا تم إرسال الرسالة النصية
تثبيت Ozeki SMS Gateway وإنشاء مستخدم واجهة برمجة تطبيقات HTTP
لتتمكن من إرسال رسائل SMS من دلفي، تحتاج أولاً إلى إنشاء مستخدم واجهة برمجة تطبيقات HTTP لرسائل SMS. قم بإنشاء مستخدم باسم مستخدم "http_user"، وكلمة مرور "qwe123" لجعل المثال يعمل دون تعديل.
بعد إعداد البيئة، يمكنك تشغيل كود دلفي الخاص بك.
رابط واجهة برمجة تطبيقات HTTP لإرسال رسائل SMS من دلفي
لإرسال رسائل 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(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 وجزءًا من جسم HTTP. جسم HTTP هو سلسلة بيانات مشفرة بـ JSON. يحتوي على أرقام المستلمين ونصوص الرسائل التي نرغب في إرسالها.
POST /api?action=sendmsg HTTP/1.0 Connection: keep-alive Content-Type: application/json Content-Length: 1211 Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Host: 127.0.0.1:9509 Accept: application/json User-Agent: Mozilla/3.0 (compatible; Indy Library) { "messages": [ { "message_id": "b984812c-6af0-47ac-83e6-c162b1743272", "from_connection": "", "from_address": "", "from_station": "", "to_connection": "", "to_address": "+36201111111", "to_station":"", "text":" Hello world 1", "create_date": "2021-07-27T14:59:43", "valid_until": "2021-08-03T14:59:43", "time_to_send": "2021-07-27T14:59:43", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true }, { "message_id":"cccb9fc0-820c-47e0-9f8d-8a29f2f8dce8", "from_connection": "", "from_address": "", "from_station": "", "to_connection": "", "to_address": "+36202222222", "to_station": "", "text": "Hello world 2", "create_date": "2021-07-27T14:59:43", "valid_until": "2021-08-03T14:59:43", "time_to_send": "2021-07-27T14:59:43", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true }, { "message_id": "395197a7-14bf-484b-97bc-ef25056b1669", "from_connection": "", "from_address": "", "from_station": "", "to_connection": "", "to_address": "+36203333333", "to_station": "", "text": "Hello world 3", "create_date": "2021-07-27T14:59:43", "valid_until": "2021-08-03T14:59:43", "time_to_send": "2021-07-27T14:59:43", "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 14:31:15 GMT Server: 10/10.3.123 Microsoft-HTTPAPI/2.0 User-Agent: OZEKI 10.3.123 (myozeki.com) Date: Tue, 27 Jul 2021 12:59:42 GMT Connection: close { "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": "b984812c-6af0-47ac-83e6-c162b1743272", "from_station": "%", "to_address": "+36201111111", "to_station": "%", "text": "Hello world 1", "create_date": "2021-07-27 14:59:43", "valid_until": "2021-08-03 14:59:43", "time_to_send": "2021-07-27 14:59:43", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" }, { "message_id": "cccb9fc0-820c-47e0-9f8d-8a29f2f8dce8", "from_station": "%", "to_address": "+36202222222", "to_station": "%", "text": "Hello world 2", "create_date": "2021-07-27 14:59:43", "valid_until": "2021-08-03 14:59:43", "time_to_send": "2021-07-27 14:59:43", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" }, { "message_id": "395197a7-14bf-484b-97bc-ef25056b1669", "from_station": "%", "to_address": "+36203333333", "to_station": "%", "text": "Hello world 3", "create_date": "2021-07-27 14:59:43", "valid_until": "2021-08-03 14:59:43", "time_to_send": "2021-07-27 14:59:43", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" } ] } }
كيفية إرسال رسائل SMS من دلفي باستخدام واجهة برمجة تطبيقات دلفي للرسائل القصيرة (فيديو تعليمي)
يُظهر هذا الفيديو كيفية تنزيل ملف SendMultipleSms.delphi.zip من هذه الصفحة، وكيفية تنزيل محتوياته في استوديو دلفي. إذا شاهدت الفيديو، ستلاحظ أن محتويات ملف SendMultipleSms.delphi.zip يتم وضعها على سطح مكتب Windows. سترى أيضًا أننا نضغط مرتين على ملف المشروع SendMultipleSms.dproj لفتح المشروع.
مثال على إرسال رسائل SMS بدلفي: SendMultipleSms.dproj
في هذا الحل يوجد مشروع واحد فقط: SendMultipleSms.dproj، وملفان: SendMultipleSms.dpr و Ozeki.Libs.Rest.pas.
كيفية التحقق من قبول SMS من قبل مستخدم HTTP
بعد إرسال الرسالة القصيرة، من الجيد التحقق من بوابة الرسائل القصيرة لمعرفة ما تم استلامه. يمكنك التحقق من السجل عن طريق فتفاصيل مستخدم HTTP من وحدة تحكم إدارة بوابة Ozeki للرسائل القصيرة. يوضح الفيديو التالي ما يجب البحث عنه.
ملخص
بعد قراءة هذا الوصف حول إرسال رسائل SMS متعددة من دلفي، ستعرف كيفية إعداد مستخدم واجهة برمجة تطبيقات HTTP في بوابة Ozeki للرسائل القصيرة لهذا الحل. يُساعدك استخدام هذا النظام في التحكم في التكاليف وتتبع الرسائل. سيتم عرض رسائل SMS الواردة وأحداث التسليم في شكل أحداث، وسيتم التعامل مع الأخطاء بشكل صحيح.
لا تتوقف هنا بأي حال من الأحوال، فهناك الكثير من المقالات على موقع Ozeki الإلكتروني التي يمكنك التعلم منها. انتقل إلى البرنامج التعليمي التالي حول دلفي حول كيفية جدولة رسالة SMS.
قم بتنزيل بوابة Ozeki للرسائل القصيرة الآن واستخدمها لتجربة ما تعلمته!
More information
- إرسال SMS باستخدام Delphi مع واجهة برمجة التطبيقات REST (HTTP) (عينة كود)
- إرسال عدة رسائل SMS باستخدام Delphi مع واجهة برمجة التطبيقات REST (HTTP) (عينة كود)
- جدولة SMS باستخدام Delphi مع واجهة برمجة التطبيقات REST (HTTP) (عينة كود)
- استقبال SMS باستخدام Delphi مع واجهة برمجة التطبيقات REST (HTTP) (عينة كود)
- حذف SMS باستخدام Delphi مع واجهة برمجة التطبيقات REST (HTTP) (عينة كود)
- كيفية تنزيل أحدث وحدة Delphi SMS API من Github