自定义短信通道

平台支持阿里云通信、腾讯短信、创蓝短信、亿美软通短信等短信通道,通过配置相关参数发送短信。对于使用其他短信通道,支持通过自定义短信通道实现发送短信。

短信通道配置

使用自定义短信通道时,可以配置如下信息

1754529335587

发送请求时通过 ${参数名称} 获取配置内容,例如:使用 ${url} 获取短信地址

配置名称 参数名称 说明
Access Key ID accessKeyID
Access Key Secret accessKeySecret
短信签名 signName
短信地址 url 如果调用租户内应用中的服务,应用的域名需要使用内部域名,进入“企业门户应用-服务注册”页面,查看应用的内部域名

请求模版配置

自定义短信通道提供三个请求模版的配置,如下图所示

1754529575536

在用户注册界面,发送短信验证码,系统调用 /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"
        }
    }
]

results matching ""

    No results matching ""