一篇讲清api与webhook

基本区别 许多小白第一次接触webhook的时候常常会与api混淆,那么我们先来看看两者的本质差别在哪: api 一般用于用户主动发起请求,目标系统返回用户需要的数据、结果。API 用途广泛,涉及查询、修改、执行等 webhook 一般用于用户提前设置好触发条件与通知方式,当符合条件,目标系统会主动给用户推送信息、执行动作,无须用户主动查询。webhook 用途单一,仅用于事件发生时的实时推送通知。 **ps:**webhook 是 API 的一种,所有 webhook 都是 API,但不是所有 API 都是 webhook。 深入了解webhook webhook的特征 webhook基于HTTP/HTTPS协议,以POST为主,少数用GET 常用 JSON(简洁易解析),也有用 XML、表单(form-data)的场景 下面,我们来看看webhook服务的两边各有什么特点。 provider(提供者) **谁来当?**通常是 “被触发动作的系统”(比如企业微信消息推送、GitHub、钉钉机器人等)。 做什么? 提供一个 “专属的 webhook 地址”(就是https://qyapi.weixin.qq.com/...?key=xxx 这类 URL),作为接收请求的 “入口”; 定义 “规则”:比如请求必须用什么格式(JSON / 表单)、需要带什么验证信息(比如你的 key)、支持触发哪些动作(比如企业微信只支持 “推送消息”,GitHub 支持 “代码提交通知”); 收到合法请求后,执行预设动作(比如企业微信把消息推到群里,GitHub 把代码更新信息发给你)。 举例:企业微信就是典型的 “webhook 提供者”—— 它给了你带 key 的 URL,规定了必须发 JSON 格式的请求,并且收到后会执行 “推送消息” 的动作。 caller(调用者) **谁来当?**通常是 “主动触发动作的一方”(比如本地电脑、服务器脚本、第三方工具等)。 做什么? 知道提供者的 webhook 地址和规则(比如 “必须用 JSON 格式,要带 key”); 在需要的时候,按照规则构造请求并发送(比如你用 curl 命令发消息内容); 目的是 “让提供者执行某个动作”(而不是向提供者要数据)。 举例:你用 curl 命令发送请求时,你的本地电脑就是 “webhook 调用者”—— 你按照企业微信的规则发了 JSON 请求,目的是让企业微信执行 “推送消息” 的动作。 ...

September 28, 2025 · 1 min · 139 words · Jamaisvu