Recibir SMS en C#
La siguiente guía demostrará cómo puedes obtener los mensajes recibidos por tu SMS Gateway con una aplicación en C#. Este ejemplo en C# utiliza solicitudes HTTP para pedir los mensajes de tu carpeta de entrada en SMS Gateway. El SMS Gateway recopila todos estos mensajes recibidos y los envía a la aplicación en C# como respuesta a la solicitud HTTP. La guía también muestra cómo puedes usar la conexión del servidor HTTP para simular mensajes entrantes. No toma más de cinco minutos completar esta guía, así que comencemos ahora mismo.
¿Qué es una API de SMS en C#?
La API de SMS en C# es una gran herramienta para poder enviar mensajes SMS desde cualquier tipo de proyecto o aplicación basado en C# iniciando solicitudes HTTP y reenviándolas al SMS Gateway.
Requisitos previos
- Visual Studio 2019 Community Edition instalado
- Ozeki 10 SMS Gateway instalado
- Una conexión de servidor HTTP configurada
Recibir SMS en C#
- Abre Visual Studio
- Crea un nuevo proyecto de Aplicación de Consola
- Copia el código de ejemplo en C# de esta página
- Pega el código en tu aplicación en C#
- Abre Ozeki 10 SMS Gateway
- Selecciona la conexión del servidor HTTP
- Envía mensajes de prueba usando la conexión del servidor HTTP
- Ejecuta tu aplicación en C# para obtener todos los mensajes entrantes
El código de ejemplo en C# a continuación es capaz de recopilar todos los mensajes entrantes usando solicitudes HTTP. Este código de ejemplo es de uso gratuito, puedes modificarlo e implementarlo en tu propio proyecto de aplicación. Si deseas solo probar la solución, debes seguir las instrucciones paso a paso a continuación o ver el video de arriba que demuestra cómo puedes usar este código de ejemplo en 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}"); } } }
Paso 1 - Abrir Visual Studio
El primer paso de la guía es crear una aplicación en C# donde puedas colocar el código de ejemplo de esta página. La mejor herramienta para crear una aplicación en C# es Visual Studio. Puedes descargarlo desde la sección de Requisitos previos si aún no lo tienes. Si Visual Studio ya está instalado en tu computadora, solo necesitas abrirlo desde tu escritorio como puedes ver en la Figura 1.
Paso 2 - Crear un nuevo proyecto
Después de abrir Visual Studio, aparecerá la ventana de bienvenida. Puedes abrir un proyecto reciente o crear uno completamente nuevo desde esta ventana. Como demuestra la Figura 2, ahora necesitas crear un nuevo proyecto, así que solo debes seleccionar esta opción desde esa ventana.
Paso 3 - Seleccionar Aplicación de Consola
Después de decidir crear un nuevo proyecto, la siguiente ventana enumera todas las opciones disponibles que puedes seleccionar si deseas crear una nueva aplicación en C#. Para seguir esta guía, solo necesitas crear una simple Aplicación de Consola, así que como muestra la Figura 3, solo selecciona esa opción y haz clic en 'Siguiente'.
Paso 4 - Configurar tu proyecto
Antes de crear finalmente el proyecto de Aplicación de Consola, necesitas hacer algunas configuraciones en el proyecto. Estas son configuraciones muy simples; solo necesitas dar un nombre a tu proyecto como puedes ver en la Figura 4. En esta ventana, también puedes especificar la ubicación de los archivos del proyecto. Si terminaste con todas las configuraciones, solo haz clic en 'Crear' para crear el proyecto de Aplicación de Consola.
Paso 5 - Colocar el código de ejemplo en el proyecto
El proyecto creado contiene un archivo en C#, que es Program.cs. Este es el archivo donde necesitas colocar el código de ejemplo. Para eso, solo desplázate hasta el código de ejemplo, marca todo el código y presiona Ctrl+C en tu teclado. Esta operación acaba de copiar el código a tu portapapeles. Después de eso, ve al archivo Program.cs, elimina el código que encuentres aquí, y como en la Figura 5, presiona Ctrl+V para pegar el código en ese archivo.
Paso 6 - Simular algunos mensajes entrantes
Lo siguiente que necesitas hacer es esperar algunos mensajes entrantes en tu SMS Gateway. Esto puede tomar algo de tiempo, así que puedes elegir la opción de simular algunos mensajes usando la conexión del servidor HTTP. Entonces, como demuestra la Figura 6, solo abre el formulario HTML de la conexión del servidor HTTP. Este formulario proporciona la oportunidad de crear algunos mensajes. Solo necesitas escribir 'Ozeki' como destinatario y escribir algún texto en el campo 'MessageData'. Para enviar el mensaje de prueba, solo haz clic en 'Enviar'.
Paso 7 - Ejecutar el código de ejemplo en C#
El último paso que necesitas realizar es ejecutar el código en C# y obtener los mensajes recibidos. Para hacer eso, solo haz clic en el botón 'Ejecutar' en Visual Studio como puedes verlo en la Figura 7. Al hacer esto, aparecerá una ventana de consola que imprime la solicitud HTTP que tu aplicación envió. También imprime el mensaje de respuesta del SMS Gateway, que es una lista de todos los mensajes que se pueden encontrar en tu carpeta de entrada.
Conclusión
Este tutorial te dio toda la información necesaria sobre cómo puedes recibir mensajes SMS en C#. Recibir mensajes en C# significa que puedes implementar una funcionalidad de recepción de mensajes en cualquiera de tus proyectos en C#. Esto resultará en un proyecto versátil y ampliamente utilizado. Esta solución gira en torno al Ozeki SMS Gateway, lo que significa que puedes rastrear mensajes al pasar por el sistema y puedes detectar errores fácilmente gracias a la capacidad de registro de bajo nivel del Ozeki SMS Gateway.
Asegúrate de no detenerte aquí en el proceso de aprendizaje. Siéntete libre de revisar otros artículos en el sitio web de Ozeki. Por ejemplo, comienza con enviar mensajes SMS usando C#. Otro buen artículo para aprender es cómo simular mensajes entrantes con fines de prueba.
Lo siguiente que debes hacer es descargar el Ozeki SMS Gateway y comenzar a desarrollar ahora mismo!
More information
- Cómo simular SMS entrantes para pruebas en C sharp
- Cómo recibir SMS en C sharp