如何在 WooCommerce 中創建 Webhook

已發表: 2019-08-05
Webhooks in WooCommerce

最後更新 - 2020 年 2 月 24 日

在本文中,我們將討論 webhook 以及如何在 WooCommerce 中創建 webhook。

什麼是 Webhook?

您一定已經看到 webhook 反映在您的應用程序設置中,並認為此選項的確切用途是什麼? Webhook 是應用程序可以將自動消息或指令轉發給其他應用程序的一種方式。 這是您的在線帳戶可以相互通信並獲得相應更新的直接方式。 這種方式對於你的網店來說也是非常划算的,而且WooCommerce 的定價可以在你的預估預算之內。

當 webhook 將幫助您將數據從一個應用程序自動驅動到另一個應用程序時,將會出現各種情況。 Webhook 是活動發生後從應用程序轉發的自動消息。 他們有一個消息或有效負載,這些消息或有效負載被發送到特定的 URL,基本上是應用程序的聯繫號碼或地址。

為什麼在 WooCommerce 上創建它

WooCommerce 是一個保護新訂單的系統,以及帶有相應標籤的所有必需的訂單相關信息。 它使網站所有者可以輕鬆跟踪和了解訂單列表。 該列表可能包含未付訂單和已付訂單、待處理訂單和已發貨訂單。 該系統還存儲客戶提供的說明、運輸詳細信息等。

WooCommerce 中的 Webhook

通過 WooCommerce 活動從 webhook 獲得幫助是一個可行的選擇,例如,設計每次將商品添加到購物車中時使用的 webhook,” King Essay研究部負責人 Mathew Kastler 說

簡而言之,webhook 實際上是可以強制 WooCommerce 內置插件按照開發者的意願執行的修飾符。 因此,如果您是一位才華橫溢、受過良好教育且經驗豐富的 PHP 開發人員,您可以輕鬆創建 webhook。 儘管如此,它允許您獲取客戶的數據、監控他們的活動並通過您的自定義代碼及時採取行動。

創建 webhook 最本質的好處是 WooCommerce 可以根據開發人員的意願在屏幕(網站所有者和客戶端)上存儲和顯示信息。 在這方面,不會向任何用戶顯示各種不需要的附加信息。

如何創建它?

WooCommerce 中的 Webhook

要在 WooCommerce 中創建 Webhook,您需要以管理員身份登錄到您的 WooCommerce 商店。 轉到WooCommerce > 設置,然後轉到 API 選項卡。 較新的版本將此選項卡名稱重命名為“高級”。 單擊此頁面上子菜單中的“Webhooks”鏈接。 在這裡,您將找到一個空的 webhook 列表。

WooCommerce 中的 Webhook

要開始此過程,請單擊“添加 webhook”。 添加了 webhook,之後將反映設置的字段。 下面我們討論了設置字段供您參考。

名稱:這是一個僅供商店管理員使用的字段。 它可以根據您認為最適合 Webhook 的需要進行設置,也可以根據創建日期和時間進行設置。

狀態:將狀態設置為 Active(已交付)、Paused(未交付)或 Disabled(交付失敗)

主題:此操作將觸發 Webhook。 WooCommerce 補充了 12 個操作和兩個自定義操作。 兩個自定義操作是操作和自定義。

動作:如果動作被定義為主題,將顯示一個附加的設置字段名稱動作事件。 該字段將包含 WordPress 鉤子,它將觸發 Webhook。 例如,如果網站有一個客戶插件,其中包含以下內容:

do_action ('after_order_exported');

然後我們需要將動作事件設置為“after_order_exported”以在合適的時間觸發鉤子。

自定義:如果客戶被設置為主題,將顯示一個額外的設置字段作為自定義主題。 此字段將包含已使用以下過濾器添加的自定義主題的名稱:

woocommerce_webhook_topic_hooks

交付 URL:這是將交付 Webhook 有效負載的 URL。

Secret: secret 字段為 Webhook 的主體生成哈希。 該哈希值在請求標頭中進一步提供。 Webhook 可以通過使用此哈希在接收方進行授權。

API 版本:從三個API 版本中選擇一個。 如果您沒有任何特定條件,請將其保留為“WP Rest API Integration V2”。

保存 Webhook:當您第一次保存處於活動狀態的 Webhook 時,會將 ping 傳送到傳送 URL。

WooCommerce 中的 Webhook

Webhook WooCommerce 測試

在這裡,您必須記住,當我們開始測試過程時,Webhook 交付發生在後端。 因此,首先將一個 webhook 排隊,然後處理作業,之後您可以檢查它的交付。

要檢查,您可以選擇使用以下代碼段立即交付 webhook 有效負載:

apply_filter ('WooCommerce_webhook_deliver_async', '_return_false');

為了讓您輕鬆完成此過程,請使用默認的異步模式。 此外,webhook 將使用“訂單更新”主題。

首次激活新的或現有的 Webhook 時,WooCommerce 將使用唯一的 Webhook ID 立即發送 ping 請求。 這樣做是為了測試交付 URL 在激活時是否正常工作。 如果請求被拒絕,webhook 將無法激活並將被禁用。 Academist Help的 IT 部門經理 John Parker 說: “您需要了解哪些有助於測試 webhook 的第一件事就是觸發它順便說一句,另一個重要的事情是主題必須相當簡單的步驟。

更新訂單:獲取訂單,然後使用編輯訂單管理頁面更新地址; 因此訂單被更新。

創建客戶:使用客戶角色,創建一個新用戶

恢復產品:在丟棄產品後恢復產品。 如果需要,您可以更改每頁顯示的產品數量

以下是測試 Webhook 的步驟:

  1. 訪問Premium Jackets進行測試。
  2. 最好記下您為檢查而創建的 URL。 您也可以保持此瀏覽器選項卡打開以備將來使用。
  3. 返回 Woo-Commerce 並添加一個新的 webhook。 將您創建的這個測試 URL(第 2 點)粘貼到Delivery URL字段中
  4. 填寫 webhook 的其他字段,然後從Topic字段中選擇一個選項 在我們的例子中,我們選擇“訂單更新”選項。 在單擊頁面底部的保存按鈕之前,請確保將狀態字段的值設置為“活動”。

5. 繼續執行啟動 webhook 所需的步驟。 在這種情況下,要測試“訂單已更新”,請轉到訂單表並將訂單狀態從處理中更新為完成。 然後點擊“更新”。

6. 如前所述,Webhook 是在後端交付的,因此請在一分鐘後刷新您的 Edit Order 頁面,以生成排隊事件。

7. 打開第 2 點中提到的保存的 URL。現在刷新頁面。 檢查與有效負載數據一起交付的請求的詳細信息。

上述 URL 與用於測試此 Woo-Commerce webhook 集成的私人公司有關。 因此,成功發生的數據和更改只能由網站管理員或具有管理權限的人看到。 此 URL 不用於檢查目的。 該公司允許我們捕獲屏幕截圖,僅用於向觀眾介紹測試步驟。