So senden Sie WhatsApp-Nachrichten aus Google Sheets mit der WhatsApp-API
Veröffentlicht: 2022-06-16Dieses Tutorial beschreibt, wie Sie die neue WhatsApp-API mit Google Apps Script verwenden können, um WhatsApp-Nachrichten aus Google Sheets zu senden. Derselbe Ansatz würde auch für das Senden von WhatsApp-Nachrichten von Google Forms funktionieren, wenn neue Formularübermittlungen eingehen.
Schritt 1: Erstellen Sie eine WhatsApp-App
Gehen Sie zu developer.facebook.com und klicken Sie auf die Schaltfläche Create App
erstellen, um eine neue App zu erstellen, die wir zum Senden von WhatsApp-Nachrichten verwenden.
Wählen Sie Business
als App-Typ aus.
Geben Sie Ihrer App einen aussagekräftigen Namen (verwenden Sie keine Facebook-Marken wie WhatsApp
oder Facebook
im App-Namen) und klicken Sie auf die Schaltfläche Create App
erstellen, um die App zu erstellen.
Nachdem die App erstellt wurde, klicken Sie auf dem nächsten Bildschirm auf die Schaltfläche WhatsApp
, um Ihrer App WhatsApp-Sendefunktionen hinzuzufügen.
Auf dem nächsten Bildschirm müssen Sie Ihre WhatsApp-App mit Ihrem Facebook-Geschäftskonto verknüpfen. Sie haben auch die Möglichkeit, ein neues Geschäftskonto zu erstellen, falls Sie noch keines haben.
Schritt 2: Fügen Sie die Telefonnummer des Empfängers hinzu
Facebook stellt Ihnen eine Test-WhatsApp-Telefonnummer zur Verfügung, die die Standard-Sendeadresse Ihrer App sein wird. Für Empfänger haben Sie die Möglichkeit, während der Entwicklungsphase maximal 5 Telefonnummern hinzuzufügen, ohne eine Zahlung leisten zu müssen.
Ihre WhatsApp-App stellt Ihnen ein temporäres Zugriffstoken zur Verfügung, das 23 Stunden lang gültig ist. Notieren Sie sich dieses Token, da wir es in einem späteren Schritt benötigen.
Klicken Sie als Nächstes auf das Dropdown-Menü Telefonnummer des Recipient Phone Number
, um Ihrer App bis zu 5 verschiedene WhatsApp-Telefonnummern hinzuzufügen. Sie erhalten einen Verifizierungscode für die hinzugefügten Nummern und können WhatsApp-Nachrichten nur an Nummern senden, die mit dem Code verifiziert wurden.
Schritt 3: WhatsApp-Nachrichtenvorlage erstellen
Wechseln Sie zum Vorlagenmanager und erstellen Sie eine neue WhatsApp-Nachrichtenvorlage.
Für dieses Beispiel wählen wir die Kategorie als Account Update
und geben Ihrer Nachrichtenvorlage einen eindeutigen Namen. Als Sprachen wählen wir Englisch, für das die Codesprache en
ist. Wenn Sie eine andere Sprache verwenden, notieren Sie sich die Codesprache, da diese für das Versenden von Nachrichten erforderlich ist.
Schreiben Sie die personalisierte Nachricht
Wir verwenden variable Parameter in der Nachricht und diese werden durch die tatsächlichen Werte aus dem Google Sheet ersetzt. Es ist den Markierungen sehr ähnlich, die Sie möglicherweise in Mail Merge und Document Studio verwendet haben, mit dem kleinen Unterschied, dass es sich um Positionsmarkierungen und nicht um benannte Markierungen handelt.
Hier ist unsere Nachrichtenvorlage, in der die Variablen {{1}} und {{2}} jeweils für den Kundennamen und den Artikelnamen stehen.
Es kann bis zu einer Minute dauern, bis WhatsApp Ihre neue Nachrichtenvorlage genehmigt.
Schritt 4: Senden Sie WhatsApp-Nachrichten
Nun, da unsere gesamte Konfiguration auf der Facebook-/WhatsApp-Seite abgeschlossen ist, arbeiten wir an dem Google Sheet, das diese personalisierten WhatsApp-Nachrichten tatsächlich automatisch versendet.
Klicken Sie hier, um das WhatsApp Sheet in Ihr eigenes Google-Konto zu kopieren.
Fügen Sie als Nächstes die Telefonnummern (mit Ländervorwahl) in der Spalte Telefonnummer der Google-Tabelle hinzu. Sie sollten nur Nummern hinzufügen, die Sie im vorherigen Schritt mit Ihrem WhatsApp-Testkonto verifiziert haben.
Gehen Sie dann zum Erweiterungsmenü und wählen Sie Apps Script, um das zugrunde liegende Skript zu öffnen. Ersetzen Sie WHATSAPP_ACCESS_TOKEN
und WHATSAPP_TEMPLATE_NAME
durch die Werte, die Sie in den vorherigen Schritten kopiert haben.
Klicken Sie im Apps-Skripteditor auf die Schaltfläche Run
, und die WhatsApp-Nachricht sollte sofort an Ihre aufgelisteten Telefonnummern gesendet werden.
Und was Sie unten sehen, ist die eigentliche WhatsApp-Nachricht, die von der WhatsApp-API gesendet wird und die Variablenmarkierungen in der Vorlage durch tatsächliche Werte aus Google Sheets ersetzt.
Die Technischen Details
So funktioniert die WhatsApp-API mit Google Apps Script
Das Google Apps-Skript stellt eine Verbindung zu Google Sheets her und ruft die Details von Kunden ab, einschließlich Telefonnummern, denen Nachrichten über WhatsApp gesendet werden sollen.
// 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 ; } ;
Als Nächstes durchläuft das Skript jede Zeile des Blatts und sendet eine WhatsApp-Nachricht, indem es die WhatsApp Cloud-API mit dem UrlFetch-Dienst aufruft.
// 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' ] , } ) ; } ) ; } ;
Siehe auch: Workflows mit Google Sheets automatisieren