云片网短信接口
- 注册云片账号
- 开发者认证(个人/企业),输入相关信息、上传相关证件,提交审核
- 一个账号生成唯一的秘钥,可以有多个子账号
- 新增短信签名(加在短信的开头,【腾讯】),提交审核
- 新增模板(发送验证码、系统通知、活动通知的模板),提交审核
- 开始接触API,妥善保管apikey,选择API对应的使用场景,以发送单条短 信为例,URL:https://sms.yunpian.com/v2/sms/single_send.json ,apikey:9b11127a9701975c734b8aee81ee3526,访问方式:POST,接口支持https及http
7.jar包yunpian-java-sdk.jar、log4j.jargson.jar、commons-logging.jar
httpclient.jar (必须4.4以上)、httpcore.jar (必须4.4以上)
public class Send {
private static String ENCODING = "UTF-8";
public static String singleSend(String apikey, String text, String mobile) {
Map<String, String> params = new HashMap<String, String>();
ResourceBundle resource=ReadProperties.getPropertiesInfo();
params.put("apikey", resource.getString("apikey"));
params.put("text", text);
params.put("mobile", mobile);
return post("https://sms.yunpian.com/v2/sms/single_send.json", params);
}
/**
* 获取签名
* @param apikey
* @return
*/
public static String getQianMing(String apikey){
Map<String, String> params=new HashMap<String,String>();
params.put("apikey", apikey);
params.put("page_num", "1");
params.put("page_size", "20");
return post("https://sms.yunpian.com/v2/sign/get.json", params);
}
/**
* 云片网默认方式
* @param url
* @param paramsMap
* @return
*/
public static String post(String url, Map<String, String> paramsMap) {
CloseableHttpClient client = HttpClients.createDefault();
String responseText = "";
CloseableHttpResponse response = null;
try {
HttpPost method = new HttpPost(url);
if (paramsMap != null) {
List<NameValuePair> paramList = new ArrayList<NameValuePair>();
for (Map.Entry<String, String> param : paramsMap.entrySet()) {
NameValuePair pair = new BasicNameValuePair(param.getKey(), param.getValue());
paramList.add(pair);
}
method.setEntity(new UrlEncodedFormEntity(paramList, ENCODING));
}
response = client.execute(method);
HttpEntity entity = response.getEntity();
if (entity != null) {
responseText = EntityUtils.toString(entity, ENCODING);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
response.close();
} catch (Exception e) {
e.printStackTrace();
}
}
return responseText;
}
/**
*调用方式
*/
public static void main(String[] args) {
int num = (int) Math.round(Math.random()*9000+1);
String text="【创客空间】您的验证码是"+num;
System.out.println(text);
String msg=Send.singleSend(ReadProperties.getPropertiesInfo().getString("apikey"), text,"15872299124");
System.out.println(msg);
}
调用成功的返回值示例
{
"code": 0,
"msg": "发送成功",
"count": 1,
"fee": 0.05,
"unit": "RMB",
"mobile": "13200000000",
"sid": 3310228982
}