| .. | ||
| README.md | ||
| title | post_status | comment_status | taxonomy | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| WooCommerce REST API | publish | open |
|
WooCommerce REST API
REST API 是 WooCommerce 的一个强大组件,它允许您读取和写入 WooCommerce 的各种数据,例如订单、产品、优惠券、客户和配送区域。
需求
为了使用标准的端点 URI 结构访问 REST API(例如 wc/v3/products),您必须将 WordPress 的固定链接配置为除 "Plain" 以外的选项。转到 设置 > 固定链接 并选择一个选项。
API 参考
WooCommerce REST API 文档 提供了每个 API 端点的技术细节和代码示例。
身份验证
身份验证通常是开发人员遇到的问题,因此本指南将介绍一种快速测试您的 API 是否在服务器上正常运行以及如何进行身份验证的方法。
在这些示例中,我们将使用 Postman 和 Insomnia 客户端。两者都是免费的,并且可以帮助您了解 API 提供的功能。
在继续之前,请阅读 REST API 文档中的身份验证部分,其中涵盖了有关 API 密钥和身份验证的重要内容。我们这里只介绍通过 HTTPS 连接,因为它最简单且最安全的方法。如果可能,应避免使用 HTTP。
生成密钥
要开始使用 REST API,您首先需要生成 API 密钥。
- 转到 WooCommerce > 设置 > 高级
- 转到 REST API 选项卡,然后单击 添加密钥。
- 为密钥提供一个描述,以便您参考,选择一个具有访问订单等权限的用户,并为密钥授予 读/写 权限。
- 单击 生成 API 密钥。
- 您的密钥将显示 - 请不要关闭此选项卡,因为再次查看密钥时,密钥将隐藏。
发送基本请求
我们将要测试的请求 URL 是 wp-json/wc/v3/orders。 在本地环境中,完整的 URL 看起来可能如下所示:https://localhost:8888/wp-json/wc/v3/orders。 请修改此 URL 以使用您自己的站点 URL。
在 Postman 中,您需要设置请求类型、请求 URL 以及授权选项卡上的设置。 对于授权,选择 基本认证,并将您的 WooCommerce 消费密钥 和 消费密钥 填入用户名和密码字段。
完成后,点击发送,如果一切顺利,您将看到来自 API 的 JSON 响应。 您应该看到类似以下的内容:
Insomnia 几乎与 Postman 相同;填写相同的字段,再次使用基本认证。
就这样! API 正在工作。
如果遇到连接问题,您可能需要禁用 SSL 验证 - 请参阅下面的连接问题部分。
常见的连接问题
本地环境和自签名 SSL 证书的连接问题
如果您在连接到本地环境的 REST API 时遇到问题,并且看到如下错误:
您需要禁用 SSL 验证。 在 Postman 中,您可以在设置中找到此选项:
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 属性。






