阿里大于短信平台(短信平台)对接相关说明
一: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); } }
提示:阿里大于平台用户可以选个人使用或企业使用的短信,企业使用需要三证合一证书和授权书,个人不需要
推荐几个比较好的短信平台:阿里大于,网易运行,信信客