كيفية جدولة رسالة SMS في Go
أبسط طريقة لإرسال رسالة SMS مجدولة من Go هي استخدام واجهة برمجة تطبيقات HTTP/Rest المدمجة في Ozeki SMS Gateway. عند استخدام هذه الواجهة، ستقوم بإرسال رسائل SMS عن طريق إصدار طلب HTTP Post إلى بوابة الرسائل القصيرة. سيحتوي طلب HTTP Post على رسالة مُنسقة بتنسيق json. ستقوم بوابة الرسائل القصيرة بإرسال هذه الرسالة إلى هاتف المستلم، وسيتم إرجاع استجابة HTTP 200 OK لطلبك.
كود Go لإرسال رسالة SMS مجدولة إلى الهاتف المحمول
يوضح مثال كود Go لرسائل SMS أدناه كيف يمكنك إرسال رسالة SMS مجدولة باستخدام واجهة برمجة تطبيقات HTTP Rest لـ Ozeki SMS Gateway باستخدام حزمة Go github.com/ozekisms/go_send_sms_http_rest_ozeki. هذه الحزمة مقدمة لك مجانًا، ويمكنك استخدامها وتعديلها في أي من مشاريعك.
SendScheduledSms.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", ) msg := ozeki.NewMessage() msg.ToAddress = "+36201111111" msg.Text = "Hello world!" msg.TimeToSend = "2021-07-08T15:00:00" api := ozeki.NewMessageApi(configuration) result := api.Send(msg) 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 لإنشاء الرسالة القصيرة. يمكنك استخدام فئة MessageApi لإرسال الرسالة القصيرة إلى بوابة الرسائل القصيرة. ستقوم بوابة الرسائل القصيرة بإعادة توجيه رسالتك إلى شبكة الهاتف المحمول إما عبر اتصال لاسلكي أو عبر الإنترنت.
تنزيل SendScheduledSms.go
يمكن تنزيل كود المصدر الموضح في هذه المقالة واستخدامه وتعديله مجانًا.
تنزيل: SendScheduledSms.go.zip (1.07 كيلوبايت)
ما الموجود في ملف SendScheduledSms.go.zip؟
في ملف SendScheduledSms.go.zip ستجد ملف SendSms.go، الذي يحتوي على كود المثال ليوضح لك كيفية إرسال رسالة SMS. تم سرد كود المثال هذا أدناه.
كيفية إرسال رسالة SMS من Go (إرشادات بسيطة)
لإرسال رسالة SMS من Go:
- قم بتثبيت مستخدم HTTP API
- قم بتمكين تسجيل أحداث الاتصال في علامة التبويب المتقدمة
- قم بإعداد Visual Studio
- قم بتنزيل ثم استخراج ملف SendScheduledSms.go.zip
- قم بتشغيل تطبيق Ozeki SMS Gateway
- قم بتشغيل كود Go SendScheduledSms.go باستخدام موجه الأوامر
- تحقق من السجلات لمعرفة ما إذا تم إرسال الرسالة القصيرة
قم بتثبيت Ozeki SMS Gateway وإنشاء مستخدم HTTP API
لتتمكن من إرسال رسالة SMS مجدولة من Go، تحتاج أولاً إلى إنشاء مستخدم HTTP SMS API. قم بإنشاء مستخدم باسم مستخدم "http_user"، وكلمة مرور "qwe123" لجعل المثال يعمل دون تعديل.
بعد إعداد البيئة، يمكنك تشغيل كود Go الخاص بك.
رابط HTTP API لاستخدامه لإرسال رسالة SMS مجدولة من Go
لإرسال رسالة SMS من Go، سيتعين على Go الخاص بك إصدار طلب HTTP إلى بوابة الرسائل القصيرة. يظهر رابط API أدناه. لاحظ أنه يجب استبدال عنوان IP (127.0.0.1) بعنوان IP الخاص ببوابة الرسائل القصيرة. إذا تم تثبيت 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: 434 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": "8f228e97-e081-11eb-a71b-74d4355e997d", "from_connection": "", "from_address": "", "from_station": "", "to_connection": "", "to_address": "+36201111111", "to_station": "", "text": "مرحبًا بالعالم!", "create_date": "2021-07-09T08:47:42", "valid_until": "2021-07-16T08:47:42", "time_to_send": "2021-07-10T15:00:00", "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 08:36:24 GMT Server: 10/10.3.123 Transfer-Encoding: chunked { "http_code": 200, "response_code": "SUCCESS", "response_msg": "تمت إضافة الرسائل إلى قائمة الانتظار للإرسال.", "data": { "total_count": 1, "success_count": 1, "failed_count": 0, "messages": [ { "message_id": "8f228e97-e081-11eb-a71b-74d4355e997d", "from_station": "%", "to_address": "+36201111111", "to_station": "%", "text": "مرحبًا بالعالم!", "create_date": "2021-07-09 08:47:42", "valid_until": "2021-07-16 08:47:42", "time_to_send": "2021-07-10 15:00:00", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" } ] } }
كيفية إرسال رسالة قصيرة مجدولة من Go باستخدام واجهة برمجة تطبيقات الرسائل القصيرة في Go (فيديو تعليمي)
يُظهر لك هذا الفيديو كيفية تنزيل ملف SendScheduledSms.go.zip من هذه الصفحة. إذا شاهدت الفيديو، ستلاحظ أن محتويات ملف SendScheduledSms.go.zip تم وضعها على سطح مكتب Windows. سترى أيضًا أننا نقوم بتشغيل موجه الأوامر من أجل إرسال الرسالة القصيرة.
مثال Go للرسائل القصيرة: SendScheduledSms.go
كود المثال أدناه هو جزء من ملف SendScheduledSms.go.
كيفية التحقق من قبول بوابة الرسائل القصيرة للرسالة
بعد إرسال الرسالة القصيرة، من الجيد التحقق من بوابة الرسائل القصيرة الخاصة بك، لمعرفة ما تم استلامه. يمكنك التحقق من السجل عن طريق فتح تفاصيل مستخدم HTTP من وحدة تحكم إدارة بوابة Ozeki للرسائل القصيرة. يُظهر لك الفيديو التالي ما يجب البحث عنه.
ملخص
أظهر هذا الدليل خطوات جدولة الرسائل القصيرة في Go بمساعدة بوابة Ozeki للرسائل القصيرة. تعتبر جدولة الرسائل القصيرة أساسية إذا كنت ترغب في العمل بأداء عالي والحفاظ على علاقة جيدة مع عملائك لأنه باستخدام هذا الحل يمكنك التأكد من أن هذه الرسائل سيتم تسليمها عندما يكون لديهم الوقت لقراءتها. تعمل بوابة Ozeki للرسائل القصيرة في أي بلد ويمكنها إرسال واستقبال الرسائل القصيرة عبر اتصالات متنقلة مختلفة، مما يعني أن المراسلة الدولية ممكنة أيضًا.
استمر في القراءة على صفحة البرنامج التعليمي لـ 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