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

Conseguir que mi servidor envía textos

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.

        
        
        
        config/administrators.json

        Lista de administradores JSON

        config/administrators.json

        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.

        Next

        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:

        Account Credentials

        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.

              
              
              
              twilio_notifications/middleware.py

              Cargar la configuración de Twilio desde las variables de entorno

              twilio_notifications/middleware.py

              Ahora que tenemos lo que necesitamos para nuestro cliente de la API REST de Twilio, veamos cómo gestionar las excepciones.

              Excepto lo que no se espera

              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.

                    
                    
                    
                    twilio_notifications/middleware.py

                    Django middleware to notify administrators via SMS upon exception

                    twilio_notifications/middleware.py

                    Ahora que las excepciones se encuentran configuradas para notificar al equipo encargado, profundicemos en cada paso del envío de estos mensajes de alerta.

                    Haz sonar la alarma (de texto).

                    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”?.

                          
                          
                          
                          twilio_notifications/middleware.py

                          Acercamiento al procesamiento de excepciones

                          twilio_notifications/middleware.py

                          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.

                          Enviar esos mensajes

                          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.

                                
                                
                                
                                twilio_notifications/middleware.py

                                Realizar un bucle de la lista de administradores

                                twilio_notifications/middleware.py

                                Ahora, veamos cómo enviar los mensajes.

                                Next

                                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.

                                      
                                      
                                      
                                      twilio_notifications/middleware.py

                                      La clase MessageClient

                                      twilio_notifications/middleware.py

                                      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.

                                      Esto fue sencillo con Twilio, ¿qué viene ahora?

                                      ¿Dónde ir a continuación?

                                      ¿Te gusta Python? A Twilio también. Estos son algunos tutoriales que podrían interesarte:

                                      Seguimiento de llamadas

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

                                      Recordatorios de citas

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

                                      Kevin Whinnery 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