woocommerce/docs/apis/rest-api
2026-03-09 19:53:58 +08:00
..
README.md docs: add 260 translated files 2026-03-09 19:53:58 +08:00

title post_status comment_status taxonomy
WooCommerce REST API publish open
category post_tag
woocommerce
Rest Api
Apis
Repos

WooCommerce REST API

REST API 是 WooCommerce 的一个强大组件,它允许您读取和写入 WooCommerce 的各种数据,例如订单、产品、优惠券、客户和配送区域。

需求

为了使用标准的端点 URI 结构访问 REST API例如 wc/v3/products),您必须将 WordPress 的固定链接配置为除 "Plain" 以外的选项。转到 设置 > 固定链接 并选择一个选项。

固定链接选项

API 参考

WooCommerce REST API 文档 提供了每个 API 端点的技术细节和代码示例。

身份验证

身份验证通常是开发人员遇到的问题,因此本指南将介绍一种快速测试您的 API 是否在服务器上正常运行以及如何进行身份验证的方法。

在这些示例中,我们将使用 PostmanInsomnia 客户端。两者都是免费的,并且可以帮助您了解 API 提供的功能。

在继续之前,请阅读 REST API 文档中的身份验证部分,其中涵盖了有关 API 密钥和身份验证的重要内容。我们这里只介绍通过 HTTPS 连接,因为它最简单且最安全的方法。如果可能,应避免使用 HTTP。

生成密钥

要开始使用 REST API您首先需要生成 API 密钥。

  1. 转到 WooCommerce > 设置 > 高级
  2. 转到 REST API 选项卡,然后单击 添加密钥
  3. 为密钥提供一个描述,以便您参考,选择一个具有访问订单等权限的用户,并为密钥授予 读/写 权限。
  4. 单击 生成 API 密钥
  5. 您的密钥将显示 - 请不要关闭此选项卡,因为再次查看密钥时,密钥将隐藏。

生成的 API 密钥

发送基本请求

我们将要测试的请求 URL 是 wp-json/wc/v3/orders。 在本地环境中,完整的 URL 看起来可能如下所示:https://localhost:8888/wp-json/wc/v3/orders。 请修改此 URL 以使用您自己的站点 URL。

在 Postman 中,您需要设置请求类型、请求 URL 以及授权选项卡上的设置。 对于授权,选择 基本认证,并将您的 WooCommerce 消费密钥消费密钥 填入用户名和密码字段。

完成后,点击发送,如果一切顺利,您将看到来自 API 的 JSON 响应。 您应该看到类似以下的内容:

生成的 API 密钥

Insomnia 几乎与 Postman 相同;填写相同的字段,再次使用基本认证。

Insomnia

就这样! API 正在工作。

如果遇到连接问题,您可能需要禁用 SSL 验证 - 请参阅下面的连接问题部分。

常见的连接问题

本地环境和自签名 SSL 证书的连接问题

如果您在连接到本地环境的 REST API 时遇到问题,并且看到如下错误:

SSL 错误

您需要禁用 SSL 验证。 在 Postman 中,您可以在设置中找到此选项:

Postman 设置

Insomnia 也有类似的设置,位于偏好设置区域:

Insomnia 设置

401 未授权

您的 API 密钥或签名不正确。 确保:

  • 您为生成的 API 密钥的用户实际上具有访问这些资源的权限。
  • 身份验证时使用的用户名是您的消费密钥。
  • 身份验证时使用的密码是您的消费密钥。
  • 重新生成一组新的密钥以确保正确。

如果您的服务器使用 FastCGI请检查您的 授权头是否被正确读取

消费密钥缺失

有时,服务器可能无法正确解析 Authorization 头(如果您在使用 SSL 身份验证时看到“消费密钥缺失”错误,则表示服务器存在问题)。

在这种情况下,您可以将消费密钥/密钥作为查询字符串参数提供。 例如:

https://local.wordpress.dev/wp-json/wc/v2/orders?consumer_key=XXXX&consumer_secret=XXXX

服务器不支持 POST/DELETE/PUT

理想情况下,您的服务器应该配置为接受这些类型的 API 请求,但如果不支持,您可以使用 _method 属性