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:
- Un cliente potencial envía un SMS a un número de teléfono de Twilio que anuncias en algún lugar.
- La aplicación móvil confirma que el usuario desea recibir notificaciones por SMS y MMS de tu empresa.
- 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.
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).
A continuación, veamos cómo gestionar los mensajes entrantes.
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.
A continuación, veamos cómo crear 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”.
Ahora veamos cómo nuestros usuarios pueden administrar sus suscripciones.
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
oremove
, 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.
A continuación, veamos cómo enviar 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).
Veamos aún más de cerca cómo enviar notificaciones por MMS o SMS.
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:
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.
¡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.
¿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:
Agrega una interfaz a tu directorio de empleados a fin de buscar la información de los contactos en tu teléfono.
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.
¿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.