Como Excluir um SMS em Java

A maneira mais simples de enviar SMS a partir de Java é usar a API HTTP/Rest de SMS integrada do Ozeki SMS Gateway. Ao usar essa API, você enviará mensagens SMS enviando uma solicitação HTTP Post para o gateway de SMS. A solicitação HTTP Post conterá uma mensagem formatada em formato json. O gateway de SMS enviará esse SMS para o telefone do destinatário e retornará uma resposta HTTP 200 OK para sua solicitação.

como excluir um sms do java
Figura 1 - Como excluir um SMS do Java

Código Java para enviar sms para celular

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

Main.java
import Ozeki.Libs.Rest.*;

public class Main {

    public static void main(String[] args) {

        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.ID = "73538ac0-f27c-4eaf-ba4c-6193aebe477c";

        var api = new MessageApi(configuration);
        
        var result = api.Delete(Folder.Inbox, msg);
        
        System.out.println(result);
    }
}
	

Como usar o exemplo de sms em Java:

Você pode usar a classe Message para criar o SMS e pode usar a classe MessageApi para enviar a solicitação para excluir SMS da pasta Inbox.

Baixar DeleteSms.java

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

O que está no arquivo DeleteSms.java.zip?

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

Figura 2 - Diretório DeleteSms.java

Como excluir SMS do Java (Passos rápidos)

Para excluir sms do Java:

  1. Instale o Ozeki SMS Gateway
  2. Conecte o Ozeki SMS Gateway à rede móvel
  3. Envie um sms de teste da interface gráfica do Ozeki
  4. Crie um usuário da API de sms HTTP
  5. Apache NetBeans
  6. Crie um projeto chamado DeleteSms
  7. Coloque o código em um arquivo Main.java recém-criado ou use o arquivo Main.java no .zip
  8. Crie o SMS criando um novo objeto Message
  9. No objeto Message, especifique o atributo ID
  10. Crie uma API para excluir sua mensagem
  11. Use o método Delete para excluir sua mensagem
  12. Leia a mensagem de resposta no console
  13. Verifique os logs no gateway de SMS
Instale o Ozeki SMS Gateway e crie um usuário da API HTTP

Para poder enviar, receber e excluir SMS do Java, primeiro você precisa instalar o Ozeki SMS Gateway. O gateway de SMS pode ser instalado no mesmo computador onde você desenvolve seu código Java no Apache NetBeans. Após a instalação, o próximo passo é conectar o Ozeki SMS Gateway à rede móvel. Você pode enviar um sms de teste da interface gráfica do Ozeki para verificar se sua conexão de rede móvel está funcionando. O passo final para preparar seu ambiente é criar um usuário da API de sms HTTP. Crie um usuário com o nome de usuário "http_user" e senha "qwe123" para fazer o exemplo funcionar sem modificações.

Após a configuração do ambiente, você pode executar seu código Java.

URL da API HTTP para enviar sms do Java

Para enviar SMS do Java, seu Java terá que enviar uma solicitação HTTP para o gateway de 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 de SMS. Se o Ozeki SMS Gateway estiver instalado no mesmo computador onde o aplicativo Java de sms está sendo executado, pode ser 127.0.0.1. Se estiver instalado 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 Java

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

var usernamePassword = username + ":" + password;
var encodedUsernamePassword = usernamePassword.getBytes();
return "Basic " + Base64.getEncoder().encodeToString(encodedUsernamePassword);
	

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

Cabeçalho da solicitação HTTP para excluir SMS do Java

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

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

Solicitação HTTP para excluir SMS do Java

Para excluir o SMS, sua aplicação Java enviará uma solicitação HTTP semelhante à mostrada abaixo. Observe que esta solicitação contém uma parte de cabeçalho HTTP e uma parte de corpo HTTP. O corpo HTTP é uma string de dados codificada em JSON. Ela contém o número do destinatário e o texto da mensagem.

POST /api?action=deletemsg HTTP/1.1
HTTP2-Settings: AAEAAEAAAAIAAAABAAMAAABkAAQBAAAAAAUAAEAA
Connection: Upgrade, HTTP2-Settings
Upgrade: h2c
Content-Length: 73
Content-Type: application/json
Accept: application/json
Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw==
Host: 127.0.0.1:9509
User-Agent: Java-http-client/15.0.3
{
	"folder":	"inbox",
	"message_ids":[
		"73538ac0-f27c-4eaf-ba4c-6193aebe477c"
		]
}
	

Resposta HTTP recebida pelo exemplo de SMS em Java

Assim que o gateway SMS receber esta solicitaçã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. Ela 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: Thu, 10 Jun 2021 09:53:10 GMT
Server: 10/10.3.116
Transfer-Encoding: chunked 
{
    "http_code": 200,
    "response_code": "SUCCESS",
    "response_msg": "",
    "data": {
      "folder": "inbox",
      "message_ids": [
        "73538ac0-f27c-4eaf-ba4c-6193aebe477c"
      ]
    }
}
	

Como enviar SMS do Java usando a API de SMS em Java (Tutorial em vídeo)

Este vídeo mostra como criar um novo projeto no Apache NetBeans, como nomeá-lo para DeleteSMS. Uma vez que o projeto é criado, você pode notar que há uma pasta chamada <default package> no seu projeto dentro da pasta Source Packages. É aqui que você criará ou colará o arquivo Main.java. Em seguida, você deve colar a pasta Ozeki na pasta Source Packages e estas são todas as preparações necessárias para excluir um SMS usando Java.

Vídeo 1 - Como baixar Ozeki.Libs.Rest e configurar seu projeto (Tutorial em vídeo)

Exemplo de exclusão de SMS em Java: Main.java

Figura 3 - Projeto DeleteSms

Como verificar se o SMS foi aceito pelo usuário HTTP

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.

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

Conclusão

Este artigo mostrou as etapas de exclusão de SMS em Java com o Ozeki SMS Gateway. Remover mensagens de texto da sua caixa de entrada frequentemente é importante se você deseja equilibrar seu armazenamento e excluir mensagens indesejadas. Seguindo estas etapas, a exclusão de SMS deve ser rápida e simples. O Ozeki SMS Gateway permite gerenciar os custos de SMS e acompanhar o tráfego de SMS, para que a supervisão da conexão SMS possa ser feita facilmente.

Continue a leitura na página de tutoriais da Ozeki, onde você pode encontrar informações sobre tópicos semelhantes, como agendamento em Java.

A única coisa a fazer agora é baixar o Ozeki SMS Gateway e começar a trabalhar!

More information