项目

tiptap Webhook

你可以定义一个 URL,我们会定期调用它,每当文档有变化时。这对于将 Yjs 文档的 JSON 表示形式获取到你的应用程序中非常有用。当文档保存到我们的数据库时,我们会呼叫你的 Webhook URL。这个操作会延迟 2-10 秒执行,以防止你的应用被频繁调用。目前我们只导出 Yjs 文档的 default 片段。

你可以在 Tiptap Collab 应用 的设置页面中添加 Webhook URL。

请求体

Webhook 请求的一个示例 payload 如下:

{
  "appName": "", // 你的应用名称
  "name": "", // 文档名称
  "time": "", // 当前时间,ISOString格式 (new Date()).toISOString())
  "tiptapJson": {}, // Tiptap输出的JSON(参见:[Tiptap指南](https://tiptap.dev/guide/output#option-1-json)): TiptapTransformer.fromYdoc()
  "ydocState"?: {}, // 可选,包含整个yDoc的base64编码。如需启用此属性,请联系我们!
  "clientsCount": 100, // 当前连接的客户端数量
  "type": "", // 提交类型(如果文档更改,这将是DOCUMENT)。仅在使用Webhooks v2时可用
  "trigger": "", // 触发事件(通常为"document.saved")。仅在使用Webhooks v2时可用
}

加密验证

所有发送到你的 Webhook URL 的请求都会包含一个名为 X-Hocuspocus-Signature-256 的头部,该头部使用你的秘钥对整个消息进行签名。你可以在 Tiptap Collab 应用 的设置中找到它。

更新日志

v2:版本 2 在 Webhooks 中增加了"type"和"trigger"字段。针对帖子/评论的 Webhook 即将上线,升级前请确保在处理入站 Webhook 时检查"type"字段。为了保持旧的行为,你需要检查"type"等于"DOCUMENT"。

在本文档中