# 注意:本文档后期不在跟新,新文档迁移到:[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
## 赞助
![](https://box.kancloud.cn/bf6f9c0e4f5a786c20d02c56b56a0eaf_600x500.png)