Como enviar SMS a partir de C# usando HTTP

Você pode facilmente construir uma aplicação de console em C# que permite enviar uma requisição HTTP para o gateway de SMS Ozeki 10. Quando você executa esta aplicação anexada, primeiro, ela irá imprimir uma requisição HTTP no console e depois enviá-la. Se tudo correr bem, o gateway de SMS Ozeki 10 recebe esta requisição e envia uma resposta. Nossa aplicação em C# recebe esta resposta e a exibe no console. A partir desta resposta, podemos verificar se a entrega foi bem-sucedida.

O que é uma API de SMS em C#?

A API de SMS em C# é uma ótima ferramenta para enviar mensagens SMS a partir de qualquer tipo de projeto ou aplicação baseada em C#, iniciando requisições HTTP e encaminhando-as para o Gateway de SMS.

Pré-requisitos Enviar SMS a partir de C#

Se você deseja enviar SMS a partir de C#, pode usar a API HTTP de SMS do Ozeki SMS Gateway.

Para enviar SMS a partir de C#:

  1. Abra https://localhost:9515 no seu navegador e faça login
  2. Crie um novo usuário de API HTTP
  3. Verifique o número da porta do serviço de API HTTP
  4. Inicie o Visual Studio
  5. Crie um novo projeto de console em C#
  6. Envie SMS a partir de C# digitando o código-fonte abaixo
  7. Execute o projeto do aplicativo de console
  8. Veja o SMS enviado do seu projeto em C# no seu celular
Como Enviar SMS a partir de C# em vídeo

Vídeo 1 - Como enviar SMS a partir de C# em vídeo (Tutorial em vídeo)

Exemplo de código-fonte de SMS em C#

O seguinte exemplo de código-fonte em C# é livre para uso, você pode simplesmente implementá-lo no seu projeto, ou pode modificar o código-fonte para usá-lo em outros projetos ou aplicações. Se você deseja executar este código de exemplo, basta copiar e colá-lo no seu projeto de aplicativo de console e executar o projeto.

using System;
using System.Net.Http;
using System.Text;
using System.Web;
namespace HttpApiTester
{
    class Program
    {
        static async System.Threading.Tasks.Task Main(string[] args)
        {
            var username = "john";
            var password = "Xc3ffs";
            var messagetype = "SMS:TEXT";
            var httpUrl = "https://127.0.0.1:9508/";
            var recipient = HttpUtility.UrlEncode("+36201324567", Encoding.UTF8);
            var messagedata = HttpUtility.UrlEncode("TestMessage", Encoding.UTF8);
            
            var sendString = $"{httpUrl}api?action=sendmessage&username=" +
                             $"{username}&password={password}" +
                             $"&recipient={recipient}&messagetype=" +
                             $"{messagetype}&messagedata={messagedata}";

            Console.WriteLine("Enviando requisição: " + sendString);

            var handler = new HttpClientHandler();
            handler.ServerCertificateCustomValidationCallback = 
                (sender, cert, chain, sslPolicyErrors) => { return true; };

            using var client = new HttpClient(handler);

            try
            {
                var response = await client.GetStringAsync(sendString);
                Console.WriteLine("Resposta HTTP recebida: ");
                Console.WriteLine(response);

            } catch(Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
    }
}
Passo 1 - Abra o Visual Studio

O primeiro passo para criar a aplicação que pode enviar mensagens SMS é abrir o Visual Studio. Se você ainda não baixou o Visual Studio, basta seguir o link na seção de Pré-requisitos acima para baixar a versão mais recente. Se você já tem o Visual Studio instalado no seu computador, tudo o que precisa fazer é clicar no seu ícone (Figura 1) na área de trabalho para abrir o Visual Studio.

abrir visual studio
Figura 1 - Abrir Visual Studio 2019

Passo 2 - Crie um novo projeto

Depois de abrir o Visual Studio, a janela de abertura será exibida para você, como pode ver na Figura 2. Aqui você pode ver suas soluções, pode abrir uma existente, clonar um repositório ou abrir uma pasta local. Agora, para seguir o guia, você precisa clicar no botão 'Criar um novo projeto' para criar o projeto para envio de SMS.

criando novo projeto no visual studio
Figura 2 - Criando novo projeto

Passo 3 - Selecionar Aplicação de Console

A próxima janela lista todos os tipos de projetos disponíveis que podem ser criados no Visual Studio. Este exemplo requer que você crie uma simples Aplicação de Console, como a Figura 3 demonstra, mas você pode usar o serviço de envio de SMS em muitos outros tipos de projetos. Então, tudo o que você precisa fazer aqui é clicar na opção Aplicação de Console na lista de tipos de projetos disponíveis.

escolhendo aplicação de console
Figura 3 - Escolhendo Aplicação de Console

Passo 4 - Configurar o projeto

Antes de criar o projeto, o passo final é configurá-lo, especificando alguns detalhes do projeto. Aqui, você pode dar um nome ao projeto e também definir a pasta de localização, como você pode ver na Figura 4. Se você terminou a configuração, basta clicar em 'Criar' para criar o projeto de Aplicação de Console.

configurar projeto no visual studio
Figura 4 - Configurar projeto no Visual Studio

Passo 5 - Copiar o código de exemplo

Depois de criar o projeto de Aplicação de Console, agora você precisa configurar o código de exemplo que você precisa executar. Para isso, role para cima nesta página para encontrar a seção de código de exemplo e marque todo o código-fonte, como a Figura 5 mostra. Em seguida, pressione Ctrl+C no seu teclado para copiar o código-fonte.

copiar código do site
Figura 5 - Copiar código do site

Passo 6 - Colar o código-fonte no seu projeto

No Visual Studio, o projeto criado contém um arquivo de código inicial Program.cs. Neste momento, este é o arquivo que você deve usar para executar o programa de exemplo. Aqui, primeiro, marque o código nesse arquivo e exclua-o. Depois disso, como a Figura 6 demonstra, pressione Ctrl+V no seu teclado para colar o código de exemplo no seu arquivo Program.cs. Agora, o projeto está pronto para uso.

colar código no visual studio
Figura 6 - Colar código no Visual Studio

Passo 7 - Executar o projeto de exemplo

O passo final deste guia é executar o programa de exemplo. No Visual Studio, é bastante simples executar o projeto, você só precisa clicar no botão Executar como você pode ver na Figura 7. Após iniciar o programa, uma janela de console é exibida, mostrando a requisição HTTP que o programa enviou para o SMS Gateway. Ela também mostra a resposta do SMS Gateway, indicando se o envio do SMS foi bem-sucedido.

compilar e executar seu código no visual studio
Figura 7 - Compilar e executar seu código no Visual Studio

Passo 8 - Verificar o resultado do envio no log do Ozeki

No Ozeki 10 SMS Gateway, você pode verificar facilmente quais mensagens foram enviadas pelo seu aplicativo, pois o serviço HTTP API registra todos os eventos que ocorrem enquanto está ativo. Então, se você abrir o SMS Gateway e selecionar os detalhes do serviço HTTP API, você poderá ver os eventos. Como você pode ver na Figura 8, o serviço registrou um evento quando o programa em C# enviou a requisição HTTP para o serviço.

verificar os logs do serviço http api
Figura 8 - Verificar os logs do Serviço HTTP API

O processo de envio da mensagem também pode ser visualizado pelos eventos. Para isso, abra a conexão do Usuário HTTP API, que você precisou configurar anteriormente. A Figura 9 demonstra como a conexão lida com a requisição HTTP e envia a mensagem para o destinatário que você especificou no seu programa em C#.

verificar os logs do usuário http api
Figura 9 - Verificar os logs do Usuário HTTP API

Conclusão

Este guia forneceu todas as informações necessárias sobre como enviar um SMS para qualquer destinatário do seu computador. Esta solução usa a combinação de C# e o Ozeki SMS Gateway, que funciona em qualquer país e pode enviar e receber SMS através de várias conexões móveis. Isso tornará a comunicação com seus colegas de trabalho e clientes da sua organização muito mais fácil.

O Ozeki SMS Gateway é uma ferramenta que pode ser controlada usando requisições HTTP. Para saber mais sobre isso, sinta-se à vontade para visitar o artigo sobre receber SMS usando a API HTTP SMS em C#, ou obter informações sobre outras linguagens suportadas, como PHP.

Tudo o que você precisa fazer é baixar o Ozeki SMS Gateway e começar a construir sua solução agora!

More information