java短信接口
單條短信接口:此接口為客戶發送單條短信提供支援
接入指導
步驟一:登入億美軟通官網
步驟二:注冊并擷取客戶辨別(AppId)和客戶密鑰(secretKey)賬号
步驟三:參照接口文檔和DEMO,對接接口并測試
步驟四:測試通過,正式上線,充值使用
安全接口
安全接口的資料傳輸經過加密、壓縮,能夠保障資料傳輸安全,如果有安全性要求,建議選用安全接口;
安全接口所接收、響應的資料,均經過AES加密,在資料加密前允許使用gzip算法壓縮資料。
資料加密方式:AES;
加密算法:AES/ECB/PKCS5Padding;
壓縮算法:gzip 【建議進行資料壓縮】;
請求
連結
http://ip:port/inter/sendSingleSMS參數
參數類型傳輸方式描述appIdStringhttp頭資訊傳輸使用者Appid(必填)gzipStringhttp頭資訊傳輸是否啟用GZIP壓縮【非必填】
on :是encodeStringhttp頭資訊傳輸字元集【非必填】
如果不填,預設UTF-8編碼集,此字元集必須與實際傳輸資料字元集相同mobileString1、将所有參數拼裝成json串後;
2、将json串進行AES加密;
3、加密後的byte數組通過post直接傳輸;手機号(必填)contentString短信内容(必填)timerTimeString定時發送時間(選填,定時時間在90天之内)
格式:yyyy-MM-dd HH:mm:ss
如果不填,則為即時發送customSmsIdString自定義消息ID(選填)
最長32位extendedCodeString擴充碼(選填)
最長支援12位,如果最終号碼長度超長,會截取擴充碼,請根據我司建議位數送出requestTimelong請求時間(必填)
格式:時間毫秒數
安全驗證字段,防止同一個請求重複送出;
短信平台根據requestTime與requestValidPeriod共同判斷請求是否有效,針對無效的請求,短信平台響應錯誤;
判斷方法:請求時間 + 請求有效時間> 目前時間 ? 有效 : 無效;requestValidPeriodint請求有效時間(必填)[機關:秒]
描述同上示例
1、将參數拼裝成json串
{
"mobile":"15538850000",
"content":"【清華大學】 i love you ! ",
"timerTime":"2017-03-15 12:00:00",
"extendedCode":"112",
"customSmsId":"2017010709302911",
"requestTime":1490588340964,
"requestValidPeriod":30
}
2、将json串轉化為UTF-8編碼的byte數組
Byte[] data = json.toBytes["UTF-8"];
3、如果需要gzip壓縮,則壓縮資料,并放入标示,[非必需步驟]
data =gzip.com (data);
http.setHead("gzip","on");
4、通過AES加密
data = AES. encryption (secretKey,data,算法);
5、将appId放入http head
http.setHead("appId",appId);
6、通過http post方法傳輸
Byte[] response = http.post(url,data);
響應
參數類型傳輸方式描述resultStringhttp頭資訊傳輸請求狀态碼,詳見本文檔《接口狀态碼表》
當result不是SUCCESS時,不會響應下面參數資料。mobileString傳輸過來的資料是加密後的byte數組手機号smsIdString消息IDcustomSmsIdString客戶自定義SMSID示例
1、從http頭資訊擷取請求狀态,如果code不是SUCCESS,不用進行下面幾步
String code = http.getHead("reasult");
2、從響應流擷取響應資料,并解密
Byte[] data = Response.getdata();
data = AES. decryption (secretKey, data,算法);
3、如果請求資訊中有壓縮标示,傳回的資料也是壓縮過的,需要解壓縮;[非必須步驟]
data = GZIP.dcom(data);
4、将資料轉換成JSON串
String json = new String(data,"UTF-8");
"smsId":"20170392833833891100",
"customSmsId":"20170392833833891100"