كيفية جدولة رسالة SMS في Node.js
أبسط طريقة لإرسال رسائل SMS من Node.js هي استخدام واجهة برمجة تطبيقات HTTP/Rest المدمجة في بوابة Ozeki SMS. عند استخدام هذه الواجهة، ستقوم بإرسال رسائل SMS عن طريق إرسال طلب HTTP Post إلى بوابة الرسائل القصيرة. سيحتوي طلب HTTP Post على رسالة بتنسيق json. ستقوم بوابة الرسائل القصيرة بإرسال هذه الرسالة إلى هاتف المستلم، وستعيد ردًا HTTP 200 OK لطلبك.
كود JavaScript لإرسال رسالة SMS إلى الهاتف المحمول
يوضح مثال كود JavaScript لإرسال الرسائل القصيرة أدناه كيف يمكنك إرسال الرسائل القصيرة باستخدام واجهة برمجة تطبيقات HTTP REST الخاصة ببوابة Ozeki SMS باستخدام مكتبة Ozeki.Libs.Rest في JavaScript. هذه المكتبة مقدمة لك مجانًا، ويمكنك استخدامها وتعديلها في أي من مشاريعك.
SendScheduledSms.mjsimport { 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 msg = new Message(); msg.ToAddress = "+36201111111"; msg.Text = "Hello world!"; msg.TimeToSend = new Date(Date.UTC(2021, 5, 21, 14, 55, 0)); var api = new MessageApi(configuration); const result = await api.Send(msg); console.log(result.toString());
كيفية استخدام مثال JavaScript لإرسال الرسائل القصيرة:
يمكنك استخدام فئة Message لإنشاء الرسالة القصيرة ويمكنك استخدام فئة MessageApi لإرسال الرسالة القصيرة إلى بوابة الرسائل القصيرة. ستقوم بوابة الرسائل القصيرة بإعادة توجيه رسالتك إلى شبكة الهاتف المحمول إما عبر اتصال لاسلكي أو عبر الإنترنت.
تنزيل SendScheduledSms.js
يمكن تنزيل كود المصدر الموضح في هذه المقالة واستخدامه وتعديله مجانًا.
تنزيل: SendScheduledSms.js.zip (4.46 كيلوبايت)
ما الموجود في ملف SendScheduledSms.js.zip؟
يحتوي ملف SendScheduledSms.js.zip على مكتبة Ozeki.Libs.Rest، والتي تمنحك جميع الأدوات اللازمة لإرسال واستقبال رسائل SMS. ستجد أيضًا ملف SendScheduledSms.mjs في المشروع، والذي يحتوي على كود المثال ليوضح لك كيفية إرسال رسالة SMS. تم سرد كود المثال هذا أدناه.
هذا المشروع له تبعيات، لذا قبل البدء يجب عليك تثبيت حزمة node-fetch باستخدام الأمر التالي:
npm install node-fetch
كيفية إرسال رسالة SMS مجدولة من Node.js (خطوات سريعة)
لإرسال رسالة SMS مجدولة من Node.js:
- قم بتثبيت بوابة Ozeki SMS
- قم بتوصيل بوابة Ozeki SMS بشبكة الهاتف المحمول
- أرسل رسالة SMS تجريبية من واجهة Ozeki
- قم بإنشاء مستخدم لواجهة برمجة تطبيقات HTTP للرسائل القصيرة
- Apache NetBeans
- قم بتنزيل مشروع المثال أعلاه
- قم بإنشاء الرسالة القصيرة عن طريق إنشاء كائن Message جديد
- قم بإنشاء واجهة برمجة تطبيقات لإرسال رسالتك
- استخدم طريقة Send لإرسال رسالتك
- اقرأ رسالة الرد على وحدة التحكم
- تحقق من السجلات في بوابة الرسائل القصيرة
قم بتثبيت بوابة Ozeki SMS وأنشئ مستخدمًا لواجهة برمجة تطبيقات HTTP
لتتمكن من إرسال رسائل SMS من Node.js، تحتاج أولاً إلى تثبيت بوابة Ozeki SMS. يمكن تثبيت بوابة الرسائل القصيرة على نفس الكمبيوتر الذي تقوم فيه بتطوير كود JavaScript في Visual Studio Code أو أي محرر أكواد آخر. بعد التثبيت، تكون الخطوة التالية هي توصيل بوابة Ozeki SMS بشبكة الهاتف المحمول. يمكنك إنشاء مستخدم لواجهة برمجة تطبيقات HTTP للرسائل القصيرة. قم بإنشاء مستخدم باسم مستخدم "http_user"، وكلمة مرور "qwe123" لجعل المثال يعمل دون تعديل.
بعد إعداد البيئة، يمكنك تشغيل كود JavaScript الخاص بك.
رابط واجهة برمجة تطبيقات HTTP لإرسال رسائل SMS من Node.js
لإرسال رسائل SMS من Node.js، سيتعين على JavaScript الخاص بك إصدار طلب HTTP إلى بوابة الرسائل القصيرة. يظهر رابط واجهة برمجة التطبيقات أدناه. لاحظ أنه يجب استبدال عنوان IP (127.0.0.1) بعنوان IP الخاص ببوابة الرسائل القصيرة. إذا تم تثبيت بوابة Ozeki SMS على نفس الكمبيوتر الذي يعمل عليه تطبيق JavaScript لإرسال الرسائل القصيرة، يمكن أن يكون هذا 127.0.0.1. إذا كان مثبتًا على كمبيوتر مختلف، فيجب أن يكون عنوان IP الخاص بهذا الكمبيوتر.
http://127.0.0.1:9509/api?action=rest
مصادقة HTTP لإرسال رسائل SMS من JavaScript
لمصادقة عميل SMS في 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": "7f9016d5-1e23-d85d-b425-30a435af529e", "to_address": "+36201111111", "text": "مرحبًا بالعالم!", "create_date": "2021-06-14T10:16:21", "vaild_date": "2021-06-21T10:16:21", "time_to_send": "2021-06-14T10:20:00", "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": "تمت إضافة الرسائل إلى قائمة الانتظار للإرسال.", "data": { "total_count": 1, "success_count": 1, "failed_count": 0, "messages": [ { "message_id": "7f9016d5-1e23-d85d-b425-30a435af529e", "from_station": "%", "to_address": "+36201111111", "to_station": "%", "text": "مرحبًا بالعالم!", "create_date": "2021-06-14 10:16:21", "valid_until": "2021-06-21 10:16:21", "time_to_send": "2021-06-14 10:20:00", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" } ] } }
كيفية إرسال الرسائل القصيرة من Node.Js باستخدام واجهة برمجة تطبيقات الرسائل القصيرة (فيديو تعليمي)
يُظهر لك هذا الفيديو كيفية تنزيل واستخدام مشروع SendScheduledSms.js. بمجرد أن تقوم بإضافة الملفات المطلوبة إلى مشروعك، قد تلاحظ وجود ملف يسمى Ozeki.Lbis.Rest.js. هذا هو الملف الذي يحتوي على MessageApi وكل ما تحتاجه لإرسال رسالة قصيرة باستخدام جافا سكريبت.
مثال Node.Js للرسائل القصيرة: SendScheduledSms.mjs (في Notepad)
في الشكل 3، يمكنك رؤية الكود المصدري لمشروع SendScheduledSMS، مفتوحًا في Notepad. يمكنك استخدامه لتعديل الكود إذا كنت على دراية بلغة برمجة Node.js. قم بتغيير قيم المتغيرات لإرسال رسالة مخصصة إلى عنوان مخصص.
مثال Node.Js للرسائل القصيرة: SendScheduledSms.mjs (في Visual Studio Code)
إذا كنت ترغب في استخدام بيئة تطوير متكاملة (IDE) مع ترميز الألوان، والإضافات، والوثائق المساعدة، استخدم Visual Studio Code (الشكل 4). إنها بيئة تطوير مجانية الاستخدام ستساعدك على بناء برامج أفضل. إذا كنت على دراية بلغة برمجة Node.js، لا تتردد في تعديل قيم المتغيرات لإرسال رسالة مخصصة إلى عنوان مخصص.
كيفية التحقق من قبول الرسالة القصيرة من قبل مستخدم HTTP
بعد إرسال الرسالة القصيرة، من الجيد التحقق من بوابة الرسائل القصيرة الخاصة بك، لمعرفة ما تم استلامه. يمكنك التحقق من السجل عن طريق فتح تفاصيل مستخدم HTTP من وحدة تحكم إدارة بوابة Ozeki للرسائل القصيرة. يُظهر لك الفيديو التالي ما يجب البحث عنه.
كيفية التحقق من إرسال الرسالة القصيرة إلى شبكة الهاتف المحمول
الخطوة الأخيرة في التحقق من الإجراء هي إلقاء نظرة على سجلات اتصال شبكة الهاتف المحمول. قد تحتاج إلى تفعيل التسجيل في إعدادات الاتصال قبل إرسال الرسالة لرؤية السجلات. إذا كان التسجيل مفعلًا، فسترى رقم الهاتف والنص الرسالة التي أرسلتها.
الختام
الوظيفة الرئيسية لهذه المقالة كانت أن تريك كيفية إرسال رسائل SMS مجدولة من Node.js باستخدام مستخدم HTTP لبوابة Ozeki للرسائل القصيرة. إذا كنت قد اتبعت الخطوات بانتباه، فيجب أن تتمكن بسهولة من جدولة رسائل SMS باستخدام برنامج Node.js الخاص بك. لمشاركة المعلومات بشكل أكثر فعالية، يجب أن تولي اهتمامًا كبيرًا للتوقيت لأنه يمكن أن يحافظ على توازن حركة المرور للرسائل ويعزز اتصالاً أكثر سلاسة.
تابع قراءة الإرشادات على صفحة Ozeki لمزيد من المعلومات حول كيفية تطوير نظام المراسلة الخاص بك. اكتشف دروس Node.js أخرى مثل كيفية استقبال رسالة SMS في Node.js والمزيد.
قم بتنزيل بوابة Ozeki للرسائل القصيرة الآن وليبدأ العمل!
More information
- إرسال SMS باستخدام Node.js مع واجهة برمجة التطبيقات REST (HTTP) (عينة كود)
- إرسال عدة رسائل SMS باستخدام Node.js مع واجهة برمجة التطبيقات REST (HTTP) (عينة كود)
- جدولة SMS باستخدام Node.js مع واجهة برمجة التطبيقات REST (HTTP) (عينة كود)
- استقبال SMS باستخدام Node.js مع واجهة برمجة التطبيقات REST (HTTP) (عينة كود)
- حذف SMS باستخدام Node.js مع واجهة برمجة التطبيقات REST (HTTP) (عينة كود)
- Github: Node.js SMS API
- درس Node.js: Hello world