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 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:

Active Numbers List

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).

Buy A Number

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:

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:

Installing libcurl-devel and curl in 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.
        
        
        
        Instantiating a Twilio class and sending a SMS or MMS message with C++ and libcurl.

        Using the Twilio REST API from C++

        Instantiating a Twilio class and sending a SMS or MMS message with C++ and libcurl.
        • 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.
              
              
              
              The send_message method from the Twilio class from the CPP Messaging demo in C++.

              The C++ Twilio Class

              The send_message method from the Twilio class from the CPP Messaging demo in C++.

              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.

              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