Java SDK
一、准备工作
1)获取SDK密钥信息
- 获取 SDK 密钥信息,也即公钥(也即 PublicKey)、私钥(也即 PrivateKey),可从 API产品/API密钥 获取,获取步骤详见:如何获取公钥、私钥。
2)获取项目ID
3)申请短信签名
- 国内短信:国内短信发送的内容由短信签名、短信正文两部分组成;您可在短信服务-控制台 的国内短信/短信签名模块,自助申请短信签名;详细申请步骤详见:如何申请短信签名
- 国际短信:国际短信可不填写短信签名;
4)申请短信模板
- 国内短信:国内短信发送的内容由短信签名、短信正文两部分组成;其中,短信正文通过调用短信模板获取;您可在短信服务-控制台 的国内短信/短信签名模块,自助申请短信模板;详细申请步骤详见:如何申请短信模板
- 国际短信:您可在短信服务-控制台 的国际短信/短信签名模块,自助申请短信模板;详细申请步骤详见:如何申请短信模板
二、配置 SDK
1)安装 SDK
参考 安联云 SDK 快速开始,安装 SDK。
2)参数说明
- 手机号列表(PhoneNumbers):支持国际及国内短信,国际短信使用
(86)13812345678
格式,需要在手机号码前面带上国际电话区号 - 短信模板 ID(TemplateId): 首次使用,需要在 安联云 控制台申请模板,审核通过后,将模板 ID 传入到该处。
- 短信模板参数列表(TemplateParams):短信模板中可传入变量,申请的时候模板中有几个变量,则需要传入几个。
- 短信签名(SigContent):首次使用,需要在 安联云 控制台申请签名,审核通过后,将签名传入该处。首次申请的签名为默认签名,有默认签名存在时,该参数可不填。
3)相关限制
-
短信内容无论字母,汉字,中英文标点符号,均按照 1 个字符计算,内容长度不能多于 600 字。
-
国内:单条短信字数上限为 70 个,超过 70 个字数将按照“每 67 个字数作为 1 条短信计”
-
单次发送的短信字数上限为 500 个,字母、汉字、中英文标点符号,均按照 1 个字数计算;
-
短信内容请勿包含特殊字符(可进入短信包页面,通过敏感词检测工具检查)。
三、完整示例
package sample.main;
import cn.ucloud.common.config.Config;
import cn.ucloud.common.credential.Credential;
import cn.ucloud.usms.client.USMSClient;
import cn.ucloud.usms.models.SendUSMSMessageRequest;
import cn.ucloud.usms.models.SendUSMSMessageResponse;
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
Config config = new Config();
Credential credential = new Credential(
"...",
"..."
);
USMSClient client = new USMSClient(config, credential);
List<String> phoneNumbers = new ArrayList<>();
phoneNumbers.add("...");
phoneNumbers.add("...");
SendUSMSMessageRequest req = new SendUSMSMessageRequest();
req.setSigContent("...");
req.setProjectId("...");
req.setTemplateId("...");
req.setPhoneNumbers(phoneNumbers);
List<String> templateParams = new ArrayList<>();
templateParams.add("424242");
req.setTemplateParams(templateParams);
SendUSMSMessageResponse resp = null;
try {
resp = client.sendUSMSMessage(req);
} catch (Exception e) {
e.printStackTrace();
}
System.out.println(resp);
}
}