Cómo enviar mensajes de WhatsApp desde Hojas de cálculo de Google usando la API de WhatsApp
Publicado: 2022-06-16Este tutorial describe cómo puede usar la nueva API de WhatsApp con Google Apps Script para enviar mensajes de WhatsApp desde Hojas de cálculo de Google. El mismo enfoque también funcionaría para enviar mensajes de WhatsApp desde Google Forms cuando se reciben nuevos envíos de formularios.
Paso 1: crea una aplicación de WhatsApp
Vaya a developer.facebook.com y haga clic en el botón Create App
para crear una nueva aplicación que usaremos para enviar mensajes de WhatsApp.
Seleccione Business
como el tipo de aplicación.
Asigne a su aplicación un nombre descriptivo (no use ninguna marca registrada de Facebook como WhatsApp
o Facebook
en el nombre de la aplicación) y haga clic en el botón Create App
para crear la aplicación.
Una vez que se haya creado la aplicación, haga clic en el botón WhatsApp
en la siguiente pantalla para agregar capacidades de envío de WhatsApp a su aplicación.
En la siguiente pantalla, se le pedirá que vincule su aplicación WhatsApp a su cuenta comercial de Facebook. También tendrá la opción de crear una nueva cuenta comercial si aún no tiene una.
Paso 2: agregue el número de teléfono del destinatario
Facebook le proporcionará un número de teléfono de WhatsApp de prueba que será la dirección de envío predeterminada de su aplicación. Para los destinatarios, tendrá la opción de agregar un máximo de 5 números de teléfono durante la fase de desarrollo sin tener que realizar ningún pago.
Su aplicación WhatsApp le proporcionará un token de acceso temporal que será válido durante 23 horas. Tome nota de este token, ya que lo necesitaremos en un paso posterior.
A continuación, haga clic en el menú desplegable Recipient Phone Number
para agregar hasta 5 números de teléfono de WhatsApp diferentes a su aplicación. Recibirá un código de verificación en los números agregados y podrá enviar mensajes de WhatsApp solo a números que hayan sido verificados con el código.
Paso 3: Crear plantilla de mensaje de WhatsApp
Cambie al administrador de plantillas y cree una nueva plantilla de mensaje de WhatsApp.
Para este ejemplo, elegiremos la categoría como Account Update
y le daremos un nombre único a su plantilla de mensaje. Para los idiomas, elegiremos el inglés cuyo idioma de código es en
. Si usa otro idioma, tome nota del idioma del código, ya que se requiere para enviar mensajes.
Escribe el Mensaje Personalizado
Estamos utilizando parámetros variables en el mensaje y estos se reemplazarán con los valores reales de la hoja de cálculo de Google. Es muy similar a los marcadores que puede haber usado dentro de Mail Merge y Document Studio con la pequeña diferencia de que estos son marcadores posicionales y no marcadores con nombre.
Aquí está nuestra plantilla de mensaje donde las variables {{1}} y {{2}} son para el nombre del cliente y el nombre del artículo respectivamente.
WhatsApp puede tardar hasta un minuto en aprobar su nueva plantilla de mensaje.
Paso 4: Enviar mensajes de WhatsApp
Ahora que toda nuestra configuración en el lado de Facebook / WhatsApp está completa, trabajemos en la hoja de Google que realmente enviará estos mensajes de WhatsApp personalizados de manera automática.
Haga clic aquí para copiar la hoja de WhatsApp en su propia cuenta de Google.
A continuación, agregue los números de teléfono (con el código de país) en la columna Número de teléfono de la Hoja de cálculo de Google. Solo debes agregar números que hayas verificado con tu cuenta de WhatsApp de prueba en el paso anterior.
Luego vaya al menú Extensión y elija Apps Script para abrir el script subyacente. Reemplace WHATSAPP_ACCESS_TOKEN
y WHATSAPP_TEMPLATE_NAME
con los valores que ha copiado en los pasos anteriores.
Haga clic en el botón Run
dentro del editor de secuencias de comandos de aplicaciones y debería enviar instantáneamente el mensaje de WhatsApp a los números de teléfono que figuran en la lista.
Y lo que tiene a continuación es el mensaje real de WhatsApp enviado por la API de WhatsApp reemplazando los marcadores de variables en la plantilla con valores reales de Google Sheets.
Los detalles técnicos
Cómo funciona la API de WhatsApp con Google Apps Script
Google Apps Script se conecta a Google Sheets y recupera los detalles de los clientes, incluidos los números de teléfono, a los que se les enviarán mensajes a través de WhatsApp.
// Get data from Google Sheets // for sending messages through WhatsApp const getSheetData_ = ( ) => { const sheet = SpreadsheetApp . getActiveSheet ( ) ; const [ header , ... rows ] = sheet . getDataRange ( ) . getDisplayValues ( ) ; const data = [ ] ; rows . forEach ( ( row ) => { const recipient = { } ; header . forEach ( ( title , column ) => { recipient [ title ] = row [ column ] ; } ) ; data . push ( recipient ) ; } ) ; return data ; } ;
A continuación, el script recorre cada fila de la hoja y envía un mensaje de WhatsApp invocando la API de WhatsApp Cloud con el servicio UrlFetch.
// Send Message with WhatsApp Cloud API const sendMessage_ = ( e ) => { const apiUrl = 'https://graph.facebook.com/v13.0/114746974570888/messages' ; const request = UrlFetchApp . fetch ( apiUrl , { muteHttpExceptions : true , method : 'POST' , headers : { Authorization : ` Bearer ${ WHATSAPP_ACCESS_TOKEN } ` , 'Content-Type' : 'application/json' , } , payload : JSON . stringify ( { type : 'template' , messaging_product : 'whatsapp' , to : e . recipient_number , template : { name : WHATSAPP_TEMPLATE_NAME , language : { code : LANGUAGE_CODE } , components : [ { type : 'body' , parameters : [ { type : 'text' , text : e . customer_name } , { type : 'text' , text : e . item_name } , { type : 'text' , text : e . delivery_date } , ] , } , ] , } , } ) , } ) ; const { error } = JSON . parse ( request ) ; if ( error ) { Logger . log ( ` ${ error } ` ) ; } else { Logger . log ( ` Message sent to ${ recipient_number } ` ) ; } } ; const main = ( ) => { getSheetData_ ( ) . forEach ( ( row ) => { const status = sendMessage_ ( { recipient_number : row [ 'Phone Number' ] . replace ( / [^\d] / g , '' ) , customer_name : row [ 'Customer Name' ] , item_name : row [ 'Item Name' ] , delivery_date : row [ 'Delivery Date' ] , } ) ; } ) ; } ;
Ver también: Automatice los flujos de trabajo con Hojas de cálculo de Google