/my/uploads/1
1.开放协议简介
腾讯企业邮箱开放协议,包括面向第三方合作应用和面向企业邮用户两类。其中,面向企业邮用户的开放协议,将提供给企业邮用户丰富的应用接口,用户可以根据这些接口定制自己统一的企业解决方案。
通过协议接口,企业用户可以实现:
1.同步成员帐号信息
2.获取新邮件个数
3.新邮件提醒
4.单点登陆
2.接入流程
接入流程如下:
图1申请接入腾讯企业邮开放协议流程图
1.用户需要以管理员身份登陆,并提交相关资料申请接入企业邮。提供资料内容包含如下资料:
•如需要接入单点登陆,需提供:服务器IP和端口,验证uri。
•如需要接入新邮件提醒,需提供:服务器IP和端口,接收uri。
2.用户提交资料后,企业邮系统会对提交的资料进行验证,通过后会给用户发放app_id和app_secret。app_id用于唯一标识用户,app_secret用于对请求签名,可以验证请求合法性。
3.用户根据appId和appSecret进行身份验证,得到access_token。
4.根据access_token,同步数据。
3.协议框架
3.1协议格式
协议采用HTTPS+JSON格式,请求采用GET/POST方式。
3.2安全机制
调用方需采用HTTPS调用请求,防止消息被窃取。
对于下发的请求,需要加上IP来源限制,以保证来源合法性。
3.3其它约定
1)涉及到的字符均用UTF-8编码
4.OAuth验证授权
根据申请到的app_id和app_secret,采用ClientCredentials方式获取access_token。
请求示例如下:
或者:
如果验证通过,返回:
5.同步Api接口
同步接口需要先经过OAuth验证,获取到access_token。调用的接口需要把参数access_token传过来。有两种方式,一种是在HTTPHEAD加上Authorization,另外一种是在GET/POST请求加上access_token
请求示例如下:
或者:
5.1获取成员资料
openapi/user/get
请求字段:
返回data包含字段:
示例:
返回:
注:
1)部门的根结点不包括在路径里面。比如部门所属:腾讯/广州研发中心/企业邮箱,Value为:广州研发中心/企业邮箱
5.2同步成员帐号资料
openapi/user/sync
请求字段:
返回data为空。通过返回状态码,判断是否调用成功。
示例:
5.3获取某个版本号后的用户更新列表
openapi/user/list
请求字段:
返回data包含字段:
请求示例:
返回:
5.4获取新邮件数
openapi/mail/newcount
请求字段:
返回data包含字段:
5.5同步别名
openapi/slave/sync
请求字段:
示例:
5.6同步部门
openapi/party/sync
请求字段:
注:
2)如果DEL/ADD,则只需要传DstPath
3)如果MOD,需要将SrcPath,和DstPath传过来
5.7调整成员所属部门
openapi/partyuser/sync
请求字段:
5.8获取子部门列表
openapi/party/list
请求字段:
返回data包含字段:
注:返回的子部门不进行迭代遍历,只是最近的一层子部门列表。
5.9获取部门下成员列表
openapi/partyuser/list
请求字段:
返回data包含字段:
6.新邮件/未读数下发提醒
由接入方提供接入提醒的服务地址,
6.1新邮件提醒
消息格式字段:
6.2未读数更新
由企业邮下发更新提醒
消息格式字段:
7.单点登陆接入
登陆采用SSO单点登陆方式,目前支持CAS验证和BizSSO方式。
通过method指定验证方式,method=[cas|bizsso]。
7.1CAS验证
CAS是Web上实现单点登陆的一种通用的方式。
7.2BizSSO验证
7.2.1说明
1.3rdOA表示接入方OA系统;3rdSSO表示接入方单点登录认证系统;user表示请求用户或是浏览器;bizmail表示腾讯企业邮箱。
2.ticket由接入方分派,具体要求:
a)随机生成,长度不小于16个字符。
b)接入方保证其有效性(ticket存储,认证,时效)。
c)一个ticket只能对应一个user。同时确保ticket在一段时间内必须唯一(最少1年),而且一个ticket只能验证一次,防止被窃取ticket登录。
7.2.2ticket验证
1.ticket验证采用httppost方式,由合作方提供ticket验证的URL。
2.接入方必须保存ticket的session信息。
3.bizmail这边发出的请求会通过固定的代理服务器IP连接合作方服务器,合作方需将bizmail的代理服务器IP加入IP白名单;同时只允许来自IP白名单的验证请求。
7.2.3ticket验证request
httppostcontent格式如下:
7.2.4ticket验证response
http返回的content格式为:
1 result 只能是true或者false
2 username与ticket对应