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

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

كيفية إرسال رسالة نصية من visual basic
الشكل 1 - كيفية إرسال رسالة نصية من Visual Basic

مثال كود Visual Basic لإرسال رسالة نصية

Program.vb
Imports Ozeki.Libs.Rest

Module Program
    Sub Main(args As String())

        Dim configuration As New Configuration
        configuration.Username = "http_user"
        configuration.Password = "qwe123"
        configuration.ApiUrl = "http://127.0.0.1:9509/api"

        Dim msg As New Message
        msg.ToAddress = "+36201111111"
        msg.Text = "Hello, World!"

        Dim api = New MessageApi(configuration)

        Dim result = api.Send(msg)

        Console.WriteLine(result)
        Console.ReadKey()

    End Sub
End Module
	

تحميل SendSms.vb

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

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

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

الشكل 2 - ما الموجود داخل SendSms.vb.zip

كيفية إرسال رسالة نصية من Visual Basic (خطوات سريعة)

لإرسال رسالة نصية من Visual Basic:

  1. تثبيت Ozeki SMS Gateway
  2. توصيل Ozeki SMS Gateway بشبكة الهاتف المحمول
  3. إرسال رسالة نصية اختبارية من واجهة Ozeki
  4. إنشاء مستخدم لواجهة برمجة تطبيقات HTTP SMS
  5. بدء تشغيل Visual Studio
  6. إنشاء مشروع باسم Send-SMS.sln
  7. إضافة مشروع وحدة تحكم Visual Basic: Send-SMS.vbproj
  8. وضع الكود في Program.vb أو Send-SMS.vb
  9. إنشاء دالة Visual Basic باسم Send_SMS
  10. إنشاء بيانات Json للرسالة النصية
  11. إنشاء طلب HTTP لإرسال الرسالة النصية
  12. قراءة استجابة HTTP
  13. كتابة الاستجابة على وحدة التحكم
  14. فحص السجلات في بوابة الرسائل النصية

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

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

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

رابط واجهة برمجة تطبيقات HTTP لإرسال رسالة نصية من Visual Basic

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

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

مصادقة HTTP لإرسال رسالة نصية من Visual Basic

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

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

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

طلب HTTP لإرسال الرسائل القصيرة من Visual Basic

لإرسال الرسالة القصيرة، سيقوم تطبيق Visual Basic الخاص بك بإرسال طلب 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:9509

{
  "messages": [
    {
      "message_id": "4b486234-1dde-4975-b233-47267e988287",
      "to_address": "+36201111111",
      "text": "Hello, World!",
      "create_date": "2021-06-11 14:19:47",
      "valid_until": "2021-06-18 14:19:47",
      "time_to_send": "2021-06-11 14:19:47",
      "submit_report_requested": true,
      "delivery_report_requested": true,
      "view_report_requested": true,
      "tags": []
    }
  ]
}

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

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

HTTP/1.1 200 OK
User-Agent: OZEKI 10.3.118 (www.myozeki.com)
Content-Type: application/json; charset=utf8
Last-Modified: Fri, 11 Jun 2021 08:44:45 GMT
Server: 10/10.3.118
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": "7e4fa89b-df8a-4267-afe3-da348bf200ef",
        "from_station": "%",
        "to_address": "+36201111111",
        "to_station": "%",
        "text": "Hello, World!",
        "create_date": "2021-06-11 14:19:47",
        "valid_until": "2021-06-18 14:19:47",
        "time_to_send": "2021-06-11 14:19:47",
        "submit_report_requested": true,
        "delivery_report_requested": true,
        "view_report_requested": false,
        "tags": [
          {
            "name": "Type",
            "value": "SMS:TEXT"
          }
        ],
        "status": "SUCCESS"
      }
    ]
  }
}

كيفية إرسال الرسائل القصيرة من Visual Basic (فيديو تعليمي)

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

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

SendSms.sln

كود المثال أدناه هو جزء من حل Visual Studio SendSms.sln. يمكن أن يحتوي حل Visual Studio على مشاريع وملفات متعددة. في هذا الحل يوجد مشروعان فقط: SendSms.vbproj، Ozeki.Libs.Rest.csproj، وملف واحد: Program.vb.

الشكل 3 - SendSms.sln

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

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

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

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

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

الفيديو 3 - كيفية تفعيل التسجيل في بوابة Ozeki للرسائل القصيرة (فيديو تعليمي)

تشغيل مثال الرسائل القصيرة في Visual Basic على Windows

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

ملخص

لقد شرح الدليل أعلاه خطوات إرسال الرسائل القصيرة من Visual Basic. توفر Ozeki كل المعرفة والأدوات لجعل عملك أسهل. إذا تم اتباع الخطوات بعناية، فإن المراسلة مع العملاء عبر الهاتف المحمول من VB بمساعدة Ozeki SMS Gateway لن تكون معقدة. يتيح لك الأداء العالي لـ Ozeki SMS Gateway إرسال ما يصل إلى 1000 رسالة نصية في الثانية.

تأكد من مواصلة القراءة في صفحة البرنامج التعليمي لـ Ozeki، حيث توجد معلومات حول مواضيع مشابهة، مثل استلام الرسائل في VB.

ما عليك فعله بعد ذلك هو تنزيل Ozeki SMS Gateway والبدء في العمل!

More information