尽管 WooCommerce REST API 一词可能会激发开发者和意识到这个想法的人,但对于绝对的初学者或不太精通技术的商店所有者来说,它可能会让人不知所措并且非常困惑。
但是,WooCommerce API 可以为您的 WooCommerce 业务打开大量机会,您不能就这样忽略它。
这就是为什么我决定写这篇文章让非技术商店所有者了解 WooCommerce REST API 是什么以及他们如何从中受益。我将尝试提供尽可能多的示例,以便您清楚地理解该主题。
在深入研究 WooCommerce REST API 之前,让我们首先看一下 API 是什么。
什么是 API?
API,意思是应用程序编程接口,允许不同的软件或应用程序相互通信。
现在让我们从示例开始。这是我们家的带水龙头的水箱的照片。水从水箱直接流入水龙头。
一源一输出,就像 WooCommerce 后端和前端一样。但是我们家通常有几个需要水的地方,对吧?因此,我们使用水适配器创建多条线路来为不同的房间供水,如下图所示。
供水适配器是这里的 API,它让水从水箱流过不同的通道。同样,API 允许多个平台连接并从一台服务器接收数据。
示例 2:现在我们几乎所有人都在家中或办公室连接到互联网。我们通过路由器和以太网交换机连接不同的设备。以下是如何通过一个路由器或交换机连接不同设备的示例。
以太网交换机在这里就像一个 API。它允许不同的设备连接到互联网,也可以相互连接。
现实生活中的例子
API 并不新鲜。事实上,我们都已经使用它们很长时间了。我相信您遇到过要求/允许您通过 Gmail 或社交媒体凭据注册/登录的网站。此外,它们还允许您直接从他们的网站分享/发布您的内容到社交媒体。
想知道他们是怎么做到的吗?他们通过 API 连接 Facebook、Twitter 或 Instagram 等媒体。
当您通过 Facebook 用户名密码进行注册时,网站会请求 Facebook API 调用 Facebook 服务器并从服务器获取您的详细信息。然后服务器响应并发送网站要求的详细信息。如果您访问该网站上的个人资料,您会看到它显示了与您的 Facebook 个人资料相同的姓名、电子邮件和其他详细信息。
因此,应用程序编程接口(也称为 API)允许两个不同的应用程序相互通信,而不管它们在哪个平台上运行。这种类型的交互允许在设备之间交换数据、功能和内容,而无需访问平台本身。
API 是如何工作的?
编程接口 (API) 是一组定义的规则,用于描述计算机或应用程序如何相互通信。API 充当处理应用程序和 Web 服务器之间的数据传输的中间人。
许多 API,例如 WooCommerce REST API,需要使用 API 密钥。API 密钥是一个随机生成的字符串,API 提供者发给开发者以授权访问他们(提供者的)API。API 密钥通常与客户端请求一起发送,以便服务器识别客户端。
回到 API 的工作原理,让我将其分解为几个点。
- 客户端应用程序进行 API 调用(也称为请求)以获取信息。Web 应用程序使用 API 的统一资源 ID (URI) 将此请求发送到 Web 服务器。
- 当 API 收到有效请求时,它会调用外部程序或网络服务器。
- Web 服务器向 API 返回一个响应,其中包含所请求的信息。
- API 将数据发送到请求它的第一个应用程序。
例子
让我们再次跳到示例。
当我们去餐馆时,我们首先看看菜单,对吗?在我们选择了我们的项目后,我们打电话给服务员。服务员把订单带到厨房。食物准备好后,厨房会叫服务员。最后,服务员将食物端给我们。
在上面的例子中,我们是客户。我们正在通过订购食物发送请求。我们的服务员是 API。服务员接受我们的订单(请求),然后告诉厨房(服务器)我们的要求。然后厨房通过准备我们要求的食物做出回应,并在准备好后打电话给服务员。服务员(API)终于给我们带来了食物。
如果我们想在其中包含一个 API 密钥示例,那么我们可以使用图中的表格编号,即“表格 06”。
当服务员接单时,他会在服务员的笔记本上写下桌号,让厨房确切地知道是哪张桌子要求这道菜。还记得这条线吗?– API 密钥与客户端请求一起发送,以便服务器识别客户端。
什么是Rest API?
简而言之,可以使用多种类型的 API。REST (Representational State Transfer) API 用于 Web 系统。REST API 与我们目前所解释的有点不同。除了从服务器接收数据外,客户端/应用程序还可以使用 REST API 向该服务器发送添加、更新和删除数据请求。
现在回到正式的定义,REST 是一组规则/指南,软件在通过 Internet 相互通信时可以遵循这些规则/指南。这些准则使集成更容易、更高效且可扩展。REST API,也称为 RESTful API,是一种遵循这些准则的 API。
了解 REST
让我们回顾一些关键术语来理解 REST。
客户端:客户端是使用 API 的应用程序/程序。客户端与 API 通信以检索或修改应用程序内的数据/信息。
您的 Web 浏览器是客户端的一个示例。它向不同网站的 API 发送请求以收集数据以显示。一旦他们响应并发送数据,浏览器就会将其显示在屏幕上。
资源:资源是 API 可以传输给客户端的任何类型的信息。例如,Tweeter 的 API 资源可以是用户、图片或推文。
服务器:服务器包含客户端请求的信息。服务器具有与客户端通信的 API。它不允许客户端直接访问数据库,而只能通过 API 访问。
总之,当用户请求资源时,REST API 会以客户端可以轻松理解的格式返回有关资源的所有相关数据来响应。此外,客户端还可以使用 REST API 修改数据。
REST API 规则
API 必须满足六项要求才能充分利用 REST 提供的功能。
客户端-服务器架构
使用 RESTful API,客户端只能向服务器发送请求,服务器只能响应。服务器不允许发送请求,客户端无法响应请求。
REST API 使客户端和服务器更容易相互通信,同时保持它们方便的独立性。
统一界面 (UI)
该规则/指南要求所有请求和响应都必须符合标准消息格式。应用程序和服务器使用许多不同类型的语言。因此,如果没有中介,它们就不能很好地协同工作。
统一接口是一种标准化语言,任何客户端都可以通过它与任何 REST API 进行通信。如果软件之间没有标准的通信方式,那么翻译请求和响应将是一场噩梦。微小的差异会导致数据丢失。统一的界面消除了这种风险。
HTTP 是大多数 REST API 的通用语言/协议。WooCommerce REST API 也使用 HTTP(超文本传输协议)。
无状态
使用 REST API,每次交互都是独立的。每个请求和响应都包含完成交互所需的所有信息。因此,每个请求对服务器来说都是一个新任务,服务器不会记住任何过去的请求。
这称为无状态调用。通过 REST API 发出的所有请求都必须是无状态的。这可以节省服务器内存并提高响应速度。
资源缓存
你有没有注意到,当你在短时间内第二次访问一个网站时,它的加载速度比第一次更快?这是因为浏览器缓存而发生的。
您的浏览器将来自该网站的数据/媒体存储在您的计算机上。这样当您再次访问该网站时,它可以从您的设备快速显示,而不是再次向服务器询问信息。这称为缓存。它节省了服务器资源和带宽,并提高了页面加载时间。
数据缓存是 REST API 设计中的主要考虑因素。当服务器以响应响应客户端的请求时,应将响应标记为可缓存或不可缓存。它还应指示资源应缓存多长时间。
分层系统
到目前为止,我一直在谈论一个简单的结构,客户端向服务器发送请求并从服务器获得响应。但实际上,涉及处理安全、管理和分配流量以及许多其他重要任务的服务器/层更多。
然而,当涉及到客户端和主要目标服务器之间的通信时,这个原则要求消息的格式和处理应该是一致的,无论层数如何。这些附加服务器不应影响客户端与主要目标服务器之间的交互。
按需编码
此规则是可选的。API 可以选择通过向客户端发送计算机代码来响应请求。这使客户端能够在自己的后端运行代码。
当 API 遵循上述规则时,它们被视为 REST API。但是,这些规则为开发人员定制 API 的功能留下了很大的空间。
REST API 是如何工作的?
我们需要了解什么是资源才能了解 REST API 的工作原理。资源可以是任何类型的信息。例如,WooCommerce REST API 可以处理客户姓名、ID、产品 ID、图像、产品描述等资源。
REST API 使用四种类型的追索方法。他们是:
- GET:此资源方法要求服务器找到请求的数据并将其发送回客户端。
- PUT:您可以使用“PUT”请求更新数据库条目。
- POST:“POST ”请求允许您在数据库中创建一个新条目。
- DELETE: “DELETE”资源方法允许服务器删除数据库中的条目。
以下是向 YouTube API 请求视频数据的示例。
“获取 https://www.googleapis.com/youtube/v3/channels?part=contentDetails ”
REST API 示例
您是否曾经使用过任何社交媒体调度工具,例如 Hootsuite 或更高版本?如果你没有,你应该使用!在这些工具/网站中,您可以添加所有社交媒体平台,例如 Facebook、Instagram、Twitter 等,并为未来几天创建和计划文章发布。
一个非常方便的工具来管理您的社交媒体发布和整体营销。除了创建帖子之外,您还可以使用 Later/Hootsuite 更新和删除帖子,而无需登录您的个人社交媒体资料。
这怎么可能?当然,通过 REST API。当您将社交媒体资料或页面连接到 Hootsuite/Later 时,它们会与这些社交平台的 API 连接/通信。
例如,当您在稍后发布 Instagram 照片时,它会使用 POST 命令联系 Instagram REST API(又名 Instagram Graph API)并请求在您的 Instagram 个人资料中发布照片。Instagram API 会将其发送到 Instagram 服务器。最后,服务器会将您的照片发布到您的个人资料中。
WooCommerce REST API
WordPress 是目前最流行的内容管理系统 (CMS)。难怪他们提供多种 API。WordPress REST API 允许应用程序与 WordPress 的功能进行交互。WooCommerce API 是 WordPress API 的扩展,它允许第三方应用程序创建、更新和删除 WooCommerce 数据。
简而言之,WooCommerce REST API 是一个界面,让您或您的开发人员无需登录 WordPress 管理面板即可访问您的 WooCommerce 商店。此外,它还允许您增强电子商务商店的功能。
创建 WooCommerce Rest API 是为了让基于 WordPress 的 WooCommerce 商店与其他在线服务和应用程序进行通信变得简单。此功能通过普遍可访问的 HTTP 请求进行有效管理。
在 HTTP 协议的帮助下,WooCommerce WordPress 网站能够向端点发送服务请求和从端点发送服务请求。服务请求包括创建、读取、更新和删除 (CRUD)。此外,WooCommerce Rest API 完全能够处理类似目录的 URL 结构。
WooCommerce REST API 的好处
Woo REST API 可以将您的常规 WooCommerce 网站变成一个功能齐全的应用程序平台。
假设您在亚马逊、eBay、WooCommerce、Etsy 等多个平台上销售您的产品。在这种情况下,您可以使用这些平台的 REST API 从一个应用程序监控和修改您的所有产品和销售活动。
以下是 WooCommerce REST API 的一些好处。
互操作性
正如我上面提到的,您可以连接多个平台并从一个仪表板访问它们。除了该示例之外,您不一定需要创建不同的应用程序。您还可以在 WooCommerce 仪表板中访问现有平台的所有数据。您可以通过将 Rest API 添加到您的 WooCommerce 站点并将这些应用程序直接与 JSON 请求集成来轻松访问这些数据。
在 WooCommerce API 出现之前,WooCommerce 企业不得不花费大量时间和精力来实现这一目标。
提供应用程序开发的灵活性
在尝试使用本机应用程序时,WooCommerce Rest API 已做好充分准备,为开发人员提供完全的自由。借助 WooCommerce REST API,您的开发人员可以轻松地为您的电子商务业务开发自定义应用程序。
与不同设备的简化连接
您可以使用 WooCommerce REST API 将您的主要 WooCommerce 网站与多个设备连接起来。
如果您想使用不同的业务特定软件或工具,您可以轻松地将它们一起工作,甚至可穿戴设备和其他设备也可以轻松连接。这意味着您的智能手表可以在您锻炼时通知您有关新销售的信息。是不是很酷!
轻松的数据同步
拥有大量渠道或网络的WooCommerce 商店可以轻松同步其在多个站点上可用的数据。这是可能的,因为 WooCommerce Rest API 对 HTTP 请求进行操作,例如 GET、POST、PUT 和 DELETE,这些请求都可以通过互联网从世界任何地方访问。
数据可以在多个网站之间共享,无论它们所在的环境如何。因此,大型 WooCommerce 企业将受益于集中所有更新和修改,以及对其网站的管理。
轻松访问第三方内容
WooCommerce 站点将各种数据存储在许多不同的物理服务器上。以前,需要自定义 API 才能访问相关数据或信息。Rest API 删除了此类依赖项。
您只需要确保您网站的内容不依赖于任何特定的编程语言或操作系统。之后,您将能够从几乎任何地方访问内容并以您认为合适的方式显示它。
使用 WooCommerce Rest API,您可以从您自己的 WooCommerce 仪表板中访问所有基于第三方应用程序的数据,以及开发新的插件和解决方案。
WordPress WooCommerce 仪表板变为可选
由于所有设备之间的互操作性,您的 WooCommerce 后端对您来说完全是可选的。Rest API 非常灵活,开发人员可以在他们喜欢的任何环境中使用它。
使用 Rest API,您的 WooCommerce 网站的管理区域将更具适应性,并准备好被主题和插件取代。
轻松开发移动应用程序
WooCommerce REST API 对于希望为其商店开发自己的移动应用程序的商店所有者来说也是个好消息。
人们更喜欢使用移动应用程序而不是使用浏览器。WooCommerce 店主也是如此。您可以使用 REST API 构建自己的移动应用程序以跨不同平台(包括 WooCommerce)访问您的所有产品。
借助 RESTful API,您还可以将其他必要的应用程序(例如分析)链接到您的应用程序中。
减少生产时间
当您在 WooCommerce 商店的核心功能中部署 WooCommerce REST API 时,它将为您节省大量生产时间。
Rest API 允许同时跨多个网站自动同步数据,从而提供更大的灵活性并减少生产时间。
安全有保障
Rest API WooCommerce 提供了一个安全可靠的身份验证过程,用于从各种平台共享和检索数据。
为了限制第三方操作,Rest API 支持 cookie(用于插件和主题)和 oAuth(用于桌面、移动和 Web 客户端)身份验证方法。
WooCommerce REST API 入门
我将尝试通过以下部分中的示例演示 WooCommerce 的 REST API 如何工作。但首先,让我们了解一下 Woo REST API 的一些基本术语。
WooCommerce REST API 基础知识
以下是您需要了解的一些基本 REST API WooCommerce 术语。
WooCommerce API 端点和路由
路由只是一个可以映射到各种 HTTP 方法的 URL。遍历这些路由以到达端点,它们用于将单个 HTTP 方法与路由连接。即/wp-json/。
JSON
JSON(JavaScript 对象表示法)为通过 JavaScript 编程语言执行的数据交换操作指定了一种特定格式。
POST
您可以使用此命令将资源添加到服务器。资源可以是帖子、附件等。
示例: 发布 http://yourWoosite.com/wp-json/wp/v2/posts/
GET
该命令用于向服务器请求资源。
示例: 获取 http://yourWoosite.com/wp-json/wp/v2/posts/?status=published
PUT
PUT 命令可以更新任何现有资源。
示例:首先 –发布 http://yourWoosite.com/wp-json/wp/v2/posts/?status=draft
然后 – PUT http://yourWoosite.com/wp-json/wp/v2/posts/652
DELETE
顾名思义,您可以使用此命令删除任何资源。当您使用此命令删除任何内容时,已删除的项目将进入垃圾箱。如果需要,您可以稍后恢复。
如果要永久删除任何资源,则需要在参数中添加“force”。
示例: 删除 http://yourWoosite.com/wp-json/wp/v2/posts/652
或删除 http://yourWoosite.com/wp-json/wp/v2/posts/652?force=true
Request
它是一个 WP_REST_Request 实例,用于存储和检索接收到的请求的信息。
Response
当您的请求参数有问题时,它会为您提供请求的数据或返回错误。
控制器类
控制器类作为 Rest API 功能和处理的构建块。
架构
它是 Rest API 可用于处理请求的所有属性和输入参数的列表。
命令行界面
为了通过命令行界面 (CLI) 访问和使用 WordPress,您需要 WordPress 命令行界面。
WooCommerce API 文档
每个应用程序都是不同的,需要不同的调用。为了节省记忆每个 REST API 端点的时间和精力,您可以使用 WooCommerce API 文档快速找到在任何给定情况下所需的信息。
该文档将帮助您了解 Rest API,还将帮助您对 WooCommerce 网站进行初步实验。
使用 WooCommerce REST API
现在让我们测试一下我们对 WooCommerce REST API 的了解。
创建 WooCommerce API 密钥
在开始使用 REST API 之前,我们需要创建 WooCommerce API 密钥。这些密钥将验证我们的 API 请求。WooCommerce REST API 密钥可确保 API 仅响应合法请求。
从 WordPress 仪表板转到WooCommerce>>设置>>高级,然后单击REST API选项卡。
单击添加密钥或创建 API 密钥按钮。输入您的描述并从下拉框中选择用户和权限。
现在单击生成 API 密钥按钮。您将看到两个字母数字字符串;消费者密钥和消费者秘密。
将 WooCommerce 消费者密钥和消费者密钥保存在安全的地方。连接到 WooCommerce REST API 时,您将需要这些凭据。
API 客户端
现在我们已经启用了 WooCommerce API 并创建了一个密钥,我们需要一个 API 客户端来发出请求和接收响应。
Postman 和 Insomnia 是我检查过的两个流行的 API 客户端。然而,对于这个演示,我将使用 Insomnia 来测试 GET 和 PUT 请求。
你可以从这里下载。在您的计算机上下载并安装客户端。
连接到 Insomnia API 客户端
首先,启动 Insomnia,然后单击左侧面板中的“+”按钮以创建新请求。
为您的新请求命名,然后单击Create。
现在转到Auth选项卡并单击下拉菜单以查找Basic Auth。
单击“基本身份验证”框后,您将看到以下要求输入用户名和密码的窗口。我们之前创建的 WooCommerce 消费者密钥是用户名,密码是消费者密钥。
发出 GET 请求
由于我们已经配置了 Insomnia 客户端,现在是时候发出我们的第一个 GET 请求了。让我们检查一下我们的 API 是否正常工作。我将发出一个 GET 请求以从我的演示 WooCommerce 网站返回所有订单。
该命令如下所示:https ://demowoosite.com/wp-json/wc/v3/orders
请务必将域名替换为您的 WooCommerce 网站名称。该命令将返回类似于下图右侧的 JSON 字符串值。
如您所见,该命令成功,它从我的演示商店返回了所有订单详细信息。JSON 结构看起来与您在导入-导出WooCommerce 产品时获得的 CSV 格式几乎相似。
发出 PUT 请求
现在我们已经成功测试了 GET 命令,让我们在 WooCommerce 商店中更新一些内容。我将使用 PUT 命令更新产品的价格。
首先,让我们从演示商店获取产品 ID。
现在,我们需要将产品 ID 添加到我们的 URL。最终的 URL 看起来像这样 –
https://demowoosite.com/wp-json/wc/v3/products/651
从下拉框中,选择 PUT。
从正文选项卡下拉列表中,选择 JSON。
当前价格为 35 美元,我们想将其更改为 25 美元。为此,我们将这些行粘贴到我们刚刚选择的 JSON 框中。
{
“regular_price”:“25”
}
点击发送按钮后,价格将更新,如下图所示。
在这里,您可以在首页看到产品价格已更新。
瞧!我们已经成功测试并使用 WooCommerce REST API 来读取和写入我们 WooCommerce 商店的一些功能。
让我提醒您,这只是 WooCommerce REST API 如何工作的简单演示。开发人员深入研究并将这些命令集成到他们选择的环境中,以开发您要求他们开发的应用程序。
常问问题
什么是 REST API?
REST(代表状态转移)是一组规则/指南,软件在通过 Internet 相互通信时可以遵循这些规则/指南。REST API 是一种遵循这些准则的 API。使用 REST API,第三方应用程序可以与服务器通信并在数据库中进行更改。
WooCommerce 是否使用 REST API?
WooCommerce 提供自己的 REST API,它是 WordPress REST API 的扩展。使用 WooCommerce REST API,第三方应用程序可以在网站中进行更改,而无需登录其后面板。
如何启用 WooCommerce API?
从 WordPress 仪表板转到WooCommerce>>设置>>高级,然后单击REST API选项卡。从那里,您可以生成 API 密钥并将您的商店连接到第三方应用程序。
总结
WooCommerce REST API 为您的核心 Woocommerce 网站增加了更多功能。借助 API,您可以为您的企业开发更强大、功能更丰富的外部应用程序。这就是为什么店主应该了解 API 提供的机会。
在本文中,我尝试通过示例以简单的方式解释 WooCommerce REST API 的全部内容。我希望你现在对这个想法有更好的理解。
希望本文能帮助您了解WooCommerce Rest API的基本用法,您也许还想看看WooCommerce SEO:电商平台和商城系统SEO的权威指南和WooCommerce Memberships评测:如何使用WordPress启动一个会员网站。