天天看點

java短信接口-單條短信接口

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"