版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、作者最后修改时间API 版本有信2016-03-181.0.0 版有信崔江宁2016/3/24源通讯开放API 介绍1环境准备31.1接入流程32API 介绍42.1 获取 token 接口42.2 用户信息更新接口(未发布,后面可能会微调)62.2 Http 方式的回拨接口82.2.1地址82.2.2 调用参数说明:82.2.3 返回参数说明92.1.4 http 请求加密111环境准备1.1 接入流程1.登录有信开放上你的 APP 应用,之后有信开放会为您的应用分配 ap、签名私钥等必要参数。2.有信源通讯 SDK(Android 版或 iOS 版),并将 SDK 集成进您的应用。(参见客
2、户端SDK 集成文档)。3.第Server 需向您的App 开放一个获取 token 的接口,第Server 只会涉及与有信Server 之间的通信,具体交互方式请参见交互流程图。4.第APP、第Sever、有信 Server 联调测试。5.应用上线。第Server:贵公司自己的后端服务器。有信 Server: 有信源通讯服务器。源通讯 SDK:用于集成到APP 客户端,有信开放语音通话能力的API。交互流程如下:API 介绍获取 TOKEN 接口有信 Server 提供的获取token 的HTTP 接口,URL 为 h/ams/reg请求参数:参数名称是否必须说明sn流水号Y生成方法:sn=
3、 当前时间戳+ 6 位数的随机数pvY1:android 2:ios 3:其他osv客户端系统版本Yappv第app 版本Yapiv接口版本号Yap第idYsign签名Y(参见sign 签名生成算法)accountid 第用户账号Y第应用的用户账号,唯一标示sign 签名生成算法案例URL1&osv=4.4.1&appv=1.1&apiv=1&imei=fe9784fa556245266e6a9&sign=d12fbf0a982a3d6711afe9784fa556245266e6a9&nickname=111&imgurl =111返回结果JSON:result: 0,msg:, info:
4、token:x结果说明:&ap=meizu&sn=52523&pv=取出所有参数值,按小写字母序由小到大排列得到paramslist;将paramslist 拼接为一个字符串,得到paramsstring;将appkey 作为salt 拼接到paramsstring 后边,得到paramsstringkey;用sha1 算法对paramsstringkey 做签名得到sign;phone号N号nickname 用户昵称Nimgurl头像N2.2 用户信息更新接口(未发布,后面可能会微调)请求参数:参数名称是否必须说明sn流水号Y生成方法:sn= 当前时间戳+ 6 位数的随机数pvY1:andr
5、oid 2:ios 3:其他osv客户端系统版本Yappv第app 版本Yapiv接口版本号Yap第idYsign签名Y(参见sign 签名生成算法)值说明result 0:成功,其他:失败,详细待定msg结果说明,通常为空info结果数据,json 格式,包括:token,可扩展2523&pv=1&osv=4.4.1&appv=1.1&apiv=1&imei=fe9784fa556245266e6a9&sign=d12fbf0a982a3d6711afe9784fa556245266e6a9&nickname=111& imgurl =111返回结果JSON:值说明result 0:成功,其
6、他:失败,详细待定msg结果说明,通常为空result: 0,msg:,结果说明:&ap=meizu&sn=5accountid 第用户账号Y第应用的用户账号,唯一标示nickname 用户昵称Yimgurl头像Y2.3 HTTP 方式的回拨接口2.3.1测试环境:地址其中,支持 get,也支持t.其中t 支持参数加密,下面会详细介绍支持参数加密的方式调用。2.3.2 调用参数说明:参数参数类型是否必须备注ap字符串 String必选accountid字符串 String必选pv字符串 String必选常规参数,譬如:4.4.1osv字符串 String必选常规参数,譬如:1.1appv字符串
7、 String必选常规参数,譬如:1apiv字符串 String必选常规参数,譬如:1sn字符串 String必选序列号,常规参数,譬如:123412343124caller字符串 String必选主叫号码。必填信息,呼出方号码,该 号码需要为真实有效得 号码。可以为 号码和座机号码。譬如:called字符串 String必选被叫号码:必填信息,接入方号码,目前被叫方需要支持号码、座机号码以及 400 号码三种类2.3.3 返回参数说明data:callid:8e668f249b0743deb6d579f52e463888,msg:BALANCE_ENOUGH,phonelistver:3,r
8、esult:0,whitefilterver:2签名算法:参数类型说明result整形0:成功。其它是错误代码,想看msg 字段msg字符串提示信息phonelistver字符串链表版本。whitefilterver字符串白过滤版本callid字符串该通的 id。仅 result=0才有。型号码呼叫,不支持台以及国际号码。譬如:showCaller字符串 String可选主叫显示号码:选填信息。showCalled字符串 String可选被叫显示号码:选填信息tflag整形可选是否。选填信息( 0 关闭,1 开启)mt整形可选最大通话时间。整形sign字符串 String必选签名验证信息。si
9、gn 的生成规则:针对参数进行排序后,用appkey 进行加密。代码片段如下:public sic String getSign(String appkey, Map map) if (map = null | map.size() = 0) return ;List list = new ArrayList();for (Mntry entry : m String key = entry.getKey(); String value = entry.getValue();ntrySet() if (!sign.equals(key) & value != null & !.equals(v
10、alue)& !true.equalsIgnoreCase(value) list.add(value);Collections.sort(list, new Comparator() Overridepubliccompare(String v1, String v2) return v1.toLowerCase().compareTo(v2.toLowerCase(););System.out.prln(list);StringBuilder signSrc = new StringBuilder();for (String value : list) signSrc.append(val
11、ue);signSrc.append(appkey); System.out.prln(signSrc.toString();String sha1Sign = UXDecript.SHA1(signSrc.toString();return sha1Sign;2.3.4 http 请求加密Http 方式的回拨,提供和不。其中不,支持t,和Get。只支持t.URL :对参数加密。加密算法:Map map = initParmater(); / 需要请求的参数String jsonString = JSONObject.toJSONString(map); /序列化String dataJson
12、 = DesUtils.encryptBasedDes(appKey, jsonString); /加密String json = HttpUtils.httptWithJSON(ycbUrl, dataJson); /发送t 请求。发送t 请求:/*数据加密,算法(DES)*param data要进行加密的数据return 加密后的数据*/public sic String encryptBasedDes(String key, String data) String encryptedData = null;try / DES算法要求有一个任的随机数源SecureRandom sr = n
13、ew SecureRandom();DESKeySpec deskey = new DESKeySpec(key.getBytes();/ 创建一个密匙工厂,然后用它把DESKeySpec转换成一个SecretKey对象 SecretKeyFactory keyFactory = SecretKeyFactory.getInstance(DES); SecretKey secretKey = keyFactory.generateSecret(deskey);/ 加密对象Cipher cipher = Cipher.getInstance(DES); cipher.init(Cipher.EN
14、CRYPT_MODE, secretKey, sr);/ 加密,并把字节数组编码成字符串encryptedData = newsun.misc.BASE64Encoder().encode(cipher.doFinal(data.getBytes(); catch (Exception e) / log.error(加密错误,错误信息:, e);throw new RuntimeException(加密错误,错误信息:, e);return encryptedData;public sic String httptWithJSON(String url, String json) throws
15、 Exception / 将JSON进行UTF-8编码,以便传输中文String encoderJson = URLEncoder.encode(json, HTTP.UTF 8);DefaultHttpCnt httpCnt = new DefaultHttpCnt();Httphttpt httpt = new Httpt(url);t.addHeader(HTTP.CONTENT_TYPE, APPLICATION_JSON);StringEntity se = new StringEntity(encoderJson);se.setContentType(CONTENT_TYPE_TE
16、XT_JSON);se.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, APPLICATION_JSON);httpt.setEntity(se);HttpResponse response = httpCnt.execute(httpHttpEntity entity = response.getEntity();t);System.out.prln(response.getSif (entity != null) usLine();System.out.prln(Response content length: + entity.
17、getContentLength();/ 显示结果BufferedReader reader = new BufferedReader(new InputStreamReader(entity.getContent(), UTF-8);StringBuffer sb = new StringBuffer(); String line = null;while (line = reader.readLine() != null) System.out.prln(line); sb.append(line);if (entity != null) entity.consumeContent();return sb.toString();2.4 实时通话回调接口一. 准备工作:需要第应用接入的时候,提供一个URI。那么,当每通结束后,源通讯通过这个uri 返回相关的通话信
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 金沙县新化乡2025年公开招聘驾驶员备考题库及1套参考答案详解
- 自然资源部所属单位2026年度公开招聘工作人员备考题库(第一批)附答案详解
- 北京通州某光储充换电换氢示范站项目策划书(完整版)
- 永安市公务员考试试题及答案
- 短期用工劳动合同
- 法律法规全书阅读随笔
- 房屋托管协议书
- 防暑安全教育教案及反思
- 房屋个人转租合同范本(13篇)
- 房产交易居间合同(3篇)
- DB11 527-2008 变配电室安全管理规范
- 修船合同范本
- 出纳劳务合同模板
- 创新创业创造:职场竞争力密钥智慧树知到期末考试答案章节答案2024年上海对外经贸大学
- JTG-3830-2018公路工程建设项目概算预算编制办法
- 检测进度计划及保障措施
- 马眼看世界之品牌与品质的关系课件
- 香港验血测性别报告单
- 旋挖桩钻进记录-自动计算-含公式
- 高效能人士提高办事效率七个习惯学员
- VTE风险评估与预防措施
评论
0/150
提交评论