كيفية استقبال الرسائل القصيرة في #C

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

كيفية استقبال الرسائل القصيرة في #C باستخدام واجهة Rest
الشكل 1 - استقبال الرسائل القصيرة في #C باستخدام واجهة Rest

كود #C لاستقبال الرسائل القصيرة من الهاتف المحمول

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

Program.cs
using Ozeki.Libs.Rest;
using System;

namespace ReceiveSms
{
    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 api = new MessageApi(configuration);
            
            var messages = api.DownloadIncoming();

            Console.WriteLine(messages.Length + " messages downloaded from inbox.");

            foreach(Message msg in messages)
            {
                Console.WriteLine(msg);   
            };

            Console.ReadKey();
        }
    }
}

كيفية استخدام مثال #C للرسائل القصيرة:

يمكن استخدام مثال #C للرسائل القصيرة في أي تطبيق .NET أو .NET core. لاستخدامه، يجب عليك إضافة ملف Ozeki.Libs.Rest dll كمرجع إلى مشروعك. بعد إضافة المرجع إلى المشروع، يجب وضع التوجيه using Ozeki.Libs.Rest; في قسم الرأس من كود #C المصدر. سيسمح لك ذلك باستخدام الفئات المقدمة من مكتبة Ozeki.Libs.Rest. يمكنك استخدام فئة MessageApi لـ استقبال الرسائل القصيرة من بوابة الرسائل القصيرة. ستقوم بوابة الرسائل القصيرة بإعادة توجيه الرسالة إليك إما عبر اتصال لاسلكي أو عبر الإنترنت.

تنزيل ReceiveSms.cs

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

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

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

دليل استقبال الرسائل القصيرة في #C
الشكل 2 - ما الموجود داخل ReceiveSms.cs.zip

كيفية استقبال الرسائل القصيرة في #C (إرشادات سهلة)

لاستقبال الرسائل القصيرة في #C:

  1. قم بإعداد Visual Studio Community
  2. قم بتنزيل ملف ReceiveSms.cs.zip
  3. استخرج الملف المضغوط من مجلد التنزيلات
  4. افتح ملف ReceiveSms.sln في Visual Studio
  5. قم بتشغيل Ozeki SMS Gateway
  6. انقر على HTTP user في علامة تبويب المستخدمين والتطبيقات
  7. قم بتشغيل Program.cs لاستقبال الرسائل القصيرة في #C
  8. تحقق من صندوق الوارد في Ozeki SMS Gateway

تثبيت Ozeki SMS Gateway وإنشاء مستخدم HTTP API

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

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

رابط HTTP API لاستقبال الرسائل القصيرة من #C

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

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

مصادقة HTTP لاستقبال الرسائل القصيرة من #C

لمصادقة عميل الرسائل القصيرة في #C، تحتاج إلى إرسال اسم المستخدم وكلمة المرور في سلسلة مشفرة بـ 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#

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

GET /api?action=receivemsg&folder=inbox HTTP/1.1
Connection: Keep-Alive
Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw==
Host: 127.0.0.1:9509
	

رأس طلب HTTP لاستقبال الرسائل القصيرة من C#

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

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

استجابة 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: Mon, 07 Jun 2021 14:10:25 GMT
Server: 10/10.3.116
Transfer-Encoding: chunked
{
	"http_code": 200,
	"response_code": "SUCCESS",
	"response_msg": "",
	"data": {
	"folder": "inbox",
	"limit": "1000",
		"data": [
			{
				"message_id": "b754195d-9bd8-48dc-a45f-cf688c5b32e3",
				"from_connection": "http_user@localhost",
				"from_address": "+36201111111",
				"from_station": "%",
				"to_connection": "http_user@localhost",
				"to_address": "http_user",
				"to_station": "%",
				"text": "Hello, World 1",
				"create_date": "2021-06-08 09:12:24",
				"valid_until": "2021-06-15 09:12:24",
				"time_to_send": "0001-01-01 00:00:00",
				"submit_report_requested": true,
				"delivery_report_requested": true,
				"view_report_requested": true,
				"tags": [
					{
					"name": "Type",
					"value": "SMS:TEXT"
				}
			]
		},
			{
				"message_id": "a6337c23-51bc-43ee-9181-c9838abbe161",
				"from_connection": "http_user@localhost",
				"from_address": "+36202222222",
				"from_station": "%",
				"to_connection": "http_user@localhost",
				"to_address": "http_user",
				"to_station": "%",
				"text": "Hello, World 2",
				"create_date": "2021-06-08 09:12:24",
				"valid_until": "2021-06-15 09:12:24",
				"time_to_send": "0001-01-01 00:00:00",
				"submit_report_requested": true,
				"delivery_report_requested": true,
				"view_report_requested": true,
				"tags": [
					{
					"name": "Type",
					"value": "SMS:TEXT"
				}
			]
		},
			{
				"message_id": "ca14710b-42b9-4abc-b04f-262cc282dd7c",
				"from_connection": "http_user@localhost",
				"from_address": "+36203333333",
				"from_station": "%",
				"to_connection": "http_user@localhost",
				"to_address": "http_user",
				"to_station": "%",
				"text": "Hello, World 3",
				"create_date": "2021-06-08 09:12:24",
				"valid_until": "2021-06-15 09:12:24",
				"time_to_send": "0001-01-01 00:00:00",
				"submit_report_requested": true,
				"delivery_report_requested": true,
				"view_report_requested": true,
				"tags": [
					{
					"name": "Type",
					"value": "SMS:TEXT"
				}
			]
		}
	]
	}
}

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

يظهر لك هذا الفيديو كيفية إنشاء مشروع وحدة تحكم جديد بـ .Net core في Visual Studio، وكيفية تسميته إلى ReceiveSms.sln. بمجرد إنشاء الحل، قد تلاحظ أنه تمت إضافة Receive-SMS.csproj إلى الحل، وبشكل افتراضي يتم فتح ملف Program.cs. يمكنك إعادة تسمية Program.cs إلى ReceiveSMS.cs إذا رغبت. سترى أيضًا في الفيديو، كيف يمكن نسخ كود المثال أدناه إلى ملف Program.cs، وكيفية تجميعه وتنفيذه.

مثال C# للرسائل القصيرة: ReceiveSms.sln


كيفية تنزيل وتشغيل مشروع المثال (فيديو تعليمي)

في هذا الفيديو، ستتعلم كيفية تنزيل وتشغيل مشروع المثال ReceiveSMS.sln. سيبدأ الفيديو بصفحة التنزيل وسينتهي بفتح محرر الأكواد. ستتعلم كيفية التنزيل وأين تجد مشروع المثال الخاص بك. أيضًا، سنوضح لك كيفية فتح المشروع الذي تم تنزيله. يستغرق هذا الفيديو دقيقة واحدة فقط ولكنه مفصل جدًا، لذا لن تواجه أي مشكلة في اتباع الخطوات.

الفيديو 1 - كيفية تنزيل وتشغيل حل المثال (فيديو تعليمي)

كود المثال أدناه هو جزء من ReceiveSms.sln Visual Studio Solution. يمكن أن يحتوي حل Visual Studio على مشاريع متعددة وملفات متعددة. في هذا الحل يوجد مشروع واحد فقط: ReceiveSms.csproj، وملف واحد: Program.cs.

الشكل 3 - ReceiveSms.sln

كيفية استخدام الكود (فيديو تعليمي)

في الفيديو التالي، ستتعلم كيفية تشغيل كود المثال وكيفية التحقق من سجل العملية. سيبدأ بتشغيل Ozeki SMS Gateway وسيأخذك حتى علامة تبويب الأحداث. ستتعلم كيفية التحقق من السجل، وكيفية تشغيل الكود الخاص بك وكيفية التحقق من الرسائل المستلمة. يستغرق الفيديو دقيقة واحدة فقط ولكنه يحتوي على جميع المعلومات الضرورية التي تحتاجها لاستخدام مشروع ReceiveSMS.sln.

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

تشغيل مثال C# للرسائل القصيرة على ويندوز

عند استخدامك لنظام ويندوز لتشغيل هذا المثال المكتوب بلغة C# للرسائل القصيرة، ستلاحظ أنك تحصل على أداء أفضل قليلاً مقارنة بتشغيله على لينكس. لفهم سبب حدوث ذلك، يجب أن تضع في اعتبارك أن C# تستخدم إطار عمل .NET لتنفيذ الكود. وذلك لأن تنفيذ .NET على ويندوز مُحسّن للأداء، بينما mono، وهو تنفيذ .NET على لينكس، ما زال بحاجة إلى اللحاق بهذا المجال.

الختام

لقد عرضت هذه المقالة الخطوات الضرورية لاستقبال الرسائل القصيرة بلغة C#. مع هذا الدليل وبرنامج Ozeki SMS Gateway، لن يكون استقبال الرسائل القصيرة بلغة C# مشكلة بعد الآن. ادرس الدليل بعناية وسوف تكون قادرًا على تنفيذ هذه الخطوات بسهولة. يلعب برنامج Ozeki SMS Gateway دورًا حاسمًا في هذه العملية، حيث يعمل كموصل بين مستخدمي الهواتف المحمولة وبينك. يجب التأكيد على حقيقة أن برنامج Ozeki SMS Gateway يعمل في بيئة تتحكم بها، مما يعني أن قائمة الاتصال الخاصة بك والبيانات آمنة.

تابع القراءة في صفحة البرنامج التعليمية لـ Ozeki، حيث يمكنك العثور على المزيد من الأدلة حول مواضيع مثل الجدولة من C#.

قم بتنزيل برنامج Ozeki SMS Gateway الآن ودع العمل يبدأ!

More information