كيفية إرسال رسائل SMS من Node.js

أسهل طريقة لإرسال رسائل SMS من Node.js هي استخدام واجهة برمجة تطبيقات HTTP/Rest المدمجة في Ozeki SMS Gateway. عند استخدام هذه الواجهة، ستقوم بإرسال رسائل SMS عن طريق إرسال طلب HTTP Post إلى بوابة الرسائل القصيرة. سيحتوي طلب HTTP Post على رسالة مُنسقة بتنسيق json. ستقوم بوابة الرسائل القصيرة بإرسال هذه الرسالة إلى هاتف المستلم، وسيتم إرجاع استجابة HTTP 200 OK لطلبك.

كيفية إرسال رسائل SMS من Node.js
الشكل 1 - كيفية إرسال رسائل SMS من Node.js

كود JavaScript لإرسال رسائل SMS إلى الهاتف المحمول

يوضح مثال كود JavaScript لإرسال الرسائل القصيرة أدناه كيفية إرسال رسائل SMS باستخدام واجهة برمجة تطبيقات HTTP Rest الخاصة بـ Ozeki SMS Gateway باستخدام مكتبة Ozeki.Libs.Rest في JavaScript. هذه المكتبة مقدمة لك مجانًا، ويمكنك استخدامها وتعديلها في أي من مشاريعك.

SendSms.mjs
import { Configuration, Message, MessageApi } from './Ozeki.Libs.Rest.js';


var configuration = new  Configuration();
configuration.Username = "http_user";
configuration.Password = "qwe123";
configuration.ApiUrl = "http://127.0.0.1:9509/api";

var api = new MessageApi(configuration);

var msg = new Message();
msg.ToAddress = "+36201111111";
msg.Text = "Hello world!";

const result = await api.Send(msg);

console.log(result.toString());
	

كيفية استخدام مثال JavaScript لإرسال الرسائل القصيرة:

يمكنك استخدام فئة Message لإنشاء الرسالة القصيرة، ويمكنك استخدام فئة MessageApi لإرسال الرسالة القصيرة إلى بوابة الرسائل القصيرة. ستقوم بوابة الرسائل القصيرة بإعادة توجيه رسالتك إلى شبكة الهاتف المحمول إما عبر اتصال لاسلكي أو عبر الإنترنت.

تحميل SendSms.js

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

ما الموجود في ملف SendSMS.js.zip؟

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

مشروع مثال لإرسال رسائل SMS باستخدام Node.js
الشكل 2 - دليل SendSms.js

هذا المشروع له تبعيات، لذا قبل البدء يجب عليك تثبيت حزمة node-fetch باستخدام الأمر التالي:

npm install node-fetch
	

الكود 1 - أمر لتثبيت حزمة node-fetch

.

كيفية إرسال رسائل SMS من Node.js (خطوات سريعة)

لإرسال رسائل SMS من Node.js:

  1. قم بتثبيت Ozeki SMS Gateway
  2. قم بتوصيل Ozeki SMS Gateway بشبكة الهاتف المحمول
  3. أرسل رسالة SMS اختبارية من واجهة Ozeki
  4. قم بإنشاء مستخدم لواجهة برمجة تطبيقات HTTP لإرسال الرسائل القصيرة
  5. Visual Studio Code أو المفكرة في Windows
  6. قم بتنزيل مشروع المثال أعلاه
  7. قم بإنشاء الرسالة القصيرة عن طريق إنشاء كائن Message جديد
  8. قم بإنشاء واجهة برمجة تطبيقات لإرسال رسالتك
  9. استخدم طريقة Send لإرسال رسالتك
  10. اقرأ رسالة الاستجابة في وحدة التحكم
  11. تحقق من السجلات في بوابة الرسائل القصيرة

قم بتثبيت Ozeki SMS Gateway وإنشاء مستخدم لواجهة برمجة تطبيقات HTTP

لتتمكن من إرسال رسائل SMS من Node.js، تحتاج أولاً إلى تثبيت Ozeki SMS Gateway. يمكن تثبيت بوابة الرسائل القصيرة على نفس الكمبيوتر الذي تقوم فيه بتطوير كود JavaScript في Visual Studio Code أو أي محرر أكواد آخر. بعد التثبيت، تكون الخطوة التالية هي توصيل Ozeki SMS Gateway بشبكة الهاتف المحمول. يمكنك إنشاء مستخدم لواجهة برمجة تطبيقات HTTP لإرسال الرسائل القصيرة. قم بإنشاء مستخدم باسم مستخدم "http_user"، وكلمة مرور "qwe123" لجعل المثال يعمل دون تعديل.

بعد إعداد البيئة، يمكنك تشغيل كود JavaScript الخاص بك.

رابط واجهة برمجة تطبيقات HTTP لإرسال رسائل SMS من Node.js

لإرسال رسائل SMS من Node.js، سيتعين على JavaScript الخاص بك إرسال طلب HTTP إلى بوابة الرسائل القصيرة. يظهر رابط واجهة برمجة التطبيقات أدناه. لاحظ أنه يجب استبدال عنوان IP (127.0.0.1) بعنوان IP الخاص ببوابة الرسائل القصيرة. إذا تم تثبيت Ozeki SMS Gateway على نفس الكمبيوتر الذي يعمل عليه تطبيق JavaScript لإرسال الرسائل القصيرة، يمكن أن يكون هذا العنوان 127.0.0.1. إذا كان مثبتًا على كمبيوتر مختلف، فيجب أن يكون عنوان IP الخاص بهذا الكمبيوتر.

http://127.0.0.1:9509/api?action=rest
	

مصادقة HTTP لإرسال رسائل SMS من JavaScript

لمصادقة عميل إرسال الرسائل القصيرة من Node.js، تحتاج إلى إرسال اسم المستخدم وكلمة المرور في سلسلة مشفرة بـ base64 إلى الخادم في طلب HTTP. التنسيق المستخدم هو: base64(username+":"+password). في JavaScript، يمكنك استخدام الكود التالي لإجراء هذا التشفير:

var usernamePassword = username + ":" + password;
return `Basic ${Base64.encode(usernamePassword)}`;
	

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

رأس طلب HTTP لإرسال الرسائل القصيرة من جافا سكريبت

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

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

طلب HTTP لإرسال الرسائل القصيرة من Node.Js

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

POST /api?action=sendmsg HTTP/1.1
Connection: close
Content-Length: 319
Content-Type: application/json
Accept: */*
Accept-Encoding: gzip,deflate
Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw==
Host: 127.0.0.1:9509
User-Agent: node-fetch/1.0 (+https://github.com/bitinn/node-fetch)
  
{
	"messages":	[
		{
			"message_id":	"faac3935-8358-d465-835c-0919186ddf7b",
			"to_address":	"+36201111111","text":"Hello world!",
			"create_date":	"2021-06-14T11:47:05",
			"vaild_date":	"2021-06-21T11:47:05",
			"time_to_send":	"2021-06-14T11:47:05",
			"submit_report_requested":	true,
			"delivery_report_requested":	true,
			"view_report_requested":	true
		}
	]
}
	

استجابة HTTP المستلمة من مثال الرسائل القصيرة في جافا سكريبت

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

HTTP/1.1 200 OK
User-Agent: OZEKI 10.3.120 (www.myozeki.com)
Content-Type: application/json; charset=utf8
Last-Modified: Mon, 14 Jun 2021 09:12:00 GMT
Server: 10/10.3.120
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": "faac3935-8358-d465-835c-0919186ddf7b",
	      "from_station": "%",
	      "to_address": "+36201111111",
	      "to_station": "%",
	      "text": "Hello world!",
	      "create_date": "2021-06-14 11:47:05",
	      "valid_until": "2021-06-21 11:47:05",
	      "time_to_send": "2021-06-14 11:47:05",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": false,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ],
	      "status": "SUCCESS"
	    }
	  ]
	}
}
	

كيفية إرسال الرسائل القصيرة من Node.Js باستخدام واجهة برمجة تطبيقات الرسائل القصيرة (فيديو تعليمي)

يُظهر لك هذا الفيديو كيفية تنزيل واستخدام مشروع SendSms.js. بمجرد إضافة الملفات المطلوبة إلى مشروعك، قد تلاحظ وجود ملف يسمى Ozeki.Lbis.Rest.js. هذا هو الملف الذي يحتوي على MessageApi وكل ما تحتاجه لإرسال رسالة قصيرة باستخدام جافا سكريبت.

الفيديو 1 - كيفية تنزيل Ozeki.Libs.Rest وإعداد مشروعك (فيديو تعليمي)

مثال Node.Js للرسائل القصيرة: SendSms.mjs (في المفكرة)

في هذه الصورة، يمكنك العثور على كود المصدر للمشروع، المفتوح في المفكرة (الشكل 3). كما ترى، يمكن فتحه في المفكرة ويمكن تحريره فيها أيضًا. إذا كنت معتادًا على Node.js، فلا تتردد في تغيير المتغيرات في الكود وإرسال رسالة مخصصة إلى عنوانك.

مثال جافا سكريبت لإرسال الرسائل القصيرة
الشكل 3 - SendSms.mjs في المفكرة

مثال Node.Js للرسائل القصيرة: SendSms.mjs (في Visual Studio Code)

إذا كنت تبحث عن طريقة أكثر تطورًا لفتح كود المصدر، جرب استخدام Visual Studio Code (الشكل 4). يوفر لك ترميز الألوان، مزيدًا من المساعدة، والإضافة التلقائية. إنه بيئة تطوير متكاملة (IDE) خفيفة الوزن مفتوحة المصدر ومجانية للاستخدام.

الشكل 4 - SendSms.mjs في Visual Studio Code

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

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

الفيديو 2 - إرسال الرسائل القصيرة باستخدام كود جافا سكريبت أعلاه (فيديو تعليمي)

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

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

الفيديو 3 - كيفية تشغيل التسجيل في بوابة Ozeki للرسائل القصيرة (فيديو تعليمي)

لتشغيل التسجيل في مستخدم HTTP، عليك اتباع نفس التعليمات.

الختام

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

ستجد المزيد من المقالات لمساعدتك على موقع Ozekي، لذا تأكد من مواصلة القراءة. بعد ذلك، تعلم كيفية إرسال رسائل SMS متعددة من Node.js.

قم بتنزيل بوابة Ozeki للرسائل القصيرة! من السهل إعدادها، افعل ذلك الآن!

More information