比如说:你下载了沃尔玛的App,将一个24美元的莲特巧克力盒和一个2.5美元的Feastables条添加到购物车中,在结账时,还看到额外的0.5美元费用。
总共27美元
你输入你的付款信息,无论是信用卡还是PayPal,然后点击“订单”按钮。
这是幕后发生的事。
- 应用程序告诉后端:“嘿,我们收到了一个27美元的订单。”
- 后端将信息转发给支付服务(这可能是沃尔玛的内部系统,也可能是像PayPal这样的外部服务商)。
- 支付服务处理支付并向后端回复订单编号和确认。
- 后端将此订单编号回传给应用程序。
- 应用程序显示结账界面,你可以完成支付。
现在你知道支付已经完成,前端也知道。
但有个意外:后台还不知道呢。
这时候就需要 webhooks 来救场了。
此处省略内容
什么是 webhook?
Webhooks,也称为Web回调、Web钩子或反向API,是一种当特定事件发生时,一个应用程序向另一个应用程序发送实时数据的方法。
与传统的APIs不同的是,传统的APIs需要你请求数据,而webhooks会自动将可用的数据发送给你。
他们就像是有个朋友一有消息就会马上给你打电话,而不是你需要一直追问他们。
略
我们示例中的 Webhooks 是怎么工作的
让我们再来看看沃尔玛的例子。
一旦支付完成,像PayPal这样的支付提供商就会通过webhook通知Walmart的后台。
- 支付提供商向沃尔玛的后台发送了一个POST请求,说:“嘿,订单ID#12345的支付已经成功了。这就是支付ID作为证明。”
- 沃尔玛的后台收到这个确认后,会更新其记录。
- 既然后台知道支付已经完成,它可以触发下一步,比如发起配送流程或发送确认邮件给你作为通知。
没有这个 webhook,就只剩下两种选项。
- 后端可以反复轮询支付提供商的API来检查支付状态,这方式效率低,而且资源消耗大。
- 前端可以发送一个信号给后端,附带支付ID来触发状态检查,但这种方法不可靠——特别是在这种情况下,用户退出应用或丢失连接时。
使用 webhook 能有效消除这些低效率,并保证沟通无缝衔接。
……
Webhooks 和 APIs 有什么区别?
- APIs:你需要数据时去请求数据。可以理解为拉取数据。
- Webhooks:在某个事件发生时,服务器会自动推送给您数据。可以理解为推送数据。
两者都有其用途,但 Webhook(一种实时通信技术)特别适合于实时通知,比如支付成功的通知、发货状态的变化、或者其他更新通知。
Webhooks 为什么超级棒
- 实时更新:你无需等待或手动检查更新。
- 高效性:无需重复调用 API 来检查事件状态。
- 自动化:它们能实现应用程序之间的无缝工作流。
说起API,我一直在用一个超级方便的工具,叫做LiveAPI。
它旨在让开发人员在编写 API 的文档时感到轻松自如。
通过LiveAPI,您可以快速创建互动的API文档,允许用户直接在浏览器中运行API。
如果你烦了给你的 API 编写文档,这款工具可能让你更轻松。
这里有一个关于我们如何开始使用LiveAPI的短片介绍:点击这里在YouTube上观看。
结尾
Webhooks 是一个简单但强大的理念,能够彻底改变应用程序之间的交流方式。
无论你是在处理支付、通知还是实时更新,webhook 都可以帮助你构建高效、自动化的流程或工作流。
如果你对尝试webhooks犹豫不决,可以从简单的开始。
尝试使用支付网关的webhook,或者为你的项目设置一个简单的webhook。
你用得越多,就会觉得它们越方便。
结账。
## 这个 SCSS 项目是如何从一张图开始保持有序的 Athreya,也叫Maneshwar ・ 12月29日, 2021 #webdev #programming #design #css
共同学习,写下你的评论
评论加载中...
作者其他优质文章