模板API接口
创建模版
调用地址
POST https://otp.api.engagelab.cc/v1/template-configs
调用验证
采用 HTTP 基本认证 的验证方式,在 HTTP Header(头)里加 Authorization:
Authorization: Basic ${base64_auth_string}
上述 base64_auth_string 的生成算法为:base64(dev_key:dev_secret)
请求示例
请求头
POST /v1/messages HTTP/1.1
Content-Type: application/json
Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0
请求体
{
"template_id": "test-template-1", // 自定义的模版id,应用内唯一
"description": "测试模版1", // 该模版的描述说明
"send_channel_strategy": "whatsapp|sms", // 模版的下发策略,支持whatsapp/sms/voice/email四类,组合策略则使用|字符表示失败补发
"brand_name": "品牌名称", // 品牌名称,用在一些国家地区模版内容中的签名(如短信通道中一些国家地区要求要注册签名)
"verify_code_config": { // 验证码的配置,用于配置自动生成的验证码,模版包含验证码类型时必填
"verify_code_type": 1, // 验证码类型,取值范围[1,7]
"verify_code_len": 6, // 验证码长度,取值范围[4,10]
"verify_code_ttl": 1 // 验证码有效期,取值范围[1,10],注意当策略包含whatsapp时取值只能是1,5,10
},
"whatsapp_config": { // whatsapp策略的配置,当下发策略包含whatsapp时有效
"template_type": 1, // whatsapp模版类型,目前仅支持默认模版,即固定取值为1
"template_default_config": { // whatsapp默认模版配置,针对默认模版类型时有效
"contain_security": false, // 是否添加安全提醒
"contain_expire": false // 是否添加过期时间内容
}
},
"sms_config": { // sms策略的配置,当下发策略包含sms时有效
"template_type": 2, // sms模版类型,取值:1-默认模版/2-自定义模版
"template_default_config": { // sms默认模版配置,针对默认模版类型时有效
"contain_security": false, // 是否添加安全提醒
"contain_expire": false // 是否添加过期时间内容
}
"template_custom_config": { // sms自定义模版配置,sms模版类型为自定义模版时有效
"custom_sub_type": "authentication", // 自定义模版类型,取值:authentication-验证码/marketing-营销/utility-通知
"custom_content": "xxx", // 自定义模版内容,注意若子类型为authentication验证码类型时必须包含{{code}}变量
"custom_country_codes": "HK,PH" // 自定义模版的目标国家地区,用于模版审核时参考,请按实际填写,否则可能影响实际下发
}
},
"voice_config": { // voice策略的配置,当下发策略包含voice时有效
"template_type": 1, // voice模版类型,目前仅支持默认模版,即固定取值为1
"template_default_config": { // voice默认模版配置,针对默认模版类型时有效
"contain_security": false, // 是否添加安全提醒
"contain_expire": false // 是否添加过期时间内容
}
},
"email_config": { // email策略的配置,当下发策略包含email时有效
"template_name": "email模板名称", // email模版名称
"template_custom_configs": [{ // email自定义模版配置,注意这里是对象数组,主要是通过language进行区分配置多个
"language": "default", // 语言,default为默认,消息下发时可以根据language参数来匹配不同的模版内容
"pre_from_name": "test", // 预设的发送人名称
"pre_from_mail": "test@test.com", // 预设的发送人邮箱
"pre_subject": "test", // 预设的邮件主题
"template_content": "预设邮件模版内容,必填,自定义变量如{{self}},验证码是{{code}}", // 邮件内容,支持html,变量需要使用两个大括号{{}}括起来
"pre_param_map": { // 邮件内容中变量的默认值,即下发时若不指定变量值,则采用下述的默认值来替换变量,采用key-value对声明,value需要使用字符串
"self": "这里是self变量预设值"
}
}]
},
"pwa_config": { // pwa相关的配置,暂时可以不使用
"pwa_platform": "xx", // 使用的pwa平台,具体取值请与技术支持联系获取确定
"pwa_code": "xx" // 使用的pwa平台中的code
}
}
请求参数
一个请求对象以 JSON 格式表达,因此请求头需要带 Content-Type: application/json 。
参数 | 类型 | 选项 | 说明 |
---|---|---|---|
template_id | String | 必填 | 自定义的模版id,具有唯一性,限制128字符 |
description | String | 选填 | 模版的描述,限制255字符 |
send_channel_strategy | String | 必填 | 模版策略,单个通道取值为whatsapp/sms/email/voice,多通道用|隔开,按顺序补发,email不能和其他通道一起组成策略 |
brand_name | String | 选填 | 品牌标志,在某些模版样式具有品牌签名时会替换品牌签名变量,长度限制在2-10个字符 |
verify_code_config | Object | 条件必填 | 验证码的配置,模版包含验证码类型时必填 |
verify_code_config.verify_code_type | Integer | 必填 | 验证码类型,取值范围[1,7],1数字/2小写英文字母/4大写英文字母,可组合(如3表示数字+小写字母) |
verify_code_config.verify_code_len | Integer | 必填 | 验证码长度,取值范围[4,10] |
verify_code_config.verify_code_ttl | Integer | 必填 | 验证码有效期,单位分钟,取值[1,10],策略包含whatsapp时只能为1、5、10 |
whatsapp_config | Object | 条件必填 | whatsapp策略的配置,下发策略包含whatsapp时必填 |
whatsapp_config.template_type | Integer | 必填 | whatsapp模版类型,目前仅支持默认模版,固定为1 |
whatsapp_config.template_default_config | Object | 条件必填 | whatsapp默认模版配置,whatsapp模版类型为默认模版时必填 |
sms_config | Object | 条件必填 | sms策略的配置,下发策略包含sms时必填 |
sms_config.template_type | Integer | 必填 | sms模版类型,1-默认模版/2-自定义模版 |
sms_config.template_default_config | Object | 条件必填 | sms默认模版配置,sms模版类型为默认模版时必填 |
sms_config.template_custom_config | Object | 条件必填 | sms自定义模版配置,sms模版类型为自定义模版时必填 |
sms_config.template_custom_config.custom_sub_type | String | 必填 | 自定义模版类型,authentication-验证码/marketing-营销/utility-通知 |
sms_config.template_custom_config.custom_content | String | 必填 | 自定义模版内容,authentication类型时必须包含{{code}}变量 |
sms_config.template_custom_config.custom_country_codes | String | 选填 | 目标国家地区代码,逗号分隔,用于模版审核时参考 |
voice_config | Object | 条件必填 | voice策略的配置,下发策略包含voice时必填 |
voice_config.template_type | Integer | 必填 | voice模版类型,目前仅支持默认模版,固定为1 |
voice_config.template_default_config | Object | 条件必填 | voice默认模版配置,voice模版类型为默认模版时必填 |
email_config | Object | 条件必填 | email策略的配置,下发策略包含email时必填 |
email_config.template_name | String | 必填 | email模版名称 |
email_config.template_custom_configs | Array | 条件必填 | email自定义模版配置,email模版类型为自定义模版时必填,支持多语言配置 |
email_config.template_custom_configs.language | String | 必填 | 语言,default为默认,消息下发时可根据language参数匹配不同模版内容 |
email_config.template_custom_configs.pre_from_name | String | 选填 | 预设的发送人名称 |
email_config.template_custom_configs.pre_from_mail | String | 必填 | 预设的发送人邮箱 |
email_config.template_custom_configs.pre_subject | String | 必填 | 预设的邮件主题 |
email_config.template_custom_configs.template_content | String | 必填 | 邮件内容,支持html,变量需用{{}}括起来 |
email_config.template_custom_configs.pre_param_map | Object | 选填 | 邮件内容变量的默认值,key-value对声明,value需要使用字符串 |
pwa_config | Object | 选填 | pwa相关配置,暂时可不使用 |
pwa_config.pwa_platform | String | 选填 | 使用的pwa平台,具体取值请与技术支持联系获取 |
pwa_config.pwa_code | String | 选填 | 使用的pwa平台中的code |
返回参数
字段 | 类型 | 选项 | 描述 |
---|---|---|---|
code | Integer | 必填 | 错误码,0表示成功,其他为失败 |
message | String | 必填 | 需要校验的验证码 |
成功返回
{
"code": 0,
"message": "success"
}
失败返回
{
"code": 3003,
"message": "not contains any channel config"
}
错误码
错误码 | http code | 说明 |
---|---|---|
1000 | 500 | 内部错误 |
2001 | 401 | 鉴权失败,未携带正确的 token |
2002 | 401 | 鉴权失败,token已过期或已被禁用 |
2004 | 403 | 无调用此 API 的权限 |
3001 | 400 | 请求参数格式无效,请检查是否符合参数格式的 JSON 内容 |
3002 | 400 | 请求参数有误,请检查请求参数是否符合要求 |
3003 | 400 | 业务级别的参数错误,请检查返回 message 字段说明 |
删除模版
调用地址
DELETE /v1/template-configs/{templateId}
调用验证
采用 HTTP 基本认证 的验证方式,在 HTTP Header(头)里加 Authorization:
Authorization: Basic ${base64_auth_string}
上述 base64_auth_string 的生成算法为:base64(dev_key:dev_secret)
请求示例
请求头
DELETE /v1/template-configs/{templateId} HTTP/1.1
Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0
请求体
无
请求参数
URL中的{templateId}
表示要删除的模版id,该模版id由创建模版接口时调用方自行定义的
返回参数
字段 | 类型 | 选项 | 描述 |
---|---|---|---|
code | Integer | 必填 | 错误码,0表示成功,其他为失败 |
message | String | 必填 | 需要校验的验证码 |
成功返回
{
"code": 0,
"message": "success"
}
失败返回
{
"code": 4001,
"message": "config not exist"
}
错误码
错误码 | http code | 说明 |
---|---|---|
1000 | 500 | 内部错误 |
2001 | 401 | 鉴权失败,未携带正确的 token |
2002 | 401 | 鉴权失败,token已过期或已被禁用 |
2004 | 403 | 无调用此 API 的权限 |
3001 | 400 | 请求参数格式无效,请检查是否符合参数格式的 JSON 内容 |
3002 | 400 | 请求参数有误,请检查请求参数是否符合要求 |
4001 | 400 | 模版不存在 |
获取所有模版列表
目前该接口不做分页,将返回所有的模版列表简要内容,主要减去了具体的内容,若需要得到内容请使用详情接口
调用地址
GET /v1/template-configs
调用验证
采用 HTTP 基本认证 的验证方式,在 HTTP Header(头)里加 Authorization:
Authorization: Basic ${base64_auth_string}
上述 base64_auth_string 的生成算法为:base64(dev_key:dev_secret)
请求示例
请求头
GET /v1/template-configs HTTP/1.1
Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0
请求体
无
请求参数
无
成功返回
[{
"template_id": "test-template-1", // 自定义的模版id,应用内唯一
"description": "测试模版1", // 该模版的描述说明
"send_channel_strategy": "whatsapp|sms", // 模版的下发策略,支持whatsapp/sms/voice/email四类,组合策略则使用|字符表示失败补发
"brand_name": "品牌名称", // 品牌名称,用在一些国家地区模版内容中的签名(如短信通道中一些国家地区要求要注册签名)
"verify_code_config": { // 验证码的配置,用于配置自动生成的验证码,模版包含验证码类型时返回
"verify_code_type": 1, // 验证码类型,取值范围[1,7]
"verify_code_len": 6, // 验证码长度,取值范围[4,10]
"verify_code_ttl": 1 // 验证码有效期,取值范围[1,10],注意当策略包含whatsapp时取值只能是1,5,10
},
"whatsapp_config": { // whatsapp策略的配置,当下发策略包含whatsapp时返回
"template_type": 1 // whatsapp模版类型,目前仅支持默认模版,即固定取值为1
},
"sms_config": { // sms策略的配置,当下发策略包含sms时返回
"template_type": 2, // sms模版类型,取值:1-默认模版/2-自定义模版
"template_parts": 1 // sms模版预估的计费条数,模版过长则会具体的价格=计费条数*计费单价
},
"voice_config": { // voice策略的配置,当下发策略包含voice时返回
"template_type": 1 // voice模版类型,目前仅支持默认模版,即固定取值为1
},
"email_config": { // email策略的配置,当下发策略包含email时返回
"template_name": "email模板名称" // email模版名称
},
"pwa_config": { // pwa相关的配置,具有pwa配置时才会返回
"pwa_platform": "xx", // 使用的pwa平台
"pwa_code": "xx" // 使用的pwa平台中的code
},
"created_time": 1234567890, // 该模版的创建时间,时间戳格式,精确到秒
"status": 1, // 模版状态,取值:1-待审核/2-审核通过/3-审核拒绝
"audit_remark": "xx" // 审核备注,一般当审核拒绝时可以查看该字段看审核拒绝说明
},...] // 注意这里是object数组
失败返回
{
"code": 4001,
"message": "config not exist"
}
错误码
错误码 | http code | 说明 |
---|---|---|
1000 | 500 | 内部错误 |
2001 | 401 | 鉴权失败,未携带正确的 token |
2002 | 401 | 鉴权失败,token已过期或已被禁用 |
2004 | 403 | 无调用此 API 的权限 |
4001 | 400 | 模版不存在 |
获取模版详情
调用地址
GET /v1/template-configs/{templateId}
调用验证
采用 HTTP 基本认证 的验证方式,在 HTTP Header(头)里加 Authorization:
Authorization: Basic ${base64_auth_string}
上述 base64_auth_string 的生成算法为:base64(dev_key:dev_secret)
请求示例
请求头
GET /v1/template-configs/custom-template-id HTTP/1.1
Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0
请求体
无
请求参数
URL中的{templateId}
表示要获取的模版id,该模版id由创建模版接口时调用方自行定义的
成功返回
{
"template_id": "test-template-1", // 自定义的模版id,应用内唯一
"description": "测试模版1", // 该模版的描述说明
"send_channel_strategy": "whatsapp|sms", // 模版的下发策略,支持whatsapp/sms/voice/email四类,组合策略则使用|字符表示失败补发
"brand_name": "品牌名称", // 品牌名称,用在一些国家地区模版内容中的签名(如短信通道中一些国家地区要求要注册签名)
"verify_code_config": { // 验证码的配置,用于配置自动生成的验证码,模版包含验证码类型时返回
"verify_code_type": 1, // 验证码类型,取值范围[1,7]
"verify_code_len": 6, // 验证码长度,取值范围[4,10]
"verify_code_ttl": 1 // 验证码有效期,取值范围[1,10],注意当策略包含whatsapp时取值只能是1,5,10
},
"whatsapp_config": { // whatsapp策略的配置,当下发策略包含whatsapp时返回
"template_type": 1 // whatsapp模版类型,目前仅支持默认模版,即固定取值为1
},
"sms_config": { // sms策略的配置,当下发策略包含sms时返回
"template_type": 2, // sms模版类型,取值:1-默认模版/2-自定义模版
"template_parts": 1, // sms模版预估的计费条数,模版过长则会具体的价格=计费条数*计费单价
"template_custom_config": { // sms自定义模版配置,sms模版类型为自定义模版时有效
"custom_sub_type": "authentication", // 自定义模版类型,取值:authentication-验证码/marketing-营销/utility-通知
"custom_content": "xxx" // 自定义模版内容,注意若子类型为authentication验证码类型时必须包含{{code}}变量
}
},
"voice_config": { // voice策略的配置,当下发策略包含voice时返回
"template_type": 1 // voice模版类型,目前仅支持默认模版,即固定取值为1
},
"email_config": { // email策略的配置,当下发策略包含email时返回
"template_name": "email模板名称", // email模版名称
"template_custom_configs": [{ // email自定义模版配置,email模版类型为自定义模版时有效,注意这里是对象数组,主要是通过language进行区分配置多个
"language": "default", // 语言,default为默认,消息下发时可以根据language参数来匹配不同的模版内容
"pre_from_name": "test", // 预设的发送人名称
"pre_from_mail": "test@test.com", // 预设的发送人邮箱
"pre_subject": "test", // 预设的邮件主题
"template_content": "预设邮件模版内容,必填,自定义变量如{{self}},验证码是{{code}}", // 邮件内容,支持html,变量需要使用两个大括号{{}}括起来
"pre_param_map": { // 邮件内容中变量的默认值,即下发时若不指定变量值,则采用下述的默认值来替换变量,采用key-value对声明
"self": "这里是self变量预设值"
}
}]
},
"pwa_config": { // pwa相关的配置,具有pwa配置时才会返回
"pwa_platform": "xx", // 使用的pwa平台
"pwa_code": "xx" // 使用的pwa平台中的code
},
"created_time": 1234567890, // 该模版的创建时间,时间戳格式,精确到秒
"status": 1, // 模版状态,取值:1-待审核/2-审核通过/3-审核拒绝
"audit_remark": "xx" // 审核备注,一般当审核拒绝时可以查看该字段看审核拒绝说明
}
失败返回
{
"code": 4001,
"message": "config not exist"
}
错误码
错误码 | http code | 说明 |
---|---|---|
1000 | 500 | 内部错误 |
2001 | 401 | 鉴权失败,未携带正确的 token |
2002 | 401 | 鉴权失败,token已过期或已被禁用 |
2004 | 403 | 无调用此 API 的权限 |
4001 | 400 | 模版不存在 |