模板管理
创建模板
在 消息中心 -> 模板管理 菜单页面,点击【创建模板】按钮,进入模板创建页面:

按照图中提示依次填入EngageLab OTP 需要配置的模板名称、模板ID、品牌名称、一次性密码长度、一次性密码的失效时间等信息。
1、模板 ID长度不超过30,仅支持英文字母、数字、下划线,且在应用内需要保证是唯一的,这个值在 OTP发送API中需要填入。
2、一次性密码长度支持4-10,且支持数字、英文大写字母、数字&英文大写字母 3种组合形式。
3、一次性密码的有效时间支持配置为1分钟、5分钟、10分钟 这3种可选项,如果有更长的有效时间配置,请联系商务或在线客服,或者发邮件给 support@engagelab.com 申请。
发送策略配置
如果你是用 SMS 通道来发送 OTP 验证码,发送策略则选择 SMS:

模板样式有2个可选内容,1个是添加安全建议,1个是添加一次性密码的有效期,可以按照需要自行设置。
其它通道和 SMS 通道配置类似。
另外,EngageLab OTP 还支持通道智能补发策略,例如,当WhatsApp 通道未送达或者送达超时的时候,系统会自动用 SMS 通道补发,如果 SMS 通道仍然出现未送达或者送达超时的情况,就会选用 Voice 通道补发。
当勾选 失败自动补发 WhatsApp->SMS->Voice 这个策略时,需要依次勾选 WhatsApp->SMS->Voice 这3个通道的模板内容。



结合您的原始文档和开发提供的详细说明,以下是为您整理的面向客户版文档内容。
建议直接将其作为“模板管理”页面中的一个独立章节,排在“发送策略配置”之后。
Email 模板变量说明
当您在发送策略中开启 Email 通道时,可以对邮件的主题和正文内容进行高度自定义。通过使用变量占位符 {{变量名}},您可以实现验证码、品牌信息及个性化内容的动态填充。
变量类型与用法
Email 模板内容(template_content)和邮件主题(pre_subject)中可以嵌入变量占位符,格式为 {{变量名}}。变量分为两类:
- 系统变量:由平台自动填充,开发者无需传递。
- 自定义变量:可在发送时通过
template.params字段传入,也可在模板创建时设置默认值。
支持的变量一览
| 变量名 | 类型 | 说明 | 填充方式 |
|---|---|---|---|
{{code}} |
系统变量 | 验证码内容 | 系统自动生成并填充 |
{{ttl}} |
系统变量 | 验证码有效期(分钟) | 取模板配置 verify_code_ttl |
{{brand_name}} |
系统变量 | 品牌名称 | 取模板配置 brand_name |
{{logo_url}} |
自定义变量 | 品牌 Logo 图片地址 | 发送时通过 template.params 传入 |
{{title}} |
自定义变量 | 邮件正文标题文字 | 发送时通过 template.params 传入 |
{{support_email}} |
自定义变量 | 客服/支持邮箱地址 | 发送时通过 template.params 传入 |
{{subject}} |
自定义变量 | 覆盖模板预设的邮件主题 | 发送时通过 template.params 传入 |
{{from_name}} |
自定义变量 | 覆盖模板预设的发件人名称 | 发送时通过 template.params 传入 |
{{from_mail}} |
自定义变量 | 覆盖模板预设的发件人邮箱 | 发送时通过 template.params 传入 |
注意:
{{subject}}、{{from_name}}、{{from_mail}}是特殊变量,不嵌入 HTML 内容,而是直接覆盖邮件元数据字段。
变量使用示例
邮件主题示例
{{brand_name}} 验证码
邮件正文示例
<img src="{{logo_url}}" />
<strong>{{title}}</strong>
<p>您的验证码是 <strong>{{code}}</strong>,请在 {{ttl}} 分钟内完成验证。</p>
<p>如有疑问,请联系 <a href="mailto:{{support_email}}">{{support_email}}</a></p>
设置变量默认值
创建模板时,可在 pre_param_map 字段为自定义变量设置默认值。发送时如未传入变量,则使用默认值。
"pre_param_map": {
"logo_url": "https://example.com/logo.png",
"title": "您的验证码",
"support_email": "support@example.com"
}
发送接口参数说明
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
to |
string | 是 | 目标邮箱地址 |
template.id |
string | 是 | 邮件模板 ID |
template.language |
string | 否 | 语言代码,默认 default |
template.params |
object | 否 | 变量赋值,key 不带 {{}} |
示例请求:
{
"to": "user@example.com",
"template": {
"id": "my_email_template",
"language": "default",
"params": {
"logo_url": "https://example.com/logo.png",
"title": "您的验证码",
"support_email": "support@example.com"
}
}
}
变量填充优先级
- 发送时
template.params传入的值(优先级最高) - 创建模板时
pre_param_map默认值 - 若均未设置,占位符原样展示在邮件中
系统变量(
{{code}}、{{ttl}}、{{brand_name}})始终由系统自动填充,传入同名参数无效。
常见问题
Q: 为什么变量没有被替换?
A: 请确认变量名是否正确(不带{{}}),并已在template.params或模板默认值中设置。Q: 如何动态设置邮件主题或发件人?
A: 通过template.params传入subject、from_name、from_mail,可动态覆盖模板预设值。
如需更多帮助,请联系 EngageLab 技术支持。










