Как отправлять сообщения WhatsApp из Google Sheets с помощью WhatsApp API

Опубликовано: 2022-06-16

WhatsApp with Google Sheets

В этом руководстве описывается, как вы можете использовать новый WhatsApp API со скриптом Google Apps для отправки сообщений WhatsApp из Google Таблиц. Тот же подход также будет работать для отправки сообщений WhatsApp из Google Forms при получении новых форм.

Шаг 1. Создайте приложение WhatsApp

Перейдите на сайт developer.facebook.com и нажмите кнопку « Create App », чтобы создать новое приложение, которое мы будем использовать для отправки сообщений WhatsApp.

Facebook WhatsApp App

Выберите Business в качестве типа приложения.

Дайте вашему приложению описательное имя (не используйте товарные знаки Facebook, такие как WhatsApp или Facebook , в имени приложения) и нажмите кнопку « Create App », чтобы создать приложение.

WhatsApp App Name

После создания приложения нажмите кнопку WhatsApp на следующем экране, чтобы добавить возможности отправки WhatsApp в ваше приложение.

На следующем экране вам потребуется связать приложение WhatsApp с бизнес-аккаунтом Facebook. У вас также будет возможность создать новый бизнес-аккаунт, если у вас его еще нет.

Add WhatsApp App

Шаг 2: Добавьте номер телефона получателя

Facebook предоставит вам тестовый номер телефона WhatsApp, который будет адресом отправки по умолчанию для вашего приложения. Для получателей у вас будет возможность добавить до 5 телефонных номеров на этапе разработки без какой-либо оплаты.

Ваше приложение WhatsApp предоставит вам временный токен доступа , который будет действителен в течение 23 часов. Запишите этот токен, так как он понадобится нам позже.

WhatsApp Phone Number

Затем щелкните раскрывающийся список « Recipient Phone Number », чтобы добавить в свое приложение до 5 разных телефонных номеров WhatsApp. Вы получите код подтверждения на добавленные номера и сможете отправлять сообщения WhatsApp только на те номера, которые были подтверждены с помощью кода.

Verify Phone Number

Шаг 3: Создайте шаблон сообщения WhatsApp

Переключитесь на менеджер шаблонов и создайте новый шаблон сообщения WhatsApp.

В этом примере мы выберем категорию « Account Update и дадим уникальное имя для вашего шаблона сообщения. В качестве языков мы выберем английский, для которого кодовым языком является en . Если вы используете другой язык, запишите кодовый язык, так как он требуется для отправки сообщений.

WhatsApp Message Template

Напишите персональное сообщение

Мы используем переменные параметры в сообщении, и они будут заменены фактическими значениями из Google Sheet. Он очень похож на маркеры, которые вы, возможно, использовали в Mail Merge и Document Studio, с небольшим отличием в том, что это позиционные, а не именованные маркеры.

Вот наш шаблон сообщения, где переменные {{1}} и {{2}} предназначены для имени клиента и названия товара соответственно.

WhatsApp Message Template

Утверждение нового шаблона сообщения WhatsApp может занять до минуты.

Шаг 4: Отправляйте сообщения WhatsApp

Теперь, когда вся наша настройка на стороне Facebook/WhatsApp завершена, давайте поработаем над таблицей Google, которая фактически будет автоматически отправлять эти персонализированные сообщения WhatsApp.

Нажмите здесь, чтобы скопировать лист WhatsApp в свою учетную запись Google.

Google sheets WhatsApp

Затем добавьте номера телефонов (с кодом страны) в столбец «Номер телефона» таблицы Google. Вы должны добавлять только те номера, которые вы подтвердили с помощью своей тестовой учетной записи WhatsApp на предыдущем шаге.

Затем перейдите в меню «Расширение» и выберите «Сценарий приложений», чтобы открыть базовый сценарий. Замените WHATSAPP_ACCESS_TOKEN и WHATSAPP_TEMPLATE_NAME значениями, скопированными на предыдущих шагах.

Нажмите кнопку « Run в редакторе сценариев приложений, и он должен мгновенно отправить сообщение WhatsApp на указанные вами телефонные номера.

И то, что у вас есть ниже, — это фактическое сообщение WhatsApp, отправленное WhatsApp API, заменяющее маркеры переменных в шаблоне фактическими значениями из Google Sheets.

WhatsApp Message Text

Технические детали

Как WhatsApp API работает со скриптом Google Apps

Скрипт Google Apps подключается к Google Таблицам и извлекает информацию о клиентах, включая номера телефонов, которым нужно отправлять сообщения через 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 ; } ;

Затем сценарий перебирает каждую строку листа и отправляет сообщение WhatsApp, вызывая WhatsApp Cloud API с помощью службы 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' ] , } ) ; } ) ; } ;

См. также: Автоматизация рабочих процессов с помощью Google Таблиц.