Cómo enviar SMS desde C# usando HTTP

Puedes construir fácilmente una aplicación de consola en C# que te permita enviar una solicitud HTTP a la pasarela SMS Ozeki 10. Cuando ejecutes esta aplicación adjunta, primero, imprimirá una solicitud HTTP en la consola y luego la enviará. Si todo va bien, la pasarela SMS Ozeki 10 recibe esta solicitud y envía una respuesta. Nuestra aplicación en C# recibe esta respuesta y la muestra en la consola. Desde esta respuesta podemos averiguar si la entrega fue exitosa.

¿Qué es una API SMS en C#?

La API 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 enviándolas a la Pasarela SMS.

Requisitos previos

Enviar SMS desde C#

Si deseas enviar SMS desde C#, puedes usar la API HTTP SMS de la Pasarela SMS Ozeki.

Para enviar SMS desde C#:

  1. Abre https://localhost:9515 en tu navegador e inicia sesión
  2. Crea un nuevo usuario HTTP API
  3. Verifica el número de puerto del servicio HTTP API
  4. Inicia Visual Studio
  5. Crea un nuevo proyecto de consola en C#
  6. Envía SMS desde C# escribiendo el código fuente a continuación
  7. Ejecuta el proyecto de la aplicación de consola
  8. Visualiza el SMS enviado desde tu proyecto en C# en tu móvil

Video sobre cómo enviar SMS desde C#

Video 1 - Cómo enviar SMS desde C# (Tutorial en video)

Ejemplo de código fuente SMS en C#

El siguiente ejemplo de código fuente en C# es de uso gratuito, puedes implementarlo simplemente en tu proyecto, o puedes modificar el código fuente para usarlo en otros proyectos o aplicaciones. Si deseas ejecutar este código de ejemplo, solo necesitas copiarlo y pegarlo en tu proyecto de aplicación de consola y ejecutar el proyecto.

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("Sending request: " + 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("Http response received: ");
                Console.WriteLine(response);

            } catch(Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
    }
}

Paso 1 - Abrir Visual Studio

El primer paso para crear la aplicación que puede enviar mensajes SMS es abrir Visual Studio. Si aún no has descargado Visual Studio, solo sigue el enlace en la sección de Requisitos previos arriba para descargar la última versión. Si tienes Visual Studio instalado en tu computadora, todo lo que necesitas hacer es hacer clic en su icono (Figura 1) en el escritorio para abrir Visual Studio.

abrir visual studio
Figura 1 - Abrir Visual Studio 2019

Paso 2 - Crear un nuevo proyecto

Después de abrir Visual Studio, aparecerá la ventana de inicio como puedes ver en la Figura 2. Aquí puedes ver tus soluciones, puedes abrir una existente, clonar un repositorio o abrir una carpeta local. Ahora, para seguir la guía, necesitas hacer clic en el botón 'Crear un nuevo proyecto' para crear el proyecto para el envío de SMS.

crear nuevo proyecto en visual studio
Figura 2 - Crear nuevo proyecto

Paso 3 - Seleccionar Aplicación de Consola

La siguiente ventana enumera todos los tipos de proyectos disponibles que se pueden crear en Visual Studio. Este ejemplo requiere que crees una simple Aplicación de Consola como lo demuestra la Figura 3, pero puedes usar el servicio de envío de SMS en muchos otros tipos de proyectos. Entonces, todo lo que tienes que hacer aquí es hacer clic en la opción de Aplicación de Consola de la lista de tipos de proyectos disponibles.

elegir aplicación de consola
Figura 3 - Elegir Aplicación de Consola

Paso 4 - Configurar el proyecto

Antes de crear el proyecto, el paso final es configurarlo especificando algunos detalles del proyecto. Aquí, puedes dar un nombre al proyecto y también establecer la carpeta de ubicación como puedes ver en la Figura 4. Si terminaste con la configuración, solo haz clic en 'Crear' para crear el proyecto de Aplicación de Consola.

configurar proyecto en visual studio
Figura 4 - Configurar proyecto en Visual Studio

Paso 5 - Copiar el código de ejemplo

Después de crear el proyecto de Aplicación de Consola, ahora necesitas configurar el código de ejemplo que necesitas ejecutar. Para eso, desplázate hacia arriba en esta página para encontrar la sección del código de ejemplo y marca todo el código fuente como lo muestra la Figura 5. Luego solo presiona Ctrl+C en tu teclado para copiar el código fuente.

copiar código desde el sitio web
Figura 5 - Copiar código desde el sitio web

Paso 6 - Pegar el código fuente en tu proyecto

En Visual Studio, el proyecto creado contiene un archivo fuente inicial Program.cs. En este punto, este es el archivo que debes usar para ejecutar el programa de ejemplo. Aquí, primero, marca el código en ese archivo y elimínalo. Después, como lo demuestra la Figura 6, presiona Ctrl+V en tu teclado para pegar el código de ejemplo en tu archivo Program.cs. Ahora, el proyecto está listo para usar.

pegar código en visual studio
Figura 6 - Pegar código en Visual Studio

Paso 7 - Ejecutar el proyecto de ejemplo

El paso final de esta guía es ejecutar el programa de ejemplo. En Visual Studio, es bastante simple ejecutar el proyecto, solo necesitas hacer clic en el botón Ejecutar como puedes ver en la Figura 7. Después de iniciar el programa, aparece una ventana de consola, que imprime la solicitud HTTP que el programa envió a la Pasarela SMS. También imprime la respuesta de la Pasarela SMS que muestra si la entrega del SMS fue exitosa.

compilar y ejecutar tu código en visual studio
Figura 7 - Compilar y ejecutar tu código en Visual Studio

Paso 8 - Verificar el resultado del envío en el registro de Ozeki

En la Pasarela SMS Ozeki 10, puedes verificar fácilmente qué mensajes envió tu aplicación, ya que el servicio HTTP API registra cada evento que ocurre mientras está habilitado. Entonces, si abres la Pasarela SMS y seleccionas los detalles del servicio HTTP API, podrás ver los eventos. Como puedes ver en la Figura 8, el servicio registró un evento, cuando el programa de ejemplo en C# envió la solicitud HTTP al servicio.

verificar los registros del servicio http api
Figura 8 - Verificar los registros del Servicio HTTP API

El proceso del envío del mensaje también se puede ver a través de los eventos. Para eso, abre la conexión del Usuario HTTP API, que debiste configurar antes. La Figura 9 demuestra cómo la conexión maneja la solicitud HTTP y envía el mensaje al destinatario que especificaste en tu programa en C#.

verificar los registros del usuario http api
Figura 9 - Verificar los registros del Usuario HTTP API

Conclusión

Esta guía proporcionó toda la información necesaria sobre cómo enviar un SMS a cualquier destinatario desde tu computadora. Esta solución utiliza la combinación de C# y la Pasarela SMS Ozeki, que funciona en cualquier país y puede enviar y recibir SMS a través de varias conexiones móviles. Esto hará que la comunicación con tus compañeros de trabajo y los clientes de tu organización sea mucho más fácil.

La Pasarela SMS Ozeki es una herramienta que se puede controlar mediante solicitudes HTTP. Para aprender más sobre ellas, no dudes en visitar el artículo sobre recibir SMS usando la API HTTP SMS en C#, o obtener información sobre otros lenguajes soportados, como PHP.

¡Todo lo que necesitas hacer es descargar la Pasarela SMS Ozeki y comenzar a construir tu solución ahora!

More information