Como enviar um SMS em Python

July 01, 2020
Written by
Reviewed by
Gabriela Cavalcante
Contributor
Opinions expressed by Twilio contributors are their own

Como enviar um SMS em Python

Tudo o que você precisa para enviar um SMS em Python usando Twilio são as seguintes linhas de código:

import os
from twilio.rest import Client


account_sid = os.environ.get('TWILIO_ACCOUNT_SID')
auth_token = os.environ.get('TWILIO_AUTH_TOKEN')

client = Client(account_sid, auth_token)

client.messages.create(from_=os.environ.get('TWILIO_PHONE_NUMBER'),
                      to=os.environ.get('CELL_PHONE_NUMBER'),
                      body='Você enviou um SMS em Python usando o Twilio!')

Passo a passo do código

A primeira coisa que precisamos para que o código acima funcione é uma conta da Twilio. Crie uma para você de graça aqui.

Nós também precisamos de um número de telefone com SMS habilitado. Você pode procurar e comprar um no console da Twilio.

Enviar um SMS usando a Twilio é tão simples quanto implementar uma requisição POST HTTP para o recurso /Messages na API da Twilio. A Twilio fornece uma biblioteca que facilita essa implementação. Instale a biblioteca twilio no terminal usando o pip:

pip install twilio

O próximo passo é criar um arquivo chamado sms.py e abri-lo no seu editor de texto favorito. No topo do arquivo, importe os e TwilioRestClient do twilio.rest. No código abaixo, nós usamos o os para ler nossas credenciais da Twilio das variáveis de ambiente do sistema, e criamos uma TwilioRestClient usando estas variáveis. Se você não sabe como guardar seus credenciais da Twilio em variáveis de ambiente, clique aqui para aprender como fazer isso no Windows, no Linux ou Mac OS X.

import os
from twilio.rest import Client

account_sid = os.environ.get('TWILIO_ACCOUNT_SID')
auth_token = os.environ.get('TWILIO_AUTH_TOKEN')

client = Client(account_sid, auth_token)

Use o client para enviar uma mensagem SMS do seu número da Twilio para seu telefone. No exemplo abaixo, recuperamos o  número da Twilio e o telefone celular das variáveis de ambiente, TWILIO_PHONE_NUMBER e CELL_PHONE_NUMBER.

client.messages.create(from_=os.environ.get('TWILIO_PHONE_NUMBER'),
                       to=os.environ.get('CELL_PHONE_NUMBER'),
                       body='Você enviou um SMS em Python usando o Twilio!')

Uma informação importante caso você queira mandar sms para outros números, é que sua conta gratuita da Twilio só pode enviar mensagens para números verificados. Você pode verificar números pelo console da Twilio.

Agora, vamos voltar para o terminal e executar nosso script:

python sms.py

Em alguns segundos você deve receber sua mensagem de texto!

screenshot

Conclusão

Se você gostaria de aprender mais sobre como usar Twilio e Python juntos, veja alguns outros links (em inglês):

O que você está construindo? Eu adoraria ouvir a respeito! Você pode me encontrar no Twitter @_gabicavalcante.