Como receber um SMS em Visual Basic

A maneira mais simples de receber SMS do Visual Basic é usar a API HTTP/Rest de SMS 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 receber mensagens sms usando visual basic
Figura 1 - Recebendo mensagens SMS usando Visual Basic

Código Visual Basic para receber sms

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

ReceiveSms.vb
Imports Ozeki.Libs.Rest

Module ReceiveSMS
    Sub Main(args As String())

        Dim configuration As New Configuration
        configuration.Username = "http_user"
        configuration.Password = "qwe123"
        configuration.ApiUrl = "http://127.0.0.1:9509/api"

        Dim api As New MessageApi(configuration)

        Dim result = api.DownloadIncoming()

        Console.WriteLine($"Existem {result.Length} mensagens na pasta de entrada:")
        For Each message As Message In result
            Console.WriteLine($"{message}")
        Next

        Console.ReadKey()

    End Sub
End Module

Como usar o exemplo de SMS em Visual Basic:

Este exemplo de SMS em Visual Basic pode ser usado em qualquer aplicação .NET ou .NET core. Para usar você deve adicionar a DLL Ozeki.Libs.Rest como referência ao seu projeto. Após a referência do projeto ser adicionada, você deve colocar a diretiva using Ozeki.Libs.Rest; na seção de cabeçalho do seu código-fonte Visual Basic. Isso permitirá que você use as classes fornecidas pela biblioteca Ozeki.Libs.Rest. Você pode usar a classe MessageApi para receber o SMS do gateway de SMS.

Baixar ReceiveSms.vb

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

O que está no arquivo ReceiveSms.vb?

O arquivo ReceiveSms.vb 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 ReceiveSms no zip, que contém o código de exemplo para mostrar como enviar um SMS. Este código de exemplo está listado abaixo.

o que está no zip ozeki receive sms
Figura 2 - O que está dentro de ReceiveSms.vb.zip

Como receber SMS do Visual Basic (Passos rápidos)

Para receber SMS do Visual Basic:

  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 de API HTTP de SMS
  5. Inicie o Visual Studio
  6. Crie uma solução chamada ReceiveSms.sln
  7. Adicione um projeto de console em Visual Basic: ReceiveSms.vbproj
  8. Coloque o código em Program.vb ou ReceiveSms.vb
  9. Crie uma solicitação HTTP para receber o SMS
  10. Leia a resposta HTTP
  11. Escreva a resposta no console
  12. Verifique os logs no gateway de SMS
Instale o Ozeki SMS Gateway e crie um usuário de API HTTP

Para poder enviar SMS do Visual Basic, primeiro você precisa instalar o Ozeki SMS Gateway. O gateway de SMS pode ser instalado no mesmo computador onde você desenvolve seu código Visual Basic 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 de rede móvel está funcionando. O passo final para preparar seu ambiente é criar um usuário de API HTTP de SMS. 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 Visual Basic.

URL da API HTTP para receber SMS do Visual Basic

Para enviar SMS do Visual Basic, seu Visual Basic 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 em Visual Basic 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 receber SMS do Visual Basic

Para autenticar o cliente de SMS em Visual Basic, 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 C#, você pode usar o seguinte código para fazer essa codificação:

var encoding = Encoding.GetEncoding("iso-8859-1");
var usernamePassword = username + ":" + password;
var usernamePasswordEncoded = Convert.ToBase64String(encoding.GetBytes(usernamePassword));

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 receber SMS do Visual Basic

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 receber SMS usando Visual Basic

Para enviar o SMS, sua aplicação em Visual Basic 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 o número do destinatário e o texto da mensagem.

GET /api?action=receivemsg&folder=inbox HTTP/1.1
Connection: Keep-Alive
Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw==
Host: 127.0.0.1:9509
	

Resposta HTTP recebida pelo exemplo de SMS em Visual Basic

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
User-Agent: OZEKI 10.3.116 (www.myozeki.com)
Content-Type: application/json; charset=utf8
Last-Modified: Thu, 10 Jun 2021 11:02:26 GMT
Server: 10/10.3.116
Transfer-Encoding: chunked
{
	"http_code": 200,
	"response_code": "SUCCESS",
	"response_msg": "",
	"data": {
	  "folder": "inbox",
	  "limit": "1000",
	  "data": [
	    {
	      "message_id": "94219121-e5b5-4845-9721-074f5307c9a4",
	      "from_connection": "http_user@localhost",
	      "from_address": "+36203333333",
	      "from_station": "%",
	      "to_connection": "http_user@localhost",
	      "to_address": "http_user",
	      "to_station": "%",
	      "text": "Hello world 3",
	      "create_date": "2021-06-10 11:46:16",
	      "valid_until": "2021-06-17 11:46:16",
	      "time_to_send": "2021-06-10 11:46:16",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": true,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ]
	    },
	    {
	      "message_id": "d6f832b2-dbc8-4b1b-8b47-44b3bb6658bf",
	      "from_connection": "http_user@localhost",
	      "from_address": "+36202222222",
	      "from_station": "%",
	      "to_connection": "http_user@localhost",
	      "to_address": "http_user",
	      "to_station": "%",
	      "text": "Hello world 2",
	      "create_date": "2021-06-10 11:46:16",
	      "valid_until": "2021-06-17 11:46:16",
	      "time_to_send": "2021-06-10 11:46:16",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": true,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ]
	    },
	    {
	      "message_id": "0bf86b3a-e4a9-4d8e-970c-ed486b02db7a",
	      "from_connection": "http_user@localhost",
	      "from_address": "+362011111111",
	      "from_station": "%",
	      "to_connection": "http_user@localhost",
	      "to_address": "http_user",
	      "to_station": "%",
	      "text": "Hello world 1",
	      "create_date": "2021-06-10 11:46:16",
	      "valid_until": "2021-06-17 11:46:16",
	      "time_to_send": "2021-06-10 11:46:16",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": true,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ]
	    }
	  ]
	}
}
	

Exemplo de SMS em Visual Basic: ReceiveSMS.sln


Neste vídeo, você aprenderá como baixar e executar o projeto de exemplo ReceiveSMS.sln. O vídeo começará com a página de download e terminará com o editor de código aberto. Mostraremos como baixar e abrir o arquivo do projeto. O vídeo tem apenas 58 segundos, mas contém todas as informações necessárias para realizar a tarefa. Você pode iniciar o processo de download a partir da página do tutorial.

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

O código de exemplo abaixo faz parte da Solução do Visual Studio ReceiveSms.sln. Uma solução do Visual Studio pode conter vários projetos e vários arquivos. Nesta solução há apenas dois projetos: ReceiveSms.vbproj, Ozeki.Libs.Rest.csproj, e um arquivo: Program.vb.

como receber sms usando visual basic
Figura 3 - ReceiveSms.sln

Como usar o projeto de exemplo (Tutorial em vídeo)

No próximo vídeo, você aprenderá como executar o código de exemplo e como verificar o log do processo. Ele começará com o lançamento do Ozeki SMS Gateway e o levará até a lista de mensagens recebidas. A tarefa é fácil de realizar e este vídeo é muito detalhado, mas curto. Leva apenas 46 segundos para assisti-lo. Você aprenderá como baixar todas as mensagens recebidas com a ajuda do Visual Basic.

Vídeo 2 - Como usar a solução ReceiveSms.vb (Tutorial em vídeo)

Executando o exemplo de SMS em Visual Basic no Windows

Quando você usa o Windows para executar este exemplo de SMS escrito em Visual Basic, notará que obtém um desempenho ligeiramente melhor do que quando o executa no Linux. Para entender por que isso acontece, é preciso lembrar que o Visual Basic usa o framework .NET para execução de código. Isso ocorre porque a implementação do .NET no Windows é otimizada para desempenho, enquanto o mono, a implementação do .NET no Linux, ainda tem um caminho a percorrer nesse campo.

Conclusão

O artigo apresentou os passos para receber SMS em VB com a ajuda do Ozeki SMS Gateway. Se os passos foram seguidos cuidadosamente, você deve ser capaz de receber mensagens em Visual Basic. O Ozeki SMS Gateway é o elo entre os usuários móveis e você, então baixar este programa é inevitável. Como você pôde ver neste guia, o Ozeki SMS Gateway pode ser gerenciado com muita facilidade e é confiável.

Certifique-se de não parar de ler aqui, navegue pela página de tutoriais da Ozeki e encontre mais informações sobre tópicos similares, como agendamento em Visual Basic.

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

More information