WhatsApp API를 사용하여 Google 스프레드시트에서 WhatsApp 메시지를 보내는 방법

게시 됨: 2022-06-16

WhatsApp with Google Sheets

이 튜토리얼에서는 Google Apps Script와 함께 새로운 WhatsApp API를 사용하여 Google 스프레드시트에서 WhatsApp 메시지를 보내는 방법을 설명합니다. 새 양식 제출이 수신될 때 Google 양식에서 WhatsApp 메시지를 보내는 데에도 동일한 접근 방식이 적용됩니다.

1단계: WhatsApp 앱 만들기

developer.facebook.com으로 이동하고 Create App 버튼을 클릭하여 WhatsApp 메시지를 보내는 데 사용할 새 앱을 만듭니다.

Facebook WhatsApp App

앱 유형으로 Business 를 선택합니다.

앱에 설명이 포함된 이름을 지정하고(앱 이름에 WhatsApp 또는 Facebook 과 같은 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 시트의 실제 값으로 대체됩니다. 이것은 Mail Merge 및 Document Studio 내에서 사용했을 수 있는 마커와 매우 유사하지만 이름이 지정된 마커가 아니라 위치 마커라는 약간의 차이점이 있습니다.

다음은 {{1}} 및 {{2}} 변수가 각각 고객 이름 및 항목 이름에 대한 메시지 템플릿입니다.

WhatsApp Message Template

WhatsApp에서 새 메시지 템플릿을 승인하는 데 최대 1분이 소요될 수 있습니다.

4단계: WhatsApp 메시지 보내기

이제 Facebook/WhatsApp 측의 모든 구성이 완료되었으므로 이러한 개인화된 WhatsApp 메시지를 자동화된 방식으로 실제로 보낼 Google 시트에서 작업해 보겠습니다.

자신의 Google 계정에서 WhatsApp 시트를 복사하려면 여기를 클릭하십시오.

Google sheets WhatsApp

그런 다음 Google 시트의 전화번호 열에 전화번호(국가 코드 포함)를 추가합니다. 이전 단계에서 테스트 WhatsApp 계정으로 확인한 번호만 추가해야 합니다.

그런 다음 확장 메뉴로 이동하고 Apps Script를 선택하여 기본 스크립트를 엽니다. WHATSAPP_ACCESS_TOKENWHATSAPP_TEMPLATE_NAME 을 이전 단계에서 복사한 값으로 바꿉니다.

Apps Script 편집기에서 Run 버튼을 클릭하면 목록에 있는 전화번호로 WhatsApp 메시지가 즉시 전송됩니다.

그리고 아래에 있는 내용은 템플릿의 변수 마커를 Google 스프레드시트의 실제 값으로 대체하는 WhatsApp API에서 보낸 실제 WhatsApp 메시지입니다.

WhatsApp Message Text

기술적 세부 사항

WhatsApp API가 Google Apps Script와 작동하는 방식

Google Apps Script는 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 ; } ;

다음으로 스크립트는 시트의 각 행을 반복하고 UrlFetch 서비스로 WhatsApp Cloud API를 호출하여 WhatsApp 메시지를 보냅니다.

 // 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 스프레드시트로 워크플로 자동화