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- Visual Studio 2019 Community Edition instalado
- Ozeki 10 SMS Gateway instalado
- Uma conexão de servidor HTTP configurada
- 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
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.
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.
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'.
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.
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.
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'.
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.
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
- Como simular SMS de entrada para testes em C sharp
- Como receber SMS em C sharp