接口文档
24435 2024-07-25 14:00:41 中昱维信
协议类目 | 说明 |
调用地址 | https://cloud.10658.com.cn/smsApi/custom |
请求方式 | POST(HTTPS) |
编码格式 | UTF-8 |
Content-Type | application/x-www-form-urlencoded;charset=utf-8 |
参数名称 | 类型 | 是否必填 | 描述 | 示例值 |
appId | String | 是 | 账户标识。平台分配给用户的接口调用账户标识,登录平台首页账号信息栏可查看。 | 2RYN7CQHL1M***** |
appKey | String | 是 | 账户密钥。平台分配给用户的接口调用密钥,登录平台首页账号信息栏,校验身份后可查看。 | WVNA4A0***** |
sendTime | String | 否 | 定时时间。留空则表示立即发送,时间格式为:yyyy-MM-dd HH:mm:ss | 2018-08-21 14:00:00 |
smsId | String | 是 | 定制短信模板id。 (平台申请审核通过后可用) | 123 |
content | String | 是 | 号码及变量值。 (content字符串由手机号和变量值组成,手机号码为固定key,用于存储用户手机号;其余的key名称需要和平台个性化模板中的变量名称一一对应) (短信内容不支持插入表情符号) | 如模板为:【云通信】尊敬的${姓名}你好,您本月实发薪资为:${工资},请注意查收! 则提交content为: [{"手机号码":"15831471961","姓名":"张三","工资":"10000.00"},{"手机号码":"13076523432","姓名":"李四","工资":"20000.00"}] |
import java.io.IOException;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;
import com.alibaba.fastjson.JSONObject;
import com.veesing.utils.Config;
/**
* 定制短信发送
* @author MWH
*
*/
public class SmsGroupTest {
public static void main(String[] args) {
// 获取连接
HttpClient client = new HttpClient();
// 定制短信群发API接口地址
PostMethod method = new PostMethod("https://cloud.10658.com.cn/smsApi/custom");
// 设置编码
client.getParams().setContentCharset("UTF-8");
method.setRequestHeader("ContentType", "application/x-www-form-urlencoded;charset=utf-8");
// 发送内容
String content = "[{"手机号码":"15831471961","姓名":"张三","工资":"10000.00"},{"手机号码":"13076523432","姓名":"李四","工资":"20000.00"}]";
// 拼接参数
NameValuePair[] data = {
new NameValuePair("appId", "2RYN7CQHL1M*****"),
new NameValuePair("appKey", "WVNA4A0*****"),
new NameValuePair("smsId", "123"),
// 发送时间,时间请务必大于实际提交时间的30分钟, 立即发送则不填,
// new NameValuePair("sendTime", "2018-08-21 14:00:00") ,
new NameValuePair("content", content)};
method.setRequestBody(data);
try {
client.executeMethod(method);
String result = method.getResponseBodyAsString();
// 返回结果
System.out.println(result);
JSONObject jsonObject = JSONObject.parseObject(result);
// 返回1则发送成功(逻辑操作请根据接口文档返回参数自行判断)
if (jsonObject.get("returnStatus").equals("1")) {
System.out.println("成功!");
} else {
System.out.println("失败!");
}
// 释放连接
method.setRequestHeader("Connection", "close");
method.releaseConnection();
} catch (HttpException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
{
"returnStatus": "1 ", //状态码
"message": "成功", //状态提示信息
"remainPoint": "241", //本次发送后,账户剩余条数
"taskId": "3313746", //下发批次ID(唯一)
"successCounts": "1" //成功条数
}
{
"returnStatus": "0", //状态码
"message": "参数错误", //状态提示信息
"remainPoint": null, //本次发送后,账户剩余条数
"taskId": null, //下发批次ID(唯一)
"successCounts": null //成功条数
}
状态码 | 状态提示信息 |
1 | 发送成功 |
0 | 账号或密码错误 |
0 | 缺少参数 |
0 | 模板不存在或者未通过 |
0 | 模板id格式不正确 |
0 | 您的账户已被锁定,请联系您的专属客服 |
0 | 余额不足 |
0 | 手机号码格式不正确 |
0 | 该号码今日发送次数已达上限 |
0 | 相同手机号码一分钟之内只可发送一次 |
0 | 当日发送量已超出最大发送限制 |
0 | 未知原因,请联系客服 |
用户回复短信后,触发回复数据推送,每回复一条,则推送一条;运营商产生短信回执后,触发回执数据推送,每产生一条回执,则推送一条。
回执回复数据,由短信平台主动推送到用户设置的地址上,数据格式需遵循标准化数据格式。
协议类目 | 说明 |
调用方式 | 主动回调 |
请求方式 | POST(HTTPS) |
编码格式 | UTF-8 |
数据交互格式 | Key-Value |
Content-Type | application/x-www-form-urlencoded;charset=utf-8 |
参数名称 | 类型 | 是否必填 | 描述 | 示例值 |
mobile | String | 是 | 用户手机号码 | 1508092**** |
taskid | String | 是 | 下发批次ID | 123 |
status | String | 是 | 回执状态 1.发送成功 0.发送失败 | 1 |
receivetime | String | 是 | 回执产生时间 yyyy-MM-dd HH:mm:ss | 2019-07-23 17:00:00 |
参数名称 | 类型 | 是否必填 | 描述 | 示例值 |
mobile | String | 是 | 用户手机号码 | 1508092**** |
taskid | String | 是 | 下发批次ID | 123 |
content | String | 是 | 回复内容 (用户回复的短信内容) | 收到 |
receivetime | String | 是 | 回复上行时间 yyyy-MM-dd HH:mm:ss | 2019-07-23 17:00:00 |
协议类目 | 说明 |
调用地址 | https://cloud.10658.com.cn/smsApi/custom/getBalance |
请求方式 | POST(HTTPS) |
编码格式 | UTF-8 |
Content-Type | application/x-www-form-urlencoded;charset=utf-8 |
参数名称 | 类型 | 是否必填 | 描述 | 示例值 |
appId | String | 是 | 账户标识。平台分配给用户的接口调用账户标识,登录平台首页账号信息栏可查看。 | 2RYN7CQHL1M***** |
appKey | String | 是 | 账户密钥。平台分配给用户的接口调用密钥,登录平台首页账号信息栏,校验身份后可查看。 | WVNA4A0***** |
OkHttpClient client = new OkHttpClient().newBuilder()
.followRedirects(false)
.build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = RequestBody.create(mediaType, "");
Request request = new Request.Builder()
.url("https://cloud.10658.com.cn/smsApi/custom/getBalance?appId=2RYN7CQHL1M*****&appKey=WVNA4A0*****")
.method("POST", body)
.build();
Response response = client.newCall(request).execute();
{
"returnStatus": "1 ", //状态码
"message": "成功", //状态提示信息
"remainPoint": "241", //账户剩余条数
"taskId": null, //下发批次ID(唯一)
"successCounts": null //成功条数
}
{
"returnStatus": "0", //状态码
"message": "参数错误", //状态提示信息
"remainPoint": null, //账户剩余条数
"taskId": null, //下发批次ID(唯一)
"successCounts": null //成功条数
}
状态码 | 状态提示信息 |
1 | 提交成功 |
0 | 账号或密码错误 |
0 | 缺少参数 |
0 | 您的账户已被锁定,请联系您的专属客服 |
0 | 未知原因,请联系客服 |
0 | IP受限 |