- Content-Type: application/json;charset=utf-8
- 编码: UTF-8
- 请求地址: https://api.aiofish.com/rest/sms/batchSendSms/encryption
- 请求方式: POST
  {
    "account": "api003",
    "ts": "1698632973036",
    "bizContent": "10e18d2ebaebdb485cae33dca2604e10706cfa2ba255ba0bedb7ec9f7099",
    "sign": "1f55c5a8b38bc37706bbed532940ae4190814a5c96fe2c3"
}
| 参数 | 数据类型 | 是否必填 | 字段解释 | 
|---|
| account | String | 是 | 对接账号(短信平台提供) | 
| ts | String | 是 | 时间戳。单位:毫秒 | 
| bizContent | String | 是 | 加密后的请求内容。原始数据对象先转为json字符串,然后使用AES进行加密。AES使用AES/ECB/PKCS5Padding模式加密,密钥长度128位。AES加密参考 AesUtil.java | 
| sign | String | 是 | 数字签名。 说明:参数(account,ts,appSecret,bizContent)按照升序拼接,再使用SHA256生成签名。 | 
{
"mobiles": [
  {
    "mobile": "13000000000",
    "content": "【测试】您的验证码是123456。"
  },
  {
    "mobile": "13000000001",
    "content": "【测试】您的验证码是654321。"
  }
],
"subCode": "12",
"smsId": "f5e08fb8d073c7b536f7ccaa9f07e1",
"sendTime": null
} 
| 参数 | 数据类型 | 是否必填 | 字段解释 | 
|---|
| mobiles | SendObj[] | 是 | 批量发送对象,提交数量不超过200个 | 
| subCode | String | 否 | 扩展码,只能为数字。 | 
| smsId | String | 否 | 消息唯一标识ID,用来匹配状态报告,最大可支持32位。(如不填写则短信平台自动生成) | 
| sendTime | String | 否 | 定时发送时间,格式:2020-10-01 12:12:13 | 
| 参数 | 数据类型 | 是否必填 | 字段解释 | 
|---|
| mobile | String | 是 | 单个手机号码 | 
| content | String | 是 | 完整的短信内容 | 
import com.google.common.base.Joiner;
import org.apache.commons.codec.digest.DigestUtils;
public static String generateSign(String account, String ts, String  bizContent, 
                                            String appSecret) throws Exception {
    Map<String, String> params = new TreeMap<>();
    params.put("account", account);
    params.put("appSecret", appSecret);
    params.put("ts", ts);
    params.put("bizContent", bizContent);
    String str = Joiner.on("&").withKeyValueSeparator("=").join(params);
    return DigestUtils.sha256Hex(str);
}
原始内容拼接:
account=api003&appSecret=ba92fa4836984eb98156e6ec8a6b2454&bizContent=10e18d2ebaebdb485cae33dca2&ts=1698632973036
签名结果:
1f825da81826e47c4dbff9a5c785cb8c141dcb1a5343d3650bfe6794879ef400
{
  "code": 200,
  "smsId": "e4aaea7fb95d40159d1e325df01d9e72",
  "subStat": "r:000",
  "subStatDes": "处理成功"
}
| 参数 | 数据类型 | 字段解释 | 
|---|
| code | int | 响应code | 
| smsId | String | 消息唯一标识ID.如果客户端提供则等于请求时的smsId,否则为短信平台自动生成。 | 
| subStat | String | 值为 r:000时表示该请求被成功受理,其他值则表示受理失败 | 
| subStatDes | String | 响应码描述 |