Como Excluir um SMS em Delphi

A maneira mais simples de excluir SMS do Delphi é usar a API de SMS HTTP/Rest integrada do Ozeki SMS Gateway. Quando você usa essa API, 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 em delphi
Figura 1 - Como Excluir um SMS em Delphi

Código Delphi para excluir sms

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

DeleteSms.delphi
program DeleteSms;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.SysUtils,
  Ozeki.Libs.Rest in '../Ozeki.Libs.Rest/Ozeki.Libs.Rest.pas';

var configuration : Ozeki.Libs.Rest.Configuration;
var msg : Ozeki.Libs.Rest.Message;
var api : Ozeki.Libs.Rest.MessageApi;
var result : Boolean;
var read : string;

begin
  try
    configuration := Ozeki.Libs.Rest.Configuration.Create;
    configuration.Username := 'http_user';
    configuration.Password := 'qwe123';
    configuration.ApiUrl := 'http://127.0.0.1:9509/api';

    msg := Ozeki.Libs.Rest.Message.Create;
    msg.ID := '55057970-614c-27b5-a5db-b4dee76fa276';

    api := Ozeki.Libs.Rest.MessageApi.Create(configuration);

    result := api.DeleteMessage(Inbox, msg);

    Writeln(result);

    Readln(read);
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.
	

Como usar o exemplo de sms em Delphi:

Este exemplo de sms em Delphi pode ser usado em qualquer aplicação Delphi. Para usá-lo, você deve adicionar a unidade Ozeki.Libs.Rest.pas ao seu projeto. Após a unidade ser adicionada, você deve colocar a diretiva uses Ozeki.Libs.Rest in 'Ozeki.Libs.Rest.pas'; na seção de cabeçalho do seu código-fonte Delphi. Isso permitirá que você use as classes fornecidas pela unidade 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 wireless ou pela Internet.

Baixar DeleteSms.delphi

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

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

O arquivo DeleteSms.delphi.zip contém a unidade 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.

receber sms delphi diretório
Figura 2 - O que está dentro de DeleteSms.delphi.zip

Como enviar SMS do Delphi (Passos simples)

Para enviar SMS do Delphi:

  1. Instale um usuário de API HTTP
  2. Ative "Log communication events" na aba Advanced
  3. Configure o Embarcadero Delphi Studio
  4. Baixe e extraia o arquivo DeleteSms.delphi.zip
  5. Abra o arquivo DeleteSms.dproj no Delphi Studio clicando duas vezes nele
  6. Inicie o aplicativo Ozeki SMS Gateway
  7. Execute o código Delphi DeleteSms.dpr no Delphi Studio
  8. Verifique os logs para ver se o SMS foi enviado
Instale o Ozeki SMS Gateway e crie um usuário de API HTTP

Para poder enviar SMS do Delphi, primeiro você precisa instalar o Ozeki SMS Gateway. O gateway de SMS pode ser instalado no mesmo computador onde você desenvolve seu código Delphi no Visual Studio. 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 com a rede móvel está funcionando. O passo final para preparar seu ambiente é criar um usuário de API HTTP para SMS. Crie um usuário com o nome "http_user" e senha "qwe123" para fazer o exemplo funcionar sem modificações.

Após o ambiente estar configurado, você pode executar seu código Delphi.

URL da API HTTP para enviar SMS do Delphi

Para enviar SMS do Delphi, seu Delphi 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 de SMS Delphi 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 enviar SMS a partir do Delphi

Para autenticar o cliente SMS do Delphi, 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 utilizado é: base64(nome de usuário+":"+senha). No Delphi, você pode usar o seguinte código para fazer essa codificação:

var usernamePassword := username + ':' + password;
var Encoder := TBase64Encoding.Create();
var usernamePasswordEncoded := Encoder.Encode(usernamePassword);
result := Format('Basic %s', [usernamePasswordEncoded]);
	

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 requisição HTTP para enviar SMS a partir do Delphi

Para enviar as mensagens SMS, você precisa incluir as seguintes linhas como cabeçalhos na requisiçã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==
	

Requisição HTTP para enviar SMS a partir do Delphi

Para submeter o SMS, sua aplicação Delphi enviará uma requisição HTTP semelhante à mostrada abaixo. Observe que esta requisiçã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 os IDs das mensagens que queremos deletar.

POST /api?action=deletemsg HTTP/1.0
Connection: keep-alive
Content-Type: application/json
Content-Length: 73
Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw==
Host: 127.0.0.1:9509
Accept: application/json
User-Agent: Mozilla/3.0 (compatible; Indy Library)

{
	"folder": "inbox",
	"message_ids": [
		"83845306-8e42-4f5c-a397-be1ddb34ffa2"
	]
}
	

Resposta HTTP recebida pelo exemplo de SMS em Delphi

Assim que o gateway SMS receber esta requisição, ele gerará uma resposta HTTP. A resposta HTTP conterá um código de status, para indicar se a requisiçã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
Content-Type: application/json; charset=utf8
Last-Modified: Wed, 28 Jul 2021 07:30:00 GMT
Server: 10/10.3.123 Microsoft-HTTPAPI/2.0
User-Agent: OZEKI 10.3.123 (www.myozeki.com)
Date: Wed, 28 Jul 2021 06:17:50 GMT
Connection: close

{
  "http_code": 200,
  "response_code": "SUCCESS",
  "response_msg": "",
  "data": {
    "folder": "inbox",
    "message_ids": [
      "83845306-8e42-4f5c-a397-be1ddb34ffa2"
    ]
  }
}
	

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

Este vídeo mostra como baixar o arquivo DeleteSms.delphi.zip desta página e como baixar seu conteúdo no Delphi Studio. Se você assistir ao vídeo, notará que o conteúdo do zip DeleteSms.delphi é colocado na área de trabalho do Windows. Você também verá que clicamos duas vezes no arquivo de projeto DeleteSms.dproj para abrir o projeto.

Vídeo 1 - Como baixar e executar o projeto de exemplo (Tutorial em vídeo)

Exemplo de SMS em Delphi: DeleteSms.dproj

Nesta solução, há apenas um projeto: DeleteSms.dproj, e dois arquivos: DeleteSms.dpr e Ozeki.Libs.Rest.pas.

Figura 3 - DeleteSms.dproj

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

Após o SMS ter sido submetido, é 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 - Enviando SMS com o código Delphi acima (Tutorial em vídeo)

Resumo

Este guia forneceu todas as informações necessárias para usar o exemplo de SMS em Delphi para deletar SMS com o usuário HTTP SMS API no Ozeki SMS Gateway. Usar esta API de SMS em Delphi ajuda você a manter seu sistema de mensagens organizado e seu negócio funcionando sem problemas. Ela vem com o código-fonte completo, e você pode usá-lo e modificá-lo sem quaisquer limitações para qualquer um de seus projetos.

Você pode precisar de outras funcionalidades também, continue lendo em qualquer caso. Prossiga e estude o artigo Como enviar SMS a partir do Delphi no site da Ozeki.

Baixe o Ozeki SMS Gateway e use o que você aprendeu agora!

More information