Como enviar mensagens do WhatsApp do Google Sheets usando a API do WhatsApp

Publicados: 2022-06-16

WhatsApp with Google Sheets

Este tutorial descreve como você pode usar a nova API do WhatsApp com o Google Apps Script para enviar mensagens do WhatsApp do Planilhas Google. A mesma abordagem também funcionaria para enviar mensagens do WhatsApp do Google Forms quando novos envios de formulários forem recebidos.

Etapa 1: criar um aplicativo do WhatsApp

Acesse developers.facebook.com e clique no botão Create App para criar um novo aplicativo que usaremos para enviar mensagens do WhatsApp.

Facebook WhatsApp App

Selecione Business como o tipo de aplicativo.

Dê um nome descritivo ao seu aplicativo (não use nenhuma marca registrada do Facebook como WhatsApp ou Facebook no nome do aplicativo) e clique no botão Create App para criar o aplicativo.

WhatsApp App Name

Depois que o aplicativo for criado, clique no botão WhatsApp na próxima tela para adicionar recursos de envio do WhatsApp ao seu aplicativo.

Na próxima tela, você será solicitado a vincular seu aplicativo WhatsApp à sua conta comercial do Facebook. Você também terá a opção de criar uma nova conta comercial, caso ainda não tenha uma.

Add WhatsApp App

Etapa 2: adicionar o número de telefone do destinatário

O Facebook fornecerá um número de telefone de teste do WhatsApp que será o endereço de envio padrão do seu aplicativo. Para os destinatários, você terá a opção de adicionar no máximo 5 números de telefone durante a fase de desenvolvimento sem precisar fazer nenhum pagamento.

Seu aplicativo WhatsApp fornecerá um token de acesso temporário que será válido por 23 horas. Anote esse token, pois precisaremos dele em uma etapa posterior.

WhatsApp Phone Number

Em seguida, clique no menu suspenso Recipient Phone Number para adicionar até 5 números de telefone diferentes do WhatsApp ao seu aplicativo. Você receberá um código de verificação nos números adicionados e poderá enviar mensagens do WhatsApp apenas para números que foram verificados com o código.

Verify Phone Number

Etapa 3: criar modelo de mensagem do WhatsApp

Mude para o gerenciador de modelos e crie um novo modelo de mensagem do WhatsApp.

Para este exemplo, escolheremos a categoria como Account Update e daremos um nome exclusivo para seu modelo de mensagem. Para idiomas, escolheremos o inglês para o qual o idioma do código é en . Se você usar outro idioma, anote o idioma do código, pois é necessário para enviar mensagens.

WhatsApp Message Template

Escreva a mensagem personalizada

Estamos usando parâmetros variáveis ​​na mensagem e eles serão substituídos pelos valores reais da Planilha Google. É muito semelhante aos marcadores que você pode ter usado no Mail Merge e no Document Studio, com uma pequena diferença de que são marcadores posicionais e não marcadores nomeados.

Aqui está nosso modelo de mensagem onde as variáveis ​​{{1}} e {{2}} são para nome do cliente e nome do item, respectivamente.

WhatsApp Message Template

Pode levar até um minuto para o WhatsApp aprovar seu novo modelo de mensagem.

Etapa 4: enviar mensagens do WhatsApp

Agora que toda a nossa configuração do lado do Facebook/WhatsApp está completa, vamos trabalhar no Google Sheet que vai realmente enviar essas mensagens personalizadas do WhatsApp de forma automatizada.

Clique aqui para copiar a planilha do WhatsApp em sua própria conta do Google.

Google sheets WhatsApp

Em seguida, adicione os números de telefone (com código do país) na coluna Número de telefone da Planilha Google. Você só deve adicionar números que você verificou com sua conta de teste do WhatsApp na etapa anterior.

Em seguida, vá para o menu Extensão e escolha Apps Script para abrir o script subjacente. Substitua WHATSAPP_ACCESS_TOKEN e WHATSAPP_TEMPLATE_NAME pelos valores que você copiou nas etapas anteriores.

Clique no botão Run dentro do editor do Apps Script e ele deve enviar instantaneamente a mensagem do WhatsApp para os números de telefone listados.

E o que você tem abaixo é a mensagem real do WhatsApp enviada pela API do WhatsApp substituindo os marcadores de variáveis ​​no modelo por valores reais do Planilhas Google.

WhatsApp Message Text

Os detalhes técnicos

Como a API do WhatsApp funciona com o Google Apps Script

O Google Apps Script se conecta ao Google Sheets e recupera os detalhes dos clientes, incluindo números de telefone, que devem receber mensagens por meio do 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 ; } ;

Em seguida, o script percorre cada linha da planilha e envia uma mensagem do WhatsApp invocando a API do WhatsApp Cloud com o serviço 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' ] , } ) ; } ) ; } ;

Consulte também: Automatize fluxos de trabalho com o Planilhas Google