Como enviar mensagens com mídia em anexo no WhatsApp em Python

April 11, 2019
Escrito por
Sam Agnew
Twilion

Como enviar mensagens com mídia em anexo no WhatsApp em Python

O WhatsApp é um serviço de mensagens usado por pessoas de todo o mundo. Com a API de mensagens da Twilio, você pode enviar mensagens do WhatsApp de forma programática. Vamos ver como usar a linguagem Python para enviar uma mensagem de mídia pelo WhatsApp.

Configurar o ambiente de desenvolvimento

Devemos ter o software correto instalado e configurado para usar no restante deste post. Ao longo deste post, você precisará de:

Aqui está um bom guia para seguir em geral se você quer fazer mais com Twilio e Python.

Cadastrar-se na Twilio e ativar a Sandbox

Antes de enviar uma mensagem pelo WhatsApp, você precisará cadastrar uma conta da Twilio ou fazer login em sua conta já existente e ativar a Sandbox da Twilio para WhatsApp. A Sandbox permite criar protótipos com o WhatsApp imediatamente por meio de um número de telefone compartilhado, sem você ter que esperar que um número exclusivo seja aprovado pelo WhatsApp.

Para começar, selecione um número dentre os disponíveis na Sandbox e siga as instruções para ativar sua sandbox.

Tela do console da Twilio com a ativação da Sandbox do WhatsApp

 

Anote o número de telefone escolhido na Sandbox. Você precisará disso mais tarde quando estivermos prontos para enviar algumas mensagens.

Para usar a Sandbox, você precisa aceitar, enviando ao número de telefone escolhido uma mensagem do WhatsApp. Envie "join <your sandbox keyword>" (entrar em <sua palavra-chave da sandbox>) para o número da Sandbox no WhatsApp; você receberá uma confirmação de que entrou. Veja sua palavra-chave da sandbox no console.

Tela de ativação da Sandbox

Enviar uma mensagem do WhatsApp com a linguagem de programação Python

Agora que você tem uma conta da Twilio e ativou a sandbox do WhatsApp, você está pronto para mergulhar em um código e enviar mensagens! Vamos usar esta imagem de coruja como mídia a ser enviada, porque as corujas são legais. Comece abrindo o terminal e navegando até o diretório onde você deseja que o projeto fique.

Primeiro, instale o pacote virtualenv e depois execute o seguinte comando:

virtualenv pywhatsapp

Após qualquer uma destas etapas, ative o ambiente virtual:

source ./pywhatsapp/bin/activate

Instale a biblioteca auxiliar Python da Twilio no virtualenv:

pip install twilio

Feito isso, crie um arquivo chamado whatsapp.py neste diretório e adicione o seguinte código a ele:

import os
from twilio.rest import Client

client = Client(os.environ['TWILIO_ACCOUNT_SID'], os.environ['TWILIO_AUTH_TOKEN'])

# this is the Twilio sandbox testing number
from_whatsapp_number='whatsapp:+14155238886'
# replace this number with your personal WhatsApp Messaging number
to_whatsapp_number='whatsapp:+15005550006'

message = client.messages.create(body='Check out this owl!',
                       media_url='https://demo.twilio.com/owl.png',
                       from_=from_whatsapp_number,
                       to=to_whatsapp_number)

print(message.sid)

Antes de executar este código, defina as variáveis de ambiente TWILIO_ACCOUNT_SID e TWILIO_AUTH_TOKEN com seus respectivos valores das credenciais da conta da Twilio, localizadas no Console da Twilio. A biblioteca Python da Twilio verificará automaticamente esses valores para que você possa evitar codificá-los no seu arquivo whatsapp.py! Aqui está um tutorial útil se você precisar de ajuda para definir variáveis de ambiente.

Por fim, no terminal, execute o seguinte comando para executar este código e enviar a si mesmo uma imagem de uma coruja no WhatsApp:

python whatsapp.py

Verifique suas mensagens e você deve ver algo assim!

Tela do WhatsApp com a demonstração em funcionamento no número da Sandbox.

Lembre-se de que você terá que usar um modelo pré-aprovado se quiser enviar uma mensagem a alguém mais de 24 horas após a última mensagem recebida. E observe que as mensagens de mídia do WhatsApp não são compatíveis com alguns dos tipos de arquivo que o MMS oferece. Para obter mais informações sobre os tipos de arquivo compatíveis, consulte as perguntas frequentes.

O que vem a seguir?

Você acabou de enviar sua primeira mensagem de mídia no WhatsApp usando Python, mas e se quiser fazer isso em Node.js ou C#? Temos outros posts do blog que você pode conferir!

Este artigo foi traduzido do original "How to send WhatsApp Media Messages with Python". Enquanto melhoramos nossos processos de tradução, adoraríamos receber seus comentários em help@twilio.com - contribuições valiosas podem render brindes da Twilio.