كيفية جدولة رسالة SMS في لغة C/C++
أبسط طريقة لإرسال رسائل SMS من لغة C/C++ هي استخدام واجهة برمجة تطبيقات HTTP/Rest المدمجة في بوابة Ozeki SMS. عند استخدام هذه الواجهة، ستقوم بإرسال رسائل SMS عن طريق إرسال طلب HTTP Post إلى بوابة الرسائل. سيحتوي طلب HTTP Post على رسالة مُنسقة بتنسيق json. ستقوم بوابة الرسائل بإرسال هذه الرسالة إلى هاتف المستلم، وستعيد رد HTTP 200 OK إلى طلبك. (الشكل 1)
كود C/C++ لإرسال رسالة SMS مجدولة إلى الهاتف المحمول
يوضح مثال كود C/C++ لإرسال الرسائل أدناه كيفية إرسال الرسائل باستخدام واجهة برمجة تطبيقات HTTP Rest الخاصة ببوابة Ozeki SMS باستخدام مكتبة Ozeki.Libs.Rest في لغة C++. هذه المكتبة مقدمة لك مجانًا، ويمكنك استخدامها وتعديلها في أي من مشاريعك.
SendScheduledSms.cpp#include#include #include "Ozeki.Libs.Rest.h" using namespace std; int main() { //Function to create unique identifier for each messages srand((unsigned)time(0)); Configuration configuration; configuration.Username = "http_user"; configuration.Password = "qwe123"; configuration.ApiUrl = "http://127.0.0.1:9509/api"; Message msg; msg.ToAddress = "+36201111111"; msg.Text = "Hello world!"; msg.TimeToSend = localdatetime(2021, 6, 29, 10, 0, 0); MessageApi api(configuration); auto result = api.Send(msg); cout << result << endl; return 0; }
كيفية استخدام مثال C/C++ لإرسال الرسائل:
يمكن استخدام مثال C/C++ لإرسال الرسائل في أي تطبيق أساسي بلغة C أو C++. لاستخدامه، يجب عليك إضافة ملف Ozeki.Libs.Rest.dll كمرجع إلى مشروعك. بعد إضافة المرجع، يجب وضع التوجيه using Ozeki.Libs.Rest; في قسم الرأس من كود المصدر C/C++ الخاص بك. سيسمح لك ذلك باستخدام الفئات المقدمة من مكتبة Ozeki.Libs.Rest. يمكنك استخدام فئة Message لإنشاء الرسالة. ويمكنك استخدام فئة MessageApi لإرسال الرسالة إلى بوابة الرسائل. ستقوم بوابة الرسائل بإعادة توجيه رسالتك إلى شبكة الهاتف المحمول إما عبر اتصال لاسلكي أو عبر الإنترنت.
تنزيل SendScheduledSms.cpp
يمكن تنزيل كود المصدر الموضح في هذه المقالة واستخدامه وتعديله مجانًا.
تنزيل: SendScheduledSms.cpp.zip (2.97Mb)
ما الموجود في ملف SendScheduledSms.cpp؟
يحتوي ملف SendScheduledSms.cpp على مكتبة Ozeki.Libs.Rest، التي توفر لك جميع الأدوات اللازمة لإرسال واستقبال رسائل SMS. ستجد أيضًا مشروع SendScheduledSms في ملف zip، الذي يحتوي على كود المثال ليوضح لك كيفية إرسال رسالة SMS مجدولة. يظهر كود المثال هذا أدناه. (الشكل 2)
كيفية إرسال رسالة SMS مجدولة من لغة C/C++ (إرشادات بسيطة)
لإرسال رسالة SMS مجدولة من لغة C/C++:
- تثبيت مستخدم واجهة برمجة تطبيقات HTTP
- إعداد Visual Studio
- تنزيل ملف SendScheduledSms.cpp.zip
- استخراج ملف .zip من مجلد التنزيلات
- فتح ملف SendScheduledSms.sln في Visual Studio
- إضافة ملف Ozeki.Libs.Rest.dll كمرجع
- تعديل الملف لجدولة رسالة SMS من لغة C/C++
- تشغيل Ozeki SMS Gateway
- تشغيل SendScheduledSms.cpp في Visual Studio لإرسال رسالة SMS من لغة C/C++
- فحص السجلات
تثبيت Ozeki SMS Gateway وإنشاء مستخدم لواجهة برمجة تطبيقات HTTP
لتتمكن من إرسال رسائل SMS من لغة C/C++، تحتاج أولاً إلى إنشاء مستخدم لواجهة برمجة تطبيقات HTTP. قم بإنشاء مستخدم باسم "http_user"، وكلمة مرور "qwe123" لجعل المثال يعمل دون تعديل.
بعد إعداد البيئة، يمكنك تشغيل كود C/C++ الخاص بك.
رابط واجهة برمجة تطبيقات HTTP لإرسال رسائل SMS من لغة C/C++
لإرسال رسائل SMS من لغة C/C++، سيتعين على تطبيقك إرسال طلب HTTP إلى بوابة الرسائل. يظهر رابط API أدناه. لاحظ أنه يجب استبدال عنوان IP (127.0.0.1) بعنوان IP الخاص ببوابة الرسائل. إذا كان Ozeki SMS Gateway مثبتًا على نفس الكمبيوتر الذي يعمل عليه تطبيق إرسال الرسائل بلغة C/C++، فيمكن أن يكون هذا العنوان 127.0.0.1. إذا كان مثبتًا على كمبيوتر مختلف، فيجب أن يكون عنوان IP الخاص بذلك الكمبيوتر.
http://127.0.0.1:9509/api?action=rest
مصادقة HTTP لإرسال الرسائل القصيرة من C/C++
لمصادقة عميل الرسائل القصيرة في C/C++، تحتاج إلى إرسال اسم المستخدم وكلمة المرور في سلسلة مشفرة بـ base64 إلى الخادم في طلب HTTP. التنسيق المستخدم هو: base64(username+":"+password). في C++ يمكنك استخدام الكود التالي لإجراء هذا التشفير:
string usernamePassword = username + ":" + password; string usernamePasswordEncoded = base64::encode(usernamePassword); return "Basic " + usernamePasswordEncoded;
على سبيل المثال، إذا قمت بتشفير اسم المستخدم 'http_user' وكلمة المرور 'qwe123'، ستحصل على السلسلة المشفرة بـ base64 التالية: aHR0cF91c2VyOnF3ZTEyMw==. للإرسال
رأس طلب HTTP لإرسال الرسائل القصيرة من C/C++
لإرسال الرسائل القصيرة، تحتاج إلى تضمين الأسطر التالية كرؤوس في طلب HTTP. لاحظ أننا ندرج نوع المحتوى ورأس المصادقة.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
طلب HTTP لإرسال رسالة قصيرة مجدولة من C/C++
لإرسال الرسالة القصيرة، سيقوم تطبيقك في C/C++ بإرسال طلب HTTP مشابه للطلب أدناه. لاحظ أن هذا الطلب يحتوي على جزء رأس HTTP وجزء جسم HTTP. جسم HTTP هو سلسلة بيانات مشفرة بـ JSON. يحتوي على رقم المستلم ونص الرسالة.
POST /api?action=sendmsg HTTP/1.1 Content-Length: 320 Content-Type: application/json Accept: application/json Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Host: 127.0.0.1:9509 { "messages": [ { "create_date": "2021-06-29T10:21:47", "message_id": "gi0j9bk6-y7wv-35qq-tksz-nzgwbc2sxznq", "submit_delivery_requested": true, "submit_report_requested": true, "submit_view_requested": true, "text": "مرحبًا بالعالم!", "time_to_send": "2021-06-29T10:30:00", "to_address": "+36201111111", "valid_until": "2021-07-06T10:21:47" } ] }
استجابة HTTP المستلمة من مثال الرسائل القصيرة في C/C++
بمجرد أن يتلقى بوابة الرسائل القصيرة هذا الطلب، سيولد استجابة 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: Tue, 29 Jun 2021 10:13:46 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": "gi0j9bk6-y7wv-35qq-tksz-nzgwbc2sxznq", "from_station": "%", "to_address": "+36201111111", "to_station": "%", "text": "مرحبًا بالعالم!", "create_date": "2021-06-29 10:21:47", "valid_until": "2021-07-06 10:21:47", "time_to_send": "2021-06-29 10:30:00", "submit_report_requested": true, "delivery_report_requested": false, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" } ] } }
مثال الرسائل القصيرة في C/C++: SendScheduledSms.sln
الكود المثال أدناه هو جزء من حل Visual Studio SendScheduledSms.sln. يمكن أن يحتوي حل Visual Studio على مشاريع متعددة وملفات متعددة. في هذا الحل يوجد مشروع واحد فقط: SendScheduledSms.vcxproj، وملف واحد: SendScheduledSms.cpp.
كيفية إرسال رسالة قصيرة مجدولة باستخدام كود C++ (فيديو تعليمي)
يشرح الفيديو التالي كيفية جدولة رسالة قصيرة باستخدام كود C/C++. يبدأ الفيديو بفتح بوابة Ozeki للرسائل القصيرة، وبإكمال جميع الخطوات، سيكون لديك رسالة قصيرة تنتظر الإرسال في مجلد المؤجل. هذا الفيديو الذي مدته 1:44 دقيقة سهل الفهم ويوضح جميع الخطوات بوضوح. ستستخدم لوحة تحكم بوابة Ozeki للرسائل القصيرة التي تتيح لك الوصول إلى أهم الوظائف بنقرة واحدة. ستتعلم كيفية تشغيل بوابة Ozeki للرسائل القصيرة وكيفية التحقق من مجلد الصادر. كيفية تشغيل الكود وكيفية تحديد وقت إرسال الرسالة القصيرة.
ملخص
كان الهدف الرئيسي من هذه المقالة هو شرح كيفية جدولة رسالة قصيرة في C / C++ باستخدام مستخدم واجهة برمجة تطبيقات HTTP للرسائل القصيرة في بوابة Ozeki للرسائل القصيرة. إذا قرأت الدليل بعناية، يجب أن يكون جدولة الرسائل القصيرة باستخدام C / C++ سهلاً للغاية. مشاركة المعلومات في الوقت المثالي أمر ضروري لأكثر الأعمال فعالية لأن هذا يسمح لك بالحفاظ على حركة الرسائل القصيرة منخفضة والوصول إلى زملائك عندما يكونون مستعدين لقراءة الرسائل.
تأكد من مواصلة قراءة الإرشادات على موقع Ozeki الإلكتروني لمزيد من المعلومات. تعمق في دروس C / C++ الأخرى مثل كيفية استلام رسالة قصيرة في C/C++ والمزيد.
الآن قم بتنزيل بوابة Ozeki للرسائل القصيرة وليبدأ العمل!
More information
- إرسال رسالة قصيرة بـ C/Cpp باستخدام واجهة برمجة تطبيقات HTTP (عينة كود)
- إرسال رسائل متعددة بـ C/Cpp باستخدام واجهة برمجة تطبيقات HTTP (عينة كود)
- جدولة رسالة بـ C/Cpp باستخدام واجهة برمجة تطبيقات HTTP (عينة كود)
- استقبال رسالة بـ C/Cpp باستخدام واجهة برمجة تطبيقات HTTP (عينة كود)
- حذف رسالة بـ C/Cpp باستخدام واجهة برمجة تطبيقات HTTP (عينة كود)
- كيفية تنزيل أحدث مكتبة لواجهة برمجة تطبيقات الرسائل القصيرة لـ C/Cpp من Github