Envíe imágenes y otros contenidos multimedia a través de WhatsApp con Node.js

April 16, 2019
Redactado por

Envíe imágenes y otros contenidos multimedia a través de WhatsApp con Node.js

La API de Twilio para WhatsApp no solo le permite enviar mensajes de texto a los números de WhatsApp, sino también enviar y recibir mensajes con contenido multimedia. Esto le permite enviar imágenes (JPG, JPEG, PNG), archivos de audio e incluso PDF de hasta 5 MB. Veamos cómo podemos hacerlo utilizando Node.js.

Si prefiere ver un video tutorial, vea este video en nuestro canal de YouTube:

Primero lo primero

Antes de comenzar, asegúrese de tener lo siguiente:

Si desea probar esto, asegúrese de configurar un nuevo proyecto ejecutando lo siguiente:

mkdir whatsapp-media-messages
cd whatsapp-media-messages
npm init -y

Envío de su primer mensaje con contenido multimedia

Instale la twilio biblioteca auxiliar ejecutando:

npm install twilio

Cree un nuevo archivo llamado index.js y coloque el siguiente código en él:

const twilio = require('twilio');
const client = twilio(
 process.env.TWILIO_ACCOUNT_SID,
 process.env.TWILIO_AUTH_TOKEN
);

client.messages
 .create({
   from: 'whatsapp:+WHATSAPP_SANDBOX_NUMBER',
   to: 'whatsapp:+YOUR_NUMBER',
   body: 'Ahoy from Twilio',
   mediaUrl: 'https://bit.ly/whatsapp-image-example',
 })
 .then(message => {
   console.log(message.sid);
 })
 .catch(err => {
   console.error(err);
 });

Esto iniciará un Twilio Client mediante la twilio biblioteca auxiliar y, a continuación, creará un nuevo mensaje a su número de WhatsApp. Asegúrese de cambiar el WHATSAPP_SANDBOX_NUMBER y YOUR_NUMBER con los respectivos números y no dude en cambiar el valor de mediaUrl con una URL a cualquier otra imagen, fragmento de sonido o PDF.

Después, ejecute su código:

node index.js

Debe recibir un mensaje con el contenido multimedia y el texto que envió.

Captura de pantalla de WhatsApp que muestra el mensaje recibido con una imagen

¿Qué sigue?

Hay algunas diferencias entre los MMS y los mensajes con contenido multimedia de WhatsApp. Los mensajes con contenido multimedia solo se pueden enviar a los usuarios de WhatsApp si hay una session activa establecida. Las sesiones se crean cuando un usuario responde a un mensaje de plantilla o cuando el usuario inicia la conversación mediante enviando un mensaje. Una sesión dura 24 horas desde el último mensaje del usuario. Los mensajes con contenido multimedia de WhatsApp tampoco admiten algunos de los tipos de archivos que ofrece el MMS. Para obtener más información sobre el soporte de tipos de archivo, consulte las preguntas frecuentes.

Si desea revisar otras cosas que son posibles con Twilio para la API de WhatsApp, consulte las siguientes publicaciones:

Este artículo fue traducido del original "Send Images and Other Media via WhatsApp Using Node.js". Mientras estamos en nuestros procesos de traducción, nos encantaría recibir sus comentarios en help@twilio.com - las contribuciones valiosas pueden generar regalos de Twilio.