1.發(fā)送接口
協(xié)議說明
協(xié)議類目 | 說明 |
調(diào)用地址 | https://cloud.10658.com.cn/globalApi/smsCode/send |
請求方式 | POST(HTTPS) |
編碼格式 | UTF-8 |
Content-Type | application/x-www-form-urlencoded;charset=utf-8 |
請求參數(shù)(Query)
參數(shù)名稱 | 類型 | 是否必填 | 描述 | 示例值 |
appId | String | 是 | 賬戶標(biāo)識。平臺分配給用戶的接口調(diào)用賬戶標(biāo)識,登錄平臺首頁賬號信息欄可查看。 | 2RYN7CQHL1M***** |
appKey | String | 是 | 賬戶密鑰。平臺分配給用戶的接口調(diào)用密鑰,登錄平臺首頁賬號信息欄,校驗身份后可查看。 | WVNA4A0***** |
phone | String | 是 | 接收短信的手機號碼。 (只支持單個手機號) | 156xxxx1090 |
globalSmsId | String | 是 | 驗證碼模板ID。需登錄平臺申請模板,審核通過后可用。 | 540 |
variables | String | 是 | 驗證碼值。支持2-8位純數(shù)字。 | 1234 |
請求示例
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 SmsCodeTest {
public static void main(String[] args) {
// 獲取連接
HttpClient client = new HttpClient();
// 短信驗證碼API接口地址
PostMethod method = new PostMethod("https://cloud.10658.com.cn/globalApi/smsCode/send");
// 設(shè)置編碼
client.getParams().setContentCharset("UTF-8");
method.setRequestHeader("ContentType", "application/x-www-form-urlencoded;charset=utf-8");
// 手機號碼,一次只能提交一個手機號碼
String phone = "156xxxx1090";
//模板ID(如沒有模板ID請先在平臺上新增并提交驗證碼模板,審核通過即可使用)
String templateId = "540";
// 驗證碼變量(隨機數(shù))
Integer num = 1234;
String globalSmsId = num.toString();
System.out.println("驗證碼是:"+variables);
// 拼接參數(shù)
NameValuePair[] data = {
new NameValuePair("appId", "2RYN7CQHL1M*****"),
new NameValuePair("appKey", "WVNA4A0*****"),
new NameValuePair("phone", phone),
new NameValuePair("globalSmsId", globalSmsId),
new NameValuePair("variables", variables) };
method.setRequestBody(data);
try {
client.executeMethod(method);
String result = method.getResponseBodyAsString();
// 返回結(jié)果
System.out.println(result);
JSONObject jsonObject = JSONObject.parseObject(result);
// 返回1則發(fā)送成功(邏輯操作請根據(jù)接口文檔返回參數(shù)自行判斷)
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();
}
}
}
正常響應(yīng)示例
{
"returnStatus": "1 ", //狀態(tài)碼
"message": "成功", //狀態(tài)提示信息
"remainPoint": "241", //本次發(fā)送后,賬戶剩余條數(shù)
"taskId": "3313746", //下發(fā)批次ID(唯一)
"successCounts": "1" //成功條數(shù)
}
異常響應(yīng)示例
{
"returnStatus": "0", //狀態(tài)碼
"message": "參數(shù)錯誤", //狀態(tài)提示信息
"remainPoint": null, //本次發(fā)送后,賬戶剩余條數(shù)
"taskId": null, //下發(fā)批次ID(唯一)
"successCounts": null //成功條數(shù)
}
狀態(tài)碼定義
狀態(tài)碼 | 狀態(tài)提示信息 |
1 | 發(fā)送成功 |
0 | 賬號或密碼錯誤 |
0 | 缺少參數(shù) |
0 | 模板不存在或者未通過 |
0 | 模板id格式不正確 |
0 | 您的賬戶已被鎖定,請聯(lián)系您的專屬客服 |
0 | 余額不足 |
0 | 手機號碼格式不正確 |
0 | 該號碼今日發(fā)送次數(shù)已達(dá)上限 |
0 | 相同手機號碼一分鐘之內(nèi)只可發(fā)送一次 |
0 | 當(dāng)日發(fā)送量已超出最大發(fā)送限制 |
0 | 未知原因,請聯(lián)系客服? |
2.回執(zhí)/回復(fù)推送接口
觸發(fā)條件
用戶回復(fù)短信后,觸發(fā)回復(fù)數(shù)據(jù)推送,每回復(fù)一條,則推送一條;運營商產(chǎn)生短信回執(zhí)后,觸發(fā)回執(zhí)數(shù)據(jù)推送,每產(chǎn)生一條回執(zhí),則推送一條。
使用說明
回執(zhí)回復(fù)數(shù)據(jù),由短信平臺主動推送到用戶設(shè)置的地址上,數(shù)據(jù)格式需遵循標(biāo)準(zhǔn)化數(shù)據(jù)格式。
協(xié)議說明
協(xié)議類目 | 說明 |
調(diào)用方式 | 主動回調(diào) |
請求方式 | POST(HTTPS) |
編碼格式 | UTF-8 |
數(shù)據(jù)交互格式 | Key-Value |
Content-Type | application/x-www-form-urlencoded;charset=utf-8 |
回執(zhí)數(shù)據(jù)定義
參數(shù)名稱 | 類型 | 是否必填 | 描述 | 示例值 |
mobile | String | 是 | 用戶手機號碼 | 1508092**** |
taskid | String | 是 | 下發(fā)批次ID | 123 |
status | String | 是 | 回執(zhí)狀態(tài) 1.發(fā)送成功? 0.發(fā)送失敗 | 1 |
receivetime | String | 是 | 回執(zhí)產(chǎn)生時間 yyyy-MM-dd HH:mm:ss | 2019-07-23 17:00:00 |
回復(fù)數(shù)據(jù)定義
參數(shù)名稱 | 類型 | 是否必填 | 描述 | 示例值 |
mobile | String | 是 | 用戶手機號碼 | 1508092**** |
taskid | String | 是 | 下發(fā)批次ID | 123 |
content | String | 是 | 回復(fù)內(nèi)容 (用戶回復(fù)的短信內(nèi)容) | 收到 |
receivetime | String | 是 | 回復(fù)上行時間 yyyy-MM-dd HH:mm:ss | 2019-07-23 17:00:00 |
3.余額查詢接口
協(xié)議說明
協(xié)議類目 | 說明 |
調(diào)用地址 | https://cloud.10658.com.cn/globalApi/smsCode/getBalance |
請求方式 | POST(HTTPS) |
編碼格式 | UTF-8 |
Content-Type | application/x-www-form-urlencoded;charset=utf-8 |
請求參數(shù)(Query)
參數(shù)名稱 | 類型 | 是否必填 | 描述 | 示例值 |
appId | String | 是 | 賬戶標(biāo)識。平臺分配給用戶的接口調(diào)用賬戶標(biāo)識,登錄平臺首頁賬號信息欄可查看。 | 2RYN7CQHL1M***** |
appKey | String | 是 | 賬戶密鑰。平臺分配給用戶的接口調(diào)用密鑰,登錄平臺首頁賬號信息欄,校驗身份后可查看。 | 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/globalApi/smsCode/getBalance?appId=2RYN7CQHL1M*****&appKey=WVNA4A0*****")
.method("POST", body)
.build();
Response response = client.newCall(request).execute();
正常響應(yīng)示例
{
"returnStatus": "1 ", //狀態(tài)碼
"message": "成功", //狀態(tài)提示信息
"remainPoint": "241", //賬戶剩余條數(shù)
"taskId": null,
"successCounts": null
}
異常響應(yīng)示例
{
"returnStatus": "0", //狀態(tài)碼
"message": "參數(shù)錯誤", //狀態(tài)提示信息
"remainPoint": null,
"taskId": null,
"successCounts": null
}
狀態(tài)碼定義
狀態(tài)碼 | 狀態(tài)提示信息 |
1 | 提交成功 |
0 | 賬號或密碼錯誤 |
0 | 缺少參數(shù) |
0 | 您的賬戶已被鎖定,請聯(lián)系您的專屬客服 |
0 | 未知原因,請聯(lián)系客服? |
0 | IP受限 |