Como enviar Mensagens de Whatsapp em 30 segundos com Python

March 06, 2019
Escrito por
Matt Makai
Twilion

Como enviar Mensagens de Whatsapp em 30 segundos com Python

WhatsApp é um serviço de mensagem over-the-top (OTT) amplamente utilizado ao redor do mundo. Nesse tutorial, nós vamos aprender como enviar mensagens de Whatsapp utilizando a API de mensagens da Twilio, com código reutilizável que pode ser adicionado a qualquer aplicativo Python.

Configurando o ambiente de desenvolvimento

Precisamos das seguintes dependências instalados em nosso ambiente de desenvolvimento local para enviar mensagens de Whatsapp.

Se você não tem o Python já instalado na sua máquina, você pode ir no link python.org e instalar a última versão.

O próximo passo é logar na sua conta da Twilio ou criar uma nova conta gratuita.

Acesse o Console da Twilio e guarde o Account SID e o Auth Token da sua conta. O Account SID é um identificador único para sua conta, enquanto o Auth Token é uma chave secreta que nunca deve ser compartilhada; caso outra pessoa tenha sua chave, ela vai ter completo acesso a sua conta da Twilio.

Agora nós precisamos definir variáveis de ambiente para guardar nossas credenciais da Twilio, que vão permitir que o código Python acesse nossa conta da Twilio e use a API.

account sid

Copie o Account SID e abra seu terminal. Execute o comando abaixo para definir a variável de ambiente TWILIO_ACCOUNT_SID, cole seu Account SID entre as aspas simples.

export TWILIO_ACCOUNT_SID='ACxxxxxxxx' # Cole seu Account SID entre as aspas simples

Auth token

Copie o Auth Token e cole ele entre as aspas simples na variável de ambiente TWILIO_AUTH_TOKEN e execute  o seguinte comando:

export TWILIO_AUTH_TOKEN='secret auth token' # Cole seu Auth Token entre as aspas simples

Nossas variáveis de ambiente estão configuradas, vamos agora escrever nosso script python e fazer alguns testes.

Código Python para enviar mensagens de Whatsapp

Crie um novo ambiente virtual com o seguinte comando usando o módulo venv do Python:

$ python3 -m venv pywhatsapp

Ative o ambiente virtual:

$ source pywhatsapp/bin/activate  # for Unix and Mac OS
$ env\Scripts\activate         # for Windows

Instale a biblioteca Python da Twilio no seu ambiente virtual:

$ pip install twilio

Crie um arquivo chamado whatsapp.py e escreva ou cole o seguinte código:

from twilio.rest import Client
import os

# as credenciais são recuperadas das variáveis de ambiente TWILIO_ACCOUNT_SID and TWILIO_AUTH_TOKEN
client = Client()

# esse é o numero de teste da sandbox da Twilio
from_whatsapp_number='whatsapp:+14155238886'
# substitua esse número com o seu próprio número do Whatsapp
to_whatsapp_number='whatsapp:+15005550006'

client.messages.create(body='Ahoy, world!',
                      from_=from_whatsapp_number,
                      to=to_whatsapp_number)

O código acima importa a biblioteca python da Twilio para envio de mensagens, instância o cliente da biblioteca, configura um número de Whatsapp de origem (from), um número de destino (to) então envia uma única mensagem chamando a função client.messages.create. A classe Client() lê automaticamente o Account SID e Auth Token das variáveis de ambiente. Você também pode passar as credenciais como argumento ao instanciar a classe, ambas abordagens funcionam.  Confira alguns exemplos na documentação da Twilio.

Nosso script python está pronto e nós apenas precisamos ativar o Whatsapp Sandbox da Twilio para testá-lo.

Enviando mensagens no Whatsapp

Vá para a página do Whatsapp no Console da Twilio  e ative seu Sandbox.

WhatsApp sandbox

Você será redirecionado para a página acima, que vai mostrar instruções de como você pode conectar à sua sandbox enviando uma mensagem de whatsapp a partir do seu dispositivo. No meu caso, eu preciso enviar join science-physical para +14155238886.

Agora estamos prontos para executar nosso código Python e enviar nossa primeira mensagem Whatsapp.

Voltando para o terminal, verifique se seu ambiente virtual ainda está ativo e suas variáveis de ambiente, TWILIO_ACCOUNT_SID e TWILIO_AUTH_TOKEN, estão exportadas, antes de executar o seguinte comando:

python whatsapp.py

Confira no seu app do Whatsapp, você deve ver sua primeira mensagem de whatsapp enviada através da API da Twilio.

demo

Próximos passos!

Nesse tutorial, nós aprendemos como enviar mensagens de Whatsapp usando a API da Twilio. Agora você pode tentar seguir esses outros tutoriais (em inglês) para fazer ainda mais com a API do Twilio: