كيفية إرسال رسائل 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++. هذه المكتبة مقدمة لك مجانًا، ويمكنك استخدامها وتعديلها في أي من مشاريعك.

SendSms.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 msg;
	msg.ToAddress = "+36201111111";
	msg.Text = "Hello world!";

	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 لإرسال الرسالة القصيرة إلى بوابة الرسائل القصيرة. ستقوم بوابة الرسائل القصيرة بإعادة توجيه رسالتك إلى شبكة الهاتف المحمول إما عبر اتصال لاسلكي أو عبر الإنترنت.

كيفية إرسال رسائل SMS من لغة C/C++
الشكل 1 - كيفية إرسال رسائل SMS من لغة C/C++

تحميل SendSms.cpp

يمكن تنزيل الكود المصدري الموضح في هذه المقالة واستخدامه وتعديله مجانًا.
تحميل: SendSms.cpp.zip (2.97Mb)

ما الموجود في ملف SendSms.cpp.zip؟

يحتوي ملف SendSms.cpp.zip على مكتبة Ozeki.Libs.Rest، والتي تمنحك جميع الأدوات اللازمة لإرسال واستقبال رسائل SMS. ستجد أيضًا مشروع SendSms في الملف المضغوط، والذي يحتوي على الكود المثال ليوضح لك كيفية إرسال رسالة SMS. هذا الكود المثال مدرج أدناه.

الشكل 2 - ما الموجود داخل SendSms.cpp.zip

كيفية إرسال رسائل SMS من لغة C/C++ (إرشادات بسيطة)

لإرسال رسائل SMS من لغة C/C++:

  1. قم بتثبيت مستخدم HTTP API
  2. قم بتمكين تسجيل أحداث الاتصال في علامة التبويب المتقدمة
  3. قم بإعداد Visual Studio
  4. قم بتنزيل ثم استخراج ملف SendSms.cpp.zip
  5. افتح ملف sendsms.sln في Visual Studio
  6. قم بتشغيل تطبيق Ozeki SMS Gateway
  7. قم بتشغيل كود C++ SendSMS.cpp في Visual Studio
  8. تحقق من السجلات لمعرفة ما إذا تم إرسال الرسالة القصيرة

تثبيت 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/C++، يمكنك استخدام الكود التالي لإجراء هذا التشفير:

string usernamePassword = username + ":" + password;
string usernamePasswordEncoded = base64::encode(usernamePassword);
return "Basic " + usernamePasswordEncoded;
	

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

رأس طلب HTTP لإرسال رسائل SMS من لغة C/C++

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

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

طلب HTTP لإرسال رسالة SMS من لغة 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-29T07:55:54",
			"message_id":	"hbfc030d-68b7-a1i0-6e96-6jgkqml6rnt9",
			"submit_delivery_requested":	true,
			"submit_report_requested":	true,
			"submit_view_requested":	true,
			"text":	"Hello world!",
			"time_to_send":	"2021-06-29T07:55:54",
			"to_address":	"+36201111111",
			"valid_until":	"2021-07-06T07:55:54"
		}
	]
}
	

استجابة HTTP المستلمة من مثال SMS بلغة 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: Mon, 28 Jun 2021 16:58:02 GMT
Server: 10/10.3.123
Transfer-Encoding: chunked

{
	"http_code": 200,
	"response_code": "SUCCESS",
	"response_msg": "Messages queued for delivery.",
	"data": {
	  "total_count": 1,
	  "success_count": 1,
	  "failed_count": 0,
	  "messages": [
	    {
	      "message_id": "hbfc030d-68b7-a1i0-6e96-6jgkqml6rnt9",
	      "from_station": "%",
	      "to_address": "+36201111111",
	      "to_station": "%",
	      "text": "Hello world!",
	      "create_date": "2021-06-29 07:55:54",
	      "valid_until": "2021-07-06 07:55:54",
	      "time_to_send": "2021-06-29 07:55:54",
	      "submit_report_requested": true,
	      "delivery_report_requested": false,
	      "view_report_requested": false,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ],
	      "status": "SUCCESS"
	    }
	  ]
	}
}
	

قم بتوصيل بوابة الرسائل القصيرة الخاصة بك بشبكة الهاتف المحمول وأنشئ حساب مستخدم لـ HTTP API (فيديو تعليمي)

نفترض أنك قمت بالفعل بتثبيت بوابة Ozeki للرسائل القصيرة، وأنك قمت بتوصيلها بشبكة الهاتف المحمول. لكي تتمكن من إرسال رسائل SMS إلى هاتف محمول من لغة C#، تحتاج إلى إعداد حساب مستخدم لـ HTTP API في بوابة Ozeki للرسائل القصيرة. في هذا الفيديو، سنوضح لك كيفية القيام بذلك. سيبدأ الفيديو بإضافة مستخدم جديد وينتهي بـ HTTP API يعمل. ستتعلم أيضًا كيفية تغيير مستوى تسجيل الأحداث في API. هذا الفيديو الذي مدته 30 ثانية سهل المتابعة ومفصل، بالإضافة إلى أننا نستخدم بوابة Ozeki للرسائل القصيرة التي توفر واجهة مستخدم بديهية. لن تواجه أي مشكلة في متابعة البرنامج التعليمي.

الفيديو 1 - كيفية إعداد حساب مستخدم لـ HTTP API (فيديو تعليمي)

كيفية إرسال رسائل SMS من لغة C/C++ باستخدام واجهة برمجة التطبيقات للرسائل القصيرة بلغة C/C++ (فيديو تعليمي)

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

الفيديو 2 - كيفية تنزيل وتشغيل مشروع المثال (فيديو تعليمي)

مثال SMS بلغة C/C++: SendSms.sln

كود المثال أدناه هو جزء من حل Visual Studio SendSms.sln. يمكن أن يحتوي حل Visual Studio على مشاريع متعددة وملفات متعددة. في هذا الحل يوجد مشروع واحد فقط: SendSms.vcxproj، وملف واحد: SendSms.cpp.

الشكل 3 - SendSms.sln

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

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

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

كيفية التحقق من إرسال الرسالة القصيرة إلى شبكة الهاتف المحمول

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

الفيديو 4 - كيفية اختبار ما إذا كان العميل SMPP قد قبل الطلب (درس فيديو)

استقبال رسالة قصيرة على أندرويد

في هذا الفيديو، سترى عملية استقبال رسالة قصيرة على أندرويد. سيبدأ الفيديو الذي مدته 18 ثانية بصفحة رئيسية عادية لأندرويد ويظهر لك الإشعار في حالة ورود رسالة. ستتعلم أيضًا كيفية فتح تطبيق الرسائل، حيث يمكنك الحصول على مزيد من المعلومات حول الرسالة والرد عليها. العملية سهلة الفهم، ويظهرها الفيديو بالكامل.

الفيديو 5 - استقبال رسالة قصيرة على الهاتف المحمول (درس فيديو)

خلاصة القول

هذه المقالة مكتوبة لتعليمك كيفية إرسال رسائل SMS من لغة C/C++ باستخدام مستخدم واجهة برمجة التطبيقات HTTP في بوابة Ozeki للرسائل القصيرة. يوفر لك اتصال مستخدم HTTP في بوابة Ozeki للرسائل القصيرة اتصالًا موثوقًا به وسرعة مذهلة لمساعدة عملك على السير بسلاسة. يمكن أن تجعل هذه الحلول مؤسستك أكثر كفاءة لأنها تتيح لك إرسال رسائل SMS مهمة بسرعة وسهولة من خلال تطبيقك المكتوب بلغة C/C++.

هناك المزيد من المقالات لمساعدتك، لذا تأكد من مواصلة القراءة. انتقل إلى درس كيفية إرسال رسائل متعددة من لغة C/C++ وتعلم المزيد.

ابدأ باستخدام بوابة Ozeki للرسائل القصيرة الآن! قم بتنزيلها من موقع Ozeki الإلكتروني.

More information