在线开展业务时,你的各项网络应用(或称Web应用)需要保持高频通信。将支付系统、银行、库存管理软件、客户关系管理(CRM)系统等各类不同的平台整合起来,使它们能够共享数据,并在特定事件触发时自动执行相应操作,这一点至关重要。
Webhook让这种端到端的工作流程变得无缝衔接。它们通过安全、简洁、自动化的消息机制实现信息的双向推送。以下内容将介绍Webhook为何是执行互联网信息技术(IT)功能的可靠方式,为何不可或缺,以及它们在哪些场景下最能发挥价值。
什么是webhook?
Webhook是一种用于连接应用程序的专用网络服务。当特定事件触发时,这些服务会自动通过网络将数据从一个应用推送至另一个应用。
借助Webhook,各网络应用能够使用通用语言进行交互,从而发起必要的HTTP请求(即通过网络浏览器向服务器请求内容),并实时共享最新数据。与需要持续轮询检查更新的方式不同,Webhook让应用程序能够在事件发生的瞬间,自动将信息推送至目标应用。
你可以将webhook集成用于各种电商业务活动,包括:
- 付款确认。当触发操作是成功付款时,财务和客户支持团队会收到通知。
- 客户退货。Webhook可以更新库存数据并触发退款流程。
- 潜在客户开发。当员工向营销平台添加新潜在客户时,webhook可以将潜在客户信息发送到客户关系管理(CRM)系统,自动创建新的潜在客户记录。
- 客户支持。客户支持系统可以使用webhook接收来电通知、根据来电显示获取客户数据、将电话转接给合适的客服人员,或触发通话后的调查或后续操作。
Webhook的工作原理
从技术角度来说,webhook是所谓HTTP推送API(或称推送API)的特殊实现。这是一种允许网络应用程序和服务器之间进行基于推送的通信的配置。Webhook是用户定义的HTTP回调,将信息传递到接收端点,即客户端。客户端也称为目标系统或接收应用程序。
当触发事件发生时,发起系统通过HTTP发送自动消息——即webhook。这一功能的核心是一个称为回调URL的URL字段。可以把它想象成邮政信箱地址。消息数据以POST请求的形式传输,webhook使用特定的回调URL将其推送到其他应用程序。客户端——接收数据的目标应用程序或服务——无需询问、等待和检查请求的数据,而是在数据发生变化时自动获得通知。
要使webhook正常工作,你需要对客户端进行编程以处理传入的代码和实时数据。Webhook通常使用JSON或XML作为数据格式交换代码,尽管JSON已成为更流行的标准。
Webhook示例
Webhook可以帮助提高配送速度,并在履行在线订单时减少人为错误。
例如,假设你有一家在线服装店并使用支付处理器。客户下单后会触发webhook,配送服务商的系统在预定义的唯一URL处接收该webhook。Webhook的数据(或称有效载荷)包括订单详细信息,如配送地址、产品明细、付款金额和其他相关信息。
收到传入请求后,配送服务商的系统会执行特定操作——在本例中是生成配送标签——该标签会在交易完成后立即自动打印。
Webhook与API:有什么区别?
人们经常将webhook与应用程序编程接口(API)混淆,后者是一种协议,允许你检索数据并在软件应用程序和在线服务之间交换功能。虽然它们具有共同的功能,但webhook和API之间存在显著区别:
- 用途。API在应用程序开发中很受欢迎,用于连接不同的系统。开发人员将API(有数千种)插入到他们的应用程序中以添加所需的任何功能,而webhook是在触发事件后推送的自动消息。
- 通信类型。API和webhook都涉及应用程序之间的通信,但API允许双向通信,而webhook仅允许作为触发事件结果的单向通信。
- 数据流。人们有时将webhook称为反向API,因为数据流看似相反;然而,它们并非真正的反向API,而是一种独特的实时、事件驱动型通信方式。
- 复杂性。API比webhook更复杂,因为它们可以在请求-响应周期中同时修改源系统和目标系统。
尽管它们是不同的机制,但webhook和API可以协同工作。例如,基于位置的应用程序可能使用webhook在用户位置发生变化时通知服务器。然后,服务器可能使用Google Maps API根据新位置汇总附近感兴趣地点的列表。
Webhook常见问题
API和webhook有什么区别?
API和webhook都是连接应用程序以便它们能够通信和共享数据的机制,但它们的功能不同。API支持双向通信,而webhook在事件发生时触发单向通信。
什么时候应该使用webhook?
在以下场景中,webhook可以是一个轻量级解决方案:你需要实时连接不同的应用程序和服务,单向发送数据的解决方案就足够(而非双向通信),以及处理效率很重要,因为webhook不会增加网络服务器的处理负载。
如何添加webhook?
要添加webhook,请转到将推送数据的应用程序的设置部分。配置应触发webhook请求的特定事件,并添加唯一的回调URL。然后,转到将接收数据的应用程序的设置部分。在那里添加webhook URL,以便应用程序可以接收数据。Zapier和Make等平台提供了用于设置webhook端点、配置触发器和其他相关设置的内置工具。

