WhatsApp¶
Aprovecha la API en la nube para enviar mensajes utilizando la versión alojada en la nube de la plataforma de negocios de WhatsApp.
Warning
Este complemento se basa en la API en la nube de WhatsApp Business. Para utilizar las funciones disponibles a través del complemento, es necesario tener una cuenta de desarrollador Meta correctamente configurada.
Si aún no tienes una cuenta configurada, consulta la sección Configurar cuenta.
Instalación¶
Importar el complemento¶
Después de instalar este paquete, el siguiente paso es importar el paquete en tu código y comenzar a utilizar las funciones.
Instanciar el complemento¶
Primero, vamos a instanciar el complemento pasando alguna información de tu cuenta de desarrollador de WhatsApp. Todo lo que necesitamos es el TOKEN DE ACCESO y el ID DEL NÚMERO DE TELÉFONO del número que se está utilizando.
Note
En los ejemplos a continuación, se utiliza un número de prueba proporcionado por WhatsApp.
Si lo deseas, puedes configurar y utilizar tus propios números. (detalles aquí).
Envío de mensajes de texto¶
Podemos enviar mensajes de texto fácilmente, simplemente pasando el número que recibirá el mensaje y el contenido del texto.
Important
En algunos casos, puede ser necesario que el número del destinatario envíe un mensaje a tu número antes de recibir tus mensajes. Esto es un problema de la API en la nube, lo que hace necesario que la conversación sea iniciada por el número que recibirá los mensajes. Por lo tanto, si tus mensajes no se están enviando, por favor pide al número del destinatario que envíe un mensaje primero.
token = "<YOUR_ACCESS_TOKEN>"
number_id = "<YOUR_WHATSAPP_NUMBER_ID>"
whatsapp = BotWhatsappPlugin(access_token=token, whatsapp_number_id=number_id)
# Phone numbers must be used in format:
# [country code][phone number including area code]
whatsapp.send_text_message("5519987654321", "Hey! Sending a simple message! 😃")
Cuando se utilizan mensajes de texto, también podemos trabajar con el parámetro preview url
. Este parámetro se puede utilizar cuando el mensaje de texto contiene un enlace HTTP o HTTPS. En este caso, cuando lo establecemos en True
, se incluirá un cuadro de vista previa que hace referencia al enlace para el destinatario del mensaje.
Envío de mensajes multimedia¶
También puedes enviar mensajes que contengan contenido multimedia. En este caso, es necesario pasar el tipo de contenido multimedia que se está enviando y el enlace que hace referencia al contenido de este multimedia. El contenido multimedia debe ser una URL de acceso público.
Los tipos de contenido multimedia disponibles se definen como un Enum en la clase MediaType, solo usa MediaType.TYPE para seleccionar el tipo de contenido multimedia que se enviará.
Mensaje enviado:
Warning
El parámetro caption
solo se puede utilizar con contenido multimedia de tipo imagen y documento, y el parámetro filename
solo se puede utilizar con contenido multimedia de tipo documento.
Utilizar estos parámetros con otros tipos de contenido multimedia causará una excepción.
Envío de mensajes de ubicación¶
Es posible enviar mensajes que contengan ubicación a través de WhatsApp, solo tienes que tener los datos de ubicación a mano y se enviará automáticamente un mensaje interactivo.
whatsapp = BotWhatsappPlugin(access_token=token, whatsapp_number_id=number_id)
# Location data
longt = "-23.52742958804382"
lat = "-46.67852205062807"
address = "Av. Francisco Matarazzo, 1705 - Água Branca, São Paulo - SP, 05001-200"
whatsapp.send_location_message(
to_number="5519987654321",
longitude=longt,
latitude=lat,
name="Football stadium",
address=address
)
Vista de la ubicación enviada:
Envío de mensajes de contacto¶
También puedes enviar mensajes que contengan información de contacto. De esta manera, se enviará una tarjeta interactiva que contiene la información de contacto pasada al destinatario. Puedes enviar un contacto solo con un nombre
, o utilizar algún parámetro opcional, como el número de teléfono
o el correo electrónico
del contacto.
Tarjeta de contacto enviada: