Enviar mensajes SMS y MMS en C++
En este artículo, usaremos algunas bibliotecas estándar, C++, libcurl y algunas API de POSIX para enviar mensajes SMS y MMS mediante la API REST de Twilio. Necesitarás un entorno de compilación compatible con POSIX (en la mayoría de los casos), así como libcurl para seguir esta guía.
¡Empecemos!
Inicia sesión en una cuenta de Twilio (o regístrate para obtener una)
Deberás acceder a tu cuenta de Twilio existente o crear una nueva.
¿Todavía no tienes una cuenta? Regístrate para obtener una prueba gratuita de Twilio de inmediato.
Adquirir o buscar un número compatible con SMS
Necesitarás un número compatible con SMS (o, de manera opcional, MMS) para esta demostración. Puedes usar un número de teléfono de tu propiedad o adquirir uno nuevo con el envío de SMS habilitado.
En la consola de Twilio, puedes determinar las funcionalidades del número adquirido:
Si necesitas comprar un número, después de ir al enlace Buy a Number (Comprar un número), haz clic en la casilla de verificación SMS (y en la casilla de verificación MMS si deseas enviar mensajes multimedia).
Requisitos previos de la Guía de MMS y SMS en C++
Con esta guía, nos centramos en entornos compatibles con POSIX y probamos nuestro código con clang-800.0.42.1 en Mac OSX 10.11, gcc versión 4.9.2 en Raspbian 8.0 (kernel 4.4.38-v7+) y gcc 5.4.0 en Cygwin 2.877 en Windows 7 de 64 bits.
Para la creación, deberás asegurarte de disponer de lo siguiente:
- stdio.h, stdlib.h, unistd.h: bilbiotecas C POSIX
- libcurl: biblioteca de transferencia del lado del cliente
- iostream, sstream, string: bibliotecas estándar de C++
libcurl ya se encuentra disponible en Mac. En Raspberry Pi, puedes instalar una versión adecuada con lo siguiente:
sudo apt-get install libcurl4-openssl-dev
En Windows 7 y Cygwin, puedes instalar libcurl con el programa de instalación de Cygwin:
Creación de cpp_demo
Los tres entornos funcionaron con este ejemplo Makefile. Es posible que debas realizar pequeñas modificaciones, en general en las rutas de búsqueda de la biblioteca, para crear en el entorno.
En casi todos los sistemas de tipo *NIX (incluidos Windows/Cygwin), el proceso de creación debería ser muy similar a las siguientes líneas (incluso podrías copiarlas, pegarlas y ejecutarlas):
git clone https://github.com/TwilioDevEd/twilio_cpp_demo.git
cd twilio_cpp_demo
make
Enviar un mensaje SMS o MMS con C++
Acabamos de crear cpp_demo, que intenta enviar un SMS o MMS en función de las entradas de la línea de comandos. src/twilio.cc
e include/twilio.hh
muestran una clase, Twilio, que debería ser fácil de integrar en tu propia base de código. (Ten en cuenta que, antes de usarla en la producción, debes agregar seguridad y validación de datos. Observación importante: se pueden incorporar parámetros HTTP adicionales en el código en el formato actual a través de las entradas de la línea de comandos).
Para los desarrolladores de C++, nuestra Guía de SMS y MMS en C brinda información clave sobre el siguiente código, pero echemos un vistazo más de cerca para obtener más detalles.
- En primer lugar, creamos una instancia de un objeto de
Twilio
con las credenciales de nuestra cuenta (las encuentras en la consola de Twilio). - En segundo lugar, invocamos el método
send_message
con los números de destinatario/remitente, el mensaje y, de manera opcional, una URL a una imagen y un booleano que indique si queremos una salida detallada.
- En tercer lugar, una vez en el código, primero realizamos una verificación de excepciones (nos aseguramos de que el mensaje tenga el tamaño adecuado), seguido de la configuración de libcurl con nuestra solicitud HTTP POST final.
- En cuarto lugar, curl realiza la solicitud HTTP POST y realizamos una limpieza con
curl_easy_cleanup
. - Por último, verificamos la respuesta para ver si se realizó correctamente y devolvemos el resultado a la función de invocación.
Ejecución de cpp_demo
Ejecutar cpp_demo desde la línea de comandos es un proceso sencillo una vez que se crea. Simplemente establece las credenciales de tu cuenta e invoca el código de la siguiente manera:
account_sid=ACXXXXXXXXXXXXXXXXXXXXXX
auth_token=your_auth_token
bin/cpp_demo -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.
Es hora de ponerse manos a la obra con Twilio y C++
Ahora que finalizaste esta demostración, tienes los recursos para agregar comunicaciones a tus aplicaciones de C++ nuevas o existentes. Agrega monitoreo o ayuda a tu aplicación de C++, o desarrolla tu propio caso de uso.
Tanto si eres un maestro del lenguaje o si estás más cerca de ser un practicante de "C with classes", cuéntanos en Twitter sobre tus creaciones.
¿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.