Skip to content

示例工作流

项目附带了一个开箱即用的示例工作流,包含 两个独立的 Webhook 接口,分别用于生成随机密码和创建自定义密码,每个接口都带有邮件通知功能。

下载示例工作流:workflow-webhook-ttlock.json

工作流做了什么

两个接口结构相同,流程均为:

接收请求 → 调用 TTLock 插件 → 判断结果 → 邮件通知 → 返回响应
接口路径
随机密码你的地址+/randomPasscode
自定义密码你的地址+/customPasscode

提示

两个接口共享同一个 TTLock 凭证,激活一次即可同时使用。

创建随机密码配置

快速导入

  1. 打开 n8n,进入工作流列表
  2. 点击右上角 "..."Import from File
  3. 选择下载的 workflow-webhook-ttlock.json 文件(点击上方按钮下载)
  4. 导入成功后,画布上会显示两套完整的工作流节点

导入后需要配置的内容

工作流中有 3 个凭证 需要替换为你自己的:

凭证用途配置方法
TTLock account调用 TTLock 插件参见 配置凭证
SMTP account(邮件-成功节点)发送成功通知邮件参见下方 配置邮箱Gmail 配置
SMTP account 2(邮件-失败节点)发送失败通知邮件同上

配置邮箱(网易邮箱示例)

示例工作流中密码生成成功/失败后会通过邮件通知,需要先配置 SMTP 邮箱凭证。以下以网易 163 邮箱为例。

第一步:开启 SMTP 服务

  1. 登录 网易邮箱
  2. 进入 设置POP3/SMTP/IMAP
  3. 开启 IMAP/SMTP 服务
  4. 点击 开启,弹出账户安全提示,点击 继续开启
  5. 显示授权码,复制授权码(非常重要,后面会用到),输入名称,点击确定

注意

授权码不是邮箱登录密码,开启 SMTP 服务时获取的那个随机字符串才是授权码。请妥善保管。

第二步:在 n8n 中创建 SMTP 凭证

  1. 打开 n8n 邮箱节点 → Parameters → CredentialsAdd Credential
  2. 填写以下信息:
字段说明
User你的邮箱@163.com网易邮箱地址
Password你的授权码开启 SMTP 时获得的授权码
Hostsmtp.163.com网易 SMTP 服务器地址
Port465SSL 端口
SSL/TLStrue启用加密连接
  1. 点击 Save 保存凭证

第三步:在邮件节点中使用凭证

在示例工作流的 邮件-成功邮件-失败 节点中:

  1. 展开 Credential 下拉框
  2. 选择刚才创建的 SMTP 凭证
  3. 修改 From Email 为你的网易邮箱地址
  4. 修改 To Email 为接收通知的邮箱地址

配置邮箱(Gmail 示例)

以下以 Google Gmail 邮箱为例,通过 App Password + SMTP 方式发送邮件。

一、Google 端准备

1. 开启两步验证(2FA)

如果还没开,这是前置条件:

  1. 打开 https://myaccount.google.com/security
  2. 找到 登录 Google → 点击 两步验证
  3. 按提示开启(可以用 Google Authenticator / 手机短信 / 备用码)

注意

没有 2FA 就无法生成 App Password,这是硬性要求。

2. 生成 App Password

  1. 打开 https://myaccount.google.com/apppasswords
  2. 如果页面提示"没有找到选项",说明你还没开 2FA,先完成上一步
  3. 填写:
    • 选择应用:邮件其他(自定义名称)
    • 名称:填 n8n(方便后续识别)
  4. 创建
  5. 页面会显示一个 16 位密码,格式如 abcd efgh ijkl mnop

注意

立即复制保存!关闭后无法再次查看。填入 n8n 时需去掉中间的空格,即 abcdefghijklmnop

3. 确认 IMAP 已启用

  1. 打开 Gmail 设置 → 转发和 POP/IMAP (https://mail.google.com/mail/u/0/#settings/fwdandpop)
  2. 找到 IMAP 访问 → 选择 启用 IMAP
  3. 滚动到底部点 保存更改

二、在 n8n 中创建 SMTP 凭证

  1. 打开 n8n 邮箱节点 → Parameters → CredentialsAdd Credential
  2. 填写以下信息:
字段说明
User你的@gmail.comGmail 邮箱地址
Password你的App Password上一步生成的 16 位应用专用密码
Hostsmtp.gmail.comGmail SMTP 服务器地址
Port465SSL 端口
SSL/TLStrue启用加密连接
  1. 点击 Save 保存凭证

三、在邮件节点中使用凭证

在示例工作流的 邮件-成功邮件-失败 节点中:

  1. 展开 Credential 下拉框
  2. 选择刚才创建的 SMTP 凭证
  3. 修改 From Email 为你的 Gmail 地址
  4. 修改 To Email 为接收通知的邮箱地址

修改邮件收发地址

导入的示例中邮件地址是占位的,需要修改为你自己的:

  • 邮件-成功 / 邮件-成功-Custom 节点:修改 From EmailTo Email
  • 邮件-失败 / 邮件-失败-Custom 节点:修改 From EmailTo Email

请求参数

提示

clientIdaccessTokendate 由插件自动处理,以下参数无需包含这些字段。详见 配置凭证

两个接口共用基础参数,自定义密码接口额外需要 keyboardPwdaddType

基础参数(两个接口通用)

字段类型必填说明
lockIdstring智能锁 ID,可通过 获取用户下的锁列表 接口获取
keyboardPwdType(插件显示为 Passcode Typenumber密码类型,默认 3(单次)
keyboardPwdName(插件显示为 Passcode Namestring密码名称
startDatestring密码生效时间
endDatestring密码失效时间

自定义密码接口额外参数

字段类型必填说明
keyboardPwd(插件显示为 Passcodestring要下发的密码内容,如 5809371
addType(插件显示为 Add Methodnumber添加方式,默认 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-Customn8n 内置接收 POST 请求,使用 Response Node 模式
TTLock / TTLock-CustomTTLock 插件从请求体提取参数,调用对应 API,启用 Continue On Fail
判断结果 / 判断结果-Customn8n 内置检查 errcode 是否为空,区分成功/失败分支
邮件-成功 / 邮件-成功-Customn8n 内置成功时发送包含密码的 HTML 邮件(随机密码蓝色主题,自定义密码绿色主题)
邮件-失败 / 邮件-失败-Customn8n 内置失败时发送包含错误信息的 HTML 邮件(红色主题)
Respond / Respond-Customn8n 内置将 TTLock 原始返回结果作为 JSON 响应返回

自定义修改

导入的工作流可以直接在 n8n 画布中编辑:

  • Webhook 路径:在对应 Webhook 节点的 Path 字段修改
  • 密码类型默认值:在对应 TTLock 节点的 keyboardPwdType 表达式中修改为其他值
  • 邮件模板:在对应邮件节点的 HTML 字段中编辑样式和内容
  • 跳过邮件:如果不需要邮件通知,可以直接删除对应的邮件节点,将 IF 节点的输出连接到 Respond 节点