You are viewing the Spanish (Mexico) site, but your language preference is set to English. Switch to English site →

Menu

Expand
Calificar esta página:

Enviar mensajes SMS y MMS en C

En este artículo, usaremos C, libcurl y algunas API de POSIX para enviar mensajes SMS y MMS mediante la API REST de Twilio. Además de un entorno de compilación compatible con POSIX (al menos en la mayoría de los casos), necesitarás libcurl para el código de esta guía.

¡Empecemos!

Regístrate para obtener una cuenta de Twilio (o inicia sesión)

Antes de hacer uso de la API de Twilio, deberás crear una cuenta o iniciar sesión con una cuenta existente.

¿No tienes una cuenta? Regístrate para obtener una prueba gratuita de Twilio.

Buscar o adquirir un número compatible con SMS

Para esta demostración, necesitas un número de teléfono de Twilio con funcionalidades de SMS (y MMS). Puedes utilizar un número de teléfono de tu propiedad o adquirir uno nuevo con el envío de SMS habilitado.

Así es como aparecen los números compatibles con SMS en la lista de números:

List of Active Twilio Numbers

Y así es como puedes buscar un número nuevo con funcionalidades de SMS (o MMS, si también seleccionas esa opción):

Buy an SMS-capable Twilio Number

Requisitos previos de la Guía de envío de SMS en C

Esta guía está dirigida a entornos compatibles con POSIX y se probó con clang-800.0.42.1 en Mac OSX 10.11, gcc 4.9.2 en Raspbian (kernel 4.4.34-v7+) y gcc 5.4.0 en Cygwin 2.877 en Windows 7 de 64 bits. Como mínimo, necesitaremos lo siguiente:

En Mac, libcurl ya se encuentra disponible. En Raspberry Pi, puedes instalar una versión adecuada con lo siguiente:

sudo apt-get install libcurl4-openssl-dev

En Windows 7, libcurl se puede instalar con el programa de instalación de Cygwin:

Installing libcurl-devel and curl in Cygwin

Creación de c_sms

Makefile es nuestro ejemplo, que se pudo utilizar en los tres entornos.

En la mayoría de los sistemas de tipo *NIX (incluso en Cygwin), es probable que el proceso de creación sea tan fácil como escribir lo siguiente:

git clone https://github.com/TwilioDevEd/twilio_c_sms.git
cd twilio_c_sms
make

Es posible que debas realizar pequeñas modificaciones en Makefile para crear c_sms en tu entorno. Lo más habitual es cambiar las rutas de búsqueda de la biblioteca o el compilador.

Enviar un mensaje SMS o MMS con C

Acabamos de crear c_sms, que se puede invocar desde la línea de comandos e intentará enviar un SMS o MMS antes de salir. twilio.c incluye la función twilio_send_message, que se adapta fácilmente a tu propia base de código (por supuesto, debes incorporar validación y seguridad antes de usarla en la producción. Por ejemplo, ten en cuenta que puedes agregar más parámetros a través de las variables).

Veamos cómo funciona twilio_send_message.

  • En primer lugar, preparamos las credenciales de nuestra cuenta y los parámetros HTTP que utilizará la API de Twilio.
  • En segundo lugar, debemos preparar la biblioteca libcurl para ejecutar una solicitud HTTP POST en la API de Twilio. Las invocaciones de la función curl_easy_setopt le indican a libcurl que utilice la URL y el cuerpo que configuramos para que publique, y use los detalles de nuestra cuenta y Auth Token (Token de autenticación).
  • En tercer lugar, ejecutamos la solicitud POST y realizamos una limpieza con las siguientes líneas:
    res = curl_easy_perform(curl);
    curl_easy_cleanup(curl);​
  • En cuarto lugar, verificamos si hay errores de libcurl o la API de Twilio.

Este es el código para twilio_send_message en C:

        
        
        
        Setting up required HTTP Parameters and authentication, preparing libcurl, POSTing to the Twilio REST API, and checking the response.

        Using libcurl to Send a Message with C and Twilio

        Setting up required HTTP Parameters and authentication, preparing libcurl, POSTing to the Twilio REST API, and checking the response.

        Ejecución de c_sms

        Después de la creación de c_sms, invocarlo desde la línea de comandos es fácil. Basta con ingresar las credenciales de la cuenta, los números del remitente y destinatario y el cuerpo del mensaje, y el teléfono se iluminará. El siguiente es un ejemplo de sesión:

        account_sid=ACXXXXXXXXXXXXXXXXXXXXXX
        auth_token=your_auth_token
        bin/c_sms -a $account_sid -s $auth_token -t "+18005551212" -f "+18005551213" -m "Hello, World!"
        # Como alternativa, puedes utilizar “-p http://some/path/to/img.jpg” para enviar un MMS.

        ¿Listo para usar C? Es hora de que realices tu propia creación

        Más de 45 años y miles de millones de líneas de código después, es obvio que Dennis Ritchie diseñó un lenguaje para llegar lejos. Ahora Twilio puede acompañarte en tu recorrido por C con tan solo unas pocas bibliotecas de ayuda y tu caso de uso de SMS y MMS.

        Esperamos que este sea un buen punto de partida. Cuéntanos sobre tus creaciones en Twitter.

        Paul Kamp Kevin Segovia Daniel Erazo
        Calificar esta página:

        ¿Necesitas ayuda?

        Todos la necesitamos a veces; la programación es difícil. Obtén ayuda ahora de nuestro equipo de soporte, o recurre a la sabiduría de la multitud visitando Stack Overflow Collective de Twilio o navegando por la etiqueta de Twilio en Stack Overflow.

              
              
              

              Gracias por tus comentarios.

              Selecciona los motivos de tus comentarios. La información adicional que nos brindas nos ayuda a mejorar nuestra documentación:

              Enviando tus comentarios…
              🎉 Gracias por tus comentarios.
              Se produjo un error. Inténtalo de nuevo.

              Gracias por tus comentarios.

              thanks-feedback-gif