Notificaciones de SMS y MMS con Python y Django
¿Quieres que tu servidor te avise automáticamente si se produce un error? Bien, esta aplicación móvil tiene tu número, así que vamos a ver cómo utilizar Twilio a fin de enviar las páginas del servidor desde Python y Django.
Empieza por clonar nuestra aplicación móvil de ejemplo aquí. A continuación, dirígete a README.md de la aplicación móvil a fin de conocer cómo ejecutar la aplicación móvil de forma local.
Descubre cómo EMC utiliza Twilio SMS para enviar alertas de TI a 68 000 empleados.
¡Empecemos! Haz clic en el botón que aparece a continuación para avanzar al siguiente paso del tutorial.
Enumeración de los administradores de nuestro servidor
Seguramente tienes una lista de personas que deben recibir una alerta cuando se produce en error. Crea esa lista, como se muestra en el ejemplo de JSON de este fragmento de código.
El único dato fundamental que necesitaremos en un phone_number
de cada administrador.
Excelente trabajo. Con la lista completa, configuremos el cliente de la API REST de Twilio a fin de enviar notificaciones si (bueno, cuando...) se genere un error.
Configuración de Twilio Client
Para enviar un mensaje necesitaremos crear un cliente de la API REST de Twilio. Esto requerirá la lectura de un TWILIO_NUMBER
, además de nuestro TWILIO_ACCOUNT_SID
y TWILIO_AUTH_TOKEN
de las variables de entorno.
Los valores de tu Account SID (SID de cuenta) y Auth Token (Token de autenticación) provendrán de la consola de Twilio:
Haz clic en el ícono del ojo a fin de exponer tu Auth Token (Token de autenticación) en un formulario fácil de copiar y pegar.
Los número de teléfono se encontrarán en un panel de número de teléfono de hash (“#”). Tendrás que utilizar un número comprado para la variable TWILIO_NUMBER
.
La configuración de las variables de entorno depende de la plataforma. En el enlace anterior se explica cómo establecer las variables en Windows, Mac OSX y *NIX (pero esto puede variar en función del shell que elijas). Si utilizas una solución de plataforma como servicio (PaaS), como Heroku, las puedes establecer en la consola. Consulta la documentación de la plataforma si necesitas ayuda.
Ahora que tenemos lo que necesitamos para nuestro cliente de la API REST de Twilio, veamos cómo gestionar las excepciones.
Notificación en función de las excepciones en la aplicación móvil
Implementaremos la gestión de errores y entrega de mensajes como parte del middleware de Django y realizaremos todas las llamadas a la API de Twilio desde aquí.
Ten en cuenta que es fundamental devolver None
para que se pueda ejecutar la gestión de excepciones de Django de forma determinada.
Ahora que las excepciones se encuentran configuradas para notificar al equipo encargado, profundicemos en cada paso del envío de estos mensajes de alerta.
Creación de un mensaje de alerta SMS o MMS personalizado
Aquí mostramos cómo crear el mensaje de alerta perfecto para una excepción. (Ya sabes, eso o bien un mensaje breve con algún texto de excepción repetitivo).
También puedes incluir una imagen para tu mensaje de alerta... ¿quizás una captura de pantalla del fallo de la aplicación móvil o alguna variación del meme “Todo está bien”?.
Ya podemos asegurar que tu mensaje de alerta será bien recibido. A continuación, veamos los pasos a seguir para enviarlo a toda la lista de administradores.
Activación de notificaciones para administradores
A continuación, enviamos mensajes de alerta a cada administrador con el método send_message
definido en la clase MessageClient
.
Ahora, veamos cómo enviar los mensajes.
Envío de un mensaje de texto
Se necesitan tres parámetros para enviar un SMS con la API REST de Twilio: from_
, to
y body
.
Los números de teléfono de Estados Unidos y Canadá también pueden enviar una imagen con el mensaje como un MMS (eliminar el comentario de media_url
). El resto del mundo tendrá enlaces de imágenes con enlaces acortados automáticamente.
Eso es todo.
Acabamos de implementar un sistema de notificaciones de servidor automatizado que envía alertas de forma automática a los administradores del servidor cuando algo sale mal.
¿Dónde ir a continuación?
¿Te gusta Python? A Twilio también. Estos son algunos tutoriales que podrían interesarte:
El seguimiento de llamadas te ayuda a medir con facilidad la eficacia de diferentes campañas de marketing. Al asignar un número de teléfono único a los distintos anuncios que se están ejecutando, puedes realizar un seguimiento de quienes tienen las mejores tarifas de llamada (y obtener algunos datos sobre las personas que llaman).
¿Deseas reducir el número de citas perdidas en tu empresa? Los recordatorios de citas te permiten automatizar el proceso de llegar a tus clientes con antelación.
¿Esto fue de ayuda?
Gracias por consultar este tutorial. Escríbenos en Twitter, a @twilio, para hacernos saber cómo lo hiciste... y contarnos sobre lo que estás creando.
¿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.