วิธีส่งข้อความ WhatsApp จาก Google ชีตโดยใช้ WhatsApp API

เผยแพร่แล้ว: 2022-06-16

WhatsApp with Google Sheets

บทช่วยสอนนี้อธิบายวิธีที่คุณสามารถใช้ WhatsApp API ใหม่กับ Google Apps Script เพื่อส่งข้อความ WhatsApp จาก Google ชีต วิธีการเดียวกันนี้จะใช้ได้กับการส่งข้อความ WhatsApp จาก Google ฟอร์มเมื่อได้รับแบบฟอร์มใหม่

ขั้นตอนที่ 1: สร้างแอพ WhatsApp

ไปที่ Developers.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 เพื่อเพิ่มหมายเลขโทรศัพท์ WhatsApp ที่แตกต่างกันถึง 5 หมายเลขในแอปของคุณ คุณจะได้รับรหัสยืนยันสำหรับหมายเลขที่เพิ่มเข้ามา และคุณจะสามารถส่งข้อความ WhatsApp ไปยังหมายเลขที่ได้รับการยืนยันด้วยรหัสเท่านั้น

Verify Phone Number

ขั้นตอนที่ 3: สร้างเทมเพลตข้อความ WhatsApp

เปลี่ยนไปใช้ตัวจัดการเทมเพลตและสร้างเทมเพลตข้อความ WhatsApp ใหม่

สำหรับตัวอย่างนี้ เราจะเลือกหมวดหมู่เป็นการ Account Update และตั้งชื่อที่ไม่ซ้ำสำหรับเทมเพลตข้อความของคุณ สำหรับภาษา เราจะเลือกภาษาอังกฤษซึ่งมีรหัสภาษาเป็น en หากคุณใช้ภาษาอื่น ให้จดภาษารหัสไว้ตามที่จำเป็นสำหรับการส่งข้อความ

WhatsApp Message Template

เขียนข้อความส่วนตัว

เรากำลังใช้พารามิเตอร์ตัวแปรในข้อความ และจะถูกแทนที่ด้วยค่าจริงจาก Google ชีต คล้ายกับเครื่องหมายที่คุณอาจเคยใช้ภายใน Mail Merge และ Document Studio โดยมีความแตกต่างเล็กน้อยคือเครื่องหมายระบุตำแหน่งและไม่ใช่เครื่องหมายระบุชื่อ

นี่คือเทมเพลตข้อความของเราที่ตัวแปร {{1}} และ {{2}} ใช้สำหรับชื่อลูกค้าและชื่อรายการตามลำดับ

WhatsApp Message Template

WhatsApp อาจใช้เวลาถึงหนึ่งนาทีในการอนุมัติเทมเพลตข้อความใหม่ของคุณ

ขั้นตอนที่ 4: ส่งข้อความ WhatsApp

ตอนนี้การกำหนดค่าทั้งหมดของเราบนฝั่ง Facebook / WhatsApp เสร็จสมบูรณ์แล้ว มาทำงานใน Google ชีตที่จะส่งข้อความ WhatsApp ส่วนบุคคลเหล่านี้โดยอัตโนมัติ

คลิกที่นี่เพื่อคัดลอกแผ่นงาน WhatsApp ในบัญชี Google ของคุณเอง

Google sheets WhatsApp

ถัดไป เพิ่มหมายเลขโทรศัพท์ (พร้อมรหัสประเทศ) ในคอลัมน์หมายเลขโทรศัพท์ของ Google ชีต คุณควรเพิ่มเฉพาะหมายเลขที่คุณได้ยืนยันกับบัญชี WhatsApp ทดสอบของคุณในขั้นตอนก่อนหน้านี้

จากนั้นไปที่เมนูส่วนขยายและเลือก Apps Script เพื่อเปิดสคริปต์พื้นฐาน แทนที่ WHATSAPP_ACCESS_TOKEN และ WHATSAPP_TEMPLATE_NAME ด้วยค่าที่คุณได้คัดลอกไว้ในขั้นตอนก่อนหน้านี้

คลิกปุ่ม Run ภายในตัวแก้ไข Apps Script และควรส่งข้อความ WhatsApp ไปยังหมายเลขโทรศัพท์ที่แสดงของคุณทันที

และสิ่งที่คุณมีด้านล่างนี้คือข้อความ WhatsApp จริงที่ส่งโดย WhatsApp API แทนที่ตัวทำเครื่องหมายตัวแปรในเทมเพลตด้วยค่าจริงจาก Google ชีต

WhatsApp Message Text

รายละเอียดทางเทคนิค

WhatsApp API ทำงานอย่างไรกับ Google Apps Script

สคริปต์ของ 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 ชีต