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

2024年 4月 19日 83.8k 0

WooCommerce REST API 终极手册

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

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

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

准备

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

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

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

开始使用 WooCommerce REST API

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

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

  • 登录 WordPress 网站后台,从侧边栏选择 插件>已安装插件,然后启用 WooCommerce 插件。
  • 激活插件后,选择 WooCommerce>Setting。然后单击 “Advanced” 选项卡,进入 WooCommerce 高级设置页面。
  • 接下来,点击REST API。API 密钥凭证页面如下图:API 密钥凭证页面
  • 单击 “Create an API Key” 或 “Add Key” 生成 API 密钥。
  • 接下来,系统会提示你输入密钥的 Key details。这些信息包括描述、用户和权限。输入密钥描述,根据需要更改用户,并选择 Read/Write 权限。创建 woocommerce api 密钥
  • 单击 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 检索您刚刚创建的用户。

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

    相关文章

    JavaScript2024新功能:Object.groupBy、正则表达式v标志
    PHP trim 函数对多字节字符的使用和限制
    新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
    使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
    为React 19做准备:WordPress 6.6用户指南
    如何删除WordPress中的所有评论

    发布评论