كيفية استقبال رسالة SMS في جافا سكريبت
أبسط طريقة لاستقبال رسائل SMS من جافا سكريبت هي استخدام واجهة برمجة تطبيقات HTTP/Rest المدمجة في بوابة Ozeki SMS. عند استخدام هذه الواجهة، ستستقبل رسائل SMS عن طريق إرسال طلب HTTP GET إلى بوابة الرسائل. سيُعيد طلب HTTP GET استجابة HTTP 200 OK لطلبك، مع الرسائل الموجودة داخل المجلد المحدد.
كود جافا سكريبت لاستقبال رسائل SMS على الهاتف المحمول
يوضح مثال كود جافا سكريبت لرسائل SMS أدناه كيف يمكنك استقبال رسائل SMS باستخدام واجهة برمجة تطبيقات REST لرسائل HTTP في بوابة Ozeki SMS باستخدام مكتبة Ozeki.Libs.Rest في جافا سكريبت. هذه المكتبة مقدمة لك مجانًا، ويمكنك استخدامها وتعديلها في أي من مشاريعك.
ReceiveSms.php<?php header("Access-Control-Allow-Origin: *"); header('Access-Control-Allow-Credentials: true'); header('Access-Control-Max-Age: 86400'); header("Access-Control-Allow-Headers: Authorization, Accept, Content-Type"); header("Access-Control-Allow-Methods: GET, POST, OPTIONS"); ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>استقبال SMS مع بوابة Ozeki SMS</title> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous"> <link rel="stylesheet" href="ReceiveSms.css"> </head> <body> <div class="form-container"> <button class="btn btn-primary" id="btnDownloadIncoming"> <b>تنزيل الوارد</b> </button> </div> <div class="card log-container"> <ul class="log" id="container"> <li class="list-group-item"><b>السجلات:</b></li> </ul> </div> <script type="module"> import { Configuration, MessageApi } from "./Ozeki.Libs.Rest.js"; var btnDownloadIncoming = document.getElementById("btnDownloadIncoming"); var configuration = new Configuration(); configuration.Username = 'http_user'; configuration.Password = 'qwe123'; configuration.ApiUrl = 'http://192.168.0.14:9509/api'; var api = new MessageApi(configuration); btnDownloadIncoming.addEventListener("click", async function() { let result = await api.DownloadIncoming(); document.getElementById('container').innerHTML += `<li class="list-group-item">${result}</li>`; for (let i = 0; i < result.MessageCount; i++) { document.getElementById('container').innerHTML += `<li class="list-group-item">${result.Messages[i]}</li>`; } }); </script> </body> </html>
كيفية استخدام مثال جافا سكريبت لرسائل SMS:
يمكن استخدام هذا مثال جافا سكريبت لرسائل SMS في أي تطبيق ويب. لاستخدامه، يجب عليك إضافة ملف Ozeki.Libs.Rest.js إلى مشروعك. بعد إضافته إلى مشروعك، يجب وضع التوجيه import {MessageApi, Configuration} from './Ozeki.Libs.Rest.js'; في قسم الرأس من كود المصدر الخاص بجافا سكريبت. سيسمح لك ذلك باستخدام الفئات المقدمة من مكتبة Ozeki.Libs.Rest. يمكنك استخدام فئة Message لإنشاء الرسالة SMS. ويمكنك استخدام فئة MessageApi لإرسال الرسالة SMS إلى بوابة الرسائل. ستعيد بوابة الرسائل توجيه رسالتك إلى شبكة الهاتف المحمول إما عبر اتصال لاسلكي أو عبر الإنترنت.
تنزيل ReceiveSms.js
يمكن تنزيل كود المصدر الموضح في هذه المقالة واستخدامه وتعديله مجانًا.
تنزيل: ReceiveSms.js.zip (5.28 كيلوبايت)
ما الموجود في ملف ReceiveSms.js.zip؟
يحتوي ملف ReceiveSms.js.zip على مكتبة Ozeki.Libs.Rest، التي تمنحك جميع الأدوات اللازمة لإرسال واستقبال رسائل SMS. ستجد أيضًا مشروع ReceiveSms داخل الملف المضغوط، والذي يحتوي على كود المثال ليوضح لك كيفية إرسال رسالة SMS. كود المثال هذا مدرج أدناه.
كيفية استقبال رسائل SMS من جافا سكريبت (إرشادات بسيطة)
لاستقبال رسائل SMS من جافا سكريبت:
- تثبيت مستخدم لواجهة برمجة تطبيقات HTTP
- تمكين تسجيل أحداث الاتصال في علامة التبويب المتقدم
- إعداد WampServer
- تنزيل ثم استخراج ملف ReceiveSms.js.zip
- وضع محتويات الملف المضغوط في مجلد \www\ الخاص بـ wampserver: C:\wamp64\www
- تشغيل تطبيق بوابة Ozeki SMS
- فتح الموقع عن طريق كتابة http://localhost/ReceiveSms.php في متصفحك
- بعد فتح الموقع، يمكنك إرسال رسالة SMS بالضغط على زر DownloadIncoming
- تحقق من السجلات لمعرفة ما إذا تم إرسال الرسالة SMS
تثبيت بوابة Ozeki للرسائل القصيرة وإنشاء مستخدم واجهة برمجة التطبيقات HTTP
لتتمكن من إرسال الرسائل القصيرة من JavaScript، تحتاج أولاً إلى تثبيت بوابة Ozeki للرسائل القصيرة. يمكن تثبيت بوابة الرسائل القصيرة على نفس الكمبيوتر الذي تقوم فيه بتطوير كود JavaScript في Visual Studio. بعد التثبيت، تكون الخطوة التالية هي ربط بوابة Ozeki للرسائل القصيرة بشبكة الهاتف المحمول. يمكنك إنشاء مستخدم لواجهة برمجة التطبيقات HTTP للرسائل القصيرة. قم بإنشاء مستخدم باسم مستخدم "http_user" وكلمة مرور "qwe123" لجعل المثال يعمل دون تعديل.
بعد إعداد البيئة، يمكنك تشغيل كود JavaScript الخاص بك.
رابط واجهة برمجة التطبيقات HTTP لاستقبال الرسائل القصيرة من JavaScript
لإرسال الرسائل القصيرة من JavaScript، سيتعين على JavaScript الخاص بك إرسال طلب HTTP إلى بوابة الرسائل القصيرة. رابط واجهة برمجة التطبيقات موضح أدناه. لاحظ أنه يجب استبدال عنوان IP (127.0.0.1) بعنوان IP الخاص ببوابة الرسائل القصيرة. إذا تم تثبيت بوابة Ozeki للرسائل القصيرة على نفس الكمبيوتر الذي يعمل عليه تطبيق JavaScript لإرسال الرسائل القصيرة، يمكن أن يكون هذا العنوان 127.0.0.1. إذا كان مثبتًا على كمبيوتر مختلف، فيجب أن يكون عنوان IP الخاص بهذا الكمبيوتر.
http://127.0.0.1:9509/api?action=rest
مصادقة HTTP لاستقبال الرسائل القصيرة من JavaScript
لمصادقة عميل الرسائل القصيرة JavaScript، تحتاج إلى إرسال اسم المستخدم وكلمة المرور في سلسلة مشفرة بـ base64 إلى الخادم في طلب HTTP. التنسيق المستخدم هو: base64(username+":"+password). في JavaScript، يمكنك استخدام الكود التالي لإجراء هذا التشفير:
// يمكنك العثور على مشفر Base64 في ملف Ozeki.Libs.Rest.js var usernamePassword = username + ":" + password; return `Basic ${Base64.encode(usernamePassword)}`;
على سبيل المثال، إذا قمت بتشفير اسم المستخدم 'http_user' وكلمة المرور 'qwe123'، ستحصل على السلسلة المشفرة بـ base64 التالية: aHR0cF91c2VyOnF3ZTEyMw==. للإرسال
رأس طلب HTTP لاستقبال الرسائل القصيرة من JavaScript
لإرسال الرسائل القصيرة، تحتاج إلى تضمين الأسطر التالية كرؤوس في طلب HTTP. لاحظ أننا ندرج نوع المحتوى ورأس المصادقة.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
طلب HTTP لإرسال الرسائل القصيرة من JavaScript
لإرسال الرسالة القصيرة، سيقوم تطبيق JavaScript الخاص بك بإرسال طلب HTTP مشابه للطلب أدناه. لاحظ أن هذا الطلب يحتوي على جزء رأس HTTP يتضمن اسم المستخدم وكلمة المرور الخاصة بـ http_user.
GET /api?action=receivemsg&folder=inbox HTTP/1.1 Connection: Keep-Alive Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Host: 127.0.0.1:9509
استجابة HTTP التي يتلقاها مثال الرسائل القصيرة JavaScript
بمجرد أن تستقبل بوابة الرسائل القصيرة هذا الطلب، ستقوم بإنشاء استجابة HTTP. ستتضمن استجابة HTTP رمز حالة للإشارة إلى ما إذا كان طلب إرسال الرسالة القصيرة ناجحًا أم لا. كما ستعود بهيكل مشفر بـ JSON لتزويدك بتفاصيل مفيدة حول إرسال الرسالة.
HTTP/1.1 200 OK User-Agent: OZEKI 10.3.116 (www.myozeki.com) Content-Type: application/json; charset=utf8 Last-Modified: Mon, 07 Jun 2021 14:10:25 GMT Server: 10/10.3.116 Transfer-Encoding: chunked { "http_code": 200, "response_code": "SUCCESS", "response_msg": "", "data": { "folder": "inbox", "limit": "1000", "data": [ { "message_id": "b754195d-9bd8-48dc-a45f-cf688c5b32e3", "from_connection": "http_user@localhost", "from_address": "+36201111111", "from_station": "%", "to_connection": "http_user@localhost", "to_address": "http_user", "to_station": "%", "text": "Hello, World 1", "create_date": "2021-06-08 09:12:24", "valid_until": "2021-06-15 09:12:24", "time_to_send": "0001-01-01 00:00:00", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ] }, { "message_id": "a6337c23-51bc-43ee-9181-c9838abbe161", "from_connection": "http_user@localhost", "from_address": "+36202222222", "from_station": "%", "to_connection": "http_user@localhost", "to_address": "http_user", "to_station": "%", "text": "Hello, World 2", "create_date": "2021-06-08 09:12:24", "valid_until": "2021-06-15 09:12:24", "time_to_send": "0001-01-01 00:00:00", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ] }, { "message_id": "ca14710b-42b9-4abc-b04f-262cc282dd7c", "from_connection": "http_user@localhost", "from_address": "+36203333333", "from_station": "%", "to_connection": "http_user@localhost", "to_address": "http_user", "to_station": "%", "text": "Hello, World 3", "create_date": "2021-06-08 09:12:24", "valid_until": "2021-06-15 09:12:24", "time_to_send": "0001-01-01 00:00:00", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ] } ] }
يُظهر هذا الفيديو كيفية تنزيل ملف ReceiveSms.js.zip من هذه الصفحة. إذا شاهدت الفيديو، ستلاحظ أن محتويات ملف ReceiveSms.js المضغوط توضع في مجلد \www\ لخادم WampServer. ستلاحظ أيضًا أننا نقوم بتشغيل خادم WampServer بالنقر على أيقونته مرتين، وبعد ذلك ندخل http://localhost:8080/ReceiveSms.php في متصفح الويب.
مثال على الرسائل القصيرة بجافا سكريبت: ReceiveSms.js
كود المثال أدناه هو جزء من ملف ReceiveSms.php. بالإضافة إلى ذلك، ستجد ملفين آخرين يُسميان ReceiveSms.css و Ozeki.Libs.Rest.js.
- يحتوي ملف Ozeki.Libs.Rest.js على جميع الأدوات اللازمة لإرسال وحذف وتمييز واستقبال الرسائل القصيرة.
- يحتوي ملف ReceiveSms.php على كود جافا سكريبت وبعض العناوين التي تسمح لنا بإرسال طلبات HTTP دون أخطاء CORS.
- يحتوي ملف ReceiveSms.css على ورقة الأنماط لصفحة الويب.
كيفية التحقق من قبول الرسالة القصيرة من قبل مستخدم HTTP (فيديو تعليمي)
بعد إرسال الرسالة القصيرة، من الجيد التحقق من بوابة الرسائل القصيرة لمعرفة ما تم استقباله. يمكنك التحقق من السجل عن طريق فتح تفاصيل مستخدم HTTP من وحدة تحكم إدارة بوابة Ozeki للرسائل القصيرة. يُظهر الفيديو التالي ما يجب البحث عنه. سيبدأ الفيديو بالكود المفتوح وينتهي بتفاصيل الرسالة المرسلة. ستتعلم كيفية إطلاق المشروع، وكيف يبدو المشروع أثناء التشغيل، وكيف يبدو ملف السجل بعد ذلك. طول الفيديو 42 ثانية فقط وسهل الفهم. لن تواجه أي مشكلة في متابعته.
ملخص
يُظهر لك هذا المقال كيفية استقبال الرسائل القصيرة من تطبيق جافا سكريبت الخاص بك باستخدام واجهة برمجة تطبيقات REST للرسائل القصيرة المدمجة في بوابة Ozeki للرسائل القصيرة. إذا تابعت هذا الدليل بانتباه، فأنت الآن قادر على استخدام البرنامج المقدم لإعادة توجيه الرسائل القصيرة المستلمة إلى التخزين الخاص بك بمساعدة مستخدم HTTP في بوابة Ozeki للرسائل القصيرة. يمكن استخدام هذا المستودع وتعديله مجانًا، لذا يمكنك استخدامه في أي من مشاريعك.
استمر في قراءة المقالات على موقع Ozeki، وقم بتوسيع معرفتك. تابع مع الدليل بعنوان كيفية حذف رسالة قصيرة في جافا سكريبت، وتعلم استخدام واجهة برمجة تطبيقات الرسائل القصيرة لأغراض أخرى.
لنبدأ العمل، ابدأ بتنزيل بوابة Ozeki للرسائل القصيرة الآن!
More information
- إرسال رسائل SMS عبر Javascript باستخدام واجهة برمجة تطبيقات HTTP (عينة كود)
- إرسال رسائل SMS متعددة عبر Javascript باستخدام واجهة برمجة تطبيقات HTTP (عينة كود)
- جدولة رسائل SMS عبر Javascript باستخدام واجهة برمجة تطبيقات HTTP (عينة كود)
- استقبال رسائل SMS عبر Javascript باستخدام واجهة برمجة تطبيقات HTTP (عينة كود)
- حذف رسائل SMS عبر Javascript باستخدام واجهة برمجة تطبيقات HTTP (عينة كود)
- كيفية تنزيل أحدث مكتبة واجهة برمجة تطبيقات رسائل SMS عبر Javascript من Github