为了账号安全,请及时绑定邮箱和手机立即绑定

开发者通俗指南:揭秘Webhooks工作机制

比如说:你下载了沃尔玛的App,将一个24美元的莲特巧克力盒和一个2.5美元的Feastables条添加到购物车中,在结账时,还看到额外的0.5美元费用。

图片描述:学习笔记

总共27美元

你输入你的付款信息,无论是信用卡还是PayPal,然后点击“订单”按钮。

这是幕后发生的事。

  1. 应用程序告诉后端:“嘿,我们收到了一个27美元的订单。”
  2. 后端将信息转发给支付服务(这可能是沃尔玛的内部系统,也可能是像PayPal这样的外部服务商)。
  3. 支付服务处理支付并向后端回复订单编号和确认。
  4. 后端将此订单编号回传给应用程序。
  5. 应用程序显示结账界面,你可以完成支付。

现在你知道支付已经完成,前端也知道。

但有个意外:后台还不知道呢。

这时候就需要 webhooks 来救场了。

此处省略内容

什么是 webhook?

Webhooks,也称为Web回调、Web钩子或反向API,是一种当特定事件发生时,一个应用程序向另一个应用程序发送实时数据的方法。

与传统的APIs不同的是,传统的APIs需要你请求数据,而webhooks会自动将可用的数据发送给你。

他们就像是有个朋友一有消息就会马上给你打电话,而不是你需要一直追问他们。

我们示例中的 Webhooks 是怎么工作的

让我们再来看看沃尔玛的例子。

一旦支付完成,像PayPal这样的支付提供商就会通过webhook通知Walmart的后台。

  1. 支付提供商向沃尔玛的后台发送了一个POST请求,说:“嘿,订单ID#12345的支付已经成功了。这就是支付ID作为证明。”
  2. 沃尔玛的后台收到这个确认后,会更新其记录。
  3. 既然后台知道支付已经完成,它可以触发下一步,比如发起配送流程或发送确认邮件给你作为通知。

没有这个 webhook,就只剩下两种选项。

  1. 后端可以反复轮询支付提供商的API来检查支付状态,这方式效率低,而且资源消耗大。
  2. 前端可以发送一个信号给后端,附带支付ID来触发状态检查,但这种方法不可靠——特别是在这种情况下,用户退出应用或丢失连接时。

使用 webhook 能有效消除这些低效率,并保证沟通无缝衔接。

……

Webhooks 和 APIs 有什么区别?

  • APIs:你需要数据时去请求数据。可以理解为拉取数据。
  • Webhooks:在某个事件发生时,服务器会自动推送给您数据。可以理解为推送数据。

两者都有其用途,但 Webhook(一种实时通信技术)特别适合于实时通知,比如支付成功的通知、发货状态的变化、或者其他更新通知。


Webhooks 为什么超级棒

  • 实时更新:你无需等待或手动检查更新。
  • 高效性:无需重复调用 API 来检查事件状态。
  • 自动化:它们能实现应用程序之间的无缝工作流。

说起API,我一直在用一个超级方便的工具,叫做LiveAPI

它旨在让开发人员在编写 API 的文档时感到轻松自如。

通过LiveAPI,您可以快速创建互动的API文档,允许用户直接在浏览器中运行API。

如果你烦了给你的 API 编写文档,这款工具可能让你更轻松。

这里有一个关于我们如何开始使用LiveAPI的短片介绍:点击这里在YouTube上观看


结尾

Webhooks 是一个简单但强大的理念,能够彻底改变应用程序之间的交流方式。

无论你是在处理支付、通知还是实时更新,webhook 都可以帮助你构建高效、自动化的流程或工作流。

如果你对尝试webhooks犹豫不决,可以从简单的开始。

尝试使用支付网关的webhook,或者为你的项目设置一个简单的webhook。

你用得越多,就会觉得它们越方便。

结账。

lovestaco ## 这个 SCSS 项目是如何从一张图开始保持有序的 Athreya,也叫Maneshwar ・ 12月29日, 2021 #webdev #programming #design #css

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消