كيفية إرسال رسائل SMS متعددة من C/C++
أسهل طريقة لإرسال رسائل SMS من C/C++ هي استخدام واجهة برمجة تطبيقات HTTP/Rest المدمجة في بوابة Ozeki SMS. عند استخدام هذه الواجهة، ستقوم بإرسال رسائل SMS عن طريق إرسال طلب HTTP Post إلى بوابة الرسائل. سيحتوي طلب HTTP Post على رسالة بتنسيق json. ستقوم بوابة الرسائل بإرسال هذه الرسالة إلى هاتف المستلم، وسيتم إرجاع استجابة HTTP 200 OK لطلبك.
كود C/C++ لإرسال رسائل SMS متعددة إلى الهاتف المحمول
يوضح مثال كود C/C++ لإرسال الرسائل أدناه كيفية إرسال رسائل SMS باستخدام واجهة برمجة تطبيقات HTTP Rest الخاصة ببوابة Ozeki SMS باستخدام مكتبة Ozeki.Libs.Rest لـ C/C++. هذه المكتبة مقدمة لك مجانًا، ويمكنك استخدامها وتعديلها في أي من مشاريعك.
SendMultipleSms.cpp#include <iostream> #include <string> #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 msg1; msg1.ToAddress = "+36201111111"; msg1.Text = "Hello world 1"; Message msg2; msg2.ToAddress = "+36202222222"; msg2.Text = "Hello world 2"; Message msg3; msg3.ToAddress = "+36203333333"; msg3.Text = "Hello world 3"; MessageApi api(configuration); auto result = api.Send({ msg1, msg2, msg3 }); cout << result << endl; return 0; }
كيفية استخدام مثال C/C++ لإرسال الرسائل:
يمكن استخدام مثال C++ لإرسال الرسائل هذا في أي تطبيق C/C++. لاستخدامه، يجب عليك إضافة ملف Ozeki.Libs.Rest.dll كمرجع إلى مشروعك. بعد إضافة المرجع، يجب وضع التوجيه using Ozeki.Libs.Rest; في قسم الرأس من كود C/C++ المصدر الخاص بك. سيسمح لك ذلك باستخدام الفئات المقدمة من مكتبة Ozeki.Libs.Rest. يمكنك استخدام فئة Message لإنشاء الرسالة. يمكنك استخدام فئة MessageApi لإرسال الرسالة إلى بوابة الرسائل. ستقوم بوابة الرسائل بإعادة توجيه رسالتك إلى شبكة الهاتف المحمول إما عبر اتصال لاسلكي أو عبر الإنترنت.
تحميل SendSms.cpp
يمكن تنزيل كود المصدر الموضح في هذه المقالة واستخدامه وتعديله مجانًا.
تحميل: SendMultipleSms.cpp.zip (2.97Mb)
ما الموجود في ملف SendMultipleSms.cpp؟
يحتوي ملف SendMultipleSms.cpp على مكتبة Ozeki.Libs.Rest، والتي تمنحك جميع الأدوات اللازمة لإرسال واستقبال رسائل SMS. ستجد أيضًا مشروع SendMultipleSms في ملف zip، والذي يحتوي على كود المثال ليوضح لك كيفية إرسال رسالة SMS. تم سرد كود المثال هذا أدناه.
كيفية إرسال رسائل SMS متعددة من C/C++ (خطوات سريعة)
لإرسال رسائل SMS متعددة من C/C++:
- إعداد Visual Studio Community
- تحميل ملف SendMultipleSms.cpp.zip
- استخراج ملف .zip من مجلد التنزيلات
- فتح ملف sendsms.sln في Visual Studio
- تشغيل Ozeki SMS Gateway
- إنشاء مستخدم HTTP API في Ozeki
- تشغيل كود C/C++ SendMultipleSms.cpp في Visual Studio لإرسال رسالة SMS تجريبية
- التحقق من صندوق المرسلة في Ozeki SMS Gateway
تثبيت Ozeki SMS Gateway وإنشاء مستخدم HTTP API
لتتمكن من إرسال رسائل SMS من C/C++، تحتاج أولاً إلى تثبيت Ozeki SMS Gateway. يمكن تثبيت بوابة الرسائل على نفس الكمبيوتر الذي تقوم فيه بتطوير كود C/C++ في Visual Studio. بعد التثبيت، تكون الخطوة التالية هي ربط Ozeki SMS Gateway بشبكة الهاتف المحمول. يمكنك إنشاء مستخدم HTTP SMS API. قم بإنشاء مستخدم باسم مستخدم "http_user"، وكلمة مرور "qwe123" لجعل المثال يعمل دون تعديل.
بعد إعداد البيئة، يمكنك تشغيل كود C/C++ الخاص بك.
رابط HTTP API لاستخدام إرسال رسائل SMS من C/C++
لإرسال رسائل SMS من C/C++، سيتعين على تطبيق 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 لاستخدام إرسال رسائل SMS من 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: 935 Content-Type: application/json Accept: application/json Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Host: 127.0.0.1:9509 { "messages": [ { "create_date": "2021-06-29T08:40:11", "message_id": "rde8491s-5wpt-am95-bxsh-vu1a8kns10et", "submit_delivery_requested": true, "submit_report_requested": true, "submit_view_requested": true, "text": "Hello world 1", "time_to_send": "2021-06-29T08:40:11", "to_address": "+36201111111", "valid_until": "2021-07-06T08:40:11" }, { "create_date": "2021-06-29T08:40:11", "message_id": "qxhm3cuw-kwqb-mldi-b0xb-vn8sfway1hs2", "submit_delivery_requested": true, "submit_report_requested": true, "submit_view_requested": true, "text": "Hello world 2", "time_to_send": "2021-06-29T08:40:11", "to_address": "+36202222222", "valid_until": "2021-07-06T08:40:11" }, { "create_date": "2021-06-29T08:40:11", "message_id": "hnvcmp4j-a303-4432-psok-txujv54w8wrg", "submit_delivery_requested": true, "submit_report_requested": true, "submit_view_requested": true, "text": "Hello world 3", "time_to_send": "2021-06-29T08:40:11", "to_address": "+36203333333", "valid_until": "2021-07-06T08:40:11" } ] }
استجابة 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 08:36:20 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": "rde8491s-5wpt-am95-bxsh-vu1a8kns10et", "from_station": "%", "to_address": "+36201111111", "to_station": "%", "text": "Hello world 1", "create_date": "2021-06-29 08:40:11", "valid_until": "2021-07-06 08:40:11", "time_to_send": "2021-06-29 08:40:11", "submit_report_requested": true, "delivery_report_requested": false, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" }, { "message_id": "qxhm3cuw-kwqb-mldi-b0xb-vn8sfway1hs2", "from_station": "%", "to_address": "+36202222222", "to_station": "%", "text": "Hello world 2", "create_date": "2021-06-29 08:40:11", "valid_until": "2021-07-06 08:40:11", "time_to_send": "2021-06-29 08:40:11", "submit_report_requested": true, "delivery_report_requested": false, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" }, { "message_id": "hnvcmp4j-a303-4432-psok-txujv54w8wrg", "from_station": "%", "to_address": "+36203333333", "to_station": "%", "text": "Hello world 3", "create_date": "2021-06-29 08:40:11", "valid_until": "2021-07-06 08:40:11", "time_to_send": "2021-06-29 08:40:11", "submit_report_requested": true, "delivery_report_requested": false, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" } ] } }
مثال الرسائل القصيرة بلغة C/C++: SendMultipleSms.sln
في هذا الفيديو، سنوضح لك كيف يمكنك إرسال رسائل SMS متعددة باستخدام مشروع المثال الذي قدمناه في صفحة البرنامج التعليمي. سيبدأ الفيديو بتنزيل مشروع المثال وينتهي بتشغيل الكود. الفيديو قصير ولكنه سهل المتابعة للغاية. لن تواجه أي مشكلة في متابعة البرنامج التعليمي. إذا كنت معتادًا على لغة C/C++، فلا تتردد في تعديل المتغيرات في الكود لإرسال رسالة مخصصة إلى عناوين مخصصة.
كود المثال أدناه هو جزء من حل Visual Studio SendMultipleSms.sln. يمكن أن يحتوي حل Visual Studio على مشاريع متعددة وملفات متعددة. في هذا الحل يوجد مشروع واحد فقط: SendMultipleSms.vcxproj، وملف واحد: SendMultipleSms.cs.
كيفية استخدام المشروع التجريبي (فيديو تعليمي)
في الفيديو التالي، ستتعلم كيفية تشغيل الكود وكيفية التحقق من النتائج. أولاً، سيعرض لك الفيديو كيفية تشغيل الكود. ثم سترى كيفية التحقق من مجلد Sent الخاص بمستخدم HTTP. في نهاية الفيديو، سترى تفاصيل الرسالة المرسلة. طول الفيديو 46 ثانية فقط ويحتوي على جميع الخطوات والمعلومات المهمة التي تحتاجها لإكمال العملية.
أفكار أخيرة
يحتوي هذا الدليل على جميع المعلومات الأساسية حول كيفية إرسال رسائل SMS متعددة من لغة C / C++ باستخدام واجهة برمجة تطبيقات HTTP REST SMS الخاصة بـ Ozeki SMS Gateway. ستجد استخدام هذا الحل مفيدًا جدًا لأن واجهة برمجة تطبيقات SMS بلغة C / C++ تعمل مع بوابة SMS للأندرويد بالإضافة إلى مزودي خدمة SMS عبر الإنترنت الذين يسمحون لك بإرسال SMS لاسلكيًا. تتيح لك هذه الخدمة تقديم معلومات قيمة إلى أكثر من هاتف محمول في وقت واحد، مما يجعل رسائلك أكثر ديناميكية.
تابع وتعلم المزيد الآن! يمكنك العثور على العديد من المستندات المشابهة على موقع Ozeki الإلكتروني. يمكنك استخدام واجهات برمجة تطبيقات SMS بلغة C / C++ مع وظائف أخرى، تحقق من كيفية جدولة رسالة SMS في C/C++.
طبق ما تعلمته، قم أولاً بتنزيل Ozeki SMS Gateway!
More information
- إرسال رسالة قصيرة بـ C/Cpp باستخدام واجهة برمجة تطبيقات HTTP (عينة كود)
- إرسال رسائل متعددة بـ C/Cpp باستخدام واجهة برمجة تطبيقات HTTP (عينة كود)
- جدولة رسالة بـ C/Cpp باستخدام واجهة برمجة تطبيقات HTTP (عينة كود)
- استقبال رسالة بـ C/Cpp باستخدام واجهة برمجة تطبيقات HTTP (عينة كود)
- حذف رسالة بـ C/Cpp باستخدام واجهة برمجة تطبيقات HTTP (عينة كود)
- كيفية تنزيل أحدث مكتبة لواجهة برمجة تطبيقات الرسائل القصيرة لـ C/Cpp من Github