WooCommerce REST API 指南手冊

Justin Morgan
Justin Morgan

管理線上商店的成本很高,而且店主通常必須處理許多手動流程, WooCommerce REST API 簡化了此工作流程,使您能夠以程式方式控制電子商務平台並管理和擴展 WooCommerce 商店。

執行整合、自動化和擴展線上商店功能是使用 WooCommerce REST API 的無縫操作,您可以節省資源和時間,進一步簡化流程。這還允許您透過靈活的外部應用程式自訂商店的外觀和風格。

本文讓您全面了解 WooCommerce REST API,使您能夠以程式設計方式自動化和增強您的電子商務營運,它提供了實用的見解、用例和程式碼範例,以促進 WooCommerce 商店的無縫整合和客製化。

先決條件

要開始使用 WooCommerce REST API,您必須使用:

  • WooCommerce 版本 3.5 或更高版本。
  • WordPress 版本 4.4 或更高版本。
  • Postman 或 Insomnia 用於 API 測試和互動。

雖然支援透過 HTTP 或 HTTPS 存取 API ,但出於安全目的,強烈建議使用 HTTPS。

開始使用 WooCommerce REST API

首先,您需要建立一個 WordPress 網站,然後在 WooCommerce 中產生 API 憑證。

使用 Kinsta 建立 WordPress 網站

如果您沒有 WordPress 網站,您可以輕鬆地在 MyKinsta 儀表板中建立網站。

  1. 導覽至您的 MyKinsta 帳戶,然後按一下 左側側邊欄上的 WordPress 網站。
  2. 從新增網站 下拉式選單中,選擇建立新網站 選項,然後進入下一頁,您可以在其中選擇安裝 WordPress 選項並點擊繼續
  3. 在網站選項中輸入您的網站名稱和資料中心位置 ,然後按一下繼續
  4. 在下一個標籤中,輸入您的網站標題和管理員憑證,選擇語言並選取安裝 WooCommerce 複選框以安裝 WooCommerce 外掛程式。
  5. 單擊繼續,這將啟動您的網站創建,並在完成後向您的 WordPress 管理員電子郵件發送通知,確保將 WordPress 管理員使用者名稱和密碼儲存在安全的地方。
Create Site Mykinsta

在 WooCommerce 中產生 API 憑證

若要產生您的 WooCommerce API 憑證,請依照以下步驟操作:

  1. 登入 WordPress 儀表板,從側邊欄選擇插件 > 已安裝的外掛 ,然後啟動 WooCommerce 外掛。
  2. 啟用外掛後,選擇WooCommerce  >設定,然後點擊「進階」 標籤以存取 WooCommerce 進階設定頁面。
  3. 接下來,按一下 REST API
Woocommerce Settings
  1. 按一下「建立 API 金鑰」 或「新增金鑰」 以產生 API 金鑰。
  2. 接下來,系統會提示您輸入密鑰詳細資訊,它們是描述、使用者和權限,輸入密鑰描述,根據需要更改用戶,然後選擇讀取 / 寫入權限。
Create Woocommerce Api Key

按一下產生 API 金鑰,使用產生的 API 金鑰,您可以透過程式設計方式存取和管理您的商店資料,記下您的使用者金鑰和秘密,因為您將在下一部分中使用它們來發出 API 請求。

Woocommerce Api Key

了解 WooCommerce REST API 架構

WooCommerce API 是基於 REST 架構建構,這使您可以透過適當的方法 (GET、POST、PUT、DELETE) 向端點發送請求,對 WooCommerce 資料 (例如:訂單、產品和客戶) 進行讀取和執行寫入操作。

端點由請求方法和標準 URL 組成,透過端點,您可以使用您選擇的工具 Postman 或 Insomnia 來存取不同的儲存資料。

取得產品列表

在獲取產品清單之前,請確保您已向商店添加了一些產品,您必須將永久連結結構變更為 Plain 以外的結構。

點擊側邊欄中的設定 > 永久連結 並更改永久連結結構,如果您不進行此更改,您的標準 URL 端點將無法正常運作。按一下「儲存變更」

接下來,打開 Postman 並新增請求,在 URL 部分中,使用https://<yourdomain>/wp-json/wc/v3/products. 確保替換 <yourdomain> 為您的 WooCommerce 網站網域。

在授權標籤中,選擇基本驗證 ,然後輸入您的消費者金鑰作為使用者名 ,輸入消費者金鑰作為密碼,您必須將此授權新增至您向 WooCommerce REST API 發出的每個請求,發送請求,您應該會收到商店中所有產品的清單。

Fetch Products Woocommerce Api

透過 REST API 管理產品

產品物件有一個屬性列表,可以直接對產品進行分組、管理庫存和設定價格,所有這些都以程式設計方式進行。

假設您想要將新產品新增至您建立的產品組,您所需要的只是屬性中的產品組 ID grouped_products 。

要管理庫存,請使用 manage_stock  和 stock_status  屬性,它們分別設定為 true  或 false 、instockonbackorderoutofstock 。

讓我們看看如何新增和更新現有產品詳細資訊。

使用 WooCommerce API 新增產品

在 Postman 中,新增請求並將請求方法變更為 POST,重複使用上一節中使用的端點 URL,點選「正文」選項卡,選擇 raw,然後選擇 JSON 作為正文格式,JSON 負載包含產品的名稱、類型 (簡單、變數或分組)、描述和簡短描述,它還具有您可以根據需要添加的類別、標籤和圖像。

{
 "name": "iPhone 15 Pro Max",
 "type": "simple",
 "description": "",
 "short_description": "",
 "categories": [
 ],
 "tags": [],
 "images": []
}

執行請求,如果產品創建成功,您應該會收到一個產品物件作為回應,記下產品 ID,因為您將在下一部分中需要它。

Fetch Products Woocommerce Api 2

使用 WooCommerce API 編輯產品

讓我們編輯您剛剛建立的記錄。

「正文」標籤中,新增以下 JSON 正文:

{
  "name": "iPhone 15 Pro"
}

由於您只是更新字段 name ,因此不需要包含其他屬性,在這種情況下,將其更改為「iPhone 15 Pro」,端點 URL 應 https://yourdomain/wp-json/wc/v3/products/<id>.

替換id 為您在上一部分中建立的產品的 ID,不要忘記將請求方法變更為 PUT,執行請求,您應該收到一個產品物件作為回應,您可以檢查回應中的產品名稱以確認其更新成功。

Edit Product Woocommerce Api

使用 REST API 進行訂單管理

WooCommerce REST API 透過無縫檢索訂單和更新訂單狀態來促進自動化訂單處理,它允許您以程式設計方式檢索訂單,根據各種條件 (例如:日期、狀態或客戶) 過濾訂單,然後有效地處理它們。

這包括更新訂單狀態以反映履行或處理的各個階段,然後,WooCommerce REST API 可確保準確的追蹤和與客戶的溝通,此外,您還可以透過 API 管理退款,包括處理退款要求、自動處理退款以及更新訂單狀態 (退款後)。

讓我們看看如何取得最近的訂單並將訂單狀態更新為「已完成」。

使用 WooCommerce API 取得最近的訂單

在 Postman 中,新增一個使用 GET 請求獲取訂單的新請求,端點 URL 應如下所示:

https:///wp-json/wc/v3/orders

「參數」after標籤中,輸入 建立訂單的日期的鍵和值,在這種情況下,請使用2024-03-08T00:00:00. 請隨意根據需要修改此日期,這使您可以過濾訂單,僅顯示給定日期之後的訂單,將其他 Postman 設定保留為預設值。

確保您已在 WooCommerce 商店中下了一些訂單,以避免返回空列表,執行該請求,您應該會獲得向您的商店發出的符合指定條件的所有訂單的清單。

Fetch Products Orders Woocommerce Api

更新訂單狀態

若要更新您的訂單狀態,請取得您已下訂單的 ID,在 Postman 中新增一個請求並將其請求變更為 PUT,使用此端點進行更新:https://yourdomain/wp-json/wc/v3/orders/<existing-order-id>

「正文」標籤中,新增以下 JSON 正文:

{
  "status": "completed"
}

執行請求,您應該會收到回應,訂單標記為已完成。

Fetch Complete Orders Woocommerce Api

客戶管理和參與

透過 WooCommerce REST API,企業可以有效率地建立新的客戶資料、編輯現有客戶詳細資訊以及檢索購買歷史記錄和偏好設定等綜合資訊。

透過分析這些訊息,他們可以根據個人購物行為客製化個人化行銷策略,提供有針對性的促銷、產品推薦和忠誠度獎勵。

這種級別的客戶資料管理使企業能夠與客戶建立更牢固的關係,提高客戶滿意度並推動重複購買。

使用 WooCommerce API 新增客戶

向此端點 URL 發送 POSThttps://<yourdomain>/wp-json/wc/v3/customers請求:不要忘記像之前一樣添加授權。

「正文」標籤中,使用此 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 物件包含基本的客戶詳細訊息,例如電子郵件、姓名、角色和使用者名稱,它還提供帳單和運輸訊息,包括客戶的地址、位置和電話號碼。

執行請求,您應該收到包含客戶對象的回應,請記住客戶 ID,您將在下一部分中使用它來檢索客戶。

使用 WooCommerce API 按 ID 檢索客戶

讓我們透過 ID 檢索您剛剛建立的使用者。

  1. 使用 GET 請求方法建立一個新請求。
  2. 使用相同的端點 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 後端的多個請求,突顯了最佳後端效能的重要性。

Please rate Stellar
0 / 5 4.67 Votes 3

Your page rank:

Your Mastodon Instance