كيفية إرسال رسائل SMS مجدولة من C#
أبسط طريقة لإرسال رسائل SMS من C# هي استخدام واجهة برمجة تطبيقات HTTP/Rest المدمجة في بوابة Ozeki SMS. عند استخدام هذه الواجهة، ستقوم بإرسال رسائل SMS عن طريق إرسال طلب HTTP Post إلى بوابة SMS. سيحتوي طلب HTTP Post على رسالة مُنسقة بتنسيق json. ستقوم بوابة SMS بإرسال هذه الرسالة إلى هاتف المستلم، وسيتم إرجاع استجابة HTTP 200 OK لطلبك.
كود C# لإرسال رسائل SMS مجدولة إلى الهاتف المحمول
يوضح مثال كود C# لإرسال SMS أدناه كيفية إرسال رسائل SMS باستخدام واجهة برمجة تطبيقات HTTP Rest الخاصة ببوابة Ozeki SMS باستخدام مكتبة Ozeki.Libs.Rest في C#. هذه المكتبة مقدمة لك مجانًا، ويمكنك استخدامها وتعديلها في أي من مشاريعك.
SendScheduledSms.csusing Ozeki.Libs.Rest; using System; namespace SendScheduledSms { class Program { static void Main(string[] args) { var configuration = new Configuration() { Username = "http_user", Password = "qwe123", ApiUrl = "http://127.0.0.1:9509/api" }; var msg = new Message() { ToAddress = "+36201111111", Text = "Hello, World!", TimeToSend = DateTime.Parse("2021-06-11 13:25:00") }; var api = new MessageApi(configuration); var result = api.Send(msg); Console.WriteLine(result); Console.ReadKey(); } } }
كيفية استخدام مثال C# لإرسال SMS:
يمكن استخدام مثال C# لإرسال SMS هذا في أي تطبيق .NET أو .NET core. لاستخدامه، يجب عليك إضافة ملف Ozeki.Libs.Rest.dll كمرجع إلى مشروعك. بعد إضافة المرجع، يجب وضع التوجيه using Ozeki.Libs.Rest; في قسم الرأس من كود المصدر C# الخاص بك. سيسمح لك ذلك باستخدام الفئات المقدمة من مكتبة Ozeki.Libs.Rest. يمكنك استخدام فئة Message لإنشاء الرسالة. يمكنك استخدام فئة MessageApi لإرسال الرسالة إلى بوابة SMS. ستقوم بوابة SMS بإعادة توجيه رسالتك إلى شبكة الهاتف المحمول إما عبر اتصال لاسلكي أو عبر الإنترنت.
تحميل SendScheduledSms.cs
يمكن تنزيل كود المصدر الموضح في هذه المقالة واستخدامه وتعديله مجانًا.
تحميل: SendScheduledSms.cs.zip (34.2Kb)
ما الموجود في ملف SendScheduledSms.cs؟
يحتوي ملف SendScheduledSms.cs على مكتبة Ozeki.Libs.Rest، التي توفر لك جميع الأدوات اللازمة لإرسال واستقبال رسائل SMS. ستجد أيضًا مشروع SendScheduleSms في ملف ZIP، الذي يحتوي على كود المثال ليوضح لك كيفية إرسال رسالة SMS. تم سرد كود المثال هذا أدناه.
كيفية إرسال رسائل SMS مجدولة من C# (إرشادات بسيطة)
لإرسال رسائل SMS مجدولة من C#:
- تثبيت مستخدم واجهة برمجة تطبيقات HTTP
- إعداد Visual Studio
- تحميل ملف SendScheduledSms.cs.zip
- استخراج ملف .zip من مجلد التنزيلات
- فتح ملف SendScheduledSms.sln في Visual Studio
- إضافة ملف Ozeki.Libs.Rest.dll كمرجع
- تعديل الملف لجدولة إرسال رسائل SMS من C#
- تشغيل Ozeki SMS Gateway
- تشغيل Program.cs في Visual Studio لإرسال رسائل SMS من C#
- فحص السجلات
تثبيت Ozeki SMS Gateway وإنشاء مستخدم واجهة برمجة تطبيقات HTTP
لتتمكن من إرسال رسائل SMS من C#، تحتاج أولاً إلى إنشاء مستخدم واجهة برمجة تطبيقات HTTP لرسائل SMS. قم بإنشاء مستخدم باسم مستخدم "http_user" وكلمة مرور "qwe123" لجعل المثال يعمل دون تعديل.
بعد إعداد البيئة، يمكنك تشغيل كود C# الخاص بك.
رابط واجهة برمجة تطبيقات HTTP لإرسال رسائل SMS من C#
لإرسال رسائل SMS من C#، سيتعين على تطبيق C# الخاص بك إرسال طلب HTTP إلى بوابة SMS. يظهر رابط واجهة برمجة التطبيقات أدناه. لاحظ أنه يجب استبدال عنوان IP (127.0.0.1) بعنوان IP الخاص ببوابة SMS. إذا كان Ozeki SMS Gateway مثبتًا على نفس الكمبيوتر الذي يعمل عليه تطبيق C# لإرسال SMS، فيمكن أن يكون هذا 127.0.0.1. إذا كان مثبتًا على كمبيوتر مختلف، فيجب أن يكون عنوان IP الخاص بهذا الكمبيوتر.
http://127.0.0.1:9509/api?action=rest
مصادقة HTTP لإرسال رسائل SMS من C#
لمصادقة عميل C# لإرسال SMS، تحتاج إلى إرسال اسم المستخدم وكلمة المرور في سلسلة مشفرة بـ base64 إلى الخادم في طلب HTTP. التنسيق المستخدم هو: base64(username+":"+password). في C#، يمكنك استخدام الكود التالي لإجراء هذا التشفير:
var encoding = Encoding.GetEncoding("iso-8859-1"); var usernamePassword = username + ":" + password; var usernamePasswordEncoded = Convert.ToBase64String(encoding.GetBytes(usernamePassword));
على سبيل المثال، إذا قمت بتشفير اسم المستخدم 'http_user' وكلمة المرور 'qwe123'، فستحصل على السلسلة المشفرة التالية بـ base64: aHR0cF91c2VyOnF3ZTEyMw==. للإرسال
رأس طلب HTTP لإرسال الرسائل القصيرة من C#لإرسال الرسائل القصيرة، تحتاج إلى تضمين الأسطر التالية كرؤوس في طلب HTTP. لاحظ أننا ندرج نوع المحتوى ورأس التفويض.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
طلب HTTP لإرسال رسالة قصيرة مجدولة من C#
لإرسال الرسالة القصيرة، سيقوم تطبيق C# الخاص بك بإرسال طلب HTTP مشابه للطلب أدناه. لاحظ أن هذا الطلب يتضمن جزءًا من رأس HTTP وجزءًا من جسم HTTP. جسم HTTP هو سلسلة بيانات مشفرة بتنسيق JSON. يحتوي على رقم المستلم ونص الرسالة.
POST /api?action=sendmsg HTTP/1.1 Connection: Keep-Alive Content-Length: 336 Content-Type: application/json Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Host: 127.0.0.1:9511 { "messages": [ { "message_id": "212a019e-a6f5-46f8-80e5-abddb273451b", "to_address": "+36201111111", "text": "Hello, World!", "create_date": "2021-06-11 13:20:09", "valid_until": "2021-06-18 13:20:09", "time_to_send": "2021-06-11 13:25:00", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [] } ] }
استجابة HTTP المستلمة من مثال الرسائل القصيرة في C#
بمجرد أن يستقبل بوابة الرسائل القصيرة هذا الطلب، سيقوم بإنشاء استجابة HTTP. ستحتوي استجابة HTTP على رمز حالة، للإشارة إلى ما إذا كان طلب إرسال الرسالة القصيرة ناجحًا أم لا. كما ستعود أيضًا بهيكل مشفر بتنسيق JSON لتزويدك بتفاصيل مفيدة حول إرسال الرسالة.
HTTP/1.1 200 OK User-Agent: OZEKI 10.3.116 (www.myozeki.com) Content-Type: application/json; charset=utf8 Last-Modified: Fri, 11 Jun 2021 13:06:37 GMT Server: 10/10.3.116 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": "212a019e-a6f5-46f8-80e5-abddb273451b", "from_station": "%", "to_address": "+36201111111", "to_station": "%", "text": "Hello, World!", "create_date": "2021-06-11 13:20:09", "valid_until": "2021-06-18 13:20:09", "time_to_send": "2021-06-11 13:25:00", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" } ] } }
مثال الرسائل القصيرة في C#: SendSMS.sln
كيفية تنزيل المشروع (فيديو تعليمي)
في هذا الفيديو، سنوضح لك كيفية فتح مشروع SendSMS.sln والبدء في العمل عليه. سيبدأ الفيديو بصفحة التعليمات وروابط التنزيل وسيأخذك حتى الوصول إلى الكود المفتوح. ستتعلم كيفية تنزيل المشروع وكيفية فتحه. يستغرق الفيديو دقيقة واحدة فقط للمشاهدة ولكنه يحتوي على جميع المعلومات الضرورية لك لفتح مشروع SendSMS.sln لإرسال الرسائل القصيرة المجدولة.
الكود المثال أدناه هو جزء من حل Visual Studio SendScheduledSms.sln. يمكن أن يحتوي حل Visual Studio على مشاريع متعددة وملفات متعددة. في هذا الحل هناك مشروع واحد فقط: SendScheduledSms.csproj، وملف واحد: Program.cs.
كيفية استخدام المشروع (فيديو تعليمي)
يعرض هذا الفيديو كيفية استخدام مشروع SendSMS.sln لإرسال الرسائل القصيرة المجدولة. سيبدأ بالمشروع المفتوح وينتهي بسجل الرسائل المرسلة. ستتعلم كيفية إضافة الوقت الذي ترغب في إرسال الرسالة فيه وكيفية تشغيل الكود. بعد ذلك، ستتمكن من التحقق من علامة التبويب "الأحداث" مع سجل إرسال الرسائل القصيرة. يستغرق الفيديو 80 ثانية فقط للمشاهدة، ويحتوي على جميع الخطوات المهمة. لن تواجه أي مشكلة في متابعة التعليمات.
تشغيل مثال الرسائل القصيرة في C# على نظام Windows
عند استخدام نظام Windows لتشغيل مثال الرسائل القصيرة هذا المكتوب بلغة C#، ستلاحظ أنك تحصل على أداء أفضل قليلاً، مقارنة بتشغيله على Linux. لفهم سبب حدوث ذلك، يجب أن تضع في اعتبارك أن C# تستخدم إطار عمل .NET لتنفيذ الكود. هذا لأن تنفيذ .NET على Windows مُحسّن للأداء، بينما mono، تنفيذ .NET على Linux، لا يزال بحاجة إلى اللحاق بهذا المجال.
ملخص
شرحت المقالة أعلاه خطوات جدولة الرسائل القصيرة من خلال لغة C#. يوفر أوزيكي جميع الأدوات والتعليمات، لذا فإن إنهاء هذا الدليل يعني أنه يجب أن تكون قادرًا على جدولة رسائلك باستخدام لغة C# وبوابة أوزيكي للرسائل القصيرة.
تعد جدولة الرسائل القصيرة مفيدة جدًا إذا كنت ترغب في إرسال المعلومات إلى العملاء وتريد أيضًا التأكد من أن لديهم الوقت الكافي لقراءة الرسالة. بهذه الطريقة يمكنك التأكد من أن الرسالة لن يتم تجاهلها أو نسيانها لأن ساعات انشغالهم سيتم تجنبها. من المهم ملاحظة أن بوابة أوزيكي للرسائل القصيرة توفر إمكانيات تسجيل ممتازة، بحيث يمكن تتبع الأخطاء التي تحدث بسهولة وسرعة.
واصل دراستك على صفحات الدروس الخاصة بأوزيكي، حيث يمكنك الحصول على مزيد من المعلومات حول مواضيع مشابهة، مثل حذفها بلغة C#.
الآن كل ما عليك فعله هو تحميل بوابة أوزيكي للرسائل القصيرة والبدء في العمل!
More information