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:

Notificaciones de marketing por SMS y MMS con Ruby y Sinatra

¿Estás listo para implementar las notificaciones de marketing por SMS y MMS en tu aplicación móvil de Ruby y Sinatra?

Así es como funcionará a un nivel alto:

  1. Un cliente potencial envía un SMS a un número de teléfono de Twilio que anuncias en algún lugar.
  2. La aplicación móvil confirma que el usuario desea recibir notificaciones por SMS y MMS de tu empresa.
  3. Un administrador o gerente de campañas de marketing utiliza un formulario web para elaborar un mensaje que se enviará a todos los suscriptores a través de un mensaje SMS/MMS.

Componentes básicos

Para llevar a cabo esto, utilizarás las siguientes herramientas:

  • TwiML y el Verbo <Message>: Utilizaremos TwiML para administrar las interacciones que inicia el usuario a través de SMS.
  • Recurso de mensajes: Utilizaremos la API REST para difundir los mensajes a todos los suscriptores.
  • Marco Sinatra: Utilizaremos Sinatra para estructurar la aplicación móvil.
  • DataMapper: Utilizaremos DataMapper para definir el modelo y conservarlo.

¡Empecemos! Haz clic en el botón que aparece a continuación para pasar al siguiente paso del tutorial.

Next

El modelo de suscriptor

Para enviar notificaciones de marketing a un suscriptor, debemos proporcionar el modelo correcto.

  • phone_number almacenará la ubicación a la que se deben enviar las notificaciones.
  • subscribed permite a la aplicación móvil identificar qué suscriptores se encuentran activos (solo los suscriptores activos recibirán notificaciones).
        
        
        
        model/subscriber.rb

        The Subscriber model

        model/subscriber.rb

        A continuación, veamos cómo gestionar los mensajes entrantes.

        Next

        Gestionar mensajes entrantes

        Este es el punto final que se llamará cada vez que nuestra aplicación móvil reciba un mensaje.

        Comprueba si el comando que se envía en el mensaje es uno de los que estamos esperando. Dependiendo de eso, devuelve un mensaje con formato en TwiML, que puede ser una confirmación o un mensaje útil sobre nuestros comandos legales.

        Twilio puede enviar una solicitud HTTP a tu aplicación web cuando se produzcan determinados eventos, como un mensaje de texto entrante a uno de tus números de teléfono de Twilio. Estas solicitudes se denominan webhooks o devoluciones de llamada de estado. Para obtener más información, consulta nuestra guía de Introducción a los webhooks de Twilio. Encuentra otras páginas sobre webhooks, como una guía de seguridad y preguntas frecuentes en la sección Webhooks de los documentos.

              
              
              
              app.rb

              SMS and MMS Marketing Notifications

              app.rb

              A continuación, veamos cómo crear suscriptores nuevos.

              ¡Crea suscriptores nuevos!

              Crear suscriptores nuevos

              En un mensaje entrante, buscamos en la base de datos un número coincidente. Si no hay uno, creamos un Subscriber nuevo. Si es así, validamos el comando desde el cuerpo del mensaje y enviamos una respuesta TwiML apropiada.

              ¡Y eso es todo lo que haremos en este paso! Hemos creado un modelo Subscriber para realizar un seguimiento de las personas que han solicitado nuestros mensajes. Además, hemos guardado su información en la base de datos tras haber recibido un mensaje de texto con el comando “add”.

                    
                    
                    
                    app.rb

                    Registrar un suscriptor nuevo en la base de datos

                    app.rb

                    Ahora veamos cómo nuestros usuarios pueden administrar sus suscripciones.

                    Next

                    Administración de suscripciones

                    Queremos proporcionarle a nuestros usuarios dos comandos de SMS para administrar su estado de suscripción: add y remove.

                    Estos comandos activarán una bandera booleana para un registro de Subscriber en la base de datos y determinarán si nuestro usuario recibirá, o no, los mensajes de nuestra campaña de marketing. No los suscribimos de forma automática, en su lugar, nos aseguramos de que confirmen que quieren recibir nuestros mensajes.

                    Para que esto suceda, necesitaremos actualizar la lógica del controlador que gestiona el mensaje de texto entrante para llevar a cabo lo siguiente:

                    • Si se trata de un comando add o remove, crea o actualiza su suscripción con el estado adecuado en la base de datos.
                    • Si es un comando que no reconocemos, envía un mensaje que explique nuestros comandos disponibles.
                          
                          
                          
                          app.rb

                          Validar y ejecutar el comando de un suscriptor

                          app.rb

                          A continuación, veamos cómo enviar notificaciones.

                          ¿Cómo envío notificaciones?

                          Envío de notificaciones

                          Cuando recibimos un formulario de envío desde el frontend, en primer lugar tomamos el texto del mensaje y una URL de imagen opcional. En segundo lugar, realizamos un bucle de todos los suscriptores y llamamos al método send_message a fin de enviar el mensaje.

                          Cuando llegan los mensajes, devolvemos la página de índice con un mensaje de éxito (y hacemos feliz al equipo de marketing).

                                
                                
                                
                                app.rb

                                Webhook para enviar un mensaje a todos los suscriptores activos

                                app.rb

                                Veamos aún más de cerca cómo enviar notificaciones por MMS o SMS.

                                Profundizar en el envío de mensajes SMS y MMS

                                Enviar notificaciones por SMS o MMS

                                En el método send_message creamos un cliente de la API REST de Twilio que se puede utilizar para enviar mensajes SMS y MMS. El cliente requiere tus credenciales de cuenta de Twilio (un SID de cuenta y un token de autenticación), que se pueden encontrar en la consola:

                                Account Credentials

                                Posteriormente, todo lo que tenemos que hacer es llamar a create en el objeto client.messages a fin de enviar nuestro mensaje. La llamada a la API de mensajes de Twilio requiere los parámetros from, to y body. media_url es opcional.

                                      
                                      
                                      
                                      model/subscriber.rb

                                      Utilizar el cliente de Ruby de Twilio para enviar un mensaje

                                      model/subscriber.rb

                                      ¡Eso es todo! Acabamos de implementar un proceso de suscripción y una interfaz administrativa a fin de ejecutar una campaña de marketing por SMS y MMS.

                                      A continuación, veamos qué otras características podrías implementar.

                                      ¿Qué más puedo crear?

                                      ¿Dónde ir a continuación?

                                      Twilio y Ruby trabajan increíblemente bien juntos. Para demostrarlo, aquí hay dos excelentes tutoriales sobre cómo agregar otras características:

                                      Directorio de empleados

                                      Agrega una interfaz a tu directorio de empleados a fin de buscar la información de los contactos en tu teléfono.

                                      Encuesta automatizada

                                      Sigue este tutorial simple a fin de conocer el código necesario para implementar encuestas automatizadas que se integren directamente en tu CRM y base de datos de clientes.

                                      ¿Esto fue de ayuda?

                                      Gracias por consultar este tutorial. Escríbenos en Twitter, a @twilio, y haznos saber lo que piensas.

                                      Jarod Reyes 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