阿里大于短信平台(短信平台)对接相关说明
一:api文档链接:https://api.alidayu.com/docs/api.htm?spm=a3142.7395905.4.7.W5QHoB&apiId=26039
控制台地址:https://dayu.aliyun.com/center/user/account,控制台申请短信签名和短信模板
二:对接短信平台方式:
1)使用的是官方提供的SDK(目前是这种)
SDK版本:
taobao-sdk-java-auto_1455552377940-20160607.jar
taobao-sdk-java-auto_1455552377940-20160607-source.jar(源码包)
其中SDK的jar包下载地址:点我下载
2)自己按官方说明拼接参数进行对接
三:目前对接的工具类:
SmsNumSendCore.java 短信发送,其中send()方法,发送成返回"true",发送失败返回的是失败原因(中文描述)
示例图片:
下面为示例代码:
package test_java;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.taobao.api.ApiException;
import com.taobao.api.DefaultTaobaoClient;
import com.taobao.api.TaobaoClient;
import com.taobao.api.request.AlibabaAliqinFcSmsNumSendRequest;
import com.taobao.api.response.AlibabaAliqinFcSmsNumSendResponse;
/**
* 阿里大于短信工具发送类(验证码及普通通知)
*
* @author zhangyi
* @version 2.0
* @time 2017年8月3日 下午1:15:59
*/
public class SmsNumSendCore {
protected String serverUrl = "http://gw.api.taobao.com/router/rest";
protected String appKey;
protected String appSecret;
private final String smsType = "normal"; // 短信类型,传入值请填写normal
private final String format = "json"; // 响应格式。默认为xml格式,可选值:xml,json。
public SmsNumSendCore(String appKey, String appSecret) {
this.appKey = appKey;
this.appSecret = appSecret;
}
/**
* 短信发送方法
*
* @param smsFreeSignName
* 短信签名
* @param smsTemplateCode
* 短信模板ID
* @param smsParam
* 短信参数 类似{\"code\":\"1234\"}
* @param recNum
* 短信接收号码。支持单个或多个手机号,多个用逗号隔开
* @return
* @throws ApiException
* @author zhangyi
* @time 2017年8月3日 下午1:27:54
*/
public String send(String smsFreeSignName, String smsTemplateCode, String smsParam, String recNum) throws ApiException {
TaobaoClient client = new DefaultTaobaoClient(serverUrl, appKey, appSecret, format);
AlibabaAliqinFcSmsNumSendRequest req = new AlibabaAliqinFcSmsNumSendRequest();
req.setSmsType(smsType);
req.setSmsFreeSignName(smsFreeSignName);
req.setSmsParamString(smsParam);
req.setRecNum(recNum);
req.setSmsTemplateCode(smsTemplateCode);
AlibabaAliqinFcSmsNumSendResponse rsp = client.execute(req);
String result = rsp.getBody();
JsonParser parser = new JsonParser();
JsonObject jsonObj = parser.parse(result).getAsJsonObject();
if (jsonObj.getAsJsonObject("alibaba_aliqin_fc_sms_num_send_response") != null) {
return "true";
} else {
return jsonObj.getAsJsonObject("error_response").get("sub_msg").getAsString();
}
}
public static void main(String[] args) throws Exception {
SmsNumSendCore smsNumSendCore = new SmsNumSendCore("23384490", "9a126def86a25c8a0486af0b55fdd5fd");
String rs = smsNumSendCore.send("短信签名(审核通过的)", "短信模板ID(审核通过的)", "{\"code\":\"123456\"}(内容)", "134****1037(接收短信号码,多个用逗号隔开)");
System.out.println(rs);
}
}
提示:阿里大于平台用户可以选个人使用或企业使用的短信,企业使用需要三证合一证书和授权书,个人不需要
推荐几个比较好的短信平台:阿里大于,网易运行,信信客