Webhooks 指南
将 Fast Memo 连接到外部服务来自动化您的工作流程。当笔记、分类或数据发生变化时接收实时通知。

什么是 Webhooks?
Fast Memo 中的 Webhooks 是发送到您配置的 URL 的出站 HTTP POST 通知。当应用中发生特定事件时,Fast Memo 会向您的端点发送一个包含事件详情的 JSON 有效负载。
- HTTP POST 请求
每个 Webhook 通过 HTTP POST 向您提供的 URL 发送 JSON 有效负载。不需要身份验证头。
- 14 个可用触发器
从 14 种不同事件中选择:笔记创建、更新、删除、分类更改、数据导入/导出等。
- 物联网和自动化
将 Fast Memo 连接到 IFTTT、Zapier、n8n、Home Assistant 或您自己的服务器来构建自定义自动化。
如何设置
打开设置
进入 Fast Memo 的设置,在高级部分找到 Webhooks 选项。
选择触发器
您将看到所有 14 个可用触发器的列表。每个触发器可以独立配置自己的 URL。
输入 URL 并启用
在文本字段中输入您的端点 URL。然后点击复选框启用触发器。POST 标签确认 HTTP 方法。
完成 — 自动触发
每当应用中发生相应事件时,Fast Memo 将向您的 URL 发送一个包含事件描述的 JSON 正文的 POST 请求。
可用触发器
每个触发器都有自己的 URL 和启用/禁用开关。您可以根据需要配置任意数量。
| 触发器 | 类别 | 操作 |
|---|---|---|
| 添加文本笔记 | 笔记 | note/addTextNote |
| 添加待办笔记 | 笔记 | note/addTodoNote |
| 添加看板笔记 | 笔记 | note/addKanbanNote |
| 添加代码笔记 | 笔记 | note/addCodeNote |
| 更新笔记 | 笔记 | note/updateNote |
| 临时删除 | 笔记 | note/temporaryDeleteNote |
| 删除笔记 | 笔记 | note/deleteNote |
| 恢复笔记 | 笔记 | note/restoreNote |
| 创建分类 | 分类 | category/createCategory |
| 更新分类 | 分类 | category/updateCategory |
| 删除分类 | 分类 | category/deleteCategory |
| 导出数据 | 数据 | generic/export |
| 导入数据 | 数据 | generic/import |
| 清除数据 | 数据 | generic/wipeData |
有效负载参考
每个 Webhook 通过 HTTP POST 发送 JSON 正文。以下是每个触发器的确切有效负载格式。所有有效负载都包含设为 true 的 "success" 字段和 "action" 字符串。
笔记创建
POST — 添加文本笔记
{
"success": true,
"action": "note/addTextNote",
"id": "abc123",
"type": "text",
"title": "My Note",
"text": "<p>Hello world</p>",
"createdAt": 1713700000,
"updatedAt": 1713700000,
"important": false,
"readOnly": false,
"hidden": false,
"locked": false,
"category": { "iconId": "book", "name": "Personal" }
}POST — 添加待办笔记
{
"success": true,
"action": "note/addTodoNote",
"id": "abc123",
"type": "todo",
"title": "Shopping List",
"list": [
{ "id": "item1", "text": "Buy milk", "checked": false },
{ "id": "item2", "text": "Buy eggs", "checked": true }
],
"createdAt": 1713700000,
"updatedAt": 1713700000,
"important": false,
"readOnly": false,
"hidden": false,
"locked": false,
"category": { "iconId": "cart", "name": "Shopping" }
}POST — 添加看板笔记
{
"success": true,
"action": "note/addKanbanNote",
"id": "abc123",
"type": "kanban",
"title": "Sprint Board",
"columns": [
{
"id": "col1",
"title": "To Do",
"cards": [
{ "id": "card1", "text": "Design UI" }
]
},
{
"id": "col2",
"title": "Done",
"cards": []
}
],
"createdAt": 1713700000,
"updatedAt": 1713700000,
"important": false,
"readOnly": false,
"hidden": false,
"locked": false,
"category": { "iconId": "briefcase", "name": "Work" }
}POST — 添加代码笔记
{
"success": true,
"action": "note/addCodeNote",
"id": "abc123",
"type": "code",
"title": "API Handler",
"tabs": [
{
"id": "tab1",
"title": "index.ts",
"code": "console.log('hello')",
"language": "typescript"
}
],
"activeTabId": "tab1",
"createdAt": 1713700000,
"updatedAt": 1713700000,
"important": false,
"readOnly": false,
"hidden": false,
"locked": false,
"category": { "iconId": "code", "name": "Dev" }
}笔记生命周期
POST — 更新笔记(单个)
{
"success": true,
"action": "note/updateNote",
"id": "abc123",
"type": "text",
"title": "Updated Note",
"text": "<p>New content</p>",
"createdAt": 1713700000,
"updatedAt": 1713800000,
"important": true,
"readOnly": false,
"hidden": false,
"locked": false,
"category": { "iconId": "book", "name": "Personal" }
}POST — 更新笔记(批量)
{
"success": true,
"action": "note/updateNote",
"extra": "multiple",
"ids": ["abc123", "def456"],
"property": "important"
}POST — 临时删除(单个)
{
"success": true,
"action": "note/temporaryDeleteNote",
"id": "abc123"
}POST — 临时删除(批量)
{
"success": true,
"action": "note/temporaryDeleteNote",
"extra": "multiple",
"ids": ["abc123", "def456"]
}POST — 删除笔记(单个)
{
"success": true,
"action": "note/deleteNote",
"id": "abc123"
}POST — 删除笔记(批量)
{
"success": true,
"action": "note/deleteNote",
"extra": "multiple",
"ids": ["abc123", "def456"]
}POST — 删除笔记(全部)
{
"success": true,
"action": "note/deleteNote",
"extra": "all"
}POST — 恢复笔记(单个)
{
"success": true,
"action": "note/restore",
"id": "abc123"
}POST — 恢复笔记(批量)
{
"success": true,
"action": "note/restoreNote",
"extra": "multiple",
"ids": ["abc123", "def456"]
}POST — 恢复笔记(全部)
{
"success": true,
"action": "note/restoreNote",
"extra": "all"
}分类操作
POST — 创建分类
{
"success": true,
"action": "category/createCategory",
"iconId": "book",
"name": "Personal"
}POST — 更新分类
{
"success": true,
"action": "category/updateCategory",
"prevCategory": { "iconId": "book", "name": "Personal" },
"nextCategory": { "iconId": "star", "name": "Favorites" }
}POST — 删除分类
{
"success": true,
"action": "category/deleteCategory",
"iconId": "book"
}数据操作
POST — 导出数据
{
"success": true,
"action": "generic/export"
}POST — 导入数据
{
"success": true,
"action": "generic/import"
}POST — 清除数据
{
"success": true,
"action": "generic/wipeData",
"cloud": false
}限制和说明
- HTTP 方法始终为 POST — 无法更改为 GET、PUT 或其他方法。
- 每个请求有 5 秒超时。如果您的端点在 5 秒内没有响应,请求将被丢弃。
- 无重试 — 如果请求失败,将被静默丢弃。
- 每个触发器一个 URL — 您无法为同一事件配置多个端点。
- 无自定义头或身份验证令牌 — 仅发送标准 JSON content-type 头。
- 该功能处于 BETA 阶段。有效负载和行为可能在未来版本中更改。


