阿里大于短信平台对接

阿里大于短信平台(短信平台)对接相关说明

 一: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);
    }
}

 提示:阿里大于平台用户可以选个人使用或企业使用的短信,企业使用需要三证合一证书和授权书,个人不需要

  推荐几个比较好的短信平台:阿里大于,网易运行,信信客

原文地址:https://www.cnblogs.com/yizhang/p/7283245.html