Webhook 是什么?Webhook与API有什么区别

行业技术 2022-11-14 zxn123 250

相信很多用户在使用企业微信机器人、飞书机器人、钉钉机器人、腾讯云HiFlow场景连接器、腾讯问卷这些应用时,都有一个问题,这些应用都提供了Webhook,但是部分没有代码开发能力的人可能很困惑,Webhook究竟是什么?我应该如何使用?

什么是 Webhook?

如何让两个应用在【特定的事情发生时】可以彼此对话?Webhook就是其中这么一种简单便捷的办法。比如我们可以通过Webhook,让手机快捷指令收到命令时,自动把对应的消息写入到腾讯文档,而Webhook就是中间重要的传输消息的通道。

Webhook本质是一种基于,但这并不完全正确。它们不会向后运行,而是不需要您主动发起请求,只要有新数据可用,就会发送数据。

Webhook有着很广泛的用法:

通过Webhook来接受系统报警数据

通过Webhook来自动发出一个周报邮件

通过Webhook的指令,自动把数据写入腾讯文档

Webhook和API有什么区别?

和Webhook不同,API 指的是应用程序编程接口。API 是应用程序和平台通过通用通信方法与其他应用程序和平台连接的一种方式。API工作的前提是:【对数据提出请求,然后是对该请求的响应】。例如通过 API 不断从 腾讯文档,获取最新的全量数据。

首先,Webhook 和 API 在发出请求的方式上有所不同。

API 会在您要求时执行操作,例如,无论是否有数据发生更新,API 都会调用数据。

而Webhook会在满足某些条件时,比如连接的外部系统有数据更新时才接收调用。例如,通过Webhook地址,如果收到一个新的定时数据,企业微信机器人就可以自动发出一条对应的消息。

其次,Webhook 和 API 在处理数据的场景和体量不同。

Webhook更适合用于较小的数据请求和较轻量的任务,而不是使用它们来担当主要的数据传输服务;而如果数据持续更新/并且数据体量较大时,更好的办法是用API来进行数据的传输。

Webhook通常不会用于定期请求数据,并且仅在有新数据可用时触发;如果需要定期请求查询数据,比较适合用API。但是如果您的应用程序或平台更新频率不高,使用API定期轮询也是比较浪费资源的,这种情况下,反过来更适合Webhook 可以比较好的节省服务器资源。

展开全文

现实生活中的 Webhook 示例:

一个比较酷炫的使用Webhook的例子:

场景:定时发送喝水提醒,通过nfc触碰手机,自动计算喝水多少,返回喝水总量记录到维格表,并实时记录自己喝水总量做定期BI报表

玩法: