Como enviar uma foto no WhatsApp usando o Twilio e Python
Tempo de leitura: 3 minutos
A API do WhatsApp Business do Twilio é um serviço eficiente e fácil de usar que possibilita a comunicação com os usuários no popular app de mensagens.
Neste artigo, vamos guiá-lo sobre como você pode desenvolver um programa funcional em Python para enviar uma imagem a um usuário pelo WhatsApp.
Pré-requisitos
Para seguir este tutorial, será necessário cumprir os seguintes requisitos:
- Python 3.6 ou mais recente. Se o seu sistema operacional não fornecer um interpretador Python, acesse python.org para fazer download de um instalador.
- Uma conta da Twilio. Se você é novo na Twilio, clique aqui para criar uma conta gratuita e receba 10 dólares de crédito ao atualizar para uma conta paga. Confira os recursos e as limitações de uma conta gratuita da Twilio.
- Um smartphone com uma conta WhatsApp ativa para testar o projeto.
O sandbox da Twilio para WhatsApp
O Twilio fornece uma sandbox para WhatsApp, em que você pode facilmente desenvolver e testar seu aplicativo. Depois que seu aplicativo estiver finalizado, você poderá solicitar o acesso de produção para o número de telefone da Twilio, que exige aprovação pelo WhatsApp.
Nesta seção, você conectará seu smartphone ao sandbox. No menu do Console da Twilio, selecione Messaging (Mensagens) e em seguida selecione Try it Out (Experimentar) na barra lateral. Abra a seção do WhatsApp. A página da sandbox do WhatsApp mostrará o número da sandbox atribuído à sua conta e um código de ingresso.
Para ativar a sandbox do WhatsApp em seu smartphone, envie uma mensagem pelo WhatsApp com o código fornecido para o número atribuído à sua conta. O código começa com a palavra "join", seguida por uma frase de duas palavras gerada aleatoriamente.
Logo após enviar a mensagem, você receberá uma resposta da Twilio indicando que seu número de celular está conectado ao sandbox e, portanto, já pode começar a enviar e receber mensagens.
Se pretende testar seu aplicativo com outros smartphones, repita o processo de cadastro do sandbox com cada um deles.
Configuração
Nesta seção, você vai configurar um novo projeto em Python. Para manter a organização, abra um terminal ou prompt de comando, encontre um local adequado e crie um novo diretório onde o projeto que você está prestes a criar será armazenado:
Como instalaremos alguns pacotes Python para esse projeto, precisamos criar um ambiente virtual.
Se estiver usando um sistema Unix ou MacOS, abra um terminal e digite os seguintes comandos:
Se estiver em uma máquina com Windows, digite os seguintes comandos em uma janela de prompt:
Vamos usar o pacote python-twilio para enviar mensagens pelo serviço do Twilio.
Autenticação nos serviços da Twilio
Precisamos armazenar com segurança algumas credenciais importantes que serão usadas para autenticação no serviço da Twilio.
Você pode obter as credenciais usando TWILIO_ACCOUNT_SID
e TWILIO_AUTH_TOKEN
que se aplicam à sua conta do Twilio no Console da Twilio:
Depois de localizar o SID da conta e o token de autenticação, vamos definir variáveis de ambiente digitando os seguintes comandos no seu terminal:
Se estiver seguindo este tutorial em um computador com Windows, substitua export
por set
nos comandos acima.
Envie uma mensagem de imagem com a Twilio
Crie um arquivo no diretório do projeto chamado app.py e, depois, copie e cole nele o código a seguir:
O objeto client
inicializa um cliente Twilio usando as variáveis TWILIO_ACCOUNT_SID
e TWILIO_AUTH_TOKEN
definidas acima. Substitua <YOUR_WHATSAPP_SANDBOX_PHONE_NUMBER>
e <YOUR_WHATSAPP_PHONE_NUMBER>
pelos números reais, usando o formato E.164.
Seu programa Python cria uma nova instância message
do recurso Message
fornecido pelo API de mensagens da Twilio para WhatsApp, para enviar uma mensagem de WhatsApp ao seu número de telefone pessoal a partir do número da sandbox da Twilio. Certifique-se de substituir esses espaços reservados pelos valores apropriados.
A instância message
também permite incluir o corpo
de uma mensagem e o URL de uma imagem que você quer enviar. Fique à vontade para alterar para outro URL de imagem.
Depois que a mensagem for enviada, o SID da mensagem será impresso no terminal para referência.
Em alguns segundos, você verá um ping do WhatsApp no telefone pessoal enviado diretamente do seu computador!
O que vem a seguir para enviar uma imagem no WhatsApp com Python?
Parabéns por escrever um arquivo curto em Python e usar a linha de comando para enviar uma imagem rapidamente para seu dispositivo habilitado para WhatsApp! Foi tudo tão rápido! Acredita que isso é possível?
Você pode fazer muito mais com a Twilio e o código sem precisar pegar seu telefone. Aqui estão alguns outros projetos de mídia do WhatsApp que você pode conferir:
- Crie um app de reconhecimento de imagem no WhatsApp usando a API do Twilio para WhatsApp, API Clarifai, Python e Flask
- Aprenda sobre visualização de dados com o WhatsApp, Google Maps, Python, Twilio e Clarifai
- Envie imagens SVG por SMS e WhatsApp com Python e CairoSVG
Fale sobre os projetos que você está criando com o WhatsApp, Twilio e Python entrando em contato comigo por e-mail!
Publicações relacionadas
Recursos relacionados
Twilio Docs
De APIs a SDKs e aplicativos de amostra
Documentação de referência de API, SDKs, bibliotecas auxiliares, guias de início rápido e tutoriais para sua linguagem e plataforma.
Centro de Recursos
Os mais recentes e-books, relatórios do setor e webinars
Aprenda com especialistas em engajamento do cliente para melhorar sua própria comunicação.
Ahoy
Centro da comunidade de desenvolvedores da Twilio
Melhores práticas, exemplos de código e inspiração para criar comunicações e experiências de engajamento digital.