WhatsApp¶
Aproveite a Cloud API para enviar mensagens usando a versão hospedada em nuvem da plataforma WhatsApp Business.
Aviso
Este plugin é baseado na API WhatsApp Business Cloud . Para utilizar os recursos disponíveis no plugin, é necessário ter uma conta de desenvolvedor Meta devidamente configurada.
Se você ainda não possui uma conta configurada, consulte a seção Configurar conta.
Instalação¶
Instanciando o plugin¶
Depois de instalar este pacote, a próxima etapa é importar o pacote para o seu código e começar a usar as funções.
Importando o plugin¶
Primeiro, vamos instanciar o plugin, passando algumas informações da sua conta de desenvolvedor do WhatsApp. Tudo o que precisamos é o TOKEN DE ACESSO e a ID DO NUMERO DO TELEFONE do número que está sendo usado.
Observação
Nos exemplos abaixo, um número de teste fornecido pelo WhatsApp está sendo usado.
Se quiser, você pode configurar e usar seus próprios números. (detalhes aqui).
Enviando mensagens de texto¶
Podemos enviar mensagens de texto facilmente, apenas passando o número que receberá a mensagem e o conteúdo do texto.
Importante
Em alguns casos, pode ser necessário que o número do destinatário envie uma mensagem para o seu número antes de receber suas mensagens. Este é um problema da Cloud API do WhatsApp, tornando necessário que a conversa seja iniciada pelo número que receberá as mensagens. Portanto, se suas mensagens não estiverem sendo enviadas, peça ao número do destinatário para enviar uma mensagem primeiro.
token = "<SEU_TOKEN DE ACESSO>"
id_numero = "<SEU_ID_DO_NUMERO_WHATSAPP>"
whatsapp = BotWhatsappPlugin(access_token=token, whatsapp_number_id=number_id)
# Os números de telefone devem ser usados no formato:
# [código do país] [número de telefone, incluindo código de área]
whatsapp.send_text_message("5519987654321", "Ei! Enviando uma mensagem simples! 😃")
Ao usar mensagens de texto, também podemos trabalhar com o parâmetro preview url
. Este parâmetro pode ser usado quando a mensagem de texto contém um link HTTP ou HTTPS. Nesse caso, quando o definimos como True
, uma caixa de visualização referente ao link será incluída para o destinatário da mensagem.
Visualização da mensagem enviada:
Enviando mensagens de mídia¶
Você também pode enviar mensagens que contêm conteúdo de mídia. Nesse caso, é necessário passar o tipo de mídia que está sendo enviada e o link referente ao conteúdo dessa mídia. O conteúdo da mídia deve ser uma URL acessível ao público
Os tipos de mídia disponíveis são definidos como um Enum da classe MediaType, basta usar MediaType.TYPE para selecionar o tipo de mídia que será enviada.
Mensagem enviada:
Aviso
O parâmetro caption
pode ser usado apenas com mídia do tipo imagem e documento, e o parâmetro filename
pode ser usado apenas com mídia do tipo documento. O uso desses parâmetros com outros tipos de mídia causará uma exceção.
Enviando mensagens de localização¶
É possível enviar mensagens que contenham localização via WhatsApp, basta ter os dados de localização em mãos e uma mensagem interativa será enviada automaticamente.
whatsapp = BotWhatsappPlugin(access_token=token, whatsapp_number_id=number_id)
# Dados de localização
longt = "-23.52742958804382"
lat = "-46.67852205062807"
end = "Av. Francisco Matarazzo, 1705 - Água Branca, São Paulo - SP, 05001-200"
whatsapp.send_location_message(
to_number="5519987654321",
longitude=longt,
latitude=lat,
name="Estadio Futebol",
address=end
)
Visualização do local enviado:
Enviando mensagens com contato¶
Você também pode enviar mensagens que contêm algumas informações de contato. Dessa forma, um cartão interativo que contém as informações de contato será enviado ao destinatário. Você pode enviar um contato com apenas um name
ou usar algum parâmetro opcional, como o phone
, que é o número do contato ou o email
.
Cartão de contato enviado: