管理網店成本高昂,店主往往需要處理許多手工流程。WooCommerce REST API 簡化了這一工作流程,使您能夠控制電子商務平臺,並以程式設計方式管理和擴充套件 WooCommerce 商店。
使用 WooCommerce REST API 可以無縫地執行整合、自動化和擴充套件線上商店功能等操作。您可以節省資源和時間,用於進一步簡化流程。此外,您還可以利用靈活的外部應用程式自定義商店的外觀和感覺。
本文讓您全面瞭解 WooCommerce REST API,使您能夠以程式設計方式自動執行並增強電子商務操作。它提供了實用的見解、用例和程式碼示例,以促進 WooCommerce 商店的無縫整合和定製。
準備
要開始使用 WooCommerce REST API,您必須使用:
注:雖然支援通過HTTP 或 HTTPS訪問 API,但出於安全考慮,強烈建議使用 HTTPS。
開始使用 WooCommerce REST API
要開始使用,您需要建立一個 WordPress 網站,然後在 WooCommerce 中生成 API 憑據。
要生成 WooCommerce API 憑據,請按照以下步驟操作:
- 登入 WordPress 網站後臺,從側邊欄選擇 外掛>已安裝外掛,然後啟用 WooCommerce 外掛。
- 啟用外掛後,選擇 WooCommerce>Setting。然後單擊 “Advanced” 選項卡,進入 WooCommerce 高階設定頁面。
- 接下來,點選REST API。API 金鑰憑證頁面如下圖:
- 單擊 “Create an API Key” 或 “Add Key” 生成 API 金鑰。
- 接下來,系統會提示你輸入金鑰的 Key details。這些資訊包括描述、使用者和許可權。輸入金鑰描述,根據需要更改使用者,並選擇 Read/Write 許可權。
- 單擊 Generate API Key。有了生成的 API 金鑰,您就可以通過程式設計方式訪問和管理商店資料。請注意您的消費者金鑰和祕密,因為您將在下一節中使用它們進行 API 請求。
瞭解 WooCommerce REST API 架構
WooCommerce API 基於 REST 架構。您只需通過適當的方法(GET、POST、PUT、DELETE)向端點傳送請求,即可對 WooCommerce 資料(如訂單、產品和客戶)進行讀取和寫入操作。
端點由請求方法和標準 URL 組成。有了端點,你就可以使用自己選擇的工具(Postman 或 Insomnia)來訪問不同的儲存資料。
獲取產品列表
在獲取產品列表之前,請確保已在商店中新增了一些產品。您必須將固定連結結構更改為樸素以外的結構。
從側邊欄單擊 “設定“>”固定連結“,然後更改固定連結結構。如果不做此更改,標準 URL 端點將無法正常工作。單擊儲存更改。
接下來,開啟 Postman 並新增一個新請求。在 URL 部分,使用 https://<yourdomain>/wp-json/wc/v3/products
。確保將 <yourdomain>
替換為 WooCommerce 網站的域名。
在 “authorization” 選項卡中,選擇 “Basic Auth“,並輸入消費者金鑰作為 Username,消費者祕密作為 Password。您必須在向 WooCommerce REST API 提出的每個請求中新增此授權。傳送請求後,您應該會收到一份商店中所有產品的列表。
在 Postman 中獲取產品列表。
通過 REST API 管理產品
產品物件有一系列屬性,可以直接對產品進行分組、管理庫存和設定價格,所有這些都可以通過程式設計實現。
比如說,您想在自己建立的產品組中新增一個新產品–您所需要的只是 grouped_products
屬性中的產品組 ID。
要管理庫存,可使用 manage_stock
和 stock_status
屬性,分別設定為 true
或 false
以及 instock
、onbackorder
和 outofstock
。
下面我們來看看如何新增和更新現有產品的詳細資訊。
使用 WooCommerce API 新增產品
1. 在 Postman 中新增一個新請求,並將請求方法改為 POST。重複使用上一節中使用的端點 URL。點選 “Body” 選項卡,選擇 “raw“,並選擇 JSON 作為正文格式。JSON 有效載荷包含產品名稱、型別(簡單、可變或分組)、描述和簡短描述。它還包含類別、標籤和圖片,您可以根據需要新增。
{ "name": "iPhone 15 Pro Max", "type": "simple", "description": "", "short_description": "", "categories": [ ], "tags": [], "images": [] }
2. 執行請求。如果產品建立成功,您將收到一個產品物件作為響應。請記下產品 ID,因為下一節中會用到它。
建立產品
使用 WooCommerce API 編輯產品
讓我們編輯一下剛剛建立的記錄。
1. 在 “Body” 選項卡中,新增以下 JSON 正文:
{ "name": "iPhone 15 Pro" }
由於只需更新 name
欄位,因此無需包含其他屬性。在這種情況下,將其更改為 “iPhone 15 Pro”。端點 URL 應為https://yourdomain/wp-json/wc/v3/products/<id>。
2. 用上一節建立的產品 ID 替換id
。不要忘記將請求方法改為PUT。執行請求後,您將收到一個產品物件作為響應。您可以檢查響應中的產品名稱,以確認更新是否成功。
編輯產品
使用 REST API 進行訂單管理
WooCommerce REST API 可無縫檢索訂單和更新訂單狀態,從而促進訂單處理自動化。它可讓您以程式設計方式檢索訂單,根據日期、狀態或客戶等各種條件對訂單進行過濾,然後有效地處理訂單。
這包括更新訂單狀態,以反映履行或處理的各個階段。WooCommerce REST API 可確保準確跟蹤訂單並與客戶溝通。此外,您還可以通過 API 管理退款,包括處理退款請求、自動處理退款以及更新訂單狀態(退款後)。
讓我們來看看如何獲取最近的訂單並將訂單狀態更新為 “已完成”。
使用 WooCommerce API 獲取最近訂單
1. 在 Postman 中新增一個新請求,使用 GET 請求獲取訂單。端點 URL 應如下所示:
https:///wp-json/wc/v3/orders
2. 在Params 選項卡中,輸入 key(鍵)為after
,value 為訂單建立日期之後的日期。在本例中,使用 2024-03-08T00:00:00
。您可以根據需要修改該日期。這樣,您就可以只過濾特定日期後的訂單。其他 Postman 設定保持預設。
3. 確保你在 WooCommerce 商店中下了幾筆訂單,以避免返回空列表。執行請求後,您將得到一份符合指定條件的所有訂單列表。
獲取給定日期後的近期訂單
更新訂單狀態
要更新訂單狀態,請獲取您已下訂單的 ID。在 Postman 中新增一個新請求,並將其請求改為 PUT。使用以下端點進行更新:https://yourdomain/wp-json/wc/v3/orders/<existing-order-id>
。在 “Body” 選項卡中,新增以下 JSON 正文:
{ "status": "completed" }
執行請求後,您應該會收到訂單已完成的回覆。
更新訂單狀態
客戶管理和參與
通過 WooCommerce REST API,企業可以高效地建立新客戶檔案、編輯現有客戶詳細資訊,並檢索購買歷史和偏好等綜合資訊。
通過分析這些資訊,企業可以定製個性化營銷策略,根據個人購物行為提供有針對性的促銷、產品推薦和忠誠度獎勵。
這種客戶資料管理水平使企業能夠與客戶建立更牢固的關係,提高客戶滿意度,並促進重複購買。
使用 WooCommerce API 新增客戶
1. 向以下端點 URL 傳送 POST 請求:https://<yourdomain>/wp-json/wc/v3/customers
。別忘了像之前那樣加上授權。
2. 在 “Body” 選項卡中,使用此 JSON 物件建立客戶:
{ "email": "a.briann@gmail.com", "first_name": "Brian", "last_name": "Abraham", "role": "customer", "username": "briann.abraham", "billing": { "first_name": "Brian", "last_name": "Abraham", "company": "", "address_1": "969 Market", "address_2": "", "city": "San Francisco", "state": "CA", "postcode": "94103", "country": "US", "email": "a.brian@gmail.com", "phone": "(555) 555-5555" }, "shipping": { "first_name": "Brian", "last_name": "Abraham", "company": "", "address_1": "969 Market", "address_2": "", "city": "San Francisco", "state": "CA", "postcode": "94103", "country": "US" } }
JSON 物件包含客戶的基本資訊,如電子郵件、姓名、角色和使用者名稱。它還提供賬單和發貨資訊,包括客戶的地址、地點和電話號碼。
3. 執行請求,你應該會收到一個包含客戶物件的響應。記住客戶 ID,在下一節中將用它來檢索客戶。
使用 WooCommerce API 通過 ID 檢索客戶
讓我們通過 ID 檢索您剛剛建立的使用者。
- 使用 GET 請求方法建立一個新請求。
- 使用相同的端點 URL
https://<yourdomain>/wp-json/wc/v3/customers/<existing-customer-id>
,並新增要獲取的客戶 ID。
WooCommerce REST API 的高階用例
除了管理店鋪資源,您還可以使用 WooCommerce REST API 完成其他複雜的任務,例如與 CRM 整合、庫存管理自動化以及自定義分析和報告。
使用 REST API 將您的 WooCommerce 商店整合到您選擇的 CRM 中,可以確保每當新增一個客戶時,該客戶就會立即反映在您的 CRM 面板上,成為一個潛在客戶。這樣就能輕鬆管理客戶資訊和訂單歷史的同步。
REST API 還可以實現自動庫存管理。通過整合外部庫存管理,您可以實時瞭解庫存和產品可用性。這也適用於自定義報告和分析。
利用 WooCommerce REST API,您可以建立報告功能,讓您鳥瞰全域性,幫助決策、確定趨勢和進行預測。
以下是將 WooCommerce 客戶資料與 CRM 平臺同步的程式碼片段:
<?php require __DIR__ . '/vendor/autoload.php'; use Automattic\WooCommerce\Client; $woocommerce = new Client( 'https://', // Your store URL 'consumer_key', // Your consumer key 'consumer_secret', // Your consumer secret [ 'version' => 'wc/v3' // WooCommerce WP REST API version ] ); // CRM API endpoint and key $crm_api_url = 'https://your-crm-api-url/api'; $crm_api_key = 'YOUR_CRM_API_KEY'; try { // fetch customers from woocommerce store $customers = $woocommerce->get('customers'); // Initialize cURL $ch = curl_init(); // Check if cURL initialization succeeded if ($ch === false) { throw new Exception('Failed to initialize cURL'); } foreach ($customers as $customer) { $crm_customer_data = array( 'first_name' => $customer->first_name, 'last_name' => $customer->last_name, 'email' => $customer->email, // Other fields ); // cURL options curl_setopt($ch, CURLOPT_URL, $crm_api_url . '/customers'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($crm_customer_data)); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Authorization: Bearer ' . $crm_api_key, 'Content-Type: application/json', )); // Execute cURL request $crm_response = curl_exec($ch); // Check for cURL errors if ($crm_response === false) { throw new Exception('cURL error: ' . curl_error($ch)); } // Check HTTP status code $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); if ($http_code !== 200) { throw new Exception('Failed to sync customer data with CRM: ' . $http_code); } echo 'Customer data synced with CRM successfully.'; } curl_close($ch); } catch (Exception $e) { echo 'Error: ' . $e->getMessage(); }
這是一個 PHP 程式碼片段,它首先與 WooCommerce REST API 建立連線,然後從 WooCommerce 商店檢索客戶。最後,它使用 cURL 將客戶傳送到 CRM。這段程式碼包含了錯誤處理功能,用於管理流程故障。它使用了一個名為 automattic/woocommerce 的 PHP 庫,你可以使用 Composer 安裝該庫。
此處使用的 CRM 是為了演示將客戶資料同步到任何 CRM 的一般方法。
小結
WooCommerce REST API 允許您以程式設計方式管理商店資料、增強電子商務體驗並擴充套件線上商店的功能。這一功能強大的工具可將基本的 WordPress 設定轉變為更復雜的平臺。
要開始使用,請在 WordPress 應用程式中安裝 WooCommerce 外掛,並使用本教學中提供的示例探索 REST API。這些示例可作為您定製解決方案的基礎。
速度對於電子商務網站至關重要;更快的載入時間可以改善購物體驗。WooCommerce API 可實現從前端到 WordPress 後臺的多個請求,這突出了優化後臺效能的重要性。
評論留言