Как отправлять сообщения WhatsApp из Google Sheets с помощью WhatsApp API
Опубликовано: 2022-06-16В этом руководстве описывается, как вы можете использовать новый WhatsApp API со скриптом Google Apps для отправки сообщений WhatsApp из Google Таблиц. Тот же подход также будет работать для отправки сообщений WhatsApp из Google Forms при получении новых форм.
Шаг 1. Создайте приложение WhatsApp
Перейдите на сайт developer.facebook.com и нажмите кнопку « Create App
», чтобы создать новое приложение, которое мы будем использовать для отправки сообщений WhatsApp.
Выберите Business
в качестве типа приложения.
Дайте вашему приложению описательное имя (не используйте товарные знаки Facebook, такие как WhatsApp
или Facebook
, в имени приложения) и нажмите кнопку « Create App
», чтобы создать приложение.
После создания приложения нажмите кнопку WhatsApp
на следующем экране, чтобы добавить возможности отправки WhatsApp в ваше приложение.
На следующем экране вам потребуется связать приложение WhatsApp с бизнес-аккаунтом Facebook. У вас также будет возможность создать новый бизнес-аккаунт, если у вас его еще нет.
Шаг 2: Добавьте номер телефона получателя
Facebook предоставит вам тестовый номер телефона WhatsApp, который будет адресом отправки по умолчанию для вашего приложения. Для получателей у вас будет возможность добавить до 5 телефонных номеров на этапе разработки без какой-либо оплаты.
Ваше приложение WhatsApp предоставит вам временный токен доступа , который будет действителен в течение 23 часов. Запишите этот токен, так как он понадобится нам позже.
Затем щелкните раскрывающийся список « Recipient Phone Number
», чтобы добавить в свое приложение до 5 разных телефонных номеров WhatsApp. Вы получите код подтверждения на добавленные номера и сможете отправлять сообщения WhatsApp только на те номера, которые были подтверждены с помощью кода.
Шаг 3: Создайте шаблон сообщения WhatsApp
Переключитесь на менеджер шаблонов и создайте новый шаблон сообщения WhatsApp.
В этом примере мы выберем категорию « Account Update
и дадим уникальное имя для вашего шаблона сообщения. В качестве языков мы выберем английский, для которого кодовым языком является en
. Если вы используете другой язык, запишите кодовый язык, так как он требуется для отправки сообщений.
Напишите персональное сообщение
Мы используем переменные параметры в сообщении, и они будут заменены фактическими значениями из Google Sheet. Он очень похож на маркеры, которые вы, возможно, использовали в Mail Merge и Document Studio, с небольшим отличием в том, что это позиционные, а не именованные маркеры.
Вот наш шаблон сообщения, где переменные {{1}} и {{2}} предназначены для имени клиента и названия товара соответственно.
Утверждение нового шаблона сообщения WhatsApp может занять до минуты.
Шаг 4: Отправляйте сообщения WhatsApp
Теперь, когда вся наша настройка на стороне Facebook/WhatsApp завершена, давайте поработаем над таблицей Google, которая фактически будет автоматически отправлять эти персонализированные сообщения WhatsApp.
Нажмите здесь, чтобы скопировать лист WhatsApp в свою учетную запись Google.
Затем добавьте номера телефонов (с кодом страны) в столбец «Номер телефона» таблицы Google. Вы должны добавлять только те номера, которые вы подтвердили с помощью своей тестовой учетной записи WhatsApp на предыдущем шаге.
Затем перейдите в меню «Расширение» и выберите «Сценарий приложений», чтобы открыть базовый сценарий. Замените WHATSAPP_ACCESS_TOKEN
и WHATSAPP_TEMPLATE_NAME
значениями, скопированными на предыдущих шагах.
Нажмите кнопку « Run
в редакторе сценариев приложений, и он должен мгновенно отправить сообщение WhatsApp на указанные вами телефонные номера.
И то, что у вас есть ниже, — это фактическое сообщение WhatsApp, отправленное WhatsApp API, заменяющее маркеры переменных в шаблоне фактическими значениями из Google Sheets.
Технические детали
Как 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 Таблиц.