增加短信渠道
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
# 短信集成
|
||||
|
||||
管理入口:**扩展功能 → 短信服务**。支持阿里云和腾讯云官方 Go SDK。
|
||||
配置保存在现有集成配置表中,保存后立即生效,服务重启后自动恢复。
|
||||
新安装自动创建菜单;已有安装启动时通过 `202609290001_sms_admin_surface` 迁移补上菜单和超级管理员发送权限。
|
||||
其他角色需要分配短信菜单、集成配置读写权限及短信发送权限。
|
||||
|
||||
## 配置
|
||||
|
||||
- 阿里云:AccessKey ID、AccessKey Secret、审核通过的短信签名、模板 CODE。当前接入中国大陆 `SendSms` 接口。
|
||||
- 腾讯云:Secret ID、Secret Key、短信应用 SDK App ID、地域(默认 `ap-guangzhou`)、签名、模板 ID。
|
||||
- 保存并启用后才能发送。保留密钥的 `******` 占位符表示沿用原值;不在配置文件中存储凭证。
|
||||
- 每个服务商当前配置一个签名及模板。切换模板需修改配置。
|
||||
|
||||
## 发送
|
||||
|
||||
`POST /integration/sms/:provider/send`,`:provider` 为 `aliyun` 或 `tencent`。
|
||||
接口位于现有鉴权和权限控制中,遵循 `{code,data,msg}` 响应格式。每次只发送给一个号码。
|
||||
|
||||
阿里云参数示例:
|
||||
|
||||
```json
|
||||
{"phone":"+8613800138000","params":{"code":"123456"}}
|
||||
```
|
||||
|
||||
腾讯云参数示例:
|
||||
|
||||
```json
|
||||
{"phone":"+8613800138000","params":["123456","5"]}
|
||||
```
|
||||
|
||||
参数值必须为字符串;阿里云使用命名对象,腾讯云按模板顺序填写数组。
|
||||
无参数模板分别传 `{}` 或 `[]`。手机号使用包含 `+` 和国家区号的格式。
|
||||
|
||||
成功返回 `data.requestId` 和 `data.messageId`,表示服务商已受理,不代表手机已收到。
|
||||
失败返回服务商错误码(例如余额不足、签名未审核、频率限制),不回传原始 SDK 请求或凭证。
|
||||
网络失败不能保证短信未发送,核对服务商记录后再决定是否重试。
|
||||
|
||||
测试按钮会实际发送并可能计费。应用和 SDK 均不自动重试发送请求;腾讯云调用受请求上下文控制,阿里云 SDK 的连接和读取各限制为最多 10 秒。
|
||||
发送日志隐藏手机号及模板参数,操作审计保留操作者和接口信息。真实发送需要自行配置云账户凭证、审核通过的签名及模板。
|
||||
|
||||
此集成提供模板短信发送能力,不包含验证码生成、校验或登录流程。
|
||||
Reference in New Issue
Block a user