跳到主要内容

Webhooks

caution

仅在 CMS 中进行的操作才会触发 Webhook,通过其他端/SDK 操作云开发数据库时不会触发 CMS 的 Webhook

Webhook 可以用于在内容管理员修改内容数据后,自动回调外部系统,比如自动构建静态网站、发送通知等。通过使用 Webhooks,你可以将 CloudBase CMS 与其他的系统进行集成,订阅 CloudBase CMS 上的特定事件。

目前,CloudBase CMS 支持 HTTP 和云函数两种类型的 Webhook,即触发时发送 HTTP 请求和调用云函数,同时支持监听项目中内容数据的变更,包含新增、更新、删除等操作。

HTTP Webhook#

Webhook 触发时,发送一个指定的 HTTP 请求

配置 Webhook#

  • Webhook 名称
  • 触发 URL:特定事件发生时回调的 URL 地址
  • 监听内容:指定全部内容集合
  • HTTP 方法:支持 GETPOSTUPDATEDELETEPATCH 等方法,建议使用 POST 方法
  • HTTP Headers:支持配置请求 URL 时的 HTTP Header

HTTP Body#

Webhook 触发时携带的 Body,即使你使用了 GET 方法,也会发送携带 Body 的请求

  • collection: 触发事件的数据库集合名
  • action: 触发事件
    • createOne:创建内容
    • updateOne:更新内容
    • deleteOne:删除内容
  • actionRes: 数据库操作的响应
  • actionFilter: 请求操作的过滤条件
  • source: Webhook 来源,固定为 CMS_WEBHOOK_HTTP

{  collection: '',  action: '',  actionRes: '',  actionFilter: {},  source: 'CMS_WEBHOOK_HTTP'}

云函数 Webhook#

Webhook 触发时,调用指定的云函数

配置 Webhook#

  • Webhook 名称
  • 云函数名:指定触发的云函数名,仅支持同一环境下的云函数
  • 监听内容:指定全部内容集合

云函数 event 入参#

Webhook 触发云函数时的 event 参数

  • collection: 触发事件的数据库集合名
  • action: 触发事件
    • createOne:创建内容
    • updateOne:更新内容
    • deleteOne:删除内容
  • actionRes: 数据库操作的响应
  • actionFilter: 请求操作的过滤条件
  • source: Webhook 来源,固定为 CMS_WEBHOOK_FUNCTION

{  collection: '',  action: '',  actionRes: '',  actionFilter: {},  source: 'CMS_WEBHOOK_FUNCTION'}