示例工作流
项目附带了一个开箱即用的示例工作流,包含 两个独立的 Webhook 接口,分别用于生成随机密码和创建自定义密码,每个接口都带有邮件通知功能。
下载示例工作流:workflow-webhook-ttlock.json
工作流做了什么
两个接口结构相同,流程均为:
接收请求 → 调用 TTLock 插件 → 判断结果 → 邮件通知 → 返回响应| 接口 | 路径 |
|---|---|
| 随机密码 | 你的地址+/randomPasscode |
| 自定义密码 | 你的地址+/customPasscode |
提示
两个接口共享同一个 TTLock 凭证,激活一次即可同时使用。

快速导入
- 打开 n8n,进入工作流列表
- 点击右上角 "..." → Import from File
- 选择下载的
workflow-webhook-ttlock.json文件(点击上方按钮下载) - 导入成功后,画布上会显示两套完整的工作流节点
导入后需要配置的内容
工作流中有 3 个凭证 需要替换为你自己的:
| 凭证 | 用途 | 配置方法 |
|---|---|---|
| TTLock account | 调用 TTLock 插件 | 参见 配置凭证 |
| SMTP account(邮件-成功节点) | 发送成功通知邮件 | 参见下方 配置邮箱 或 Gmail 配置 |
| SMTP account 2(邮件-失败节点) | 发送失败通知邮件 | 同上 |
配置邮箱(网易邮箱示例)
示例工作流中密码生成成功/失败后会通过邮件通知,需要先配置 SMTP 邮箱凭证。以下以网易 163 邮箱为例。
第一步:开启 SMTP 服务
- 登录 网易邮箱
- 进入 设置 → POP3/SMTP/IMAP
- 开启 IMAP/SMTP 服务
- 点击 开启,弹出账户安全提示,点击 继续开启
- 显示授权码,复制授权码(非常重要,后面会用到),输入名称,点击确定
注意
授权码不是邮箱登录密码,开启 SMTP 服务时获取的那个随机字符串才是授权码。请妥善保管。
第二步:在 n8n 中创建 SMTP 凭证
- 打开 n8n 邮箱节点 → Parameters → Credentials → Add Credential
- 填写以下信息:
| 字段 | 值 | 说明 |
|---|---|---|
| User | 你的邮箱@163.com | 网易邮箱地址 |
| Password | 你的授权码 | 开启 SMTP 时获得的授权码 |
| Host | smtp.163.com | 网易 SMTP 服务器地址 |
| Port | 465 | SSL 端口 |
| SSL/TLS | true | 启用加密连接 |
- 点击 Save 保存凭证
第三步:在邮件节点中使用凭证
在示例工作流的 邮件-成功 或 邮件-失败 节点中:
- 展开 Credential 下拉框
- 选择刚才创建的 SMTP 凭证
- 修改 From Email 为你的网易邮箱地址
- 修改 To Email 为接收通知的邮箱地址
配置邮箱(Gmail 示例)
以下以 Google Gmail 邮箱为例,通过 App Password + SMTP 方式发送邮件。
一、Google 端准备
1. 开启两步验证(2FA)
如果还没开,这是前置条件:
- 打开 https://myaccount.google.com/security
- 找到 登录 Google → 点击 两步验证
- 按提示开启(可以用 Google Authenticator / 手机短信 / 备用码)
注意
没有 2FA 就无法生成 App Password,这是硬性要求。
2. 生成 App Password
- 打开 https://myaccount.google.com/apppasswords
- 如果页面提示"没有找到选项",说明你还没开 2FA,先完成上一步
- 填写:
- 选择应用:邮件 或 其他(自定义名称)
- 名称:填
n8n(方便后续识别)
- 点 创建
- 页面会显示一个 16 位密码,格式如
abcd efgh ijkl mnop
注意
立即复制保存!关闭后无法再次查看。填入 n8n 时需去掉中间的空格,即 abcdefghijklmnop。
3. 确认 IMAP 已启用
- 打开 Gmail 设置 → 转发和 POP/IMAP (https://mail.google.com/mail/u/0/#settings/fwdandpop)
- 找到 IMAP 访问 → 选择 启用 IMAP
- 滚动到底部点 保存更改
二、在 n8n 中创建 SMTP 凭证
- 打开 n8n 邮箱节点 → Parameters → Credentials → Add Credential
- 填写以下信息:
| 字段 | 值 | 说明 |
|---|---|---|
| User | 你的@gmail.com | Gmail 邮箱地址 |
| Password | 你的App Password | 上一步生成的 16 位应用专用密码 |
| Host | smtp.gmail.com | Gmail SMTP 服务器地址 |
| Port | 465 | SSL 端口 |
| SSL/TLS | true | 启用加密连接 |
- 点击 Save 保存凭证
三、在邮件节点中使用凭证
在示例工作流的 邮件-成功 或 邮件-失败 节点中:
- 展开 Credential 下拉框
- 选择刚才创建的 SMTP 凭证
- 修改 From Email 为你的 Gmail 地址
- 修改 To Email 为接收通知的邮箱地址
修改邮件收发地址
导入的示例中邮件地址是占位的,需要修改为你自己的:
- 邮件-成功 / 邮件-成功-Custom 节点:修改
From Email和To Email - 邮件-失败 / 邮件-失败-Custom 节点:修改
From Email和To Email
请求参数
提示
clientId、accessToken、date 由插件自动处理,以下参数无需包含这些字段。详见 配置凭证。
两个接口共用基础参数,自定义密码接口额外需要 keyboardPwd 和 addType。
基础参数(两个接口通用)
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
lockId | string | 是 | 智能锁 ID,可通过 获取用户下的锁列表 接口获取 |
keyboardPwdType(插件显示为 Passcode Type) | number | 否 | 密码类型,默认 3(单次) |
keyboardPwdName(插件显示为 Passcode Name) | string | 否 | 密码名称 |
startDate | string | 是 | 密码生效时间 |
endDate | string | 否 | 密码失效时间 |
自定义密码接口额外参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
keyboardPwd(插件显示为 Passcode) | string | 是 | 要下发的密码内容,如 5809371 |
addType(插件显示为 Add Method) | number | 否 | 添加方式,默认 1(蓝牙)。详情见文档 |
完整参数说明参见:TTLock 开放平台文档 - 获取随机密码 / 创建自定义密码
调用示例
生成随机密码
bash
curl -X POST http://你的n8n地址/randomPasscode \
-H "Content-Type: application/json" \
-d '{
"lockId": "你的锁ID",
"keyboardPwdType": 3,
"keyboardPwdName": "访客密码",
"startDate": "2026-05-07 09:00:00",
"endDate": "2026-05-07 18:00:00"
}'创建自定义密码
bash
curl -X POST http://你的n8n地址/customPasscode \
-H "Content-Type: application/json" \
-d '{
"lockId": "你的锁ID",
"keyboardPwd": "5809371",
"keyboardPwdType": 3,
"keyboardPwdName": "自定义密码",
"startDate": "2026-05-07 09:00:00",
"endDate": "2026-05-07 18:00:00",
"addType": 1
}'响应
随机密码
json
{
"keyboardPwd": "73691670",
"keyboardPwdId": 7906873
}自定义密码
json
{
"keyboardPwdId": 7906873
}工作流节点说明
两套接口的节点结构一致,仅名称和配置不同:
| 节点 | 类型 | 作用 |
|---|---|---|
| Webhook / Webhook-Custom | n8n 内置 | 接收 POST 请求,使用 Response Node 模式 |
| TTLock / TTLock-Custom | TTLock 插件 | 从请求体提取参数,调用对应 API,启用 Continue On Fail |
| 判断结果 / 判断结果-Custom | n8n 内置 | 检查 errcode 是否为空,区分成功/失败分支 |
| 邮件-成功 / 邮件-成功-Custom | n8n 内置 | 成功时发送包含密码的 HTML 邮件(随机密码蓝色主题,自定义密码绿色主题) |
| 邮件-失败 / 邮件-失败-Custom | n8n 内置 | 失败时发送包含错误信息的 HTML 邮件(红色主题) |
| Respond / Respond-Custom | n8n 内置 | 将 TTLock 原始返回结果作为 JSON 响应返回 |
自定义修改
导入的工作流可以直接在 n8n 画布中编辑:
- Webhook 路径:在对应 Webhook 节点的
Path字段修改 - 密码类型默认值:在对应 TTLock 节点的
keyboardPwdType表达式中修改为其他值 - 邮件模板:在对应邮件节点的
HTML字段中编辑样式和内容 - 跳过邮件:如果不需要邮件通知,可以直接删除对应的邮件节点,将 IF 节点的输出连接到 Respond 节点