模板
学习如何在 Echobell 中使用模板
Echobell 中的模板
Echobell 中的模板允许您通过在通知标题和内容中整合变量来创建动态通知。此功能可根据触发数据生成个性化和信息丰富的提醒。
基本模板语法
在 Echobell 模板中,您可以通过将变量包裹在双大括号中来使用它们:
{{变量名}}当频道被触发时,这些变量将被通过触发器传递的实际值所替代。例如,如果您的标题模板是 您已收到 ${{amount}},并且您用 amount 值为 100 触发了频道,结果通知将显示为 您已收到 $100。
高级模板表达式
Echobell 模板支持多种表达式,适用于更复杂的场景:
- 访问对象属性
{{user.name}}
{{user["name"]}}- 访问数组元素
{{list[0]}}- 使用比较运算符
{{status == "active"}}
{{age > 18}}- 逻辑运算符
{{isSubscribed && !isPaused}}
{{isUrgent || isPriory}}支持所有标准运算符:==、!=、<、>、<=、>=、&&、|| 和 !。
来自不同触发器的模板变量
Webhook 触发器
通过 webhook 触发时,您可以通过以下方式提供变量:
-
查询字符串参数:
GET https://hook.echobell.one/t/token?amount=100&status=active -
JSON 主体(用于 POST 请求):
POST https://hook.echobell.one/t/token Content-Type: application/json { "amount": 100, "status": "active", "user": { "name": "张三", "id": 12345 } } -
特殊变量:
externalLink:在通知记录中提供可点击链接bodyAsText: 如果Content-Type是text/plain,则为请求正文的纯文本内容header:提供对 HTTP 请求头的访问(例如,{{header["content-type"]}})
电子邮件触发器
当频道通过电子邮件触发时,以下变量将自动可用:
from:发件人电子邮件地址to:收件人电子邮件地址subject:电子邮件主题行text:电子邮件的纯文本内容html:电子邮件的 HTML 内容
模板使用案例
条件内容
您可以使用模板基于条件显示不同内容:
已收到{{amount > 1000 ? "大额" : "标准"}}付款:${{amount}}频道条件
除了在通知内容中使用模板外,您还可以在频道高级设置中设置条件,确定是否应发送通知。这些条件使用相同的表达式语法(不含大括号)。
例如,仅对超过阈值的金额发送通知:
金额 > 100链接模板
在频道高级设置中配置自定义链接模板,以在通知记录中创建可点击链接:
https://dashboard.example.com/orders/{{orderId}}如果未设置链接模板,将默认使用 externalLink 变量的值。
系统时间变量(UTC)
这些变量在模板(以及条件)中始终可用,且以 UTC 计算:
timezone:恒为"UTC"now/iso:ISO‑8601 时间戳(如2025-05-06T12:34:56.789Z)epochMs、epochSeconds:自 Unix 纪元以来的当前时间(数字)year、month(1–12)、monthNamedayOfMonth、dayOfWeek(0–6,周日 = 0)、dayOfWeekNamehour(0–23)、minute、seconddate(YYYY-MM-DD)、time(HH:mm:ss)
示例:
发送时间 {{date}} {{time}} {{timezone}}
今天是 {{dayOfWeekName}},{{monthName}} {{dayOfMonth}},{{year}}
Epoch:{{epochSeconds}}最佳实践
-
默认值:考虑为可选变量提供默认值:
{{username || "匿名用户"}} -
信息丰富的模板:在模板中包含关键信息,使通知具有可操作性:
{{service}}:{{status}} - {{message}} -
保持模板简洁:当标题和内容清晰简洁时,通知效果最佳。
-
测试:使用不同的变量组合测试您的模板,确保它们按预期显示。
模板是创建动态、信息丰富的通知的强大方式,能在用户需要时给他们提供恰到好处的信息。