如何在 WooCommerce 中创建 Webhook
已发表: 2019-08-05
最后更新 - 2020 年 2 月 24 日
在本文中,我们将讨论 webhook 以及如何在 WooCommerce 中创建 webhook。
什么是 Webhook?
您一定已经看到 webhook 反映在您的应用程序设置中,并认为此选项的确切用途是什么? Webhook 是应用程序可以将自动消息或指令转发给其他应用程序的一种方式。 这是您的在线帐户可以相互通信并获得相应更新的直接方式。 这种方式对于你的网店来说也是非常划算的,而且WooCommerce 的定价可以在你的预估预算之内。
当 webhook 将帮助您将数据从一个应用程序自动驱动到另一个应用程序时,将会出现各种情况。 Webhook 是活动发生后从应用程序转发的自动消息。 他们有一个消息或有效负载,这些消息或有效负载被发送到特定的 URL,基本上是应用程序的联系号码或地址。
为什么在 WooCommerce 上创建它
WooCommerce 是一个保护新订单的系统,以及带有相应标签的所有必需的订单相关信息。 它使网站所有者可以轻松跟踪和了解订单列表。 该列表可能包含未付订单和已付订单、待处理订单和已发货订单。 该系统还存储客户提供的说明、运输详细信息等。
“通过 WooCommerce 活动从 webhook 获得帮助是一个可行的选择,例如,设计每次将商品添加到购物车中时使用的 webhook,” King Essay研究部负责人 Mathew Kastler 说。
简而言之,webhook 实际上是可以强制 WooCommerce 内置插件按照开发者的意愿执行的修饰符。 因此,如果您是一位才华横溢、受过良好教育且经验丰富的 PHP 开发人员,您可以轻松创建 webhook。 尽管如此,它允许您获取客户的数据、监控他们的活动并通过您的自定义代码及时采取行动。
创建 webhook 最本质的好处是 WooCommerce 可以根据开发人员的意愿在屏幕(网站所有者和客户端)上存储和显示信息。 在这方面,不会向任何用户显示各种不需要的附加信息。
如何创建它?
要在 WooCommerce 中创建 Webhook,您需要以管理员身份登录到您的 WooCommerce 商店。 转到WooCommerce > 设置,然后转到 API 选项卡。 较新的版本将此选项卡名称重命名为“高级”。 单击此页面上子菜单中的“Webhooks”链接。 在这里,您将找到一个空的 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。
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 的步骤:
- 访问Premium Jackets进行测试。
- 最好记下您为检查而创建的 URL。 您也可以保持此浏览器选项卡打开以备将来使用。
- 返回 Woo-Commerce 并添加一个新的 webhook。 将您创建的这个测试 URL(第 2 点)粘贴到Delivery URL字段中。
- 填写 webhook 的其他字段,然后从Topic字段中选择一个选项。 在我们的例子中,我们选择“订单更新”选项。 在单击页面底部的保存按钮之前,请确保将状态字段的值设置为“活动”。
5. 继续执行启动 webhook 所需的步骤。 在这种情况下,要测试“订单已更新”,请转到订单表并将订单状态从处理中更新为完成。 然后点击“更新”。
6. 如前所述,Webhook 是在后端交付的,因此请在一分钟后刷新您的 Edit Order 页面,以生成排队事件。
7. 打开第 2 点中提到的保存的 URL。现在刷新页面。 检查与有效负载数据一起交付的请求的详细信息。
上述 URL 与用于测试此 Woo-Commerce webhook 集成的私人公司有关。 因此,成功发生的数据和更改只能由网站管理员或具有管理权限的人看到。 此 URL 不用于检查目的。 该公司允许我们捕获屏幕截图,仅用于向观众介绍测试步骤。