Receber SMS em C#

O seguinte guia vai demonstrar como você pode obter as mensagens recebidas pelo seu SMS Gateway com uma aplicação em C#. Este exemplo em C# usa requisições HTTP para solicitar as mensagens da pasta de entrada no SMS Gateway. O SMS Gateway coleta todas essas mensagens recebidas e as envia para a aplicação em C# como uma resposta à requisição HTTP. O guia também mostra como você pode usar a conexão do servidor HTTP para simular mensagens recebidas. Não leva mais do que cinco minutos para completar este guia, então vamos começar agora.

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 SMS Gateway.

Pré-requisitos Receber SMS em C#
  • Abra o Visual Studio
  • Crie um novo projeto de Aplicação de Console
  • Copie o código de exemplo em C# desta página
  • Cole o código na sua aplicação em C#
  • Abra o Ozeki 10 SMS Gateway
  • Selecione a conexão do servidor HTTP
  • Envie mensagens de teste usando a conexão do servidor HTTP
  • Execute sua aplicação em C# para obter todas as mensagens recebidas

Vídeo 1 - Como receber SMS em C# (Tutorial em vídeo)

O código de exemplo em C# abaixo é capaz de coletar todas as mensagens recebidas usando requisições HTTP. Este código de exemplo é livre para uso, você pode modificá-lo e implementá-lo no seu próprio projeto de aplicação. Se você deseja apenas testar a solução, precisa seguir as instruções passo a passo abaixo ou assistir ao vídeo acima que demonstra como você pode usar este código de exemplo em C#.

using System;
using System.Net.Http;
using System.Xml;
using System.Threading.Tasks;

namespace ReceiveSMS
{
    class Program
    {
        static async Task Main(string[] args)
        {
            var username = "john";
            var password = "Xc3ffs";
            var httpUrl = "https://127.0.0.1:9508/";
            var folder = "inbox";
            var limit = "3";

            var sendString = $"{httpUrl}api?action=receivemessage&username=" +
                 $"{username}&password={password}&folder={folder}&limit=" +
                 $"{limit}&afterdownload=delete";

            Console.WriteLine("Sending request: " + sendString + "\n");

            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("Http response received: ");
                DisplayMessages(response);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
        static void DisplayMessages(string response)
        {
            var xmlDoc = new XmlDocument();
            xmlDoc.LoadXml(response);
            var nodes = xmlDoc.SelectNodes("response/data/message");

            foreach (XmlNode node in nodes)
            {
                try
                {
                    var sender = node.SelectSingleNode("originator").InnerText;
                    var text = node.SelectSingleNode("messagedata").InnerText;
                    DisplayMessage(sender, text);
                }
                catch (System.NullReferenceException e)
                {
                    Console.WriteLine("The inbox is empty!");
                } 
            }
        }
        static void DisplayMessage(string sender, string text)
        {
            Console.WriteLine($"{sender}: {text}");
        }

    }
}
Passo 1 - Abra o Visual Studio

O primeiro passo do guia é criar uma aplicação em C# onde você pode colocar o código de exemplo desta página. A melhor ferramenta para criar uma aplicação em C# é o Visual Studio. Você pode baixá-lo na seção de Pré-requisitos se ainda não o tiver. Se o Visual Studio já estiver instalado no seu computador, você só precisa abri-lo a partir do seu desktop, como você pode ver na Figura 1.

abrir visual studio
Figura 1 - Abrir o Visual Studio 2019

Passo 2 - Criar um novo projeto

Depois de abrir o Visual Studio, a janela de boas-vindas será exibida. Você pode abrir um projeto recente ou criar um completamente novo a partir desta janela. Como a Figura 2 demonstra, agora você precisa criar um novo projeto, então basta selecionar essa opção na janela.

criar novo projeto no visual studio
Figura 2 - Criar novo projeto no Visual Studio

Passo 3 - Selecionar Aplicativo de Console

Depois de decidir criar um novo projeto, a próxima janela lista todas as opções disponíveis que você pode selecionar se desejar criar um novo aplicativo em C#. Para seguir este guia, você só precisa criar um simples Aplicativo de Console, então, como a Figura 3 mostra, basta selecionar essa opção e clicar em 'Avançar'.

selecionar aplicativo de console
Figura 3 - Selecionar Aplicativo de Console

Passo 4 - Configurar seu projeto

Antes de finalmente criar o projeto do Aplicativo de Console, você precisa fazer algumas configurações no projeto. Estas são configurações muito simples; você só precisa dar um nome ao seu projeto, como pode ver na Figura 4. Nesta janela, você também pode especificar a localização dos arquivos do projeto. Se terminou todas as configurações, basta clicar em 'Criar' para criar o projeto do Aplicativo de Console.

configurar nome do projeto
Figura 4 - Configurar nome do projeto

Passo 5 - Inserir o código de exemplo no projeto

O projeto criado contém um arquivo C#, que é o Program.cs. Este é o arquivo onde você precisa inserir o código de exemplo. Para isso, basta rolar até o código de exemplo, selecionar todo o código e pressionar Ctrl+C no teclado. Esta operação copiou o código para a área de transferência. Depois disso, vá para o arquivo Program.cs, delete o código que encontrar lá, e, como na Figura 5, pressione Ctrl+V para colar o código no arquivo.

substituir código no visual studio
Figura 5 - Substituir código no Visual Studio

Passo 6 - Simular algumas mensagens recebidas

A próxima coisa que você precisa fazer é aguardar algumas mensagens recebidas no seu SMS Gateway. Isso pode levar algum tempo, então você pode optar por simular algumas mensagens usando a conexão do Servidor HTTP. Então, como a Figura 6 demonstra, basta abrir o formulário HTML da conexão do Servidor HTTP. Este formulário oferece a oportunidade de criar algumas mensagens. Você só precisa digitar 'Ozeki' como destinatário e escrever algum texto no campo 'MessageData'. Para enviar a mensagem de teste, basta clicar em 'Enviar'.

simular algumas mensagens recebidas no ozeki ten
Figura 6 - Simular algumas mensagens recebidas no Ozeki 10

Passo 7 - Executar o código C# de exemplo

O último passo que você precisa realizar é executar o código C# e obter as mensagens recebidas. Para isso, basta clicar no botão 'Executar' no Visual Studio, como pode ver na Figura 7. Ao fazer isso, uma janela do console será exibida, mostrando a requisição HTTP que seu aplicativo enviou. Ela também mostra a mensagem de resposta do SMS Gateway, que é uma lista de todas as mensagens encontradas na sua pasta de entrada.

executar o código para receber sms
Figura 7 - Executar o código C# para receber SMS

Conclusão

Este tutorial forneceu todas as informações necessárias sobre como você pode receber mensagens SMS em C#. Receber mensagens em C# significa que você pode implementar uma funcionalidade de recebimento de mensagens em qualquer um dos seus projetos C#. Isso resultará em um projeto versátil e amplamente utilizado. Esta solução gira em torno do Ozeki SMS Gateway, o que significa que você pode rastrear mensagens ao passar pelo sistema e pode detectar erros facilmente graças à capacidade de registro de baixo nível do Ozeki SMS Gateway.

Certifique-se de não parar aqui no processo de aprendizagem. Sinta-se à vontade para conferir outros artigos no site da Ozeki. Por exemplo, comece com enviar mensagens SMS usando C#. Outro artigo bom para aprender é como simular mensagens recebidas para fins de teste.

A próxima coisa a fazer é baixar o Ozeki SMS Gateway e começar a desenvolver agora!

More information