如何將 WooCommerce 訂單實時導出到 Google 表格

已發表: 2019-07-17

在與 3rd 方服務集成時,WooCommerce 生態系統中提供了各種插件,可讓您將信息傳輸到各種系統,從 Zapier 到 ConstantContact,再到幫助台系統(如 Help Scout)。

在 Tyche,我們過去已將一些插件與 Google 日曆集成,因為我們的一些插件涉及預訂或處理訂單交貨日期。 正是沿著這些思路,我想探索將 WooCommerce 訂單與 Google 表格集成的想法。 這意味著任何進入的 WooCommerce 訂單也會實時添加到 Google 表格中。

在開始寫這篇文章之前,我正在研究可用於將 WooCommerce 訂單信息直接添加到 Google 表格的內容。 有幾篇文章和插件。

第一篇文章討論了通過 WooCommerce Zapier 擴展將新的 WooCommerce 訂單保存到 Google 表格中。 如您所知,Zapier 提供與 1500 多種雲服務的集成。 這不是我想要的,因為我試圖在不使用插件的情況下實現這種集成。

雖然 Woocommerce 提供了許多開箱即用的功能,但在 WooCommerce 中默認情況下,Woocommerce 訂單無法導出到 Google 表格。

因此,在接下來的幾個步驟中,我們將了解如何使用 Google 提供的 WooCommerce Webhooks & Apps Script 將 WooCommerce 訂單實時導出到 Google 表格。

如何將 Woocommerce 訂單導出到 Google 表格的分步指南

第 1 步:創建 Google 表格

您首先需要創建一個新的 Google 表格,用於導出您的所有 WooCommerce 訂單。 創建完成後,您可以將要導出的字段添加到 Google 表格。

WooCommerce export Orders starting with a blank Google Sheet

我在工作表中添加了 5 個字段:

  1. 添加日期 - 將此記錄添加到 Google 表格中的日期
  2. 訂單號 – 這是 WooCommerce 訂單號
  3. 訂單日期 - 下訂單的日期
  4. 訂單狀態 – 下單後的訂單狀態
  5. 訂單鏈接 – 鏈接到 WooCommerce 編輯訂單頁面

第 2 步:編寫 Google Apps 腳本

創建工作表後,我們需要創建負責將數據添加到工作表的 Google Apps 腳本。 該腳本將從 WooCommerce Webhooks(我們將在後面的步驟中看到)獲取數據,並且該數據將被解析並添加到工作表中。

您可以轉到“工具”菜單並單擊“腳本編輯器”。

Google Sheets Script Editor for woocommerce order information exports

打開腳本編輯器後,您將看到以下屏幕。

Google Script Editor Blank View

Google 具有此功能,如果腳本滿足某些條件,它允許將腳本作為網絡應用程序發布。 要求是:

  • 它包含一個doGet(e)doPost(e)函數。
  • 該函數返回一個 HTML 服務HtmlOutput對像或一個內容服務TextOutput對象。

當外部應用程序發送 HTTP GET 請求時,Apps 腳本會調用 doGet(e) 函數,而當外部應用程序發送 HTTP POST 請求時,Apps 腳本會調用 doPost(e) 函數。 可以在此處找到有關 Google Scripts 網絡應用程序和上述功能的詳細說明。

以下是我在腳本中創建的 2 個函數:

添加上述代碼後,我的 Google 腳本現在如下所示:

Google apps script editor code for fetching woocommerce order information

第 3 步:將腳本部署為 Web 應用程序

一旦編寫了上述代碼,我們就滿足了將其部署為 Web 應用程序的要求; 這意味著實時導出我們的 Woocommerce 訂單的腳本現已準備就緒。

注意:必須將此腳本部署為 Web 應用程序才能監聽外部 GET 和 POST 請求。

要將腳本部署為 Web 應用程序,您需要選擇發布 -> 部署為 Web 應用程序選項。

Setting up Woocoomerce export order: Google script deployed as web app

單擊“部署為 Web 應用程序”將顯示以下彈出窗口:

Setting up Woocoomerce export order: Google script deployed as web app

部署為 Web 應用程序時,重要的是每次部署時,在項目版本選項中選擇“新建” 。 只有當您選擇“新建”時,該迭代中所做的任何更改才會生效。

您需要在“將應用程序執行為”選項中選擇“我”。 並且“誰有權訪問該應用程序”應設置為“任何人,甚至匿名”。

單擊“更新”後,將顯示以下消息,表明該項目現在已成功部署為 Web 應用程序。 除此之外,它還將在“當前網絡應用 URL”字段中顯示一個 URL。 您需要復制此 URL,因為這是我們在下一步中使用 WooCommerce webhook 進行 Woocommerce 訂單導出設置時將使用的 URL。

Setting up Woocoomerce export order: Google script deployed as web app

第 4 步:創建 WooCommerce 網絡鉤子

現在 Google Apps 腳本已設置並部署為網絡應用程序,我們需要添加一個 WooCommerce 網絡鉤子,該網絡鉤子將在創建訂單時觸發。

您可以從WooCommerce -> 設置 -> 高級 -> Webhooks菜單中添加 webhook。 當您點擊“添加 webhook”按鈕時,您需要填寫如下所示的字段:

creating woocommerce webhook to enable woocommerce orders to be exported to google sheet

上一步從“Current web app URL”字段複製的 URL 需要放在 webhook 的“Delivery URL”字段中。 這將在創建訂單時將訂單信息發送到交付 URL,我們的 Google Apps 腳本設置為偵聽任何傳入的 GET 或 POST 請求。 在當前情況下,所有訂單信息都是通過 HTTP POST 傳遞的。

創建 webhook 後,它將出現在具有 Active 狀態的 webhook 列表中:

creating woocommerce webhook to enable woocommerce orders to be exported to google sheet

您的設置中可能有也可能沒有額外的 webhook。 我設置了另一個 webhook,當訂單更新時會在 Slack 上發送通知。

第 5 步:採取一些行動的時間

在您的 WooCommerce 商店下訂單後,在接下來的 1 或 2 分鐘內,該訂單的信息將出現在最後一行的 Google 表格中。

WooCommerce Order Placed

上述訂單下單後,Google sheet 中出現相應信息大約需要 2 分鐘:

Google sheet with WooCommerce orders information exported from WordPress

當您繼續在 WooCommerce 商店上接收訂單時,Google 表格將自動將訂單信息附加到最後填充的行下方。 我在上述訂單號 1166 之後下了 4 個訂單:

WooCommerce Order information page

每次下訂單後,Google 表格都會在 10 秒到 1 分鐘內填充訂單信息:

Google sheet with WooCommerce exported orders

訂單鏈接列目前是空白的,因為我沒有在其中輸入任何數據。 但是,您可以根據需要解析訂單信息並從訂單中填充任何信息,如訂單總額、付款方式、產品等。

訂單元數據

當 WooCommerce 觸發 order.created 操作時,它會發送一堆有關訂單的元信息。 您可以在下面找到所有信息,這些信息取自我的一份樣品訂單。 此元數據還包括交貨日期和交貨費用字段,這些字段是從我們的訂單交貨日期插件中添加的,用於自動化商店交貨。 訂單中有 2 個產品,一個簡單產品和一個可變產品:

獲取完整的 Woocommerce 訂單信息

如您所見,我獲取的上述信息非常有限。 以下示例演示瞭如何獲取包含以下字段的詳細訂單信息:

訂單號
訂購日期
訂單狀態
產品名稱
產品數量
產品總數
合計訂單
帳單電子郵件
計費名字
計費姓氏
付款方式
郵寄方式
運輸費用

我的 Google 表格現在看起來像這樣:

Exporting Woocommerce orders to Google sheet with detailed order information

我的用於獲取上述所有信息的 Google Apps 腳本現在已修改如下所示(請記住每次更改 Google Apps 腳本時都將其部署為新的 Web 應用程序):

下訂單後,工作表將開始填充,如下所示:

以下是我下的訂單:

Woocommerce orders getting exported directly to Google sheet in real time (as they come in))

根據上述訂單 #1214、1217 和 1220,您可以在下方看到創建的所有這些訂單以及附加信息。 Google sheet containing all order information from WooCommerce

因此,在一些簡單修改的幫助下,我們設法在 Google 表格中獲得了完整的訂單信息。

這是您可以用來在 WordPress 中導出 Woocommerce 訂單的最簡單、最直接的方法。 訂單是實時導出的,無論何時下新訂單,您都無需付出額外的努力。