DEMO示例

服务场景描述

邮件短信服务通过调用发送邮件API、发送短信API完成邮件短信的发送功能,满足产品通过短信和邮件形式实现通知的需求。

服务调用流程

1.本服务调用依赖以下API

短信服务API

发送邮件 API

发送企业微信群消息 API

2.服务调用前置条件

  • 创建应用,获取appkey、appsecret;

  • 获取服务调用token;

  • 开通服务,scope授权通过;

    以上步骤可参考前置准备

  • 创建邮件、短信模板,获取模板id;

获取邮件、短信模板操作:1、登录AECORE;2、开通邮件短信服务;3、创建邮件、短信模板

示例图1:创建短信模板

示例图2:创建邮件模板

示例图3:模板创建后,默认状态为“审批中”,需要等待审批,审批后状态变为“使用中”后,即可正式使用

3.具体调用步骤

step1:maven依赖

<!--使用公司公共maven仓库(packages.glodon.com),引用配置登录仓库搜索即可。本地项目涉及到该sdk版本冲突时可能需要手动解决版本控制问题-->
<dependency>
    <groupId>com.glodon.paas.colibri</groupId>
    <artifactId>colibri-core</artifactId>
    <version>2.1.1-SNAPSHOT</version>
</dependency>

step2:实例化ColibriSDK

    ColibriSDK client = new ColibriSDK();
	//用户中心地址
    client.setAccountServerUrl("https://account.glodon.com");
	//发送邮件地址,需要时设置
    client.setApiColibriUrlEmail("https://colibri.glodon.com/api/email");
	//发送短信地址,需要时设置
    client.setApiColibriUrlSms("https://colibri.glodon.com/api/security/sms");
   //发送企业微信群消息地址,需要时设置
    client.setApiColibriUrlQywx("https://colibri.glodon.com/api/qywx");
	//申请到的应用appkey,与申请模板的appkey保持一致
    client.setAppKey(appKey);
	//申请到的应用appsecert
    client.setAppSecret(appSecret);

step3:邮件发送服务调用

    //邮件发送
    EmailMessage msg = new EmailMessage();
	//收件人地址列表
    msg.setTo(new String[]{"XXX@glodon.com"});
    //html方式发送
    msg.setHtml(true); 
    //收件模板
    msg.setTemplateId("XXXX_zh_CN");
   //模板参数变量
    Map<String, Object> params = new HashMap<String, Object>(); 
    params.put("password", "11");
    params.put("adminEmail", "http://www.baidu.com");
    msg.setParams(params);
    client.sendEmail(msg, true);

step4:短信发送服务调用

    //短信发送
	SmsMessage msg = new SmsMessage();
    msg.setMobiles(new String[]{"188XXXXXXXX"});
	//短信模板
    msg.setTemplateId("author_verification_sms");
    //模板参数变量
    Map<String, Object> params = new HashMap<String, Object>(); 
    params.put("password", "11");
    params.put("adminEmail", "http://www.baidu.com");
    msg.setParams(params);
    client.sendSms(msg, true);

step5:企业微信群消息发送服务调用

    //企业微信群消息发送
	QywxMessage msg = new QywxMessage();
    msg.setRobotKey("693a91f6-7xxx-4bc4-97a0-0ec2sifa5aaa");//假设webhook是:https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=693a91f6-7xxx-4bc4-97a0-0ec2sifa5aaa
	//消息类型
    msg.setMsgtype("text");
    //消息内容
    msg.setText(new QywxInnerContent());
    msg.getText().setContent("北京今日天气:29度,大部分多云,降雨概率:60%");
    client.sendQywx(msg, true);

演示代码

public static void main(String[] args) throws Exception {
    ColibriSDK client = new ColibriSDK();
    //用户中心地址
    client.setAccountServerUrl("https://account.glodon.com");
    //发送邮件地址,需要时设置
    client.setApiColibriUrlEmail("https://colibri.glodon.com/api/email");
    //发送短信地址,需要时设置
    client.setApiColibriUrlSms("https://colibri.glodon.com/api/security/sms");
    //发送企业微信群消息地址,需要时设置
    client.setApiColibriUrlQywx("https://colibri.glodon.com/api/qywx");
    //申请到的应用appkey,与申请模板的appkey保持一致
    client.setAppKey(appKey);
    //申请到的应用appsecert
    client.setAppSecret(appSecret);
    
    //1.邮件发送
    EmailMessage msg = new EmailMessage();
    //收件人地址列表
    msg.setTo(new String[]{"XXX@glodon.com"});
    //html方式发送
    msg.setHtml(true); 
    //收件模板
    msg.setTemplateId("XXXX_zh_CN");
    //模板参数变量
    Map<String, Object> params = new HashMap<String, Object>(); 
    params.put("password", "11");
    params.put("adminEmail", "http://www.baidu.com");
    msg.setParams(params);
    client.sendEmail(msg, true);
    
    //2.短信发送
    SmsMessage msg = new SmsMessage();
    msg.setMobiles(new String[]{"188XXXXXXXX"});
    //短信模板
    msg.setTemplateId("author_verification_sms");
    //模板参数变量
    Map<String, Object> params = new HashMap<String, Object>(); 
    params.put("password", "11");
    params.put("adminEmail", "http://www.baidu.com");
    msg.setParams(params);
    client.sendSms(msg, true);
    
    //3.企业微信群消息发送
	QywxMessage msg = new QywxMessage();
    msg.setRobotKey("693a91f6-7xxx-4bc4-97a0-0ec2sifa5aaa");//假设webhook是:https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=693a91f6-7xxx-4bc4-97a0-0ec2sifa5aaa
	 //消息类型
    msg.setMsgtype("text");
    //消息内容
  	msg.setText(new QywxInnerContent());
    msg.getText().setContent("北京今日天气:29度,大部分多云,降雨概率:60%");
    client.sendQywx(msg, true);
}