Notificações por SMS e MMS com Python e Django
Deseja que seu servidor o alerte automaticamente se algo der errado? Bem, este aplicativo tem seu número - vamos ver como usar a Twilio para enviar páginas de servidor a partir do Python e do Django.
Comece clonando nosso aplicativo de amostra a partir daqui. Em seguida, acesse o README.md do aplicativo para ver como executar o aplicativo localmente.
Veja como o EMC usa o Twilio SMS para enviar alertas de TI a 68.000 colaboradores.
Vamos começar! Clique no botão abaixo para acessar a próxima etapa do tutorial.
Listar nossos administradores de servidor
Certamente você tem uma lista de pessoas que devem ser alertadas se algo der errado. Crie essa lista, como mostrado no exemplo JSON neste trecho de código.
A única parte essencial dos dados necessários é um phone_number
para cada administrador.
Excelente trabalho. Lista em mãos, vamos configurar um Twilio REST Client para enviar notificações se (bem, quando...) algo der errado.
Configuração do Twilio Client
Para enviar uma mensagem, precisaremos criar um Twilio REST Client. Ele exigirá a leitura de um TWILIO_NUMBER
além do nosso TWILIO_ACCOUNT_SID
e TWILIO_AUTH_TOKEN
das variáveis de ambiente.
Os valores do Account SID (SID da conta) e do Auth Token (Token de autenticação) virão do console da Twilio:
Clique no ícone de globo ocular para exibir seu Auth Token (Token de autenticação) em uma forma fácil de copiar/colar.
Os números de telefone estarão no painel de números de telefone hash ('#'). Você terá que usar um número comprado para a variável TWILIO_NUMBER
.
A configuração das variáveis de ambiente depende da plataforma. O link acima explicará como definir variáveis no Windows, Mac OSX e *NIX (mas pode variar dependendo da sua escolha de shell). Se você estiver usando uma solução de Plataforma como Serviço (Platform as a Service, PaaS), como o Heroku, poderá configurá‐las a partir do console. Verifique a documentação da sua plataforma se precisar de ajuda.
Agora que temos o que precisamos para nosso Twilio REST Client, vamos ver como lidar com as exceções.
Notificar com base em exceções no aplicativo
Iremos implementar o tratamento de erros e a entrega de mensagens como uma parte do middleware do Django, e faremos todas as chamadas de API da Twilio a partir de lá.
Observe que é importante retornar None
para que o tratamento de exceções padrão do Django possa ser executado.
Com as exceções agora prontas para notificar as pessoas que podem ajudar, vamos revisar cada etapa do envio dessas mensagens de alerta.
Criar uma mensagem personalizada de alerta por SMS ou MMS
Demonstramos a criação da mensagem de alerta perfeita para uma exceção. (Sabe, isso ou uma mensagem concisa com algum texto de exceção padrão.)
Você também pode optar por incluir uma imagem em sua mensagem de alerta... talvez uma captura de tela da falha do aplicativo ou alguma variação de um meme "Está tudo bem!"?
Sua mensagem de alerta será bem transmitida, já podemos dizer isso. Em seguida, vamos dar uma olhada nas etapas a seguir para enviá-la para toda a lista de administradores.
Ativação das notificações para administradores
Em seguida, enviamos mensagens de alerta a todos os administradores com o método send_message
que foi definido na classe MessageClient
.
Agora, vamos ver como enviamos as mensagens.
Enviar uma mensagem de texto
Há três parâmetros necessários para enviar um SMS usando a API REST da Twilio: from_
, to
e body
.
Os número de telefone dos EUA e do Canadá também podem enviar uma imagem com uma mensagem MMS (remova a # do media_url
). O restante do mundo terá links de imagem com links automaticamente abreviados.
Isso é tudo!
Acabamos de implementar um sistema de notificação do servidor automatizado que alerta automaticamente os administradores do servidor quando acontece algo errado.
Para onde ir em seguida?
Gosta do Python? A Twilio também o utiliza! Aqui estão alguns outros tutoriais que podem despertar seu interesse:
Call Tracking (Rastreamento de chamadas)
O rastreamento de chamadas ajuda você a medir facilmente a eficácia de diferentes campanhas de marketing. Ao atribuir um número de telefone exclusivo a diferentes anúncios que você está fazendo, é possível rastrear quais têm as melhores taxas de chamadas (e obter alguns dados sobre os autores da chamada, para começar).
Appointment Reminders (Lembretes de agendamentos)
Deseja diminuir o número de agendamentos perdidos em sua empresa? Os lembretes de agendamentos permitem automatizar o processo de contato com seus clientes com antecedência.
Isso ajudou?
Obrigado por conferir este tutorial! Envie‐nos um tweet para @twilio para nos dizer como você se saiu... e nos diga o que você irá criar em seguida!
Precisa de ajuda?
Às vezes, todos nós precisamos; a programação é difícil. Receba ajuda agora da nossa equipe de suporte, ou confie na sabedoria da multidão navegando pelo Stack Overflow Collective da Twilio ou buscando a tag Twilio no Stack Overflow.