Como Excluir um SMS em Javascript

A maneira mais simples de excluir SMS do JavaScript é usar a API HTTP/Rest de SMS integrada do Ozeki SMS Gateway. Ao usar essa API, você excluirá mensagens SMS enviando uma solicitação HTTP POST para o gateway de SMS. A solicitação HTTP POST retornará uma resposta HTTP 200 OK para sua solicitação e o(s) ID(s) da(s) mensagem(ns) que foi(ram) excluída(s).

como excluir um sms em javascript
Figura 1 - Como Excluir um SMS em Javascript

Código JavaScript para excluir sms para celular

O exemplo de código JavaScript para SMS abaixo demonstra como você pode excluir mensagens SMS usando a API REST HTTP de SMS do Ozeki SMS Gateway com a biblioteca JavaScript Ozeki.Libs.Rest. Esta biblioteca é fornecida gratuitamente, e você pode usá-la e modificá-la em qualquer um de seus projetos.

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>Excluir SMS com Ozeki SMS Gateway</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>Pasta:</b>
            <select class="form-select" id="folder">
                <option value="inbox">Caixa de Entrada</option>
                <option value="outbox">Caixa de Saída</option>
                <option value="sent">Enviados</option>
                <option value="notsent">Não Enviados</option>
                <option value="deleted">Excluídos</option>
            </select>
            <button class="btn btn-primary" id="btnDelete">
                <b>EXCLUIR</b>
            </button>
        </div>

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

Como usar o exemplo de SMS em JavaScript:

Este exemplo de SMS em JavaScript pode ser usado em qualquer aplicação web. Para usá-lo, você deve adicionar o Ozeki.Libs.Rest.js ao seu projeto. Depois de adicioná-lo ao seu projeto, você deve colocar a diretiva import {MessageApi, Configuration} from './Ozeki.Libs.Rest.js'; na seção de cabeçalho do seu código-fonte JavaScript. Isso permitirá que você use as classes fornecidas pela biblioteca Ozeki.Libs.Rest. Você pode usar a classe Message para criar o SMS. Você pode usar a classe MessageApi para enviar o SMS para o gateway de SMS. O gateway de SMS encaminhará sua mensagem para a rede móvel através de uma conexão sem fio ou pela Internet.

Baixar DeleteSms.js

O código-fonte explicado neste artigo pode ser baixado, usado e modificado gratuitamente.
Download: DeleteSms.js.zip (5.52Kb)

O que há no arquivo DeleteSms.js.zip?

O arquivo DeleteSms.js.zip contém a biblioteca Ozeki.Libs.Rest, que fornece todas as ferramentas necessárias para enviar e receber mensagens SMS. Você também encontrará o projeto DeleteSms no zip, que contém o código de exemplo para mostrar como enviar um SMS. Este código de exemplo está listado abaixo.

diretório delete sms js
Figura 2 - O que há dentro de DeleteSms.js.zip

Como excluir SMS do JavaScript (Diretrizes simples)

Para excluir SMS do JavaScript:

  1. Instale um usuário de API HTTP
  2. Ative a opção "Log communication events" na aba Advanced
  3. Configure o WampServer
  4. Baixe e extraia o arquivo DeleteSms.js.zip
  5. Coloque o conteúdo do arquivo zip na pasta \www\ do wampserver: C:\wamp64\www
  6. Inicie o aplicativo Ozeki SMS Gateway
  7. Abra o site digitando http://localhost/DeleteSms.php no seu navegador
  8. Após abrir o site, você pode enviar um SMS clicando no botão DownloadIncoming
  9. Verifique os logs para confirmar se o SMS foi enviado
Instale o Ozeki SMS Gateway e crie um usuário de API HTTP

Para poder enviar SMS do JavaScript, primeiro você precisa instalar o Ozeki SMS Gateway. O gateway SMS pode ser instalado no mesmo computador onde você desenvolve seu código JavaScript no Visual Studio. Após a instalação, o próximo passo é conectar o Ozeki SMS Gateway à rede móvel. Você pode criar um usuário de API HTTP para SMS. Crie um usuário com o nome "http_user" e senha "qwe123" para que o exemplo funcione sem modificações.

Após configurar o ambiente, você pode executar seu código JavaScript.

URL da API HTTP para excluir SMS do JavaScript

Para enviar SMS do JavaScript, seu código JavaScript precisará fazer uma requisição HTTP para o gateway SMS. A URL da API é mostrada abaixo. Observe que o endereço IP (127.0.0.1) deve ser substituído pelo endereço IP do seu gateway SMS. Se o Ozeki SMS Gateway estiver instalado no mesmo computador onde o aplicativo JavaScript está sendo executado, pode ser 127.0.0.1. Se estiver em um computador diferente, deve ser o endereço IP desse computador.

http://127.0.0.1:9509/api?action=rest
	
Autenticação HTTP para excluir SMS do JavaScript

Para autenticar o cliente SMS em JavaScript, você precisa enviar o nome de usuário e senha em uma string codificada em base64 para o servidor em uma requisição HTTP. O formato usado é: base64(nome de usuário+":"+senha). Em JavaScript, você pode usar o seguinte código para fazer essa codificação:

// Você pode encontrar o codificador Base64 no arquivo Ozeki.Libs.Rest.js 
var usernamePassword = username + ":" + password;
return `Basic ${Base64.encode(usernamePassword)}`;
	

Por exemplo, se você codificar o nome de usuário 'http_user' e a senha 'qwe123', obterá a seguinte string codificada em base64: aHR0cF91c2VyOnF3ZTEyMw==. Para enviar

Cabeçalho da requisição HTTP para excluir SMS do JavaScript

Para enviar as mensagens SMS, você precisa incluir as seguintes linhas como cabeçalhos na requisição HTTP. Observe que incluímos um cabeçalho de tipo de conteúdo e um cabeçalho de Autorização.

Content-Type: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
	
Requisição HTTP para enviar SMS do JavaScript

Para enviar o SMS, seu aplicativo JavaScript enviará uma requisição HTTP semelhante à mostrada abaixo. Observe que essa requisição contém uma parte de cabeçalho HTTP e uma parte de corpo. A parte do corpo contém a pasta que contém nossa(s) mensagem(ns) e o(s) ID(s) da(s) mensagem(ns) em uma string 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"
    ]
}
	
Resposta HTTP recebida pelo exemplo de SMS em JavaScript

Quando o gateway SMS receber essa requisição, ele gerará uma resposta HTTP. A resposta HTTP conterá um código de status para indicar se a solicitação de envio de SMS foi bem-sucedida ou não. Também retornará uma estrutura codificada em JSON para fornecer detalhes úteis sobre o envio da mensagem.

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"
        ]
    }
}
	
Como excluir SMS do JavaScript usando a API de SMS em JavaScript (Tutorial em vídeo)

Este vídeo mostra como baixar o arquivo DeleteSms.js.zip desta página. Se assistir ao vídeo, você notará que o conteúdo do zip DeleteSms.js é colocado na pasta \www\ do WampServer. Você também verá que iniciamos o WampServer clicando duas vezes em seu ícone e, depois, digitamos http://localhost:8080/DeleteSms.php no navegador.

Exemplo de SMS em JavaScript: DeleteSms.js

O código de exemplo abaixo faz parte do arquivo PHP DeleteSms.php. Além disso, você verá outros dois arquivos chamados DeleteSms.css e Ozeki.Libs.Rest.js.

  • O arquivo Ozeki.Libs.Rest.js contém todas as ferramentas necessárias para enviar, excluir, marcar e receber mensagens SMS.
  • O DeleteSms.php contém o código JavaScript, e alguns cabeçalhos que nos permitirão enviar solicitações HTTP sem erros de CORS.
  • O DeleteSms.css contém a folha de estilo para a página da web.

como excluir sms usando javascript
Figura 3 - DeleteSms.php

Como verificar se o SMS foi aceito pelo usuário HTTP (Tutorial em vídeo)

Depois que o SMS for enviado, é uma boa ideia verificar seu gateway SMS, para ver o que foi recebido. Você pode verificar o log abrindo os detalhes do usuário HTTP no console de gerenciamento do Ozeki SMS Gateway. O vídeo a seguir mostra o que procurar. O vídeo começará com o código aberto e terminará com os detalhes da mensagem enviada. Você aprenderá como iniciar o projeto, como o projeto se parece durante a execução e como o arquivo de log fica depois. O vídeo tem apenas 42 segundos e é fácil de entender. Você não terá problemas para acompanhá-lo.

Vídeo 2 - Como excluir SMS com o código JavaScript acima (Tutorial em vídeo)

Considerações finais

O artigo acima mostra as etapas para excluir mensagens SMS em um programa JavaScript usando o usuário HTTP do Ozeki SMS Gateway. Manter seu armazenamento de mensagens equilibrado e limpo é importante se você precisar lidar com muitos SMS diariamente e deseja manter-se profissional. Gerenciar o Ozeki SMS Gateway é simples com códigos JavaScript, e ele oferece vários recursos de relatório para fornecer mais informações sobre a conexão SMS.

Continue seus estudos, aprenda mais sobre coisas como a API SMS em JavaScript no site da Ozeki. É benéfico ler o tutorial sobre Como baixar a biblioteca mais recente da API SMS em JavaScript do Github.

A próxima tarefa é baixar o Ozeki SMS Gateway e começar a trabalhar!

More information