简单消息服务SMS

    快速入门

    本章将学到如何用SMS Java SDK完成一些基本的操作。

    综述

    使用本SDK可以完成短信发送、模板申请、模板查询等SMS服务,所有操作都是通过SmsClient与SMS服务进行交互;
    具体接口参数定义详细请参考API文档。

    发送短信示例

    描述

    本示例完成了SMS短信发送功能。

    import java.util.HashMap;
    import java.util.Map;
    
    import com.baidubce.auth.DefaultBceCredentials;
    import com.baidubce.services.sms.SmsClient;
    import com.baidubce.services.sms.SmsClientConfiguration;
    import com.baidubce.services.sms.model.SendMessageV2Request;
    import com.baidubce.services.sms.model.SendMessageV2Response;
    
    public class SendMessageExample {
    
    	public static void main(String[] args) {
    		// 相关参数定义
    		String endPoint = "http://sms.bj.baidubce.com"; // SMS服务域名,可根据环境选择具体域名
    		String accessKeyId = "u23487324298ewuroiew";  // 发送账号安全认证的Access Key ID
    		String secretAccessKy = "8273dsjhfkjdshf78327jkj"; // 发送账号安全认证的Secret Access Key
    
    		// ak、sk等config
    		SmsClientConfiguration config = new SmsClientConfiguration();
    		config.setCredentials(new DefaultBceCredentials(accessKeyId, secretAccessKy));
    		config.setEndpoint(endPoint);
    
    		// 实例化发送客户端
    		SmsClient smsClient = new SmsClient(config);
    
    		// 定义请求参数
    		String invokeId = "dkw86m01T-26Nv9-H5Z3"; // 发送使用签名的调用ID
    		String phoneNumber = "13800138000"; // 要发送的手机号码(只能填写一个手机号)
    		String templateCode = "smsTpl:0000000000000000000000"; // 本次发送使用的模板Code
    		Map<String, String> vars =
    				new HashMap<String, String>(); // 若模板内容为:您的验证码是${code},在${time}分钟内输入有效
    		vars.put("code", "986082");
    		vars.put("time", "30");
    
    		//实例化请求对象
    		SendMessageV2Request request = new SendMessageV2Request();
    		request.withInvokeId(invokeId)
    				.withPhoneNumber(phoneNumber)
    				.withTemplateCode(templateCode)
    				.withContentVar(vars);
    
    		// 发送请求
    		SendMessageV2Response response = smsClient.sendMessage(request);
    
    		// 解析请求响应 response.isSuccess()为true 表示成功
    		if (response != null && response.isSuccess()) {
    			//  submit success
    		} else {
    			// fail
    		}
    	}
    }

    申请短信模板示例

    描述

    本示例完成了SMS模板申请功能。

    import java.util.HashMap;
    import java.util.Map;
    
    import com.baidubce.auth.DefaultBceCredentials;
    import com.baidubce.services.sms.SmsClient;
    import com.baidubce.services.sms.SmsClientConfiguration;
    import com.baidubce.services.sms.model.CreateTemplateRequest;
    import com.baidubce.services.sms.model.CreateTemplateResponse;
    import com.baidubce.services.sms.model.SendMessageV2Request;
    import com.baidubce.services.sms.model.SendMessageV2Response;
    
    public class CreateTemplateExample {
    
        public static void main(String[] args) {
            // 相关参数定义
            String endPoint = "http://sms.bj.baidubce.com"; // SMS服务域名,可根据环境选择具体域名
            String accessKeyId = "u23487324298ewuroiew";  // 发送账号安全认证的Access Key ID
            String secretAccessKy = "8273dsjhfkjdshf78327jkj"; // 发送账号安全认证的Secret Access Key
    
            // ak、sk等config
            SmsClientConfiguration config = new SmsClientConfiguration();
            config.setCredentials(new DefaultBceCredentials(accessKeyId, secretAccessKy));
            config.setEndpoint(endPoint);
    
            // 实例化发送客户端
            SmsClient smsClient = new SmsClient(config);
    
            // 定义请求参数
            String invokeId = "dkw86m01T-26Nv9-H5Z3"; // 模板对应的签名调用ID
            String name = "验证码模板"; // 模板名称
            String content = "您的验证码是${vCode},看完马上删了"; // 模板内容
    
            //实例化请求对象
            CreateTemplateRequest request = new CreateTemplateRequest();
            request.withInvokeId(invokeId)
                    .withName(name)
                    .withContent(content);
    
            // 发送请求
            CreateTemplateResponse response = smsClient.createTemplate(request);
    
            // 解析请求响应 response.isSuccess()为true 表示成功
            if (response != null && response.isSuccess()) {
                // success: do something
                // 获取新创建的模板ID
                String templateCode = response.getData().getTemplateId();
            } else {
                // fail: do something
            }
        }
    }
    上一篇
    安装SMS-Java-SDK
    下一篇
    SmsClient