# 注意:本文檔后期不在跟新,新文檔遷移到:[http://www.openkit.cc/docs/openkit/#/](http://www.openkit.cc/docs/openkit/#/)
# 首先感謝使用OpenKit工具包
## 反饋交流QQ群:696279396
|更新時間|版本|作者|
|:--:|:--:|:--:|
|2018-2-15 00:01|V1.1.6|賁海龍|
> 在 1.1.6 的版本更新后,我們把常用的配置比如accountSid,authToken,appId放在了一個配置文件里邊,同時也是一個 UcpaasConfig 內容模型,把其他參數放在 UcpaasModel 內容模型中,那么不管調用下面的哪一個方法,UcpaasConfig 對象必須要傳,UcpaasModel 對象中的參數根據需求傳入
#### 首先,我們需要 新建一個 UcpaasConfig 對象,而且這里的三個參數,屬于必傳參數,你可以在實例化對象的時候直接傳參,也可以先實例化一個空對象,然后塞入數據,就像下面的 2 種方式
```java
// 方法 一
UcpaasConfig config = new UcpaasConfig();
config.setSid();
config.setToken();
config.setAppid();
// 方法 二
UcpaasConfig config = new UcpaasConfig("sid", "token", "appid");
```
> 下面我們看看參數的意義
|參數 |類型 |約束 |描述|示例|
|:--:|:--:|:--:|:--|:--:|
|sid| String |必填 |用戶的賬號唯一標識“Account Sid”,在開發者控制臺獲取(位置) |39467b989d087c2d92c6132184a365d8|
|token |String| 必填| 用戶密鑰“Auth Token”,在開發者控制臺獲取(位置) |23f757bad208226ec301e117e40006ed|
|appid| String |必填 |創建應用時系統分配的唯一標示(位置) |2d92c6132139467b989d087c84a365d8|
#### 接著,我們需要實例 UcpaasModel 對象,這個對象在實例化的時候,只能先 new 一個空對象,然后根據需要傳入對應的值
```java
UcpaasModel model = new UcpaasModel();
model.setParam();
model.setMobile();
model.setUid();
model.setType();
model.setTemplate_name();
model.setAutograph();
model.setContent();
model.setPage_num();
model.setPage_size();
model.setTemplateid();
```
> 上面的這些參數不是每一個都需要傳,我們可以根據需求傳入,下面我們介紹不同的方法對應需要傳入的參數
- 指定模板單發
調用:UcpaasService.sendSms(config, model);
|參數 |類型 |約束| 描述 |示例|
|:--:|:--:|:--:|:--|:--:|
|templateid| String| 必填 |可在后臺短信產品→選擇接入的應用→短信模板-模板ID,查看該模板ID(位置)| 154501|
|param| String |選填| 模板中的替換參數,如該模板不存在參數則無需傳該參數或者參數為空,如果有多個參數則需要寫在同一個字符串中,以英文逗號分隔 (如:“a,b,c”),參數中不能含有特殊符號“【】”和“,”| 87828,3|
|mobile |String| 必填| 接收的單個手機號,暫僅支持國內號碼|15651019263|
|uid| String |選填 |用戶透傳ID,隨狀態報告返回 |2d92c6132139467b989d087c84a365d8|
- 指定模板群發
調用:UcpaasService.sendSmsBatch(config, model);
|參數 |類型 |約束| 描述 |示例|
|:--:|:--:|:--:|:--|:--:|
|templateid| String| 必填 |創建短信模板時系統分配的唯一標示,可在后臺短信產品→選擇接入的應用→短信模板-模板ID,查看該模板ID(位置)| 154501|
|param |String| 選填| 模板中的替換參數,如該模板不存在參數則無需傳該參數或者參數為空,如果有多個參數則需要寫在同一個字符串中,以英文逗號分隔 (如:“a,b,c”),參數中不能含有特殊符號“【】”和“,”| 87828,3|
|mobile| String| 必填 |接收的手機號,多個手機號碼以英文逗號分隔 (如:“15651019263,17714198992”),最多單次支持100個號碼,如果號碼重復,則只發送一條,暫僅支持國內號碼|15651019263,17714198992|
|uid |String |選填 |用戶透傳ID,隨狀態報告返回|2d92c6132139467b989d087c84a365d8|
- 增加模板
調用:UcpaasService.addSmsTemplate(config, model);
|參數 |類型 |約束| 描述 |示例|
|:--:|:--:|:--:|:--|:--:|
|type |String| 必填 |短信類型:0:通知短信、5:會員服務短信(需企業認證)、4:驗證碼短信(此類型content內必須至少有一個參數{1})| 4|
|template_name| String| 選填 |短信模板名稱,限6個漢字或20個數字、英文字、符號 |注冊驗證|
|autograph |String| 必填 |短信簽名,建議使用公司名/APP名/網站名,限2-12個漢字、英文字母和數字,不能純數字 |云之訊|
|content| String| 必填 |短信內容,最長500字,不得含有【】符號,可支持輸入參數,參數示例“{1}”、“{2}” |您的注冊驗證碼是{1}|
- 查詢模板
調用:UcpaasService.getSmsTemplate(config, model);
|參數 |類型 |約束| 描述 |示例|
|:--:|:--:|:--:|:--|:--:|
|templateid| String |必填 |模板ID,如不指定則返回該應用下所有模板,如指定則page_num和page_size無效| 62222|
|page_num| String |選填 |頁碼,默認值為1 |1|
|page_size| String |選填 |每頁個數,最大100個,默認30個 |30|
- 編輯模板
調用:UcpaasService.editSmsTemplate(config, model);
|參數 |類型 |約束| 描述 |示例|
|:--:|:--:|:--:|:--|:--:|
|templateid |String| 必填 |模板ID,如不指定則返回該應用下所有模板,如指定則page_num和page_size無效| 62222|
|type |String |選填 |短信類型:0:通知短信、5:會員服務短信(需企業認證)、4:驗證碼短信(此類型content內必須至少有一個參數{1}) |0|
|template_name| String |選填| 短信模板名稱,限6個漢字或20個數字、英文字、符號 |注冊驗證|
|autograph |String| 選填 |短信簽名,建議使用公司名/APP名/網站名,限2-12個漢字、英文字母和數字,不能純數字| 云之訊|
|content| String |選填 |短信內容,最長500字,不得含有【】符號,可支持輸入參數,參數示例“{1}”、“{2}”| 您的注冊驗證碼是{1}|
- 刪除模板
調用:UcpaasService.deleterSmsTemplate(config, model);
|參數 |類型 |約束| 描述 |示例|
|:--:|:--:|:--:|:--|:--:|
|templateid |String| 必填 |模板ID,如不指定則返回該應用下所有模板,如指定則page_num和page_size無效| 62222|
#### 返回值
> 注意:這里的所有方法都是返回給你的 String 格式的 json 字符串,OpenKit 并沒有給大家處理,這里也是為例方便大家拓展,所以當你接收到了參數可以按照下面的方法解析
```java
// 調用短信發送接口
String result = UcpaasService.sendSms(config,model);
JSONObject jsonObject = JSONObject.fromObject(result);
System.out.println(jsonObject);
String j = (String) jsonObject.get("code");
System.out.println(j);
```
- 最后還有一個不得不提的就是我們的返回碼說明
|返回碼| 描述| 解決方案|
|:--:|:--|:--|
|000000| OK| -|
|100001 |賬戶余額/套餐包余額不足| 請及時充值或購買套餐包|
|100005| 發送請求的IP不在白名單內| 訪問IP不在白名單之內,可在后臺 應用管理→點擊需要設置的應用→編輯→服務器白名單 里添加該IP|
|100008 |手機號碼不能為空 |請輸入標準的國內手機號碼|
|100009 |手機號為受保護的號碼| 不可向該號碼發送短信|
|100015 |號碼不合法| 請輸入標準的國內手機號碼|
|100016| 賬號余額被凍結| 請聯系客服|
|100017 |余額已注銷 |請聯系客服|
|100019 |應用可用額度余額不足| 調大應用可用余額,后臺→應用管理→可用額度|
|100699 |系統內部錯誤| 請聯系客服|
|101105 |主賬戶sid存在非法字符| 可在后臺首頁獲取“Account Sid”|
|101108 |開發者賬戶已注銷| 請聯系客服|
|101109 |主賬戶sid未激活| 請聯系客服|
|101110|主賬戶sid已鎖定 |請聯系客服|
|101111 |主賬戶sid不存在| 可在后臺首頁獲取“Account Sid”|
|101112 |主賬戶sid為空| 可在后臺首頁獲取“Account Sid”|
|101117| 缺少token參數或參數為空| 參數token,可從后臺首頁獲取“Auth Token”|
|102100| 應用appid為空| 獲取路徑后臺→應用管理→點擊需要對接應用,查看appId|
|102101| 應用appid存在非法字符 |獲取路徑后臺→應用管理→點擊需要對接應用,查看appId|
|102102 |應用appid不存在| 獲取路徑后臺→應用管理→點擊需要對接應用,查看appId|
|102103 |應用未上線| 請先上線應用|
|102105| 應用appid不屬于該主賬號| 獲取路徑后臺→應用管理→點擊需要對接應用,查看appId|
|103126| 未上線應用只能使用白名單中的號碼 |申請應用上線,或者將該號碼加入測試白名單,可在后臺應用管理→應用測試→添加號碼,添加該手機號碼|
|105110 |該appid下,此短信模板(templateid)不存在| 可在后臺短信產品→選擇接入的應用→短信模板-模板ID,查看該模板ID|
|105111| 短信模板(templateid)未審核通過 |等待審核,工作日時間內審核時間為15分鐘。如審核不通過可咨詢在線客服|
|105112| 請求的參數(param)與模板上的變量數量不一致 |參數param上的數量與模板中的變量數量不一致,多個參數使用英文逗號隔開(如:param=“a,b,c”)|
|105113| 短信模板(templateid)不能為空| 可在后臺短信產品→選擇接入的應用→短信模板-模板ID,查看該模板ID|
|105115 |短信類型(type)長度應為1個字符| 短信類型錯誤,類型:0:通知短信、5:會員服務短信、4:驗證碼短信(此類型content內必須至少有一個參數{1})|
|105117| 短信模板(templateid)含非法字符| 可在后臺短信產品→選擇接入的應用→短信模板-模板ID,查看該模板ID|
|105118| 短信模板有替換內容,但缺少param參數或參數為空| 請按照param的規則提供參數值|
|105119| 每個參數的長度不能超過100字| 減少參數長度|
|105120| 群發號碼單次提交不能超過100個| 減少單次群發號碼,將號碼限制為100各以內|
|105121| 短信模板(templateid)已刪除| 已被刪除,請重新創建模板|
|105124 |短信模板內容為空 |填寫模板內容|
|105125 |創建短信模板失敗| 聯系客服|
|105126| 短信模板名稱格式錯誤| 短信模板名稱,限20位長度|
|105128| 短信模板(templateid)不能為空 |可在后臺短信產品→選擇接入的應用→短信模板-模板ID,查看該模板ID|
|105133| 短信內容過長,超過500字| 減少短信長度|
|105134 |參數(param)中含有超過一對【】| 短信內容只能包含一對【】且不能只有短信簽名,短信簽名只能在開頭或結尾|
|105135| 參數(param)中含有特殊符號| 參數中不能含有特殊符號,例如“【】”|
|105136 |簽名長度應為2到12位 |簽名長度為2到12位|
|105138| 群發號碼重復| 對群發號碼去重|
|105140| 賬號未認證 |請先申請認證,后臺→賬號設置|
|105141| 主賬號需為企業認證 |請升級認證為企業開發者,后臺→賬號設置|
|105142 |模板被定時群發任務鎖定暫無法修改| 停止占用該模板的定時群發任務|
|105143| 模板不屬于該用戶 |請填寫正確的模板ID,可在后臺短信產品→選擇接入的應用→短信模板-模板ID,查看該模板ID|
|105144| 創建驗證碼模板短信需帶參數 |當type=4時類型為驗證碼模板,需要帶至少一個參數{1}|
|105145 |簽名(autograph)格式錯誤| 限2-12個漢字、英文字母和數字,不能純數字|
|105146|短信類型(type)錯誤 |短信類型錯誤,類型:0:通知短信、5:會員服務短信、4:驗證碼短信(此類型content內必須至少有一個參數{1})|
|105147| 對同個號碼發送短信超過限定頻率| 查看是否被盜刷接口,客戶端側需要增加圖片/滑塊驗證碼,如您是用于告警等合法場景,請聯系客服|
|105150 |短信發送頻率過快| 降低請求發起頻率|
|105152 |請求的參數(param)格式錯誤 |請使用utf-8|
|105153 |手機號碼格式錯誤 |請輸入標準的國內手機號碼|
|105154| 短信服務請求異常e100| 請聯系客服|
|105155| 缺少簽名(autograph)參數或參數為空| 請提供簽名,建議使用公司名/APP名/網站名|
|105156| 查詢短信類型錯誤 |查詢的短信類型,默認為0,獲取驗證通知及會員營銷短信記錄;1,只獲取驗證通知類短信;2,只能獲取會員營銷短信記錄。|
|105157| 變量數量超過100個| 減少變量數量|
|105158| 接口不支持GET方式調用| 請按提示或者文檔說明的方法調用,一般為POST|
|105159| 接口不支持POST方式調用 |請按提示或者文檔說明的方法調用,一般為GET|
|105161| 開始時間錯誤| 短信發送結束時間,格式YYYYMMDDhhmmss|
|105162| 結束時間錯誤| 短信發送開始時間,格式YYYYMMDDhhmmss,結束時間不能早于開始時間|
|105163| 超過可查詢時間范圍 |暫時只能查詢一天的數據|
|105164| 頁碼錯誤| 請不要超出總頁數|
|105165| 每頁個數錯誤,限制訪問(1-100)| 每頁可獲取的數量為1-100個|
|105166| 請求頻率過快 |降低請求頻率|
|105167| uid格式錯誤或超過60位| 不要使用特殊符號,并且長度控制在60位內|
|105168| 參數sid或token錯誤 |sid和token從后臺首頁獲取“Auth Token”,“Account Sid”|
|105169| 超過頁碼數| 減少頁碼數|
|300001 |提交失敗 |請聯系客服|
|300002 |未知| 請聯系客服|
|300003| 空號| 請核對手機號碼|
|300004 |黑名單| 請聯系客服|
|300005| 超頻 |按限定的提交頻率提交短信。同一個手機號1分鐘內不能超過2條,24小時內驗證類不能超過8條,通知類不能超過10條|
|300006 |系統忙| 請聯系客服|
#### 調用Demo
```java
public static void main(String[] args) throws IOException {
UcpaasConfig config = new UcpaasConfig("","","");
UcpaasModel model = new UcpaasModel();
model.setTemplateid("");
model.setMobile("");
model.setParam("");
// 調用短信發送接口
String result = UcpaasService.sendSms(config,model);
JSONObject jsonObject = JSONObject.fromObject(result);
System.out.println(jsonObject);
String j = (String) jsonObject.get("code");
System.out.println(j);
}
```
## 反饋交流QQ群:696279396
## 贊助
