كيفية إرسال رسائل SMS متعددة من Go
أبسط طريقة لإرسال رسائل SMS متعددة من Go هي استخدام واجهة برمجة تطبيقات HTTP/Rest المدمجة في بوابة Ozeki SMS. عند استخدام هذه الواجهة، ستقوم بإرسال رسائل SMS عن طريق إرسال طلب HTTP Post إلى بوابة SMS. سيحتوي طلب HTTP Post على رسالة مُنسقة بتنسيق json. ستقوم بوابة SMS بإرسال هذه الرسالة إلى هاتف المستلم، وسيتم إرجاع استجابة HTTP 200 OK لطلبك.
كود Go لإرسال رسائل SMS متعددة إلى الهاتف المحمول
يوضح مثال كود Go لرسائل SMS أدناه كيفية إرسال رسائل SMS متعددة باستخدام واجهة برمجة تطبيقات HTTP Rest لبوابة Ozeki SMS باستخدام حزمة Go github.com/ozekisms/go_send_sms_http_rest_ozeki. هذه الحزمة مقدمة لك مجانًا، ويمكنك استخدامها وتعديلها في أي من مشاريعك.
SendMultipleSms.gopackage 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", ) msg1 := ozeki.NewMessage() msg1.ToAddress = "+36201111111" msg1.Text = "Hello world 1" msg2 := ozeki.NewMessage() msg2.ToAddress = "+36202222222" msg2.Text = "Hello world 2" msg3 := ozeki.NewMessage() msg3.ToAddress = "+36203333333" msg3.Text = "Hello world 3" api := ozeki.NewMessageApi(configuration) result := api.Send([]ozeki.Message{msg1, msg2, msg3}) fmt.Println(result) }
كيفية استخدام مثال Go لرسائل SMS:
يمكن استخدام مثال Go لرسائل SMS هذا في أي تطبيق Go. لاستخدامه، يجب عليك تنزيل حزمة github.com/ozekisms/go_send_sms_http_rest_ozeki. بعد تنزيل الحزمة، تحتاج إلى إضافة مرجع إليها في كود Go الخاص بك. سيسمح لك ذلك باستخدام الفئات المقدمة من حزمة github.com/ozekisms/go_send_sms_http_rest_ozeki. يمكنك استخدام فئة Message لإنشاء رسالة SMS. يمكنك استخدام فئة MessageApi لإرسال الرسالة SMS إلى بوابة SMS. ستقوم بوابة SMS بإعادة توجيه رسالتك إلى شبكة الهاتف المحمول إما عبر اتصال لاسلكي أو عبر الإنترنت.
تنزيل SendMultipleSms.go
يمكن تنزيل كود المصدر الموضح في هذه المقالة واستخدامه وتعديله مجانًا.
تنزيل: SendMultipleSms.go.zip (1.08Kb)
ما الموجود في ملف SendMultipleSms.go.zip؟
ستجد في ملف SendMultipleSms.go.zip ملف SendSms.go، الذي يحتوي على كود المثال ليوضح لك كيفية إرسال رسالة SMS. تم سرد كود المثال هذا أدناه.
كيفية إرسال رسائل SMS من Go (إرشادات بسيطة)
لإرسال رسائل SMS من Go:
- تثبيت مستخدم HTTP API
- تمكين تسجيل أحداث الاتصال في علامة التبويب المتقدمة
- إعداد Visual Studio
- تنزيل ثم استخراج ملف SendMultipleSms.go.zip
- تشغيل تطبيق Ozeki SMS Gateway
- تشغيل كود Go SendMultipleSms.go باستخدام موجه الأوامر
- تحقق من السجلات لمعرفة ما إذا كانت الرسالة SMS قد أُرسلت
تثبيت Ozeki SMS Gateway وإنشاء مستخدم HTTP API
لتتمكن من إرسال رسائل SMS متعددة من Go، تحتاج أولاً إلى إنشاء مستخدم HTTP SMS API. قم بإنشاء مستخدم باسم مستخدم "http_user" وكلمة مرور "qwe123" لجعل المثال يعمل دون تعديل.
بعد إعداد البيئة، يمكنك تشغيل كود Go الخاص بك.
رابط HTTP API لاستخدامه في إرسال رسائل SMS متعددة من Go
لإرسال رسائل SMS من Go، سيتعين على تطبيق Go الخاص بك إرسال طلب HTTP إلى بوابة SMS. يظهر رابط API أدناه. لاحظ أنه يجب استبدال عنوان IP (127.0.0.1) بعنوان IP الخاص ببوابة SMS. إذا كان Ozeki SMS Gateway مثبتًا على نفس الكمبيوتر الذي يعمل عليه تطبيق Go لرسائل SMS، يمكن أن يكون هذا 127.0.0.1. إذا كان مثبتًا على كمبيوتر مختلف، فيجب أن يكون عنوان IP لذلك الكمبيوتر.
http://127.0.0.1:9509/api?action=rest
مصادقة HTTP لاستخدامها في إرسال رسائل SMS من Go
لمصادقة عميل Go لرسائل SMS، تحتاج إلى إرسال اسم المستخدم وكلمة المرور في سلسلة مشفرة بـ 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لإرسال الرسائل القصيرة، تحتاج إلى تضمين الأسطر التالية كرؤوس في طلب HTTP. لاحظ أننا ندرج نوع المحتوى ورأس التفويض.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
طلب HTTP لإرسال الرسائل القصيرة من Go
لإرسال الرسالة القصيرة، سيقوم تطبيق Go الخاص بك بإرسال طلب HTTP مشابه للطلب أدناه. لاحظ أن هذا الطلب يتضمن جزءًا من رأس HTTP وجزءًا من جسم HTTP. جسم HTTP هو سلسلة بيانات مشفرة بتنسيق JSON. يحتوي على أرقام المستلمين ونصوص الرسائل.
POST /api?action=sendmsg HTTP/1.1 Content-Length: 1277 Content-Type: application/json Accept-Encoding: gzip Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Host: 127.0.0.1:9509 User-Agent: Go-http-client/1.1 { "messages": [ { "message_id": "6e5384bb-e07b-11eb-a3b4-74d4355e997d", "from_connection": "", "from_address": "", "from_station": "", "to_connection": "", "to_address": "+36201111111", "to_station": "", "text": "Hello world 1", "create_date": "2021-07-09T08:03:50", "valid_until": "2021-07-16T08:03:50", "time_to_send": "2021-07-09T08:03:50", "submit_report_requested": true, "view_report_requested": true, "delivery_report_requested": true, "tags": [], "status": "" }, { "message_id": "6e622a28-e07b-11eb-a3b4-74d4355e997d", "from_connection": "", "from_address": "", "from_station": "", "to_connection": "", "to_address": "+36202222222", "to_station": "", "text": "Hello world 2", "create_date": "2021-07-09T08:03:50", "valid_until": "2021-07-16T08:03:50", "time_to_send": "2021-07-09T08:03:50", "submit_report_requested": true, "view_report_requested": true, "delivery_report_requested": true, "tags": [], "status": "" }, { "message_id": "6e622a28-e07b-11eb-a3b5-74d4355e997d", "from_connection": "", "from_address": "", "from_station": "", "to_connection": "", "to_address": "+36203333333", "to_station": "", "text": "Hello world 3", "create_date": "2021-07-09T08:03:50", "valid_until": "2021-07-16T08:03:50", "time_to_send": "2021-07-09T08:03:50", "submit_report_requested": true, "view_report_requested": true, "delivery_report_requested": true, "tags": [], "status": "" } ] }
استجابة 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 07:59:56 GMT Server: 10/10.3.123 Transfer-Encoding: chunked { "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": "6e5384bb-e07b-11eb-a3b4-74d4355e997d", "from_station": "%", "to_address": "+36201111111", "to_station": "%", "text": "Hello world 1", "create_date": "2021-07-09 08:03:50", "valid_until": "2021-07-16 08:03:50", "time_to_send": "2021-07-09 08:03:50", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" }, { "message_id": "6e622a28-e07b-11eb-a3b4-74d4355e997d", "from_station": "%", "to_address": "+36202222222", "to_station": "%", "text": "Hello world 2", "create_date": "2021-07-09 08:03:50", "valid_until": "2021-07-16 08:03:50", "time_to_send": "2021-07-09 08:03:50", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" }, { "message_id": "6e622a28-e07b-11eb-a3b5-74d4355e997d", "from_station": "%", "to_address": "+36203333333", "to_station": "%", "text": "Hello world 3", "create_date": "2021-07-09 08:03:50", "valid_until": "2021-07-16 08:03:50", "time_to_send": "2021-07-09 08:03:50", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" } ] } }
كيفية إرسال رسائل SMS متعددة من Go باستخدام واجهة برمجة تطبيقات الرسائل القصيرة لـ Go (فيديو تعليمي)
يوضح لك هذا الفيديو كيفية تنزيل ملف SendMultipleSms.go.zip من هذه الصفحة. إذا شاهدت الفيديو، ستلاحظ أن محتويات ملف SendMultipleSms.go.zip يتم وضعها على سطح مكتب Windows. كما سترى أننا نقوم بتشغيل موجه الأوامر من أجل إرسال الرسالة القصيرة.
مثال Go للرسائل القصيرة: SendMultipleSms.go
كود المثال أدناه هو جزء من ملف SendMultipleSms.go.
كيفية التحقق من قبول الرسالة النصية من قبل مستخدم HTTP
بعد إرسال الرسالة النصية، من الجيد التحقق من بوابة الرسائل النصية الخاصة بك، لمعرفة ما تم استلامه. يمكنك التحقق من السجل عن طريق فتح تفاصيل مستخدم HTTP من وحدة تحكم إدارة بوابة Ozeki للرسائل النصية. يوضح الفيديو التالي ما يجب البحث عنه.
ملخص
يهدف هذا الدليل إلى شرح إرسال رسائل نصية متعددة بلغة Go بمساعدة بوابة Ozeki للرسائل النصية. باستخدام هذا الحل، يصبح الوصول إلى عملاء متعددين في وقت واحد سريعًا وسهلًا. باستخدام هذه التكنولوجيا، يمكن توفير الكثير من الوقت والجهد لأن إرسال رسائل نصية متعددة يجعل العمل أسهل بكثير. تعمل بوابة Ozeki للرسائل النصية بأداء عالٍ، مما يعني أنها يمكنها إرسال ما يصل إلى 1000 رسالة نصية في الثانية.
تأكد من مواصلة القراءة على صفحة البرامج التعليمية لـ Ozeki، حيث يمكن العثور على المزيد من المعلومات حول موضوعات مثل حذف الرسائل النصية بلغة Go.
الشيء الوحيد المتبقي الآن هو تنزيل بوابة Ozeki للرسائل النصية والبدء في العمل!
More information
- إرسال SMS بـ Go باستخدام واجهة برمجة التطبيقات REST لـ HTTP (عينة كود)
- إرسال عدة رسائل SMS بـ Go باستخدام واجهة برمجة التطبيقات REST لـ HTTP (عينة كود)
- جدولة SMS بـ Go باستخدام واجهة برمجة التطبيقات REST لـ HTTP (عينة كود)
- استقبال SMS بـ Go باستخدام واجهة برمجة التطبيقات REST لـ HTTP (عينة كود)
- حذف SMS بـ Go باستخدام واجهة برمجة التطبيقات REST لـ HTTP (عينة كود)
- كيفية تنزيل أحدث مكتبة SMS لـ Go من Github