cemiapeas与appserver编程接口参考手册

上传人:第*** 文档编号:61616865 上传时间:2018-12-07 格式:PDF 页数:15 大小:544.93KB
返回 下载 相关 举报
cemiapeas与appserver编程接口参考手册_第1页
第1页 / 共15页
cemiapeas与appserver编程接口参考手册_第2页
第2页 / 共15页
cemiapeas与appserver编程接口参考手册_第3页
第3页 / 共15页
cemiapeas与appserver编程接口参考手册_第4页
第4页 / 共15页
cemiapeas与appserver编程接口参考手册_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《cemiapeas与appserver编程接口参考手册》由会员分享,可在线阅读,更多相关《cemiapeas与appserver编程接口参考手册(15页珍藏版)》请在金锄头文库上搜索。

1、 1 目录目录 1 接口整体说明 . 1 1.1 输入格式 . 1 1.2 输出格式 . 1 1.3 术语及约定 . 2 2 EAServer 提供给业务服务器的接口 . 2 2.1 Push 消息 2 2.2 用户状态查询 . 4 3 业务服务器提供给 EAServer 的接口 5 3.1 认证 . 6 3.2 业务代理 . 6 3.3 下载 . 8 3.4 上传 . 10 3.5 用户状态通知 . 11 4 JSSE 提供给业务服务器的接口 . 13 4.1 Push 消息 13 1 修订记录 时间 修订人 修订内容 2012.8.6 wangfg 创建 V0.1 1 接口整体说明接口整体

2、说明 所有接口均采用 HTTP/HTTPS 协议,URL 中包括服务器 IP 和端口,格式为: http:/IP:PORT/mobile 。输入参数以 POST 方式提交,接口的输入/输出采用 JSON 格式,编 码格式为 UTF-8,基于流的接口(如上传、下载)的输出值格式将会在具体章节中详细的说 明。 1.1 输入格式 1. Post 方式,参数放在 HTTP Body 中。 1.2 输出格式 本节对通用输出值格式做出具体描述。 对于输出内容的数据类型,包括: 布尔型(Boolean):例如 isNew:true|false,没有 null 值 数字型(Number):例如 number:

3、3.1415,没有 null 值 字符串型(String):例如 name:张三,没有 null 值,null 需要转化为(空串) 2 对象类型(Object):null 表示空对象,表示非空对象【只有 Object 有 null 值】 , 对象的属性可以是 Boolean,Number,String,Object,Array. 数组类型(Array):则表示空数组。没有 null 值,null 需要转换为,数组的元素可 以是 Boolean,Number,String,Object,Array。 通用输出值的格式为 JSON 格式,具体如下 success:true|false, /是否成功

4、,boolean error:, /错误信息,如果 success=false,携带此信息,String errorCode:0, /错误代码,用于错误的分类,int data: /返回值,Object 对于返回的结果,有以下几种情况: 1) success=true:成功,此时 error=null, errorCode=0,代表没有错误。其中 data 为 返回的数据对象。data 只可能是 Object 或 Array 类型。 2) success=false:失败,进一步查看 errorCode 确定错误的分类以确定下一步操作。对 于每个接口来说,errorCode 的情况可能都不一样

5、,具体说明见各个接口。其中 errorCode=2 是统一的,标识 session 失效,需要重新登录。 1.3 术语及约定 日期格式:日期格式:YYYY-MM-DD 时间格式:时间格式:YYYY-MM-DD HH24:mi:SS 2 EAServer 提供给业务服务器的接口提供给业务服务器的接口 本节详细描述了 EAServer 提供给业务服务器的接口说明。 EAServer 提供给业务服务器的 所有接口是一个地址,不同的接口通过 commandId 区分。 接口的格式为 JSON。 2.1 Push 消息 URL:http:/ip:port/uc 3 输入:输入: commandId:pu

6、sh, /命令 ID,对于 Push 来时,固定为 push sequenceId:string /请求的序列号,可不填(如果请求方是异步请求时有用) params: /push 请求的参数 appCode:string /应用代码 userList:string /接收通知的用户数组,元素为用户在该应用的登录账号 offlinePolicy: send:int /离线发送规则 /0:如果用户离线,消息丢弃 /1:如果用户离线,EAServer 保存离线在消息表, / 并通知用户,通知方式见下。 inform:int /离线消息通知规则 /0:不通知 /1:转发到邮箱通知 /2:转发到短信通知

7、 , mode:int /消息类型。 /1:提示框并确认后将应用拉起 /2:冒泡提示 /3:即时消息 /4:应用图标数字提示 /5:用户消息 format:int /消息内容格式。 /0:二进制格式,以 base64 编码; /1:文本格式 title:string /消息标题 content:string /消息内容 4 输出:输出: success:true|false, /是否成功 sequenceId:int /请求时序列号,原样返回 error:, /错误信息,如果 success=false,需要携带此信息 errorCode:int /错误代码 data:无 说明:说明: err

8、orCode 错误码定义 101:其他错误 301: 用户不存在 401:应用不存在 402 : 应用代码错误 405: 应用账号不存在 406: 应用不可访问 407:用户无权访问应用 409:应用状态错误 701: 无效的消息 702: 不可识别的消息 703: 消息协议字段错误 2.2 用户状态查询 如果应用想查询一批用户的状态,可通过这个接口向 EAServer 发起请求,然后将结果 本地保存备用。 一般的使用方法:在业务服务器启动时,获取所有用户状态保存,然后接收 EAServer 的用户状态通知。保证本地的用户状态和 EAServer 的用户状态时同步的。 (当然也可以损失 一些性

9、能,本地不保存,每次需要时再到 EAServer 查询) URL:http:/ip:port/uc 输入:输入: 5 commandId:userstate, /命令 ID,对于状态查询来时,固定为 userstate sequenceId:string /请求的序列号,可不填(如果请求方是异步请求时有用) params: /接口参数 appCode:string /应用代码 userList:string /查询的用户账号列表,数组 输出:输出: success:true|false, /是否成功 sequenceId:int /请求时序列号,原样返回 error:, /错误信息,如果 su

10、ccess=false,需要携带此信息 errorCode:int /错误代码 data: stateList:int /用户状态数组,和请求时的用户账号数组一一对应。取值范围 /-1:用户不存在 /0: 离线 /1: 在线 说明:说明: 此处的用户账号是业务系统的应用账号,不是 CeMIAP 的账号。 errorCode 错误码定义: 101:其他错误 401:应用不存在 3 业务服务器提供给业务服务器提供给 EAServer 的接口的接口 本节详细描述了业务服务器需要提供给 EAServer 的接口。 6 3.1 认证 URL:取决于配置 输入:输入: user:string /用户账号

11、password:string /用户密码 输出:输出: success:true|false, /是否成功 error:, /错误信息,如果 success=false,需要携带此信息 errorCode: /错误代码 data: authToken:string /认证通过后的令牌 说明:说明: 如果业务系统需要自己认证,提供此接口。其中 authToken 为认证令牌,在后续业务代 理时,会在 httpheader 中携带此 authToken,业务系统收到请求后,验证 authToken 并创建 session。 一般通过 JSSE 提供一个 login 服务访问相关的 SSO 服务器

12、实现认证目的。 是否需要生成 authToken 以及生成规则,一般由 SSO 服务器和业务服务器之间是验证规则决定,本文不做 规定。 3.2 业务代理 URL:业务代理地址+WebApp 指定的相对 URL 说明:说明: CeMIAP 只是代理 WebApp 对业务的访问请求,EAServer 将 WebApp 的请求数据转发 7 给业务服务器。如果应用配置中的业务代理地址为 http:/192.168.1.126:8080/biz,WebApp 请求的接口地址为:Easymi.proxy.requesturl:/tasks/list.。则此处的 URL 为 http:/192.168.1.

13、126:8080/biz/task/list 在转发时,请求的 HttpHeader 中至少要携带如下信息: Cookie:xxx(从业务服务器 Set-Cookie 回来的值,可为空);由 EASServer 缓存并提供 Content-Type:类似 application/json;charset=UTF-8;由 Webapp 指定 X-Easymi-AuthToken:xxx(如果是业务服务器认证,这里携带当时认证的 token,可为 空);EAServer 提供 X-Easymi-UserName:xxx(业务系统中的用户账号,必须) EAServer 提供 X-Easymi-App

14、Code:xxx(当前代理的应用代码,必须) EAServer 提供 业务代理地址的配置:(在应用信息编辑中) userName 取决于应用的设置:如果选中了“应用账号采用登陆账号” ,则使用当前登陆用户 名作为 userName 传给业务服务器(如下图) 。 8 如果没有选中,则通过下面的界面,给每个有权限的用户设置在该应用中对应的用户名, EAServer 会将这里设置的应用账号作为 userName 传给业务服务器。 3.3 下载 URL:资源上传下载地址+资源相对地址 说明:说明: 在 WebApp 下载资源时, CeMIAP 会首先将资源下载到 EAServer 上, 然后通过 EA

15、Server 返回资源给 WebApp。WebApp 从 EAServer 上下载时,支持断点续传。 下载支持两种协议:ftp,http Ftp 协议协议 资源上传下载地址中配置 ftp:/username:passwd192.168.1.126(把用户名密码写在其中), WebApp 请求的下载资源地址为:Easymi.proxy.downloadurl:/attach.doc,word.doc.。则此 处的 URL 为 ftp:/username:passwd192.168.1.126/attach.doc EAServer 按照 ftp 协议格式将文件下载保存在本地 Http 协议协议

16、资源上传下载地址中配置形如:http:/192.168.1.126:8080/resource,WebApp 请求的下载资 9 源地址为:Easymi.proxy.downloadurl:/attach.doc.。则此处的 URL 为 http:/192.168.1.126:8080/resource/attach.doc 输入的输入的 HttpHeader 在 HttpHeader 中至少要携带如下信息: Cookie:xxx(从业务服务器 Set-Cookie 回来的值,可为空) X-Easymi-AuthToken:xxx(如果是业务服务器认证,这里携带当时认证的 token,可为空) X-Easymi-UserNa

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 事务文书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号