Webhook


Webhook是一种事件驱动的通信机制,允许应用程序在特定事件发生时,通过HTTP请求自动向另一个应用程序发送通知和数据。
Webhook通过自定义的回调URL实现跨系统通信,当指定事件(如代码更新、数据变化等)触发时,源应用会向预设的Webhook URL发送HTTP POST请求,接收方可通过该URL实时获取事件信息。
Baklib提供Webhook功能,支持知识库设置,站点设置,文章内容变更时推送通知。

1. 配置

站点管理后台,打开 管理 → Webhooks(页面会说明「向外推送站点事件」),即可为该站点配置接收地址与事件类型。
  1. 填写从接收方的平台获取 Webhook URL,系统会通过 POST 方式推送事件到这个地址。
  2. 启用后将验证接收方服务器的 SSL 证书。如果接收方使用自签名证书,建议关闭此选项。
  3. 添加 Webhook 添加描述信息,帮助您更好地识别和管理不同的 Webhook。
  4. 填写安全密钥,用于验证 Webhook 请求。
  5. 根据业务需求选择需要接收通知的事件,系统将仅推送您在此处选择的事件类型。
  6. 点击启用,确定即可

2. 事件

事件名
说明
site.settings.changed
站点设置变更。
site.pages.changed
站点页面侧有变更时的通知,属于汇总性质,不表示「某一页单独一条创建/修改事件」。若需要页面级明细,请结合开放 API 等方式获取。

3. 示例负载

# site.settings.changed
```http
POST https://your-app.example.com/webhooks/xx1
Content-Type: application/json
X-Baklib-Webhook-Sign: 8d7e0a2fd0c0b7a73fdf6f3e464e8f94e9f60b8becc317dd1f8cae6a1ab12f3d
X-Custom-Source: baklib
```
```json
{
  "id": 1001,
  "name": "示例站点",
  "settings_updated_at": "2026-04-21T08:15:30.000+08:00",
  "hook_time": 1776730530000,
  "event_name": "site.settings.changed"
}
```


# site.pages.changed
```http
POST https://your-app.example.com/webhooks/xx2
Content-Type: application/json
X-Baklib-Webhook-Sign: 4b4a645ab2b3193c1f67df1e5c1b5d4c4a89f5f0929cb2b7cf2a4a4ba0dd9ee2
```
```json
{
  "id": 1001,
  "name": "示例站点",
  "pages_updated_at": "2026-04-21T08:20:10.000+08:00",
  "hook_time": 1776730810000,
  "event_name": "site.pages.changed"
}
```
提交反馈