如何在 WooCommerce 中创建 Webhook

已发表: 2019-08-05
Webhooks in WooCommerce

最后更新 - 2020 年 2 月 24 日

在本文中,我们将讨论 webhook 以及如何在 WooCommerce 中创建 webhook。

什么是 Webhook?

您一定已经看到 webhook 反映在您的应用程序设置中,并认为此选项的确切用途是什么? Webhook 是应用程序可以将自动消息或指令转发给其他应用程序的一种方式。 这是您的在线帐户可以相互通信并获得相应更新的直接方式。 这种方式对于你的网店来说也是非常划算的,而且WooCommerce 的定价可以在你的预估预算之内。

当 webhook 将帮助您将数据从一个应用程序自动驱动到另一个应用程序时,将会出现各种情况。 Webhook 是活动发生后从应用程序转发的自动消息。 他们有一个消息或有效负载,这些消息或有效负载被发送到特定的 URL,基本上是应用程序的联系号码或地址。

为什么在 WooCommerce 上创建它

WooCommerce 是一个保护新订单的系统,以及带有相应标签的所有必需的订单相关信息。 它使网站所有者可以轻松跟踪和了解订单列表。 该列表可能包含未付订单和已付订单、待处理订单和已发货订单。 该系统还存储客户提供的说明、运输详细信息等。

WooCommerce 中的 Webhook

通过 WooCommerce 活动从 webhook 获得帮助是一个可行的选择,例如,设计每次将商品添加到购物车中时使用的 webhook,” King Essay研究部负责人 Mathew Kastler 说

简而言之,webhook 实际上是可以强制 WooCommerce 内置插件按照开发者的意愿执行的修饰符。 因此,如果您是一位才华横溢、受过良好教育且经验丰富的 PHP 开发人员,您可以轻松创建 webhook。 尽管如此,它允许您获取客户的数据、监控他们的活动并通过您的自定义代码及时采取行动。

创建 webhook 最本质的好处是 WooCommerce 可以根据开发人员的意愿在屏幕(网站所有者和客户端)上存储和显示信息。 在这方面,不会向任何用户显示各种不需要的附加信息。

如何创建它?

WooCommerce 中的 Webhook

要在 WooCommerce 中创建 Webhook,您需要以管理员身份登录到您的 WooCommerce 商店。 转到WooCommerce > 设置,然后转到 API 选项卡。 较新的版本将此选项卡名称重命名为“高级”。 单击此页面上子菜单中的“Webhooks”链接。 在这里,您将找到一个空的 webhook 列表。

WooCommerce 中的 Webhook

要开始此过程,请单击“添加 webhook”。 添加了 webhook,之后将反映设置的字段。 下面我们讨论了设置字段供您参考。

名称:这是一个仅供商店管理员使用的字段。 它可以根据您认为最适合 Webhook 的需要进行设置,也可以根据创建日期和时间进行设置。

状态:将状态设置为 Active(已交付)、Paused(未交付)或 Disabled(交付失败)

主题:此操作将触发 Webhook。 WooCommerce 补充了 12 个操作和两个自定义操作。 两个自定义操作是操作和自定义。

动作:如果动作被定义为主题,将显示一个附加的设置字段名称动作事件。 该字段将包含 WordPress 钩子,它将触发 Webhook。 例如,如果网站有一个客户插件,其中包含以下内容:

do_action ('after_order_exported');

然后我们需要将动作事件设置为“after_order_exported”以在合适的时间触发钩子。

自定义:如果客户被设置为主题,将显示一个额外的设置字段作为自定义主题。 此字段将包含已使用以下过滤器添加的自定义主题的名称:

woocommerce_webhook_topic_hooks

交付 URL:这是将交付 Webhook 有效负载的 URL。

Secret: secret 字段为 Webhook 的主体生成哈希。 该哈希值在请求标头中进一步提供。 Webhook 可以通过使用此哈希在接收方进行授权。

API 版本:从三个API 版本中选择一个。 如果您没有任何特定条件,请将其保留为“WP Rest API Integration V2”。

保存 Webhook:当您第一次保存处于活动状态的 Webhook 时,会将 ping 传送到传送 URL。

WooCommerce 中的 Webhook

Webhook WooCommerce 测试

在这里,您必须记住,当我们开始测试过程时,Webhook 交付发生在后端。 因此,首先将一个 webhook 排队,然后处理作业,之后您可以检查它的交付。

要检查,您可以选择使用以下代码段立即交付 webhook 有效负载:

apply_filter ('WooCommerce_webhook_deliver_async', '_return_false');

为了让您轻松完成此过程,请使用默认的异步模式。 此外,webhook 将使用“订单更新”主题。

首次激活新的或现有的 Webhook 时,WooCommerce 将使用唯一的 Webhook ID 立即发送 ping 请求。 这样做是为了测试交付 URL 在激活时是否正常工作。 如果请求被拒绝,webhook 将无法激活并将被禁用。 Academist Help的 IT 部门经理 John Parker 说: “您需要了解哪些有助于测试 webhook 的第一件事就是触发它顺便说一句,另一个重要的事情是主题必须相当简单的步骤。

更新订单:获取订单,然后使用编辑订单管理页面更新地址; 因此订单被更新。

创建客户:使用客户角色,创建一个新用户

恢复产品:在丢弃产品后恢复产品。 如果需要,您可以更改每页显示的产品数量

以下是测试 Webhook 的步骤:

  1. 访问Premium Jackets进行测试。
  2. 最好记下您为检查而创建的 URL。 您也可以保持此浏览器选项卡打开以备将来使用。
  3. 返回 Woo-Commerce 并添加一个新的 webhook。 将您创建的这个测试 URL(第 2 点)粘贴到Delivery URL字段中
  4. 填写 webhook 的其他字段,然后从Topic字段中选择一个选项 在我们的例子中,我们选择“订单更新”选项。 在单击页面底部的保存按钮之前,请确保将状态字段的值设置为“活动”。

5. 继续执行启动 webhook 所需的步骤。 在这种情况下,要测试“订单已更新”,请转到订单表并将订单状态从处理中更新为完成。 然后点击“更新”。

6. 如前所述,Webhook 是在后端交付的,因此请在一分钟后刷新您的 Edit Order 页面,以生成排队事件。

7. 打开第 2 点中提到的保存的 URL。现在刷新页面。 检查与有效负载数据一起交付的请求的详细信息。

上述 URL 与用于测试此 Woo-Commerce webhook 集成的私人公司有关。 因此,成功发生的数据和更改只能由网站管理员或具有管理权限的人看到。 此 URL 不用于检查目的。 该公司允许我们捕获屏幕截图,仅用于向观众介绍测试步骤。