كيفية حذف رسالة SMS في جافا سكريبت

أبسط طريقة لحذف رسائل SMS من جافا سكريبت هي استخدام واجهة برمجة تطبيقات HTTP/Rest المدمجة في بوابة Ozeki SMS. عند استخدام هذه الواجهة، ستقوم بحذف رسائل SMS عن طريق إرسال طلب HTTP POST إلى بوابة الرسائل. سيعيد طلب HTTP POST استجابة HTTP 200 OK لطلبك، ومعرف (معرفات) الرسالة (الرسائل) التي تم حذفها.

كيفية حذف رسالة SMS في جافا سكريبت
الشكل 1 - كيفية حذف رسالة SMS في جافا سكريبت

كود جافا سكريبت لحذف رسالة SMS إلى الهاتف المحمول

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

DeleteSms.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="DeleteSms.css">
    </head>
    <body>

        <div class="form-container">
            <b>المعرف:</b>
            <input class="form-control" type="text" id="ID" placeholder="fcfaf789-1bb9-bad2-9486-f68be5e1d065">
            <b>المجلد:</b>
            <select class="form-select" id="folder">
                <option value="inbox">صندوق الوارد</option>
                <option value="outbox">صندوق الصادر</option>
                <option value="sent">المرسلة</option>
                <option value="notsent">غير المرسلة</option>
                <option value="deleted">المحذوفة</option>
            </select>
            <button class="btn btn-primary" id="btnDelete">
                <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, Message, MessageApi, Folder } from "./Ozeki.Libs.Rest.js";

            var btnDelete = document.getElementById("btnDelete");
                        
            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);

            btnDelete.addEventListener("click", async function() {
                if (document.getElementById("ID").value != '') {
                    var msg = new Message();
                    msg.ID = document.getElementById("ID").value;
                    
                    var folder;

                    var folderName = document.getElementById('folder').value;

                    if (folderName == 'inbox') {
                        folder = Folder.Inbox;
                    } else if (folderName == 'outbox') {
                        folder = Folder.Outbox;
                    } else if (folderName == 'sent') {
                        folder = Folder.Sent;
                    } else if (folderName == 'notsent') {
                        folder = Folder.NotSent;
                    } else {
                        folder = Folder.Deleted;
                    }

                    let result = await api.Delete(folder, msg);

                    document.getElementById('ID').value = '';
                    document.getElementById('folder').value = 'inbox';

                    document.getElementById('container').innerHTML += `<li class="list-group-item">${result}</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 إلى بوابة الرسائل. ستقوم بوابة الرسائل بإعادة توجيه رسالتك إلى شبكة الهاتف المحمول إما عبر اتصال لاسلكي أو عبر الإنترنت.

تحميل DeleteSms.js

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

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

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

دليل حذف رسائل SMS بجافا سكريبت
الشكل 2 - ما الموجود داخل DeleteSms.js.zip

كيفية حذف الرسائل القصيرة من جافا سكريبت (إرشادات بسيطة)

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

  1. قم بتثبيت مستخدم واجهة برمجة تطبيقات HTTP
  2. قم بتمكين تسجيل أحداث الاتصال في علامة التبويب المتقدمة
  3. قم بإعداد خادم WampServer
  4. قم بتنزيل ثم استخراج ملف DeleteSms.js.zip
  5. ضع محتويات ملف zip في مجلد \www\ الخاص بخادم wampserver: C:\wamp64\www
  6. قم بتشغيل تطبيق Ozeki SMS Gateway
  7. افتح الموقع عن طريق كتابة http://localhost/DeleteSms.php في متصفحك
  8. بعد فتح الموقع، يمكنك إرسال رسالة قصيرة بالنقر على زر DownloadIncoming
  9. تحقق من السجلات لمعرفة ما إذا كانت الرسالة قد أرسلت

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

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

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

رابط واجهة برمجة تطبيقات HTTP المستخدم لحذف الرسائل القصيرة من جافا سكريبت

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

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

مصادقة HTTP المستخدمة لحذف الرسائل القصيرة من جافا سكريبت

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

// يمكنك العثور على مشفر Base64 في ملف Ozeki.Libs.Rest.js 
var usernamePassword = username + ":" + password;
return `Basic ${Base64.encode(usernamePassword)}`;
	

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

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

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

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

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

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

POST /api?action=deletemsg HTTP/1.1
Connection: Keep-Alive
Content-Length: 73
Content-Type: application/json
Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw==
Host: 127.0.0.1:9509
  
{
    "folder":  "inbox",
    "message_ids": [
        "3a922414-458f-4866-a8ee-f053d1132a6b"
    ]
}
	

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

بمجرد أن تتلقى بوابة الرسائل القصيرة هذا الطلب، ستقوم بإنشاء استجابة 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",
        "message_ids": [
            "3a922414-458f-4866-a8ee-f053d1132a6b"
        ]
    }
}
	

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

يظهر لك هذا الفيديو كيفية تنزيل ملف DeleteSms.js.zip من هذه الصفحة. إذا شاهدت الفيديو، ستلاحظ أن محتويات ملف DeleteSms.js zip توضع في مجلد \www\ الخاص بـ WampServer. ستلاحظ أيضًا أننا نقوم بتشغيل WampServer بالنقر على أيقونته مرتين، وبعد ذلك نقوم بكتابة http://localhost:8080/DeleteSms.php في متصفح الويب.

مثال JavaScript لرسائل SMS: DeleteSms.js

كود المثال أدناه هو جزء من ملف PHP المسمى DeleteSms.php. بالإضافة إلى ذلك، سترى ملفين آخرين يُطلق عليهما DeleteSms.css و Ozeki.Libs.Rest.js.

  • يحتوي ملف Ozeki.Libs.Rest.js على جميع الأدوات الضرورية لإرسال وحذف وتمييز واستقبال رسائل SMS.
  • يحتوي ملف DeleteSms.php على كود JavaScript، وبعض العناوين التي تسمح لنا بإرسال طلبات HTTP دون أخطاء CORS.
  • يحتوي ملف DeleteSms.css على ورقة الأنماط لصفحة الويب.

كيفية حذف رسائل SMS باستخدام JavaScript
الشكل 3 - DeleteSms.php

كيفية التحقق من قبول رسالة SMS من قبل مستخدم HTTP (فيديو تعليمي)

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

الفيديو 2 - كيفية حذف رسائل SMS باستخدام كود JavaScript أعلاه (فيديو تعليمي)

أفكار أخيرة

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

واصل دراستك، وتعلم المزيد عن أشياء مثل واجهة برمجة تطبيقات رسائل SMS بلغة JavaScript على موقع Ozeki. من المفيد قراءة البرنامج التعليمي حول كيفية تنزيل أحدث مكتبة لواجهة برمجة تطبيقات رسائل SMS بلغة JavaScript من Github.

المهمة التالية هي تنزيل بوابة Ozeki SMS والبدء في العمل!

More information