收藏 分销(赏)

红树服务器5接口文档.doc

上传人:pc****0 文档编号:8988833 上传时间:2025-03-10 格式:DOC 页数:10 大小:122KB 下载积分:10 金币
下载 相关 举报
红树服务器5接口文档.doc_第1页
第1页 / 共10页
红树服务器5接口文档.doc_第2页
第2页 / 共10页


点击查看更多>>
资源描述
北京红树科技 HTTP接口文档 北京红树科技有限公司 文档编号 产品版本 密级 2.0 共6页 HTTP 接口文档 更新日期:2011年3月25日 目录 1 短信发送接口设计 2 1.1发送短信 2 1.2 短信发送参数 2 1.3发送返回参数说明 3 2 账户余额查询 4 2.1接口地址 4 2.2接口参数 4 3 状态报告 4 4 上行信息 7 5 附录(java开发的接收demo) 8 1 短信发送接口设计 1.1 发送短信 为了降低客户的开发技术难度,根据客户需求,提供 HTTP接口。采用HTTP的GET(支持post)方式进行消息的下发。在使用接口时,以如下形式进行调用。 http://211.103.155.246:8080/sms_send2.do?corp_id= 账户id&corp_pwd=密码&corp_service=业务代码&……………………………………. 服务器接口地址:http://211.103.155.246:8080/sms_send2.do 账号简单页面测试地址:http://211.103.155.246:8080/smsSubmitTest2.jsp 注意事项: 1.下发短信时,不要提交错了服务器的接口地址,如果你的账户是开在服务器2上的, 提交的时候提交到服务器1的接口地址会返回(106错误:用户名不存在)。 2.参数提交后的返回结果为文本格式和xml格式,即,发送完毕后,我方会推送相关数字信息或xml格式的字符串信息。 3.服务器支持http方式,为安全性考虑,建议以http方式调用。 1.2 短信发送参数 参数说明: 参数名称 参数说明 备注 corp_id 企业接口访问id 由系统管理员开通 corp_pwd 系统访问接口密码 由系统管理员设定 corp_service 业务代码 由系统管理员分配 Mobile 要发送的手机号码 多个号码用英文的逗号隔开,且群发总号码数不超过50个 msg_content 短信内容 短信内容长度不超过500个汉字 每个英文或阿拉伯字符也算1个汉字 corp_msg_id 用户发送短信自己定义的短信id用于处理群发状态报告 可以为空 英文和数字的组合总长度不超过50个字节 Ext 用户自己分配的小号(即显示在接收手机上的主叫尾号,可用于上行信息匹配)例:我们给合作方开的特服号是10657532521924,然后合作方在发送信息的时候可以随意填写扩展号ext=8888,那么用户收到信息时显示的下发号码就是106575325219248888 从00000到99999的范围 说明: 1)发送速度:接口的访问间隔是0.1秒,最快访问速度是每秒十次。 2)IP:如果用户开账户时指定IP,则接口只接收该IP发送请求。 接口编码格式:根据不同开发语言可选用gbk或ISO-8859-1编码(提交信息时,汉字应转成gbk或iso-8859-1提交,否则手机用户收到会显示乱码) 1.3 发送返回参数说明 返回代码 代码说明 0#数字 提交成功#提交成功的手机数量 100 余额不足 101 账号关闭 102 短信内容超过500字或为空或内容编码格式不正确 103 手机号码超过50个或合法的手机号码为空 104 用户访问时间间隔低于50毫秒 105 用户访问方式不是post方式 106 用户名不存在 107 密码错误 108 指定访问ip错误 109 业务不存在 110 小号不合法 111 短信内容内有敏感词 常见问题说明: 1) 长短信:对于长短信,返回的是用户提交的条数,而不是实际扣费的条数,例如用户发送了190字的短信三条,返回的是0#3,后台根据拆分后的结果,计费为9条。 2) 102错误:确认接口编码格式是否正确,测试标准是发送带有“%”的短信看是否能成功发送。 2 账户余额查询 2.1 接口地址 接口地址:http://211.103.155.246:8888/get_balance.do 2.2 接口参数 参数名称 参数说明 备注 corp_id 企业接口访问id 由系统管理员开通 user_id 用户id Pwd 系统访问接口密码 由系统管理员设定 说明:支持非一级账户余额查询 返回结果为:ok:余额。 3 状态报告 用于客户查询每条短信发送的状态是否成功。 在收取状态报告之后,请立即调用该接口告知服务端已经成功收取的状态报告编号,否则会重复收取到状态报告 接口地址:由合作方提供相应的接收的url,我方主动推送数据。 推送的数据样例(为一整条xml格式的字符串,注:是一整条字符串,不是xml文档) <?xml version="1.0" encoding="GBK" ?> <reports> <report> <corp_id>test</corp_id>   <mobile>13810000001</mobile> <seq>0</seq> (这个参数表示拆分长短信的条数:0无长短信,1表示被拆分为(1/2),(2/2)两条,以此类推..) < msg_id>12345asd</ msg_id>   <result>0</result>(这个参数表示短信发送状态:0表示成功,其他数字均是失败,113表示审核拦截,200表示无状态报告返回,112黑名单用户)   </report> <report> <corp_id>test</corp_id>   <mobile>13810000002</mobile> <seq>0</seq> < msg_id>12345asd</ msg_id>   <result>200</result>   </report>   </reports> 说明:当成功接收我方推送过去的信息时必须给个返回参数:0: 接收成功 9:接收失败 ,这个参数不给的话,我方会认为对方接收信息失败,导致接收数据重复推送。 状态报告的推送,有时可能会推一条过去,有时可能会推多条过去,最多可一次推200条,并且,你方接收到我方推送串后,应立即回响应,同时存起这些状态报告,然后,你方再完成插表工作,否则,边接收边插表,插完后再给响应,因时差原因,会导致我方接收响应错乱,从而严重影响状态报告的推送。 状态报告是根据mobile和msg_id一起来匹配的 返回结果 值 含义 0 成功 -1 失败 2 失败 112 黑名单用户 113 信审拦截 115 系统自动拦截 200 无返回状态 1000 返回状态未知 4 上行信息 上行信息:手机用户给发送方回复的信息。 接口地址:有合作方提供相应的url(上行推送和状态报告推送原理一样,区别:xml字符串的节点不同,解析的时候需要注意) 推送数据样例 <?xml version="1.0" encoding="GBK" ?> <delivers>   <deliver> <corp_id>test</corp_id>   <mobile>13810000000</mobile>   <ext>8888</ext> (对应下发时的ext参数根据手机用户回复短信时(即上行信息)的ext的值, <ext>8888</ext> 可知道用户上行的是客户下发的哪一批的信息的回复) <time>2010-07-02 00:00:00</time>   <content>收到</content>   </deliver>   </delivers> 返回参数(注意给我方返回接收后的结果参数同上) 0:成功 9:失败 说明: 上行信息是一条一条的推送过去,为了更好的接收上行,需要你方接收完字符串后立即返回响应,不要等到插入成功后再响应,这样才不会影响上行信息的接收。 上行信息是根据mobile和ext来匹配的。 5 附录(java开发的接收demo) 介绍:我方推送过去的xml格式的上行字符串,参照如下 String str="<?xml version='1.0' encoding='GBK'?>" + "<delivers>" + "<deliver><corp_id>test</corp_id><mobile>13860497631</mobile><ext>2010</ext><time>2010-07-02 00:00:00</time><content>您好 tuisong测试222</content></deliver>" + "</delivers>"; 1.通过访问合作方给提供url地址,调用到合作方的接收类,然后我方推送上行信息的xml字符串过去,合作方接收 2.此条xml字符串,是存在requset的内存里 3.需要接收方先取得request对象(注意这里request对象无参数,是直接存在request内存里,需要先从request里获取输入流,然后进行读流操作,读出推送内容)参考如下: InputStream in = request.getInputStream(); BufferedInputStream buf = new BufferedInputStream(in); byte[] buffer = new byte[1024]; StringBuffer data =new StringBuffer(); int a ; while((a = buf.read(buffer))!= -1){ data.append(new String(buffer,0,a,"gbk")); } System.out.println(data.toString()); 打印出的字符串即为我方推送的xml格式的字符串。 4.解析取到的xml格式的字符串,取得推送上行内容的各个节点的值,DOM4j解析参考如下: Document doc = DocumentHelper.parseText(字符串); Element root = doc.getRootElement(); List<Element> deliverElements = root.elements("deliver"); for(Element deliver:deliverElements){ String corp_id = deliver.elementText("corp_id"); String mobile = deliver.elementText("mobile"); String ext = deliver.elementText("ext"); String time = deliver.elementText("time"); String content = deliver.elementText("content"); System.out.println(corp_id+":"+mobile+":"+ext+":"+time+":"+content); } 第 9 页 共 9 页
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服