该接口主要功能
公共参数已省略,详细见 公共参数
参数名称 | 类 型 | 是否必选 | 最大长度 | 描述 |
---|---|---|---|---|
mobile | String | Y | 11 |
接收短信的手机号; 单次调用仅支持一个手机号; 发送国际短信,请去掉手机号前的0 |
templateId | String | Y | 20 | 模板ID |
params | String | Y | 500 | 该模板ID模板变量中要替换的内容;{"code":"123","time":"20180816"} |
paramType | String | Y | 该字段必填:“json” | |
internationalCode | String | N | 国内短信业务不需要此参数。调用国际短信时,在此传国家代码。国家代码大全 |
若您需要易盾帮您生成并校验验证码,请传输以下三个参数,并结合验证码校验接口 使用
请注意,若要使用,以下三个参数必须一起传,不使用则都不传
参数名称 | 类 型 | 是否必选 | 最大长度 | 描述 |
---|---|---|---|---|
codeLen | String | N | 验证码数字个数,支持范围4-10 | |
codeName | String | N | 参数templateId传过来的模板ID中的验证码变量名,例:${code}。务必填写正确,否则验证码无法完成替换 | |
codeValidSec | String | N | 验证码有效期,支持范围300-1800秒,单位-秒 |
所有接口响应值采用 json 格式, 如无特殊说明,每次请求的返回值中,都包含下面字段:
参数名称 | 类型 | 描述 |
---|---|---|
code | Number | 接口调用状态,200:正常,其他值:调用出错,返回码见 响应返回码 |
msg | String | 结果说明,如果接口调用出错,那么返回错误描述,成功返回 ok |
data | String | 接口返回结果,各个接口自定义 |
data 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
result | Number | 接口调用状态,200:正常,其他值:调用出错,返回码见下方响应结果码 |
requestId | String | 本次请求的唯一标识符,若使用易盾提供的验证码校验功能,该字段将作为验证传参之一 |
/** 产品密钥ID,产品标识 */ private final static String SECRETID = "your_secret_id"; /** 产品私有密钥,服务端生成签名信息使用,请严格保管,避免泄露 */ private final static String SECRETKEY = "your_secret_key"; /** 业务ID,易盾根据产品业务特点分配 */ private final static String BUSINESSID = "your_business_id"; /** 本机认证服务身份证实人认证在线检测接口地址 */ private final static String API_URL = "https://sms.dun.163.com/v2/sendsms"; /** 实例化HttpClient,发送http请求使用,可根据需要自行调参 */ private static HttpClient httpClient = HttpClient4Utils.createHttpClient(100, 100, 2000, 2000, 2000); /**
*
* param args
* throws Exception
*/ public static void main(String[] args) throws Exception {
Map<String, String> params = new HashMap<String, String>(); // 1.设置公共参数 params.put("secretId", SECRETID);
params.put("businessId", BUSINESSID);
params.put("version", "v2");
params.put("timestamp", String.valueOf(System.currentTimeMillis())); //32随机字符串 //params.put("nonce", getRandomStr(32)); params.put("nonce", "dh2u81hdah129zjk2hlla118snebd2q1"); // 2.设置私有参数d JSONObject jsonObject = new JSONObject();
jsonObject.put("code", "123");
jsonObject.put("time", "20180816");
params.put("mobile", "18883110011"); //使用JSON格式填充模板 params.put("paramType", "json");
params.put("params", jsonObject.toJSONString());
params.put("templateId", "10000"); //使用验证码生成功能 params.put("codeName", "code");
params.put("codeLen", "6");
params.put("codeValidSec", "300"); // 3.生成签名信息 String signature = SignatureUtils.genSignature(SECRETKEY, params);
params.put("signature", signature); // 4.发送HTTP请求,这里使用的是HttpClient工具包,产品可自行选择自己熟悉的工具包发送请求 String response = HttpClient4Utils.sendPost(httpClient, API_URL, params); //5.解析报文返回 ApiResponse apiResponse = gson.fromJson(response, ApiResponse.class); //6.返回结果 String requestId = apiResponse.getData().getRequestId();
}
当请求成功时,输出示例如下:
{
"code": 200,
"msg": "ok",
"data": {
"result" : 200,
"requestId" : "7bgsdg2sdhfwi34hkhui" } }