自定义短信通道
平台支持阿里云通信、腾讯短信、创蓝短信、亿美软通短信等短信通道,通过配置相关参数发送短信。对于使用其他短信通道,支持通过自定义短信通道实现发送短信。
短信通道配置
使用自定义短信通道时,可以配置如下信息
发送请求时通过 ${参数名称}
获取配置内容,例如:使用 ${url}
获取短信地址
配置名称 | 参数名称 | 说明 |
---|---|---|
Access Key ID | accessKeyID | |
Access Key Secret | accessKeySecret | |
短信签名 | signName | |
短信地址 | url | 如果调用租户内应用中的服务,应用的域名需要使用内部域名,进入“企业门户应用-服务注册”页面,查看应用的内部域名 |
请求模版配置
自定义短信通道提供三个请求模版的配置,如下图所示
在用户注册界面,发送短信验证码,系统调用 /entry/sms/verifyCode 请求,在请求中判断如果短信配置为使用自定义短信通道,系统会调用“注册验证码请求模版”中的内容
请求模版的写法,参考《requests 详细说明》。例如:下图为注册验证码请求模版的内容示例
请求模版代码如下:
[
{
"method": "POST",
"url": "${url}?phone=${phone}",
"body": {
"templateCode": "verify-code",
"code": "${<params>$.code}"
},
"headers": {
"Accept": "application/json",
"Content-Type": "application/json"
}
}
]
请求参数说明如下
- method:请求方式,GET、POST 等
- url:请求地址,${url} 读取的是配置项中短信地址的内容,也可以直接输入请求地址,支持拼接请求参数
- headers:请求头
- body:请求体参数
自定义短信中的短信请求模版的写法同上
请求模版参数
请求模版中一共有六个参数,使用 ${参数名称}
获取参数值
- 在短信通道配置中配置的 accessKeyID、accessKeySecret、signName、url
- 手机号 phone
- 参数 params
其中 params 是系统提供的用于发送短信的参数,JSON 格式
- 发送验证码时,系统生成验证码,放入到 params 中,作为 code 参数,在请求模版中通过
${<params>$.code}
获取 - 发送任务消息,系统将发送者 submitter、标题 title 等参数,放入 params 中,,在请求模版中通过
${<params>$.title}
等获取
获取 params 的值,有三种方式
- 第一种 直接获取某个值
"code":${<params>$.code}
- 第二种 获取整个 params 的值
"test":${<params>$}|json
- 第三种 直接使用 params 中的键值,使用 request 的 unfoldJson 实现
"unfoldJson": "${...params}"
例如 params = {"code":"123456"}
,使用 unfoldJson 展开 params,直接使用其中的键值,请求模版代码如下
[
{
"method": "POST",
"url": "${url}?phone=${phone}",
"body": {
"templateCode": "verify-code",
"unfoldJson": "${...params}"
},
"headers": {
"Accept": "application/json",
"Content-Type": "application/json"
}
}
]
经过 request 处理后,以下面的内容发送请求
[
{
"method": "POST",
"url": "${url}?phone=${phone}",
"body": {
"templateCode": "verify-code",
"code": "123456",
},
"headers": {
"Accept": "application/json",
"Content-Type": "application/json"
}
}
]