كيفية استقبال الرسائل القصيرة من Go

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

كيفية استقبال الرسائل القصيرة من Go
الشكل 1 - كيفية استقبال الرسائل القصيرة من Go

كود Go لاستقبال الرسائل القصيرة على الهاتف المحمول

يوضح عينة كود Go للرسائل القصيرة أدناه كيف يمكنك استقبال الرسائل القصيرة باستخدام واجهة برمجة تطبيقات HTTP Rest الخاصة بـ Ozeki SMS Gateway باستخدام حزمة github.com/ozekisms/go_send_sms_http_rest_ozeki في Go. هذه الحزمة مقدمة لك مجانًا، ويمكنك استخدامها وتعديلها في أي من مشاريعك.

ReceiveSms.go
package main

import (
	"fmt"

	ozeki "github.com/ozekisms/go_send_sms_http_rest_ozeki"
)

func main() {
	configuration := ozeki.NewConfiguration(
		"http_user",
		"qwe123",
		"http://127.0.0.1:9509/api",
	)

	api := ozeki.NewMessageApi(configuration)

	result := api.DownloadIncoming()

	fmt.Println(result)

	for i := 0; i < len(result.Messages); i++ {
		fmt.Println(result.Messages[i])
	}
}
	

الكود 1 - ReceiveSms.go

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

يمكن استخدام مثال Go للرسائل القصيرة هذا في أي تطبيق Go. لاستخدامه، يجب عليك تنزيل حزمة github.com/ozekisms/go_send_sms_http_rest_ozeki. بعد تنزيل الحزمة، تحتاج إلى إضافة مرجع إليها في كود Go الخاص بك. سيسمح لك ذلك باستخدام الفئات المقدمة من حزمة github.com/ozekisms/go_send_sms_http_rest_ozeki. يمكنك استخدام فئة Message لإنشاء الرسالة القصيرة. يمكنك استخدام فئة MessageApi لإرسال الرسالة القصيرة إلى بوابة الرسائل القصيرة. ستقوم بوابة الرسائل القصيرة بإعادة توجيه رسالتك إلى شبكة الهاتف المحمول إما عبر اتصال لاسلكي أو عبر الإنترنت.

تنزيل ReceiveSms.go

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

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

في ملف ReceiveSms.go.zip ستجد ملف SendSms.go، الذي يحتوي على كود المثال ليوضح لك كيفية إرسال رسالة SMS. يتم سرد كود المثال هذا أدناه.

الشكل 2 - ما الموجود داخل ReceiveSms.go.zip

كيفية إرسال الرسائل القصيرة من Go (إرشادات بسيطة)

لإرسال الرسائل القصيرة من Go:

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

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

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

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

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

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

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

مصادقة HTTP لاستخدام إرسال الرسائل القصيرة من Go

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

import b64 "encoding/base64"

func (api *MessageApi) createAuthorizationHeader(username string, password string) string {
	var usernamePassword string = username + ":" + password
	var usernamePasswordEncoded string = b64.StdEncoding.EncodeToString([]byte(usernamePassword))
	return "Basic " + usernamePasswordEncoded
}
	

على سبيل المثال، إذا قمت بتشفير اسم المستخدم 'http_user' وكلمة المرور 'qwe123'، فستحصل على السلسلة المشفرة بـ base64 التالية: aHR0cF91c2VyOnF3ZTEyMw==. للإرسال

رأس طلب HTTP لإرسال الرسائل القصيرة من Go

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

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

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

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

GET /api?action=receivemsg&folder=inbox HTTP/1.1
Accept: application/json
Accept-Encoding: gzip
Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw==
Host: 127.0.0.1:9509
User-Agent: Go-http-client/1.1
	

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

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

HTTP/1.1 200 OK
User-Agent: OZEKI 10.3.123 (www.myozeki.com)
Content-Type: application/json; charset=utf8
Last-Modified: Fri, 09 Jul 2021 09:16:35 GMT
Server: 10/10.3.123
Transfer-Encoding: chunked

{
	"http_code": 200,
	"response_code": "SUCCESS",
	"response_msg": "",
	"data": {
	  "folder": "inbox",
	  "limit": "1000",
	  "data": [
	    {
	      "message_id": "6f73375b-e085-11eb-8d0e-74d4355e997d",
	      "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-07-09 09:15:27",
	      "valid_until": "2021-07-16 09:15:27",
	      "time_to_send": "2021-07-09 09:15:27",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": true,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ]
	    },
	    {
	      "message_id": "6f6f6764-e085-11eb-8d0e-74d4355e997d",
	      "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-07-09 09:15:26",
	      "valid_until": "2021-07-16 09:15:27",
	      "time_to_send": "2021-07-09 09:15:27",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": true,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ]
	    },
	    {
	      "message_id": "6f73375b-e085-11eb-8d0f-74d4355e997d",
	      "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-07-09 09:15:27",
	      "valid_until": "2021-07-16 09:15:27",
	      "time_to_send": "2021-07-09 09:15:27",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": true,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ]
	    }
	  ]
	}
}
	

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

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

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

مثال الرسائل القصيرة في Go: ReceiveSms.go

كود المثال أدناه هو جزء من ملف ReceiveSms.go.

الشكل 3 - ملف ReceiveSms.go

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

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

الفيديو 2 - كيفية التحقق من قبول HTTP user للرسالة القصيرة (فيديو تعليمي)

الختام

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

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

الشيء الوحيد المتبقي الآن هو تنزيل بوابة Ozeki للرسائل القصيرة والبدء في العمل!

More information