Hogyan töröljünk SMS-t JavaScriptben

A legegyszerűbb módja az SMS-ek törlésének JavaScriptből az Ozeki SMS Gateway beépített HTTP/Rest SMS API-jának használata. Amikor ezt az API-t használod, az SMS-eket egy HTTP POST kérés küldésével törölheted az SMS gatewaynek. Az HTTP POST kérés egy HTTP 200 OK választ fog visszaadni, valamint a törölt üzenet(ek) azonosítóit.

hogyan töröljünk sms-t javascriptben
1. ábra - Hogyan töröljünk SMS-t JavaScriptben

JavaScript kód SMS törléséhez mobilra

Az alábbi JavaScript SMS kód minta bemutatja, hogyan törölhetsz SMS-üzeneteket az Ozeki SMS Gateway http rest sms API-jával a JavaScript Ozeki.Libs.Rest könyvtár segítségével. Ez a könyvtár ingyenesen használható, és bármilyen projektben felhasználható és módosítható.

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 törlése az Ozeki SMS Gateway segítségével</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>ID:</b>
            <input class="form-control" type="text" id="ID" placeholder="fcfaf789-1bb9-bad2-9486-f68be5e1d065">
            <b>Mappa:</b>
            <select class="form-select" id="folder">
                <option value="inbox">Bejövő</option>
                <option value="outbox">Kimenő</option>
                <option value="sent">Elküldött</option>
                <option value="notsent">Nem elküldött</option>
                <option value="deleted">Törölt</option>
            </select>
            <button class="btn btn-primary" id="btnDelete">
                <b>TÖRÖL</b>
            </button>
        </div>

        <div class="card log-container">
            <ul class="log" id="container">
                <li class="list-group-item"><b>Naplók:</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>
	

A JavaScript SMS példa használata:

Ez a JavaScript SMS példa bármilyen webalkalmazásban használható. A használathoz hozzá kell adnod az Ozeki.Libs.Rest.js fájlt a projektedhez. Miután hozzáadtad a projektedhez, az import {MessageApi, Configuration} from './Ozeki.Libs.Rest.js'; direktívát a JavaScript forráskódod fejléc részébe kell elhelyezned. Ez lehetővé teszi az Ozeki.Libs.Rest könyvtár által nyújtott osztályok használatát. Az Message osztály segítségével létrehozhatod az SMS-t. Az MessageApi osztály segítségével elküldheted az SMS-t az SMS gatewaynek. Az SMS gateway továbbítja az üzenetedet a mobil hálózatba vezeték nélküli kapcsolaton vagy az interneten keresztül.

DeleteSms.js letöltése

A cikkben ismertetett forráskód letölthető, ingyenesen használható és módosítható.
Letöltés: DeleteSms.js.zip (5.52Kb)

Mi található a DeleteSms.js.zip fájlban?

A DeleteSms.js.zip fájl tartalmazza az Ozeki.Libs.Rest könyvtárat, amely minden szükséges eszközt biztosít az SMS-ek küldéséhez és fogadásához. A zip fájlban megtalálod a DeleteSms projektet is, amely tartalmazza a példakódot, amely bemutatja, hogyan küldj SMS-t. Ez a példakód az alábbiakban látható.

delete sms js könyvtár
2. ábra - Mi található a DeleteSms.js.zip fájlban

Hogyan töröljünk SMS-t JavaScriptből (Egyszerű útmutató)

SMS törlése JavaScriptből:

  1. Telepíts egy HTTP API felhasználót
  2. Kapcsold be a "Log communication events" opciót az Advanced fülön
  3. Állítsd be a WampServer-t
  4. Töltsd le, majd csomagold ki a DeleteSms.js.zip fájlt
  5. Helyezd a zip fájl tartalmát a wampserver \www\ mappájába: C:\wamp64\www
  6. Indítsd el az Ozeki SMS Gateway alkalmazást
  7. Nyisd meg a weboldalt a http://localhost/DeleteSms.php cím beírásával a böngésződbe
  8. Miután megnyitottad a weboldalt, törölhetsz SMS-t a DownloadIncoming gombra kattintva
  9. Ellenőrizd a naplókat, hogy az SMS sikeresen törlődött-e

Ozeki SMS Gateway telepítése és HTTP API felhasználó létrehozása

Ahhoz, hogy SMS-t tudj küldeni JavaScriptből, először telepítened kell az Ozeki SMS Gateway-t. Az SMS gateway telepíthető ugyanarra a számítógépre, ahol a JavaScript kódodat fejleszted Visual Studio-ban. A telepítés után a következő lépés az Ozeki SMS Gateway csatlakoztatása a mobil hálózathoz. HTTP SMS API felhasználói fiók létrehozása. Hozz létre egy felhasználót "http_user" felhasználónévvel és "qwe123" jelszóval, hogy a példa módosítás nélkül működjön.

Miután a környezet be van állítva, futtathatod a JavaScript kódodat.

HTTP API URL SMS törléséhez JavaScriptből

Ahhoz, hogy SMS-t törölhess JavaScriptből, a JavaScript kódodnak egy HTTP kérést kell küldenie az SMS gatewaynek. Az API URL az alábbiakban látható. Fontos, hogy az IP cím (127.0.0.1) helyére az SMS gateway IP címét írd. Ha az Ozeki SMS Gateway ugyanarra a számítógépre van telepítve, ahol a JavaScript SMS alkalmazás fut, ez maradhat 127.0.0.1. Ha másik számítógépre van telepítve, annak IP címét kell megadni.

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

HTTP hitelesítés SMS törléséhez JavaScriptből

A JavaScript SMS kliens hitelesítéséhez a felhasználónevet és a jelszót egy base64 kódolt sztringként kell elküldeni a szervernek egy HTTP kérésben. A használt formátum: base64(username+":"+password). JavaScriptben a következő kódot használhatod a kódoláshoz:

// A Base64 kódoló az Ozeki.Libs.Rest.js fájlban található 
var usernamePassword = username + ":" + password;
return `Basic ${Base64.encode(usernamePassword)}`;
	

Például, ha a 'http_user' felhasználónevet és a 'qwe123' jelszót kódolod, a következő base64 kódolt sztringet kapod: aHR0cF91c2VyOnF3ZTEyMw==.

HTTP kérés fejléc SMS törléséhez JavaScriptből

Az SMS-ek törléséhez a következő sorokat kell felvenni a HTTP kérés fejlécébe. Figyelj arra, hogy tartalomtípust és egy Authorization fejlécet is tartalmazunk.

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

HTTP kérés SMS törléséhez JavaScriptből

Az SMS törléséhez a JavaScript alkalmazásod egy olyan HTTP kérést küld, mint az alábbi. Figyelj rá, hogy ez a kérés tartalmaz egy HTTP fejléc részt és egy törzs részt. A törzs rész tartalmazza azt a mappát, amelyben az üzenet(ek) található(ak), valamint az üzenet(ek) azonosítóit JSON sztring formájában.

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 válasz, amelyet a JavaScript SMS példa kap

Amint az SMS gateway megkapja ezt a kérést, generál egy HTTP választ. Az HTTP válasz tartalmaz egy állapotkódot, amely jelzi, hogy az SMS törlési kérés sikeres volt-e vagy sem. Emellett egy JSON kódolt struktúrát is visszaad, ami hasznos részleteket nyújt az üzenet törléséről.

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"
        ]
    }
}
	

Hogyan töröljünk SMS-t JavaScriptből a JavaScript SMS API segítségével (Videó útmutató)

Ez a videó bemutatja, hogyan töltheted le a DeleteSms.js.zip fájlt erről az oldalról. Ha megnézed a videót, észreveszed, hogy a DeleteSms.js zip tartalma elhelyezésre kerül a WampServer \www\ mappájába. Azt is látni fogod, hogy a WampServer-t indítjuk a dupla kattintással az ikonjára, majd ezt követően beírjuk a http://localhost:8080/DeleteSms.php címet a böngészőbe.

JavaScript SMS példa: DeleteSms.js

Az alábbi példakód a DeleteSms.php PHP fájl része. Ezen kívül két másik fájl is látható, a DeleteSms.css és a Ozeki.Libs.Rest.js.

  • Az Ozeki.Libs.Rest.js fájl tartalmazza az összes szükséges eszközt az SMS-ek küldéséhez, törléséhez, megjelöléséhez és fogadásához.
  • A DeleteSms.php tartalmazza a javascript kódot, és néhány fejlécet, amely lehetővé teszi számunkra a HTTP kérések küldését CORS hibák nélkül.
  • A DeleteSms.css tartalmazza a weboldal stíluslapját.

hogyan töröljünk sms-t javascripttel
3. ábra - DeleteSms.php

Hogyan ellenőrizd, hogy az SMS-t elfogadta-e az HTTP felhasználó (Videó útmutató)

Miután az SMS-t elküldted, jó ötlet ellenőrizni az SMS gatewaydet, hogy lássad, mit kapott meg. A naplót megtekintheted az Ozeki SMS Gateway kezelőfelületén az HTTP felhasználó részleteinek megnyitásával. A következő videó bemutatja, hogy mire kell figyelni. A videó a megnyitott kóddal kezdődik, és az elküldött üzenet részleteivel ér véget. Megtanulod, hogyan indítsd el a projektet, hogyan néz ki a projekt futás közben, és hogyan néz ki a naplófájl utána. A videó mindössze 42 másodperc hosszú és könnyen érthető. Nem lesz gondod a követésével.

2. videó - Hogyan törölj SMS-t a fenti JavaScript kóddal (Videó útmutató)

Végső gondolatok

A fenti cikk bemutatja az SMS-üzenetek törlésének lépéseit egy JavaScript programban az Ozeki SMS Gateway HTTP felhasználójának használatával. Fontos, hogy az üzenet tárolód egyensúlyban és tiszta legyen, ha naponta sok SMS-sel kell foglalkoznod, és profi szeretnél maradni. Az Ozeki SMS Gateway kezelése egyszerű JavaScript kódokkal, és számos jelentéskészítési lehetőséget kínál az SMS kapcsolattal kapcsolatos további információk nyújtására.

Folytasd a tanulást, és tudj meg többet olyan dolgokról, mint a JavaScript SMS API az Ozeki weboldalán. Hasznos elolvasni az Hogyan töltsd le a legújabb JavaScript SMS API könyvtárat Githubról című útmutatót.

A következő feladat az Ozeki SMS Gateway letöltése és kezdődhet a munka!

More information