WooCommerce REST API 终极手册:包含实用示例

WooCommerce REST API 终极手册

管理网店成本高昂,店主往往需要处理许多手工流程。WooCommerce REST API 简化了这一工作流程,使您能够控制电子商务平台,并以编程方式管理和扩展 WooCommerce 商店。

使用 WooCommerce REST API 可以无缝地执行集成、自动化和扩展在线商店功能等操作。您可以节省资源和时间,用于进一步简化流程。此外,您还可以利用灵活的外部应用程序自定义商店的外观和感觉。

本文让您全面了解 WooCommerce REST API,使您能够以编程方式自动执行并增强电子商务操作。它提供了实用的见解、用例和代码示例,以促进 WooCommerce 商店的无缝集成和定制。

准备

要开始使用 WooCommerce REST API,您必须使用:

  • WooCommerce 3.5 或更高版本。
  • WordPress 4.4 或更高版本。
  • 用于 API 测试和交互的 PostmanInsomnia

注:虽然支持通过HTTP 或 HTTPS访问 API,但出于安全考虑,强烈建议使用 HTTPS。

开始使用 WooCommerce REST API

要开始使用,您需要创建一个 WordPress 网站,然后在 WooCommerce 中生成 API 凭据。

要生成 WooCommerce API 凭据,请按照以下步骤操作:

  1. 登录 WordPress 网站后台,从侧边栏选择 插件>已安装插件,然后启用 WooCommerce 插件。
  2. 激活插件后,选择 WooCommerce>Setting。然后单击 “Advanced” 选项卡,进入 WooCommerce 高级设置页面。
  3. 接下来,点击REST API。API 密钥凭证页面如下图:API 密钥凭证页面
  4. 单击 “Create an API Key” 或 “Add Key” 生成 API 密钥。
  5. 接下来,系统会提示你输入密钥的 Key details。这些信息包括描述、用户和权限。输入密钥描述,根据需要更改用户,并选择 Read/Write 权限。创建 woocommerce api 密钥
  6. 单击 Generate API Key。有了生成的 API 密钥,您就可以通过编程方式访问和管理商店数据。请注意您的消费者密钥和秘密,因为您将在下一节中使用它们进行 API 请求。woocommerce api key

了解 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 中获取产品列表

在 Postman 中获取产品列表。

通过 REST API 管理产品

产品对象有一系列属性,可以直接对产品进行分组、管理库存和设置价格,所有这些都可以通过编程实现。

比如说,您想在自己创建的产品组中添加一个新产品–您所需要的只是 grouped_products 属性中的产品组 ID。

要管理库存,可使用 manage_stockstock_status 属性,分别设置为 true 或 false 以及 instockonbackorder 和 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 检索您刚刚创建的用户。

  1. 使用 GET 请求方法创建一个新请求。
  2. 使用相同的端点 URLhttps://<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 后台的多个请求,这突出了优化后台性能的重要性。

评论留言