介绍蜜蜂(略)
本文档面向蜜蜂的二次开发人员,可以通过本文档所描述的接口创建微应用,为企业实现更多丰富且个性化的企业移动应用。主要解决在蜜蜂内部集成企业现有的WEB应用,提供统一认证的登录机制,以及向企业WEB应用服务器开放实时推送通知的业务接口。
企业微应用是企业在蜜蜂上建立的微应用,只提供给自己企业内部使用。企业内部任何的Web站点都可以成为一个企业微应用。
蜜蜂移动客户端提供内嵌浏览器, 企业微应用在蜜蜂客户端的表现形式是以一个WEB页面的形式在内嵌浏览器中显示。
PC端:
移动端:
蜜蜂PC客户端使用系统默认的浏览器, 蜜蜂移动客户端提供内嵌的浏览器; 构架如下图:
登录蜜蜂管理中心(蜜蜂管理中心https://oncloud.quanshi.com/ucadmin/), 在一级分类中,切换到“应用管理”页面, 如下图:
点击“新增应用”按钮,进入配置应用的界面填写应用配置信息, 如下图:
应用标题:蜜蜂客户端中应用列表中的应用标题。
应用描述:蜜蜂客户端中应用列表中的应用描述。
应用授权码: 调用API接口的授权码,可以当成应用登录API服务器的密码。
应用查询接口:蜜蜂客户端查询应用的未处理计数标记,在应用列表中可以显示唯独计数。
**平台URL:**客户端打开WEB应用的URL地址, 每个类型的客户端有单独的一个地址,便于PC与移动端用不同的站点。
消息推送接口及密钥: 蜜蜂服务器向客户的WEB应用服务器推送消息的接口以及加密数据的密钥。
**适用范围:**设定WEB应用的权限,仅仅被授权的用户才可以在客户的应用列表中显示此应用。
启用代理: 蜜蜂客户端通过蜜蜂的代理服务器访问应用的WEB服务器; 针对未向公网公开服务器的客户, 需要在客户的网络与全时的蜜蜂网络之间建立VPN、专线等网络通道; 具体实施请联系蜜蜂的产品与销售。
立即启用: 设定应用的是否有效的状态。
应用消息是否可输入:设定蜜蜂客户的应用消息窗口,用户是否可以输入消息; 用户输入的消息,将会通过“消息推送接口及密钥”设置的参数推送到客户的服务器。
调用蜜蜂的OpenAPI接口需要登录蜜蜂的OpenAPI服务器, 登录成功后获得一个登录Token。
登录蜜蜂API服务器有两种身份:
超级管理员:
用登录蜜蜂管理中心的帐号登录API服务器, 此种身份的权限是无限制的; 可以调用API服务器的任何接口。
应用管理员:
使用应用的ID, 以及应用的授权码登录API服务器, 此种身份的权限仅仅可以调用与应用 相关的API接口。
获取凭据的接口定义情况“OpenAPI参考”节。
OpenAPI是提供给客户应用/业务服务器调用, 完成制定功能的API接口。
特点:
使用HTTPS协议作为基础的通讯协议, 采用HTTPS 协议作为基础安全保障;
所有的HTTP请求使用POST方法;
请求参数和响应的结果均采用UTF-8编码的JSON结构 封装到消息体里; HTTP请求的Content-Type头值为: “application/json; charset=utf-8”;
HTTP请求URL的路径区分API接口;
HTTP请求的Body部分做为API接口的参数;
除获取凭据的接口外,所有的接口请求参数格式如下, 其中data部分是API接口的参数, 不同的API接口data部分定义不同, 其它都是调用凭据数据。
{
“username”:“登录用户名”,
“token”:“登录凭据”,
“data”:{}
}
{
“errorCode”: 0,
“data”:{}
“errorMessage”:“xxxxxxxx”,
“requestId”:“xxxxxxxxxxx”
}
凭据
获取凭据
接口URL: | /auth/token/create | |
请求参数 | ||
role | Integer | 登录角色; 2: 应用管理登录 |
username | String | 用户名, 登录管理中心管理帐号的登录名; 必填 |
password | String | 登录密码;必填。 |
appId | Integer | 应用ID, 当role为2时,必填。 |
示例: {
“role”: 0, “username”: “administrator@quanshi.com”, “password”: “11111111”, “appId”: 23 } |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
data.token | String | 登录凭据 |
data.username | String | 登录用户名 |
示例 {
“errorCode”: 0, “data”: { “username”: “administrator@quanshi.com”, “token”: “xxxxxxxxx-xxxxxxxxx-xxxxxxxxx”
} “errorMessage”:null, “requestId”: “xxxxx-xxxxx” } |
校验凭据
接口URL: | /auth/token/check | |
请求参数 | ||
username | String | 用户名, 登录管理中心管理帐号的登录名; 必填 |
token | String | 调用获取凭据接口返回的token。 |
示例: { “username”: “administrator@quanshi.com”, “token”: “xxxxxxx-xxxxxxxxxxx-xxxxxxxx” } |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
data.token | String | 登录凭据 |
data.username | String | 登录用户名 |
示例 {
“errorCode”: 0, “data”: { “username”: “administrator@quanshi.com”, “token”: “xxxxxxxxx-xxxxxxxxx-xxxxxxxxx”
} “errorMessage”:null, “requestId”: “xxxxx-xxxxx” } |
销毁凭据
接口URL: | /auth/token/delete | |
请求参数 | ||
username | String | 用户名, 登录管理中心管理帐号的登录名; 必填 |
token | String | 调用获取凭据接口返回的token。 |
示例: { “username”: “administrator@quanshi.com”, “token”: “xxxxxxx-xxxxxxxxxxx-xxxxxxxx” } |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
<无> | ||
示例 {
“errorCode”: 0, “errorMessage”:null, “requestId”: “xxxxx-xxxxx” } |
应用消息
文本消息
接口URL: | /appmsg/text2/send | |
请求参数 | ||
username | String | 登录用户名, 同“获取凭据”接口中的用户名;必填。 |
token | String | 登录凭据,由“获取凭据”接口返回;必填。 |
data.toUsers | Array | 接收人用户名,字符串数组;toUsers, toPartyIds指定消息接受者,不能同时为空。 |
data.toPartyIds | Array | 部门ID, 整形数组; toUsers, toPartyIds指定消息接受者,不能同时为空。 |
data.appId | Integer | 微应用ID;必填 |
data.title | String | 标题;选填。 |
data.content | String | 消息内容;必填。 |
data.detailContent | String | 详细内容链接;选填。 |
data.detailAuth | Integer | 是否用统一认证的方式打开详细内容的连接;1:是, 0:否(默认);选填。 |
示例: { "username": "admin@quanshi.com", "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "data": { "toUsers": [ "user1@quanshi.com", "user2@quanshi.com" ], "toPartyIds": [ 100, 200 ], "appId": 80, "title": "message title", "content": "message contet", "detailContent": "http://www.baidu.com", "detailAuth": "1" } } |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
data. | Array | 发送结果数组 |
data[0].toUser | String | 接收消息的用户名 |
data[0].toPartyId | Integer | 接收消息的部门ID |
data[0].errorCode | Integer | 消息投递结果,0: 成功,非0: 失败。 |
Data[0].errorMessage | String | 失败时的提示。 |
示例 { "errorCode": 0, "data": [ { "toUser": "user1@quanshi.com", "errorCode": 0, "errorMessage": "" }, { "toPartyId": 100, "errorCode": 10010, "errorMessage": "invalid token" } ], "errorMessage": "", "requestId": "xxxx-xx-ysdf-sdfsdfsf-wqeqw123" } |
图片消息
接口URL: | /appmsg/image/send | |
请求参数 | ||
username | String | 登录用户名, 同“获取凭据”接口中的用户名;必填。 |
token | String | 登录凭据,由“获取凭据”接口返回;必填。 |
data.toUsers | Array | 接收人用户名,字符串数组;toUsers, toPartyIds指定消息接受者,不能同时为空。 |
data.toPartyIds | Array | 部门ID, 整形数组; toUsers, toPartyIds指定消息接受者,不能同时为空。 |
data.appId | Integer | 微应用ID;必填 |
data.mediaId | String | 图片文件的URL地址或者在蜜蜂文件服务器上的ID;必填。 |
data.mediaType | Integer | 图片类型, 1:mediaId是一个文件ID, 2:mediaID是文件URL地址;必填。 |
示例: { "username": "admin@quanshi.com", "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "data": { "toUsers": [ "user1@quanshi.com", "user2@quanshi.com" ], "toPartyIds": [ 100, 200 ], "appId": 80, "mediaId": "http://www.baidu.com/image/1.image", "mediaType": 2 } } |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
data. | Array | 发送结果数组 |
data[0].toUser | String | 接收消息的用户名 |
data[0].toPartyId | Integer | 接收消息的部门ID |
data[0].errorCode | Integer | 消息投递结果,0: 成功,非0: 失败。 |
Data[0].errorMessage | String | 失败时的提示。 |
示例 { "errorCode": 0, "data": [ { "toUser": "user1@quanshi.com", "errorCode": 0, "errorMessage": "" }, { "toPartyId": 100, "errorCode": 10010, "errorMessage": "invalid token" } ], "errorMessage": "", "requestId": "xxxx-xx-ysdf-sdfsdfsf-wqeqw123" } |
文件消息
接口URL: | /appmsg/file/send | |
请求参数 | ||
username | String | 登录用户名, 同“获取凭据”接口中的用户名;必填。 |
token | String | 登录凭据,由“获取凭据”接口返回;必填。 |
data.toUsers | Array | 接收人用户名,字符串数组;toUsers, toPartyIds指定消息接受者,不能同时为空。 |
data.toPartyIds | Array | 部门ID, 整形数组; toUsers, toPartyIds指定消息接受者,不能同时为空。 |
data.appId | Integer | 微应用ID; 必填 |
data.mediaId | String | 文件的URL地址或者在蜜蜂文件服务器上的ID;必填。 |
data.mediaType | Integer | 文件类型, 1:mediaId是一个文件ID, 2:mediaID是文件URL地址;必填。 |
data.fileName | String | 文件名;必填。 |
data.fileSize | Integer | 文件大小, 单位字节; 选填。 |
示例: { "username": "admin@quanshi.com", "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "data": { "toUsers": [ "user1@quanshi.com", "user2@quanshi.com" ], "toPartyIds": [ 100, 200 ], "appId": 80, "mediaId": "http://www.baidu.com/image/1.gzip ", "mediaType": 2, "fileName": "1.gzip ", "fileSize": 10240 } } |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
data. | Array | 发送结果数组 |
data[0].toUser | String | 接收消息的用户名 |
data[0].toPartyId | Integer | 接收消息的部门ID |
data[0].errorCode | Integer | 消息投递结果,0: 成功,非0: 失败。 |
Data[0].errorMessage | String | 失败时的提示。 |
示例 { "errorCode": 0, "data": [ { "toUser": "user1@quanshi.com", "errorCode": 0, "errorMessage": "" }, { "toPartyId": 100, "errorCode": 10010, "errorMessage": "invalid token" } ], "errorMessage": "", "requestId": "xxxx-xx-ysdf-sdfsdfsf-wqeqw123" } |
定制消息
接口URL: | /appmsg/customized/send | |
请求参数 | ||
username | String | 登录用户名, 同“获取凭据”接口中的用户名;必填。 |
token | String | 登录凭据,由“获取凭据”接口返回;必填。 |
data.toUsers | Array | 接收人用户名,字符串数组;toUsers, toPartyIds指定消息接受者,不能同时为空。 |
data.toPartyIds | Array | 部门ID, 整形数组; toUsers, toPartyIds指定消息接受者,不能同时为空。 |
data.appId | Integer | 微应用ID; 必填 |
data.data1 | String | 定制化数据;必填。 |
data.data2 | String | 定制化数据;选填。 |
data.data3 | String | 定制化数据;选填。 |
data.data4 | String | 定制化数据;选填。 |
data.webPushData | String | 向IOS客户端推送消息的内容;如无内容或者不填,则不向IOS客户端推送消息;选填。 |
示例: { "username": "admin@quanshi.com", "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "data": { "toUsers": [ "user1@quanshi.com", "user2@quanshi.com" ], "toPartyIds": [ 100, 200 ], "appId": 80, "data1": "dafdsfdsfsdf", "data2": "sdfsdf", "data3": "eeeeeeeeeeeeeeeeee", "data4": "werwr123232423423432", "webPushData": "this is a push message." } } |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
data. | Array | 发送结果数组 |
data[0].toUser | String | 接收消息的用户名 |
data[0].toPartyId | Integer | 接收消息的部门ID |
data[0].errorCode | Integer | 消息投递结果,0: 成功,非0: 失败。 |
Data[0].errorMessage | String | 失败时的提示。 |
示例 { "errorCode": 0, "data": [ { "toUser": "user1@quanshi.com", "errorCode": 0, "errorMessage": "" }, { "toPartyId": 100, "errorCode": 10010, "errorMessage": "invalid token" } ], "errorMessage": "", "requestId": "xxxx-xx-ysdf-sdfsdfsf-wqeqw123" } |
OA消息
接口URL: | /appmsg/oa/send | |
请求参数 | ||
username | String | 登录用户名, 同“获取凭据”接口中的用户名;必填。 |
token | String | 登录凭据,由“获取凭据”接口返回;必填。 |
data.toUsers | Array | 接收人用户名,字符串数组;toUsers, toPartyIds指定消息接受者,不能同时为空。 |
data.toPartyIds | Array | 部门ID, 整形数组; toUsers, toPartyIds指定消息接受者,不能同时为空。 |
data.appId | Integer | 微应用ID; 必填 |
data.status | Integer | OA消息默认状态, 后选值0-20; 选填, 默认:0. |
data.title | String | 起始状态时标题栏内容,必填 |
data.color | String | 起始状态标题底色;请看“OA消息标题栏”节; 选填。 |
data.titleStyle | String | 起始状态标题栏风格, 可选值:“simple”,“default”(默认),选填。 |
data.titleElements | String | 标题栏元素;请看“OA消息标题栏”节; 选填。 |
data.elements | String | 内容元素;请看“OA消息标题栏”节; 必填。 |
detailURL | String | 详情URL, 选填。 |
detailAuth | String | 是否用统一认证的方式打开详细内容的连接, 默认:否;选填。 |
exData | String | 扩展数据,选填。 |
customizedType | String | 扩展数据,选填。 |
customizedData | String | 扩展数据,选填。 |
示例: { "username": "admin@quanshi.com", "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "data": { "toUsers": [ "user1@quanshi.com", "user2@quanshi.com" ], "toPartyIds": [ 100, 200 ], "appId": 80, "status": 0, "color": "blue", "tilte": "标题栏内容", "titleStyle": "simple", "titleElements": [ { "stauts": 5, "tilte": "转变后的标题栏内容1", "color": "red" }, { "stauts": 15, "tilte": "转变后的标题栏内容2", "color": "red" } ], "elements": [ { "type": "text", "content": [ { "url": null, "bold": null, "color": "#0000FF", "size": null, "urlauth": null, "text": "需要审批的内容" } ], "imageType": null, "imageId": null, "buttons": null, "status": "11" } ], "detailURL": "http://www.baidu.com", "detailAuth": 1 } } |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
data. | Array | 发送结果数组 |
data[0].toUser | String | 接收消息的用户名 |
data[0].toPartyId | Integer | 接收消息的部门ID |
data[0].errorCode | Integer | 消息投递结果,0: 成功,非0: 失败。 |
Data[0].errorMessage | String | 失败时的提示。 |
示例 { "errorCode": 0, "data": [ { "errorCode": 0, "toUser": "shengjun.wu@quanshi.com", "toPartyId": null, "errorMessage": null, "msgId": "8C931A60-D540-8F8A-73F4-3656104B7FE8" } ], "errorMessage": "Successful!", "requestId": "b-ucopenapi1-9534dafa-6b2c-4ab3-8dd0-e562b4a3c286" } |
||
备注:定制客户端使用的接口,非定制客户端请忽略该接口 |
改变OA消息状态
接口URL: | /appmsg/oa/status/change | |
请求参数 | ||
username | String | 登录用户名, 同“获取凭据”接口中的用户名;必填。 |
token | String | 登录凭据,由“获取凭据”接口返回;必填。 |
data.msgId | String | OA消息发送接口返回的MsgId,必填。 |
data.newStatus | Integer | OA消息新的状态,必填。 |
data.externalData | Object | OA消息新状态的额外数据,用来修改OA消息的显示内容;选填。 |
示例: { "username": "admin@quanshi.com", "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "data": { "msgId": "sdfsdf-sdfsdf-12313-sdfsdfsd", "newStatus": 6, "externalData": { "name1": "value1" } } } |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
data. | 无 | |
示例 { "errorCode": 0, "data":null, "errorMessage": "", "requestId": "xxxx-xx-ysdf-sdfsdfsf-wqeqw123" } |
待处理事件通知
说明:用于应用本身的待处理提示:小红点显隐(非用于应用消息的未读计数)
接口URL: | /appmsg/new/event/notify | |
请求参数 | ||
username | String | 登录用户名, 同“获取凭据”接口中的用户名;必填。 |
token | String | 登录凭据,由“获取凭据”接口返回;必填。 |
data.toUsers | Array | 接收人用户名,字符串数组;toUsers, toPartyIds指定消息接受者,不能同时为空。 |
data.toPartyIds | Array | 部门ID, 整形数组; toUsers, toPartyIds指定消息接受者,不能同时为空。 |
data.appId | Integer | 微应用ID; 必填 |
data.eventCount | Integer | 待处理事件计数;必填。 |
data.extend | String | 扩展数据;选填。 |
示例: { "username": "admin@quanshi.com", "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "data": { "toUsers": [ "user1@quanshi.com", "user2@quanshi.com" ], "toPartyIds": [ 100, 200 ], "appId": 80, "eventCount": 5, "extend": "sdfsdfsdfsdf" } } |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
data. | Array | 发送结果数组 |
data[0].toUser | String | 接收消息的用户名 |
data[0].toPartyId | Integer | 接收消息的部门ID |
data[0].errorCode | Integer | 消息投递结果,0: 成功,非0: 失败。 |
Data[0].errorMessage | String | 失败时的提示。 |
示例 { "errorCode": 0, "data": [ { "toUser": "user1@quanshi.com", "errorCode": 0, "errorMessage": "" }, { "toPartyId": 100, "errorCode": 10010, "errorMessage": "invalid token" } ], "errorMessage": "", "requestId": "xxxx-xx-ysdf-sdfsdfsf-wqeqw123" } |
聊天消息
文本消息
接口URL: | /immsg/text/send | |
请求参数 | ||
username | String | 登录用户名, 同“获取凭据”接口中的用户名;必填。 |
token | String | 登录凭据,由“获取凭据”接口返回;必填。 |
data.fromUser | String | 消息发人帐号,必填 |
data.toUsers | Array | 接收人用户名,字符串数组;toUsers, toGroups指定消息接受者,不能同时为空。 |
data.toGroups | Array | 部门ID, 整形数组; toUsers, toGroups指定消息接受者,不能同时为空。 |
data.content | String | 文本消息内容,必填。 |
示例: { "username": "admin@quanshi.com", "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "data": { "fromUser": "test1@quanshi.com", "toUsers": [ "user1@quanshi.com", "user2@quanshi.com" ], "toGroups": [ 100, 200 ], "content": "sdfsdfsdfsdf" } } |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
data. | Array | 发送结果数组 |
data[0].toUser | String | 接收消息的用户名 |
data[0].toGroup | Integer | 接收消息的讨论组ID |
data[0].errorCode | Integer | 消息投递结果,0: 成功,非0: 失败。 |
Data[0].errorMessage | String | 失败时的提示。 |
示例 { "errorCode": 0, "data": [ { "toUser": "user1@quanshi.com", "errorCode": 0, "errorMessage": "" }, { "toGroup": 100, "errorCode": 10010, "errorMessage": "invalid token" } ], "errorMessage": "", "requestId": "xxxx-xx-ysdf-sdfsdfsf-wqeqw123" } |
统一认证/登录
Session检查
接口URL: | /status/session/check | |
请求参数 | ||
username | String | 登录用户名, 同“获取凭据”接口中的用户名;必填。 |
token | String | 登录凭据,由“获取凭据”接口返回;必填。 |
data | Array | 传入待检查Session参数数组 |
data[0].account | String | 蜜蜂帐号,必填。 |
data[0].sessionId | String | 蜜蜂回话ID,必填。 |
示例: { "username": "admin@quanshi.com", "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "data": [ { "account": "user1@quanshi.com", "sessionId": "sdfjsdfsdfsd-sdfsdfsdf-123123" }, { "account": "user2@quanshi.com", "sessionId": "sdfjsdfsdfsd-sdfsdfsdf-123123" } ] } |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
data. | Array | 检测结果数组 |
data[0].errorCode | Integer | 结果码,0:成功,非0: 失败。 |
data[0].errorMessage | String | 错误提示信息。 |
data[0].account | String | 检测蜜蜂帐号。 |
data[0].sessionId | String | 蜜蜂回话ID。 |
data[0].displayName | String | 蜜蜂帐号显示名称。 |
data[0].sex | Integer | 蜜蜂帐号性别, 0: 男,1:女。 |
data[0].mobile | String | 蜜蜂帐号移动电话。 |
data[0].fixTel | String | 蜜蜂帐号固定电话。 |
data[0].position | String | 蜜蜂帐号的职务。 |
data[0].email | String | 蜜蜂帐号的注册邮箱。 |
data[0].department | String | 蜜蜂帐号的部门。 |
data[0].siteId | Integer | 蜜蜂帐号的站点ID。 |
data[0].adminAccount | String | 蜜蜂帐号的管理员账号(任意一个有效的账号)。 |
data[0].iconUrl | String | 头像URL,选填 |
示例 { "errorCode": 0, "data": [ { "errorCode": 0, "errorMessage": "", "account": "user1@quanshi.com", "sessionId": "sdfsdfsdf-sdfsdf-s-dfsdfsd", "displayName": "测试1", "sex": 1, "mobile": 13912345678, "fixTel": "010-12345678", "position": "总经理", "email": "user1@quanshi.com", "department": "研发部", "siteId": 343234, "adminAccount": "admin111@quanshi.com", "iconUrl":"http://XXXXXXX" }, { "errorCode": 0, "errorMessage": "", "account": "user2@quanshi.com", "sessionId": "sdfsdfsdf-sdfsdf-s-dfsdfsd", "displayName": "测试2", "sex": 1, "mobile": 13912345678, "fixTel": "010-12345678", "position": "总经理", "email": "user2@quanshi.com", "department": "研发部", "siteId": 343234, "adminAccount": "admin111@quanshi.com", "iconUrl":"http://XXXXXXX" } ], "errorMessage": "", "requestId": "xxxx-xx-ysdf-sdfsdfsf-wqeqw123" } |
帐号
创建帐号
接口URL: |
/account/create | |
请求参数 | ||
username | String | 登录用户名, 同“获取凭据”接口中的用户名;必填。 |
token | String | 登录凭据,由“获取凭据”接口返回;必填。 |
data.loginname | String | 登录帐号,必填。 |
data.lastname | String | 姓, 必填。 |
data.firstname | String | 名, 必填。 |
data.displayname | String | 显示名称,必填 |
data.namepinyin | String | 姓名拼音,选填。 |
data.position | String | 职务,选填。 |
data.mobile | String | 手机号,选填 |
data.email | String | 邮箱地址,选填 |
data.country | String | 国家,选填 |
data.officephone | String | 办公电话,选填 |
data.pbxNubmer | String | PBX分机号 |
data.beeStatus | Boolean | 蜜蜂帐号状态, 选填。 |
data.pbxStatus | Boolean | PBX电话功能状态,选填。 |
data.confStatus | Boolean | 发起云会议功能状态,选填 |
data.confPhoneStatus | Boolean | 云会议中使用电话功能状态,选填 |
data.callStatus | Boolean | 呼功能状态,选填 |
data.callPhoneStatus | Boolean | 呼中使用电话功能状态,选填 |
data.yunpanStatus | Boolean | 云盘功能状态,选填 |
data.sendDocInChat | Boolean | 聊天发送文件功能状态,选填 |
data.inviteStatus | Boolean | 会议邀请参会人功能状态,选填 |
data.departments | Array | 部门全路径名称,每级部门是一个数组单元,必填 |
data.departments[0] | String | 各级部门名称 |
示例: { "username": "admin@quanshi.com", "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "data": { "loginname": "test@quanshi.com", "lastname": "quanshi", "firstname": "test", "displayname": "test quanshi", "namepinyin": "", "position": "", "mobile": "", "email": "", "country": "", "officephone": "0512-62886816", "pbxNubmer": 1234, "beeStatus": true, "pbxStatus": true, "confStatus": true, "confPhoneStatus": true, "callStatus": true, "callPhoneStatus": false, "yunpanStatus": true, "sendDocInChat": false, "inviteStatus": true, "departments": [ "全时公司", "研发部" ] } } |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
data | 无 | |
示例 { "errorCode": 0, "data":null, "errorMessage": "", "requestId": "xxxx-xx-ysdf-sdfsdfsf-wqeqw123" } |
修改帐号
接口URL: |
/account/update | |
请求参数 | ||
username | String | 登录用户名, 同“获取凭据”接口中的用户名;必填。 |
Token | String | 登录凭据,由“获取凭据”接口返回;必填。 |
data.loginname | String | 登录帐号,必填。 |
data.lastname | String | 姓, 必填。 |
data.firstname | String | 名, 必填。 |
data.displayname | String | 显示名称,必填 |
data.namepinyin | String | 姓名拼音,选填。 |
data.position | String | 职务,选填。 |
data.mobile | String | 手机号,选填 |
data.email | String | 邮箱地址,选填 |
data.country | String | 国家,选填 |
data.officephone | String | 办公电话,选填 |
data.pbxNumber | String | PBX分机号 |
data.beeStatus | Boolean | 蜜蜂帐号状态, 选填。 |
data.pbxStatus | Boolean | PBX电话功能状态,选填。 |
data.confStatus | Boolean | 发起云会议功能状态,选填 |
data.confPhoneStatus | Boolean | 云会议中使用电话功能状态,选填 |
data.callStatus | Boolean | 呼功能状态,选填 |
data.callPhoneStatus | Boolean | 呼中使用电话功能状态,选填 |
data.yunpanStatus | Boolean | 云盘功能状态,选填 |
data.sendDocInChat | Boolean | 聊天发送文件功能状态,选填 |
data.inviteStatus | Boolean | 会议邀请参会人功能状态,选填 |
示例: { "username": "admin@quanshi.com", "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "data": { "loginname": "test@quanshi.com", "lastname": "quanshi", "firstname": "test", "displayname": "test quanshi", "namepinyin": "", "position": "", "mobile": "", "email": "", "country": "", "officephone": "0512-62886816", "pbxNubmer": 1234, "beeStatus": true, "pbxStatus": true, "confStatus": true, "confPhoneStatus": true, "callStatus": true, "callPhoneStatus": false, "yunpanStatus": true, "sendDocInChat": false, "inviteStatus": true, "departments": [ "全时公司", "研发部" ] } } |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
data | 无 | |
示例 { "errorCode": 0, "data":null, "errorMessage": "", "requestId": "xxxx-xx-ysdf-sdfsdfsf-wqeqw123" } |
删除帐号
接口URL: |
/account/delete | |
请求参数 | ||
username | String | 登录用户名, 同“获取凭据”接口中的用户名;必填。 |
token | String | 登录凭据,由“获取凭据”接口返回;必填。 |
data | String | 用户帐号登录名 |
示例: { "username": "admin@quanshi.com", "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "data": "test@quanshi.com" } |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
data | 无 | |
示例 { "errorCode": 0, "data":null, "errorMessage": "", "requestId": "xxxx-xx-ysdf-sdfsdfsf-wqeqw123" } |
修改密码
接口URL: |
/account/modifypassword | |
请求参数 | ||
username | String | 登录用户名, 同“获取凭据”接口中的用户名;必填。 |
token | String | 登录凭据,由“获取凭据”接口返回;必填。 |
data.loginname | String | 用户帐号登录名 |
data.password | String | 用户帐号新的密码。 |
示例: { "username": "admin@quanshi.com", "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "data": { "loginname": "test@quanshi.com", "password": "new password" } } |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
data | 无 | |
示例 { "errorCode": 0, "data":null, "errorMessage": "", "requestId": "xxxx-xx-ysdf-sdfsdfsf-wqeqw123" } |
获取帐号信息
接口URL: |
/account/getinfo | |
请求参数 | ||
username | String | 登录用户名, 同“获取凭据”接口中的用户名;必填。 |
token | String | 登录凭据,由“获取凭据”接口返回;必填。 |
data | String | 蜜蜂帐号登录名,必填。 |
示例: { "username": "admin@quanshi.com", "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "data": "test@quanshi.com" } |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
data.loginname | String | 登录帐号,必填。 |
data.lastname | String | 姓, 必填。 |
data.firstname | String | 名, 必填。 |
data.displayname | String | 显示名称,必填 |
data.namepinyin | String | 姓名拼音,选填。 |
data.position | String | 职务,选填。 |
data.mobile | String | 手机号,选填 |
data.email | String | 邮箱地址,选填 |
data.country | String | 国家,选填 |
data.officephone | String | 工作电话,选填 |
data.pbxNubmer | String | PBX分机号 |
data.beeStatus | Boolean | 蜜蜂帐号状态, 选填。 |
data.pbxStatus | Boolean | PBX电话功能状态,选填。 |
data.confStatus | Boolean | 发起云会议功能状态,选填 |
data.confPhoneStatus | Boolean | 云会议中使用电话功能状态,选填 |
data.callStatus | Boolean | 呼功能状态,选填 |
data.callPhoneStatus | Boolean | 呼中使用电话功能状态,选填 |
data.yunpanStatus | Boolean | 云盘功能状态,选填 |
data.sendDocInChat | Boolean | 聊天发送文件功能状态,选填 |
data.inviteStatus | Boolean | 会议邀请外部人员功能状态,选填 |
data.departments | Array | 部门全路径名称,每级部门是一个数组单元,必填 |
data.departments[0] | String | 各级部门名称 |
data.iconUrl | String | 头像URL,选填 |
data.iconFileId | String | 头像的文件id,选填 |
data. sex | Integer | 性别: 1-男 2-女,选填 |
data.officeAddress | String | 办公地址,选填 |
data. countryCode | String | 工作电话-国别码,选填 |
data.cityCode | String | 工作电话-区号,选填 |
data. subCode | String | 工作电话-分机号,选填 |
data. isManager | Integer | 是否为领导: 1-是,选填 |
data.superUserInfo. loginname | String | 上级登录名,选填 |
data.superUserInfo. displayname | String | 上级展示名称,选填 |
示例 { "errorCode": 0, "data": { "loginname": "adiadacd@d123.com", "lastname": "姓", "firstname": "名", "displayname": "展示名称", "namepinyin": "ZSMC", "position": "员工", "mobile": "11222255462", "email": "adiadacd@d123.com", "country": null, "officephone": "55448748", "pbxNumber": null, "beeStatus": true, "pbxStatus": false, "confStatus": true, "confPhoneStatus": true, "callStatus": true, "callPhoneStatus": false, "yunPanStatus": false, "sendDocInChat": true, "inviteStatus": true, "iconUrl": "http://beefs.quanshi.com:80/ucfserver/hddown?fid=NTQ1MzczMC84Lzx8Oj4yMDE3XzdfMTFfMTVfOV80OF82MTQucG5nXl5edGFuZ2hkZnNeXl43Mzk1MzZkYjczOWZjMDRkMDNlNzllNThhZjY3ZDIyOF5eXnRhbmdoZGZzXl5eODY5OQ$&u=5453730", "iconFileId":"NTQ1MzczMC84Lzx8Oj4yMDE3XzdfMTFfMTVfOV80OF82MTQucG5nXl5edGFuZ2hkZnNeXl43Mzk1MzZkYjczOWZjMDRkMDNlNzllNThhZjY3ZDIyOF5eXnRhbmdoZGZzXl5eODY5OQ$", "sex": 2, "officeAddress": "苏州", "countryCode": "86", "cityCode": "0512", "subCode": "2254", "isManager": 1, "superUserInfo": { "loginname": "tbe2@test.com", "displayname": "Kimi(基米·莱科宁)" }, "departments": [ [ "蜜蜂测试-14", "研发测试" ] ] }, "errorMessage": "Successful!", "requestId": "A120197-ac74a31f-bc83-4aa1-8cd1-b46de5953ce5" } |
获取帐号状态
接口URL: |
/account/getstatus | |
请求参数 | ||
username | String | 登录用户名, 同“获取凭据”接口中的用户名;必填。 |
token | String | 登录凭据,由“获取凭据”接口返回;必填。 |
data | String | 蜜蜂帐号登录名,必填。 |
示例: { "username": "admin@quanshi.com", "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "data": "test@quanshi.com" } |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
data.loginname | String | 登录帐号,必填。 |
data.beeStatus | Boolean | 蜜蜂帐号状态, 选填。 |
示例 { "errorCode": 0, "data": { "loginname": "test@quanshi.com", "beeStatus": true }, "errorMessage": "", "requestId": "xxxx-xx-ysdf-sdfsdfsf-wqeqw123" } |
禁用帐号
接口URL: |
/account/disable | |
请求参数 | ||
username | String | 登录用户名, 同“获取凭据”接口中的用户名;必填。 |
token | String | 登录凭据,由“获取凭据”接口返回;必填。 |
data | String | 蜜蜂帐号登录名,必填。 |
示例: { "username": "admin@quanshi.com", "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "data": "test@quanshi.com" } |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
data | 无 | |
示例 { "errorCode": 0, "data":null, "errorMessage": "", "requestId": "xxxx-xx-ysdf-sdfsdfsf-wqeqw123" } |
启用帐号
接口URL: |
/account/enable | |
请求参数 | ||
username | String | 登录用户名, 同“获取凭据”接口中的用户名;必填。 |
token | String | 登录凭据,由“获取凭据”接口返回;必填。 |
data | String | 蜜蜂帐号登录名,必填。 |
示例: { "username": "admin@quanshi.com", "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "data": "test@quanshi.com" } |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
data | 无 | |
示例 { "errorCode": 0, "data":null, "errorMessage": "", "requestId": "xxxx-xx-ysdf-sdfsdfsf-wqeqw123" } |
移动帐号
接口URL: |
/account/movedepartment | |
请求参数 | ||
username | String | 登录用户名, 同“获取凭据”接口中的用户名;必填。 |
token | String | 登录凭据,由“获取凭据”接口返回;必填。 |
data.loginame | String | 蜜蜂帐号登录名,必填。 |
data.parentNameLink | Array | 新部门的名称ID数组,必填。 |
示例: { "username": "admin@quanshi.com", "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "data": { "loginname": "user1@quanshi.com", "parentNameLink": [ "研发部", "北京研发团队" ] } } |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
data | 无 | |
示例 { "errorCode": 0, "data":null, "errorMessage": "", "requestId": "xxxx-xx-ysdf-sdfsdfsf-wqeqw123" } |
根据ID获取账号信息
接口URL: |
/account/infoById/get | |
请求参数 | ||
username | String | 登录用户名, 同“获取凭据”接口中的用户名;必填。 |
token | String | 登录凭据,由“获取凭据”接口返回;必填。 |
data | String | 用户ID,必填。 |
示例: { "token": "9fd51ec2-67c3-4986-acfd-491f0a73a947", "username": "admin@ucb20151104.quanshi.com", "data": "64045321" } |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
data.loginname | String | 登录帐号,必填。 |
data.lastname | String | 姓, 必填。 |
data.firstname | String | 名, 必填。 |
data.displayname | String | 显示名称,必填 |
data.namepinyin | String | 姓名拼音,选填。 |
data.position | String | 职务,选填。 |
data.mobile | String | 手机号,选填 |
data.email | String | 邮箱地址,选填 |
data.country | String | 国家,选填 |
data.officephone | String | 办公电话,选填 |
data.pbxNubmer | String | PBX分机号 |
data.beeStatus | Boolean | 蜜蜂帐号状态, 选填。 |
data.pbxStatus | Boolean | PBX电话功能状态,选填。 |
data.confStatus | Boolean | 发起云会议功能状态,选填 |
data.confPhoneStatus | Boolean | 云会议中使用电话功能状态,选填 |
data.callStatus | Boolean | 呼功能状态,选填 |
data.callPhoneStatus | Boolean | 呼中使用电话功能状态,选填 |
data.yunpanStatus | Boolean | 云盘功能状态,选填 |
data.sendDocInChat | Boolean | 聊天发送文件功能状态,选填 |
data.inviteStatus | Boolean | 会议邀请外部人员功能状态,选填 |
data.departments | Array | 部门全路径名称,每级部门是一个数组单元,必填 |
data.departments[0] | String | 各级部门名称 |
data.iconUrl | String | 头像URL,选填 |
data.iconFileId | String | 头像的文件id,选填 |
data.externalUserName | String | AD域账户名选填 |
data. sex | Integer | 性别: 1-男 2-女,选填 |
data.officeAddress | String | 办公地址,选填 |
data. countryCode | String | 工作电话-国别码,选填 |
data.cityCode | String | 工作电话-区号,选填 |
data. subCode | String | 工作电话-分机号,选填 |
data. isManager | Integer | 是否为领导: 1-是,选填 |
data.superUserInfo. loginname | String | 上级登录名,选填 |
data.superUserInfo. displayname | String | 上级展示名称,选填 |
示例 { { "errorCode": 0, "data": { "loginname": "testb_confe001@test.com", "lastname": "hello_last", "firstname": "sjb0300", "displayname": "testb_confe001@test.com", "namepinyin": "TESTB_CONFE001@TEST.COM", "position": null, "mobile": "18910051245", "email": "testb_confe001@test.com", "country": null, "officephone": "98765432111", "pbxNumber": "2001", "beeStatus": false, "pbxStatus": true, "confStatus": true, "confPhoneStatus": true, "callStatus": true, "callPhoneStatus": true, "yunPanStatus": true, "sendDocInChat": true, "inviteStatus": true, "iconUrl": "http://testbeefs.quanshi.com:80/ucfserver/hddown?fid=NjQwNDUzMjEvOC88fDo-MjAxN181XzNfMTdfNl8xNl8yLmpwZ15eXnRhbmdoZGZzXl5eZjVjMDdmODkyMThiN2JjZjllMmM0NmU4ZDg4ZWQxOTReXl50YW5naGRmc15eXjczNjM$&u=64045321", "iconFileId": "NjQwNDUzMjEvOC88fDo-MjAxN181XzNfMTdfNl8xNl8yLmpwZ15eXnRhbmdoZGZzXl5eZjVjMDdmODkyMThiN2JjZjllMmM0NmU4ZDg4ZWQxOTReXl50YW5naGRmc15eXjczNjM$", "sex": 2, "officeAddress": "苏州", "countryCode": "86", "cityCode": "0512", "subCode": "2254", "isManager": 1, "superUserInfo": { "loginname": "tbe2@test.com", "displayname": "Kimi(基米·莱科宁)" }, "departments": [ [ "上海杰事杰新材料(集团)股份有限公司", "测试", "sj_testb" ] ], "externalUserName": "testb_001" }, "errorMessage": "Successful!", "requestId": "ubuntu-9f03d246-f934-43d5-97f0-f99436225c8c" } |
部门
创建部门
接口URL: | /department/create | |
请求参数 | ||
username | String | 登录用户名, 同“获取凭据”接口中的用户名;必填。 |
token | String | 登录凭据,由“获取凭据”接口返回;必填。 |
data.parentNameLink | Array | 父部门名字数组,必填。 |
data.name | String | 新建部门名称,必填。 |
示例: { "username": "admin@quanshi.com", "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "data": { "parentNameLink": [ "研发部", "北京研发团队" ], "name": "前端研发组" } } |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
data | 无 | |
示例 { "errorCode": 0, "data":null, "errorMessage": "", "requestId": "xxxx-xx-ysdf-sdfsdfsf-wqeqw123" } |
修改部门
接口URL: | /department/update | |
请求参数 | ||
username | String | 登录用户名, 同“获取凭据”接口中的用户名;必填。 |
token | String | 登录凭据,由“获取凭据”接口返回;必填。 |
data.parentNameLink | Array | 父部门名字数组,必填。 |
data.oldName | String | 部门老的名称,必填 |
data.name | String | 部门新名称,必填。 |
示例: { "username": "admin@quanshi.com", "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "data": { "parentNameLink": [ "研发部", "北京研发团队" ], "oldName": "前端研发组", "name": "PC研发组" } } |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
data | 无 | |
示例 { "errorCode": 0, "data":null, "errorMessage": "", "requestId": "xxxx-xx-ysdf-sdfsdfsf-wqeqw123" } |
删除部门
接口URL: | /department/delete | |
请求参数 | ||
username | String | 登录用户名, 同“获取凭据”接口中的用户名;必填。 |
token | String | 登录凭据,由“获取凭据”接口返回;必填。 |
data.nameLink | Array | 部门名字数组,必填。 |
示例: { "username": "admin@quanshi.com", "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "data": { "nameLink": [ "研发部", "北京研发团队", "PC研发组" ] } } |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
data | 无 | |
示例 { "errorCode": 0, "data":null, "errorMessage": "", "requestId": "xxxx-xx-ysdf-sdfsdfsf-wqeqw123" } |
移动部门
接口URL: | /department/move | |
请求参数 | ||
username | String | 登录用户名, 同“获取凭据”接口中的用户名;必填。 |
token | String | 登录凭据,由“获取凭据”接口返回;必填。 |
data.oldNameLink | Array | 需要移动部门名字数组,必填。 |
data.nameLink | 移动到新父部门名字数组,必填。 | |
示例: { "username": "admin@quanshi.com", "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "data": { "oldNameLink": [ "研发部", "北京研发团队", "PC研发组" ], "nameLink": [ "研发部", "上海研发团队" ] } } |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
data | Array | 部门新的名字数组 |
示例 { "errorCode": 0, "data": [ "研发部", "上海研发团队", "PC研发组" ], "errorMessage": "", "requestId": "xxxx-xx-ysdf-sdfsdfsf-wqeqw123" } |
枚举部门
接口URL: | /department/enum | |
请求参数 | ||
username | String | 登录用户名, 同“获取凭据”接口中的用户名;必填。 |
token | String | 登录凭据,由“获取凭据”接口返回;必填。 |
data.nameLink | Array | 需要枚举部门名字数组,必填。 |
data.childType | String | 枚举类型,可选值:”department”:枚举子部门,“user”:枚举部门所属帐号,“all”:枚举所有子部门、帐号; 选填,默认“all”。 |
示例: { "username": "admin@quanshi.com", "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "data": { "nameLink": [ "研发部", "上海研发团队" ], "childType": "all" } } |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
data.departments | Array | 子部门的名字数组。 |
data.departments[0] | String | 子部门名称。 |
data.users | Array | 所属此部门的帐号对象数组 |
data.users[0].loginname | String | 蜜蜂帐号登录名。 |
data.user[0].lastname | String | 姓 |
data.user[0].firstname | String | 名 |
data.user[0].displayname | String | 显示名称 |
data.user[0].namepinyin | String | 姓名拼音 |
data.user[0].mobile | String | 移动电话 |
data.user[0].position | String | 职务 |
data.user[0].officephone | String | 办公电话 |
data.user[0].iconUrl | String | 头像URL |
data.user[0].iconFileId | String | 头像的文件id |
示例 { "errorCode": 0, "users": [ { "loginname": "test1@quanshi.com", "firstname": "名", "lastname": "姓", "mobile": 13912345678, "officephone": "010-12345678", "position": "工程师", "displayname": "姓名", "namepinyin": "xingming", "iconUrl": "http://beefs.quanshi.com:80/ucfserver/hddown?fid=NTQ1MzczMC84Lzx8Oj4yMDE3XzdfMTFfMTVfOV80OF82MTQucG5nXl5edGFuZ2hkZnNeXl43Mzk1MzZkYjczOWZjMDRkMDNlNzllNThhZjY3ZDIyOF5eXnRhbmdoZGZzXl5eODY5OQ$&u=5453730", "iconFileId":"NTQ1MzczMC84Lzx8Oj4yMDE3XzdfMTFfMTVfOV80OF82MTQucG5nXl5edGFuZ2hkZnNeXl43Mzk1MzZkYjczOWZjMDRkMDNlNzllNThhZjY3ZDIyOF5eXnRhbmdoZGZzXl5eODY5OQ$" } } ], "departments": [ "基础C库组", "界面", "JavaScript组" ], "errorMessage": "", "requestId": "xxxx-xx-ysdf-sdfsdfsf-wqeqw123" } |
查询部门ID
接口URL: | /department/getid | |
请求参数 | ||
username | String | 登录用户名, 同“获取凭据”接口中的用户名;必填。 |
token | String | 登录凭据,由“获取凭据”接口返回;必填。 |
data.nameLink | Array | 部门名字数组,必填。 |
示例: { "username": "admin@quanshi.com", "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "data": { "nameLink": [ "研发部", "北京研发团队", "PC研发组" ] } } |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
data | Integer | 部门ID |
示例 { "errorCode": 0, "data":1234, "errorMessage": "", "requestId": "xxxx-xx-ysdf-sdfsdfsf-wqeqw123" } |
讨论组
创建讨论组
接口URL: | /group/create | |
请求参数 | ||
username | String | 登录用户名, 同“获取凭据”接口中的用户名;必填。 |
token | String | 登录凭据,由“获取凭据”接口返回;必填。 |
data.owner | String | 讨论组创建者帐号,必填。 |
data.groupName | String | 讨论组名称,必填。 |
data.members | Array | 讨论组成员帐号数组, 必填。 |
示例: { "username": "admin@quanshi.com", "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "data": { "groupName": "测试讨论组", "owner": "user1@quanshi.com", "members": [ "user1@quanshi.com", "user2@quanshi.com" ] } } |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
data.groupId | Integer | 讨论组ID |
示例 { "errorCode": 0, "data": { "groupId": 1234 }, "errorMessage": "", "requestId": "xxxx-xx-ysdf-sdfsdfsf-wqeqw123" } |
退出讨论组
接口URL: | /group/quit | |
请求参数 | ||
username | String | 登录用户名, 同“获取凭据”接口中的用户名;必填。 |
token | String | 登录凭据,由“获取凭据”接口返回;必填。 |
data.groupId | Integer | 讨论组ID,必填。 |
data.userName | String | 退出讨论组的帐号名。 |
示例: { "username": "admin@quanshi.com", "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "data": { "groupId": 1234, "userName": "user1@quanshi.com" } } |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
data | 无 | |
示例 { "errorCode": 0, "data":null, "errorMessage": "", "requestId": "xxxx-xx-ysdf-sdfsdfsf-wqeqw123" } |
文件
上传文件
接口URL: | /file/upload | |
请求参数(POST请求方法, multipart请求方式) | ||
username | String | 登录用户名, 同“获取凭据”接口中的用户名;必填。 |
token | String | 登录凭据,由“获取凭据”接口返回;必填。 |
fileName | String | 文件名,必填。 |
type | String | 文件类型,可选值:“file”:普通文件,“image”:图片文件, 必填。 |
FILE | 上传文件内容; 字段名称不限制,类型是文件即可; 对应HTML中FILE类型。 | |
示例: POST /ucopenapi/file/upload HTTP/1.0 Host: testcloud.quanshi.com X-Real-IP: 10.255.0.84 X-Forwarded-For: 10.255.0.84 Connection: close User-Agent: UCHttpCurl v1.0 Accept: */* Content-Length: 74677 Content-Type: multipart/form-data; boundary=----------------------------0b9679e9180b ------------------------------0b9679e9180b Content-Disposition: form-data; name="username" user1@quanshi.com ------------------------------0b9679e9180b Content-Disposition: form-data; name="token" a7a894b4-9dc2-49fb-a235-dbcb501f8e44 ------------------------------0b9679e9180b Content-Disposition: form-data; name="type" image ------------------------------0b9679e9180b Content-Disposition: form-data; name="filename" 2006_10_30_53259_4053259.jpg ------------------------------0b9679e9180b Content-Disposition: form-data; name="file"; filename="2006_10_30_53259_4053259.jpg" Content-Type: image/jpeg ......JFIF.....`.`.....C............... |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
Data.fileId | String | 文件ID |
示例 { "errorCode": 0, "data": { "fileId": "NjIwNzM5MTkvMjU2LzIwMDZfMTBfMzBfNTMyNTlfNDA1MzI1OS5qcGdeXl50YW5naGRmc15eXjZEOTIwNDdFRTc0MjMxQUUzOEI3Q0U3MjM3ODgzQzlFXl5edGFuZ2hkZnNeXl43Mzk5Mg$" }, "errorMessage": "Successful!", "requestId": "a7ec873d-6d69-4954-a863-9f9ca4580502" } |
下载文件
接口URL: | /file/download | |
请求参数(GET请求方法,下列都是GET方法的变量) | ||
username | String | 登录用户名, 同“获取凭据”接口中的用户名;必填。 |
token | String | 登录凭据,由“获取凭据”接口返回;必填。 |
fileId | String | 文件ID,必填。 |
示例: /file/download?username=user1%40quanshi.com&token=a7a894b4-9dc2-49fb-a235-dbcb501f8e44&fileId=NjIwNzM5MTkvMjU2LzIwMDZfMTBfMzBfNTMyNTlfNDA1MzI1OS5qcGdeXl50YW5naGRmc15eXjZEOTIwNDdFRTc0MjMxQUUzOEI3Q0U3MjM3ODgzQzlFXl5edGFuZ2hkZnNeXl43Mzk5Mg%24 |
||
答复( HTTP协议200答复返回文件内容, 其它答复返回错误) | ||
JSAPI授权
获取微应用Ticket
接口URL: |
/ticket/get或者 https://bee.quanshi.com/ ucopenapi/ticket/getticket |
|
请求参数 | ||
username | String | 登录用户名, 同“获取凭据”接口中的用户名;必填。 |
token | String | 登录凭据,由“获取凭据”接口返回;必填。 |
data.appId | Integer | 微应用ID,必填。 |
data.build | Integer | 是否重新生成新的Ticket, 可选值: “yes”, “no”; 默认no, 选填。 |
示例: { "username": "admin@quanshi.com", "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "data": { "appId": 1469, "build": "no" } } |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
data.appId | Integer | 微应用ID。 |
data.ticket | String | 为应用Ticket。 |
示例 { "errorCode": 0, "data": { "appId": 1234, "ticket": "sdfsdfsdfsdf" }, "errorMessage": "", "requestId": "xxxx-xx-ysdf-sdfsdfsf-wqeqw123" } |
PBX通话
查询通话记录
接口URL: |
/pbx/record/query | |
请求参数 | ||
username | String | 登录用户名, 同“获取凭据”接口中的用户名;必填。 |
token | String | 登录凭据,由“获取凭据”接口返回;必填。 |
data.beginTime | Integer | 查询起始时间,Unix时间戳,必填。 |
data.endTime | Integer | 查询结束时间,Unix时间戳,必填。 |
data.userName | String | 查询制定帐号的通话记录, 选填; 如果不填,则查询所有的PBX通话记录 |
示例: { "username": "admin@quanshi.com", "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "data": { "beginTime": 1469980800, "endTime": 1472572800, "userName": "test@quanshi.com" } } |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
data | Array | 通话记录数组 |
data[0].uuid | String | 通话唯一标识 |
data[0].callerUserName | String | 主叫方用户名。 |
data[0].callerNumber | String | 主叫方电话号码。 |
data[0].callerPbxNumber | String | 主叫方PBX分机号。 |
data[0].calledUserName | String | 被叫方用户名。 |
data[0].calledNumber | String | 被叫方电话号码。 |
data[0].calledPbxNumber | String | 被叫方PBX分机号。 |
data[0].billSeconds | Integer | 计费时长,单位:秒。 |
data[0].callTime | Integer | 呼叫时间,Unix时间戳。 |
data[0].answerTime | Integer | 应答时间,Unix时间戳。 |
data[0].hangupTime | Integer | 挂机时间,Unix时间戳。 |
data[0].recordUrl | String | 录音文件下载URL |
示例 { "errorCode": 0, "data": [ { "uuid": "user1@quanshi.com", "callerUserName": 0, "callerNumber": "", "callerPbxNumber": "", "calledUserName": 0, "calledNumber": "", "calledPbxNumber": "", "billSeconds": 100, "callTime": "", "answerTime": "", "hangupTime": "", "recordUrl": "" } ], "errorMessage": "", "requestId": "xxxx-xx-ysdf-sdfsdfsf-wqeqw123" } |
日程(会议)
新建日程
接口URL: |
/calendar/create | |
请求参数 | ||
username | String | 登录用户名, 同“获取凭据”接口中的用户名;必填。 |
token | String | 登录凭据,由“获取凭据”接口返回;必填。 |
data | Object | 日程对象 |
data.title | String | 日程标题,必填。 |
data.location | String | 日程地点,选填。 |
data.summary | String | 日程摘要,选填。 |
data.owner | String | 日程主持人用户名,必填。 |
data.members | Array | 内部参会人用户名称数组,选填。 |
data.members[0] | String | 内部参会人用户名,选填。 |
data.externalMembers | Array | 外部参会人用户名称数组,选填。 |
data.externalMembers[0] | String | 外部参会人用户名,选填。 |
data.startTime | Integer | 日程起始时间,Unix时间戳,必填 (单位:秒) |
data.duration | Integer | 日程时长,单位“分钟”,必填。 |
data.priority | Integer | 优先级, 0:不重要,1:重要; 选填,默认:0。 |
data.enableGNet | Bool | 是否启用“全时云会议”, 选填,默认:false。 |
data.callBackUrl | String | 回调地址(POST接口,接受JSON类型请求参数,响应为http 200成功状态码) |
data.allowBox | Integer | 允许全时盒子入会,0(默认):不允许,1:允许 |
data. liveOpenFlag | Integer | 是否开启直播(1:开启 0:不开启) |
data. livePassword | String | 直播密码(6位数字与英文组成,开启直播时传入,可不传) |
示例: { "username": "admin@quanshi.com", "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "data": { "title": "会议主题", "location": "第一会议室", "summary": "会议摘要", "owner": "test@quanshi.com", "members": [ "test1@quanshi.com", "test2@quanshi.com" ], "externalMembers": [ "1234123@qq.com", "test@sina.com" ], "startTime": 1479200617, "duration": 20, "priority": 1, "enableGNet": true, "callBackUrl":"http://call.back.url.com/aa", "allowBox":1 "liveOpenFlag":1 "livePassword":"xxxxxxxxx" } } |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
data | Object | 日程信息 |
data.owner | String | 日程主持人用户名 |
data.calendarId | Integer | 主叫方用户名。 |
data.groupId | Integer | 日程讨论组Id |
data. liveOpenFlag | Integer | 是否开启直播 |
data. livePassword | String | 直播密码 |
示例 { "errorCode": 0, "data": { "owner": "test@quanshi.com", "calendarId": 100, "groupId": 200, "liveOpenFlag":1 "livePassword":"xxxxxxxxx" }, "errorMessage": "", "requestId": "xxxx-xx-ysdf-sdfsdfsf-wqeqw123" } |
编辑日程
接口URL: |
/calendar/update | |
请求参数 | ||
username | String | 登录用户名, 同“获取凭据”接口中的用户名;必填。 |
token | String | 登录凭据,由“获取凭据”接口返回;必填。 |
data | Object | 日程对象 |
data.calendarId | Integer | 日程Id |
data.title | String | 日程标题,必填。 |
data.location | String | 日程地点,选填。 |
data.summary | String | 日程摘要,选填。 |
data.owner | String | 日程主持人用户名,必填。 |
data.members | Array | 内部参会人用户名称数组,选填。 |
data.members[0] | String | 内部参会人用户名,选填。 |
data.externalMembers | Array | 外部参会人用户名称数组,选填。 |
data.externalMembers[0] | String | 外部参会人用户名,选填。 |
data.startTime | Integer | 日程起始时间,Unix时间戳,必填 |
data.duration | Integer | 日程时长,单位“分钟”,必填。 |
data.priority | Integer | 优先级, 0:不重要,1:重要; 选填,默认:0。 |
data.enableGNet | Bool | 是否启用“全时云会议”, 选填,默认:false。 |
data.allowBox | Integer | 允许全时盒子入会,0(默认):不允许,1:允许 |
data. liveOpenFlag | Integer | 是否开启直播 |
data. livePassword | String | 直播密码 |
示例: { "username": "admin@quanshi.com", "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "data": { "calendarId": 100, "title": "会议主题", "location": "第一会议室", "summary": "会议摘要", "owner": "test@quanshi.com", "members": [ "test1@quanshi.com", "test2@quanshi.com" ], "externalMembers": [ "1234123@qq.com", "test@sina.com" ], "startTime": 1479200617, "duration": 20, "priority": 1, "enableGNet": true, "allowBox":1 } } |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
data | Object | 日程信息 |
data.owner | String | 日程主持人用户名 |
data.calendarId | Integer | 主叫方用户名。 |
data.groupId | Integer | 日程讨论组Id |
示例 { "errorCode": 0, "data": { "owner": "test@quanshi.com", "calendarId": 100, "groupId": 200 }, "errorMessage": "", "requestId": "xxxx-xx-ysdf-sdfsdfsf-wqeqw123" } |
取消日程
接口URL: |
/calendar/cancel | |
请求参数 | ||
username | String | 登录用户名, 同“获取凭据”接口中的用户名;必填。 |
token | String | 登录凭据,由“获取凭据”接口返回;必填。 |
data | Object | |
data.owner | String | 日程主持人用户名, 必填。 |
data.calendarId | Integer | 日程Id, 必填。 |
示例: { "username": "admin@quanshi.com", "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "data": { "calendarId": 100, "owner": "test@quanshi.com" } } |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
data | Null | |
示例 { "errorCode": 0, "data": null, "errorMessage": "", "requestId": "xxxx-xx-ysdf-sdfsdfsf-wqeqw123" } |
获取日程细节
接口URL: |
/calendar/get | |
请求参数 | ||
username | String | 登录用户名, 同“获取凭据”接口中的用户名;必填。 |
token | String | 登录凭据,由“获取凭据”接口返回;必填。 |
data | Object | |
data.calendarId | Integer | 日程Id,必填。 |
示例: { "username": "admin@quanshi.com", "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "data": { "calendarId": 100 } } |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
data | Object | 日程对象 |
data.calendarId | Integer | 日程Id |
data.status | Integer | 日程状态, 0:取消,1:正常。 |
data.title | String | 日程标题,必填。 |
data.location | String | 日程地点,选填。 |
data.summary | String | 日程摘要,选填。 |
data.owner | String | 日程主持人用户名,必填。 |
data.members | Array | 内部参会人信息数组,选填。 |
data.members[0]. loginname |
String | 内部参会人用户名。 |
data.members[0].status | Integer | 内部参会人状态; 1: 等待, 2: 删除, 3:接受,4:拒绝。 |
data.externalMembers | Array | 外部参会人信息数组,选填。 |
data.externalMembers[0].email | String | 外部参会人邮件地址,选填。 |
data.externalMembers[0].status | Integer | 外部参会人状态; 1: 等待, 2: 删除, 3:接受,4:拒绝。 |
data.duration | Integer | 日程时长,单位“分钟”,必填。 |
data.priority | Integer | 优先级, 0:不重要,1:重要; 选填,默认:0。 |
data.enableGNet | Bool | 是否启用“全时云会议”, 选填,默认:false。 |
示例 { "errorCode": 0, "data": { "calendarId": 100, "title": "会议主题", "location": "第一会议室", "summary": "会议摘要", "owner": "test@quanshi.com", "members": [ { "loginname": "test1@quanshi.com", "status": 1 }, { "loginname": "test2@quanshi.com", "status": 2 } ], "externalMembers": [ { "email": "123123@quanshi.com", "status": 1 }, { "email": "12312@qq.com", "status": 1 } ], "startTime": 1479200617, "duration": 20, "priority": 1, "enableGNet": true }, "errorMessage": "", "requestId": "xxxx-xx-ysdf-sdfsdfsf-wqeqw123" } |
列出日程
接口URL: |
/calendar/list | |
请求参数 | ||
username | String | 登录用户名, 同“获取凭据”接口中的用户名;必填。 |
token | String | 登录凭据,由“获取凭据”接口返回;必填。 |
data | Object | |
data.startTime | Integer | 起始时间,Unix时间戳,必填。 |
data.endTime | Integer | 结束时间,Unix时间戳,必填。 |
data.loginname | String | 查询指定用户的日程,选填,默认查询所有日程。 |
data.direction | Integer | 查询方向, 0: 从开始时间向后查询,1:从结束时间向前查询; 默认: 0; 最大列出会议数量100. |
示例: { "username": "admin@quanshi.com", "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "data": { "startTime": 1472659200, "endTime": 1475164800, "loginname": "test@quanshi.com", "direction": 0 } } |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
data | Array | 日程对象数组 |
data[0].calendarId | Integer | 日程Id |
data[0].status | Integer | 日程状态, 0:取消,1:正常。 |
data[0].title | String | 日程标题,必填。 |
data[0].location | String | 日程地点,选填。 |
data[0].summary | String | 日程摘要,选填。 |
data[0].owner | String | 日程主持人用户名,必填。 |
data[0].members | Array | 内部参会人信息数组,选填。 |
data[0].members[0]. loginname |
String | 内部参会人用户名。 |
data[0].members[0].status | Integer | 内部参会人状态; 1: 等待, 2: 删除, 3:接受,4:拒绝。 |
data[0].externalMembers | Array | 外部参会人信息数组,选填。 |
data[0].externalMembers[0].email | String | 外部参会人邮件地址,选填。 |
data[0].externalMembers[0].status | Integer | 外部参会人状态; 1: 等待, 2: 删除, 3:接受,4:拒绝。 |
data[0].duration | Integer | 日程时长,单位“分钟”,必填。 |
data[0].priority | Integer | 优先级, 0:不重要,1:重要; 选填,默认:0。 |
data[0].enableGNet | Bool | 是否启用“全时云会议”, 选填,默认:false。 |
示例 { "errorCode": 0, "data": [ { "calendarId": 100, "title": "会议主题", "location": "第一会议室", "summary": "会议摘要", "owner": "test@quanshi.com", "members": [ { "loginname": "test1@quanshi.com", "status": 1 }, { "loginname": "test2@quanshi.com", "status": 2 } ], "externalMembers": [ { "email": "123123@quanshi.com", "status": 1 }, { "email": "12312@qq.com", "status": 1 } ], "startTime": 1479200617, "duration": 20, "priority": 1, "enableGNet": true } ], "errorMessage": "", "requestId": "xxxx-xx-ysdf-sdfsdfsf-wqeqw123" } |
获取入会链接
接口URL: |
/calendar/confernce/link/get | |
请求参数 | ||
username | String | 登录用户名, 同“获取凭据”接口中的用户名;必填。 |
token | String | 登录凭据,由“获取凭据”接口返回;必填。 |
data | Object | |
data.calendarId | Integer | 日程Id;必填 |
data.attendeeUser | String | 参会人用户名(loginName) ;选填 备注: 1可以为空; 2不为空的话必须能够通过attendeeUser找到其profile。 3 attendeeUser有值时,身份是根据profile获取,参数中role无效。 |
data.attendeeName | String | 自定义名称 ;选填 备注: 1会中显示的名称。如果不为空则有最高显示优先级。 2 attendeeUser为空时必填。 |
data.role | Integer | 身份区分 ;选填 1主持人 0参与人 备注: 1当attendeeUser为空时必填; 2不填默认参会人身份 |
示例: { "username": "admin@quanshi.com", "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "data": { "calendarId": 521121, "attendeeUser": "xxxx", "attendeeName": "new name", "role": "1" } } |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
data | Object | |
data.link | String | 入会链接 |
示例: { "errorCode": 0, "data": { "link": "https://max.qushi.com/www/tools/loadilient?u=XXX" }, "errorMessage": "", "requestId": "xxxx-xx-ysdf-sdfsdfsf-wqeqw123" } |
外呼参会人
接口URL: |
/calendar/conference/attendee/dailout | |
请求参数 | ||
username | String | 登录用户名, 同“获取凭据”接口中的用户名;必填。 |
token | String | 登录凭据,由“获取凭据”接口返回;必填。 |
data | Object | |
data.calendarId | Integer | 日程Id;必填 |
data.attendees | Array | 需要召集的参会人列表;必填 |
data.attendees[0].phone | String | 外呼号码,规则如下:必填 ##1国际标准写法: +861059933596, 分机+861059933596-3666 ##2 直接的外呼号码: 如59933596,01059933596,13810366687,013810366687 ##3 ACM发送给应用的号码格式: (86)1059933596,分机(86)1059933596-3666 ##4 分机号码可以用-或者w,,,分开,逗号的个数不限,如59933636-3596,599333636w,,,3596 |
data.attendees[0].role | Integer | 身份区分 ;必填 1主持人 0参与人 |
data.timeoutMinute | Integer | 外呼通知时效,单位:分钟,不传值默认两天;可选 |
示例: { "username": "admin@quanshi.com", "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "data": { "calendarId": 521121, "attendees": [ { "phone": "051212345678", "role": 1 }, { "phone": "13812341234", "role": 0 } ], "timeoutMinute":2880 } } |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
data | Object | |
data.result | Array | |
data.result[0].phone | String | 外呼号码 |
data.result[0].attendeeId | String | ACM外呼唯一标记,挂断电话时需要使用该数据 |
示例: { "errorCode": 0, "data": { "result": [ { "phone": "(86)0512-12345678", "attendeeId": "8525285" }, { "phone": "(86)13852525263", "attendeeId": "5685412" } ] }, "errorMessage": "", "requestId": "xxxx-xx-ysdf-sdfsdfsf-wqeqw123" } |
挂断参会人
接口URL: |
/calendar/conference/attendee/hangup | |
请求参数 | ||
username | String | 登录用户名, 同“获取凭据”接口中的用户名;必填。 |
token | String | 登录凭据,由“获取凭据”接口返回;必填。 |
data | Object | |
data.calendarId | Integer | 日程Id;必填 |
data.attendeeIds | Array | |
data.attendeeIds[0] | String | ACM外呼唯一标记;必填 //使用外呼成功时返回的attendeeId |
示例: { "username": "admin@quanshi.com", "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "data": { "calendarId": 4145, "attendeeIds": [ "45788", "86952", "8632" ] } } |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
data | Object | 调用成功时,返回的data字段为null |
示例: { "errorCode": 0, "data": { null }, "errorMessage": "", "requestId": "xxxx-xx-ysdf-sdfsdfsf-wqeqw123" } |
获取会议录制播放地址
接口URL: |
/calendar/conference/replay/get | |
请求参数 | ||
username | String | 登录用户名, 同“获取凭据”接口中的用户名;必填。 |
token | String | 登录凭据,由“获取凭据”接口返回;必填。 |
data | Object | |
data.calendarId | Integer | 日程Id;必填 |
示例: { "username": "admin@quanshi.com", "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "data": { "calendarId": 4145 } } |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
data | String | 会议录制播放地址 |
示例: { "errorCode": 0, "data": { "https://xxxxxxxxxxxxxxxxxxx" }, "errorMessage": "", "requestId": "xxxx-xx-ysdf-sdfsdfsf-wqeqw123" } |
||
备注: 会议结束并且会议期间需要录制,待录制服务器发出录制完成通知后才能得到录制播放地址。 |
获取会议录制下载地址
接口URL: |
/calendar/conference/record/get | |
请求参数 | ||
username | String | 登录用户名, 同“获取凭据”接口中的用户名;必填。 |
token | String | 登录凭据,由“获取凭据”接口返回;必填。 |
data | Object | |
data.calendarId | Integer | 日程Id;必填 |
示例: { "username": "admin@quanshi.com", "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "data": { "calendarId": 96525 } } |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
data | String | 下载链接 |
示例: { "errorCode": 0, "data": { "https://xxxxxxxxxxxx" }, "errorMessage": "", "requestId": "xxxx-xx-ysdf-sdfsdfsf-wqeqw123" } |
||
备注: 会议结束并且会议期间需要录制,待录制服务器发出录制完成通知后才能得到录制下载地址。 |
日程变化通知
接口说明: |
调用ucopenapi/calendar/create 创建日程接口,传入了callBackUrl参数;当日程发生以下变化时,会调用callBackUrl参数的地址,并传入以下请求参数,以此来通知客户服务器;接口Method需为POST,接受请求参数为:Json类型,接收到请求后请响应http 200成功状态码 | |
请求参数 | ||
type | String | “calendar”:日程创建/更新/取消 “record”: 会议录制 “report”: 会议报告 “entermeeting”: 参会者进入会议 “leavemeeting”: 参会者退出会议 “dialout”:发起外呼 |
data | Object | 回调请求参数 |
示例: | ||
日程创建/更新/取消 { "type" : "calendar ", "date" : { "id" : "142204", "title" : "%E5%85%BC%E5%AE%B9%E6%B5%8B%E8%AF%95Foxmail071201", "summary" : "%E6%99%AE%E9%80%9A%E4%BC%9A%E8%AE%AE", "description" : "", "dtstart" : 1499844600, "dtend" : 1499848200, "location" : "", "status" : "CONFIRMED", "siteId" : 76458, "hostId" : "63712166", "hostLoginName" : "admin1@ucb_me.quanshi.com", "importance" : 0, "isGnet" : 1, "attendees" : [{ "id" : "63712167", "joinUrl" : "http://mtest.qsh1.cn/k/k1kldq", "loginname" : "tb_me1@qs.com" }, { "id" : "63712168", "joinUrl" : "http://mtest.qsh1.cn/k/6nbpu9", "loginname" : "tb_me1@qs.com" } ], "externalAttendees" : [{ "id" : "jing.pu@quanshi.com", "joinUrl" : "http://mtest.qsh1.cn/k/xg0yv2" } ], "conferenceId" : "2016874", "hostPassword" : "201501000003167702", "attendeePassword" : "201501000003167703", "attendeeJoinUrl" : "https://meetnow.quanshi.com/ucb_meetingd_0/j/dahnqt", "hostJoinUrl" : "https://meetnow.quanshi.com/ucb_meetingd_0/j/yapdje", "room" : [{ "roomId" : 932, "roomName" : "\"\\u84b2\\u9759\\u7684\\u4f1a\\u8bae\\u5ba41\"", "roomNote" : "", "roomStatus" : 1 } ], "equip" : [{ "equipId" : 225, "equipName" : "\"\\u84b2\\u9759\\u7684\\u8bbe\\u59073\"", "equipNote" : "", "equipStatus" : 1 } ] } } 会议录制 { "type" : "record", "date" : { "confId":"xxx", "eventId":xxx, "videoURL":"xxx", "thumbnail":"xxx", "operatorId":123, "videoLength":213, "videoSize":312 } } 会议报告 { "type" : "report", "date" : { "confId":"xxx", "eventId":xxx, "reportName":"xxx", "downloadUrl":"xxx" } } 参会者进入会议 { "type" : "entermeeting", "date" : { "confId":"xxx", "eventId":xxx, "billingCode":"xxx", "userId":xxx, "loginName":"xxx", "attendeeJoinUrl" : "https://meetnow.quanshi.com/ucb_meetingd_0/j/dahnqt", "hostJoinUrl" : "https://meetnow.quanshi.com/ucb_meetingd_0/j/yapdje", } } 参会者退出会议 { "type" : "leavemeeting", "date" : { "confId":"xxx", "eventId":xxx, "billingCode":"xxx", "userId":xxx, "loginName":"xxx", "attendeeJoinUrl" : "https://meetnow.quanshi.com/ucb_meetingd_0/j/dahnqt", "hostJoinUrl" : "https://meetnow.quanshi.com/ucb_meetingd_0/j/yapdje", } } 外呼时通知 { "type" : "openmonitor", "date" : { "callSeq": "43433-gjfjgikko32r4r4", "partyId": "ewe4dg343rgrg", "ov": "2", "nv": "0", "dcr": "0", "calendarid": 324324, "billingCode": "43452", "phoneNumber": "15622253562" } } |
||
type=calendar 日程信息创建/更新/删除; 可选 | ||
calendar.id | Integer | 日程Id可选 |
calendar.title | String | 日程标题,可选。 |
calendar.summary | String | 日程摘要,可选。 |
calendar.description | String | 描述,可选 |
calendar.dtstart | Long | 开始时间,可选 |
calendar.dtend | Long | 结束时间,可选 |
calendar.location | String | 日程地点,可选。 |
calendar.status | Integer | 日程状态, 0:取消,1:正常。可选 |
calendar.siteId | Integer | 站点ID,可选 |
calendar.hostId | String | 主持人ID,可选 |
calendar. hostLoginName | String | 主持人loginname,可选 |
calendar.importance | Integer | 重要等级,可选 |
calendar.isGnet | Bool | 是否启用“全时云会议”,可选,默认:false。 |
calendar.attendees | Array | 参会者,可选 |
calendar.attendees[0].id | Integer | 参会者ID,可选 |
calendar.attendees[0].joinUrl | String | 参会者入会链接,可选,限制百人内会议 |
calendar.attendees[0]. loginname | Integer | 参会者loginnane,可选 |
calendar.externalAttendees | Array | 外部参会者,可选 |
calendar.externalAttendees[0].id | Integer | 外部参会者ID,可选 |
calendar.externalAttendees[0].joinUrl | String | 外部参会者入会链接,可选,限制百人内会议 |
calendar.conferenceId | String | 会议ID,可选 |
calendar.hostPassword | String | 主持人密码,可选 |
calendar.attendeePassword | String | 参会人密码,可选 |
calendar.attendeeJoinUrl | String | 参会人入会链接,可选 |
calendar.hostJoinUrl | String | 主持人入会链接,可选 |
calendar.room | Array | 会议室,可选 ##创建日程时该对象无效 |
calendar.room[0].roomId | Integer | 会议室ID,可选 |
calendar.room[0].roomName | String | 会议室名称,可选 |
calendar.room[0].roomNote | String | 会议室备注,可选 |
calendar.room[0].roomStatus | Integer | 会议室状态,可选 |
calendar.equip | 设备,可选 ##创建日程时该对象无效 | |
calendar.equip[0].equipId | Integer | 设备ID,可选 |
calendar.equip[0].equipName | String | 设备名称,可选 |
calendar.equipNote | String | 设备备注,可选 |
calendar.equipStatus | Integer | 设备状态,可选 |
type=record 会议录制; 可选 | ||
record.confId | String | 会议ID,可选 |
record.eventId | Integer | 日程ID,可选 |
record.videoURL | String | 录制视频地址,可选 |
record.thumbnail | String | 缩略图,可选 |
record.operatorId | Integer | 操作ID,可选 |
record.videoLength | Integer | 视频长度,可选 |
record.videoSize | Integer | 视频大小,可选 |
type=report 会议报告; 可选 | ||
report.confId | String | 会议ID,可选 |
report.eventId | Integer | 日程ID,可选 |
report.reportName | String | 报告名称,可选 |
report.downloadUrl | String | 下载地址,可选 |
type=entermeeting 参会者进入会议; 可选 | ||
entermeeting.confId | String | 会议ID,可选 |
entermeeting.eventId | Integer | 日程ID,可选 |
entermeeting.billingCode | String | 会议billingCode,可选 |
entermeeting.userId | String | 参会人用户ID,可选 |
entermeeting.loginName | String | 参会人用户loginName,可选 |
entermeeting.attendeeJoinUrl | String | 参会人入会链接,可选 |
entermeeting.hostJoinUrl | String | 主持人入会链接,可选 |
type=leavemeeting 参会者退出会议; 可选 | ||
leavemeeting.confId | String | 会议ID,可选 |
leavemeeting.eventId | Integer | 日程ID,可选 |
leavemeeting.billingCode | String | 会议billingCode,可选 |
leavemeeting.userId | String | 参会人用户ID,可选 |
leavemeeting.loginName | String | 参会人用户loginName,可选 |
leavemeeting.attendeeJoinUrl | String | 参会人入会链接,可选 |
leavemeeting.hostJoinUrl | String | 主持人入会链接,可选 |
type=openmonitor 外呼时ACM通知,可选 | ||
openmonitor.callSeq | String | Openmonitor外呼业务sequence,可选 |
openmonitor.partyId | String | ACM外呼唯一标识,可选 |
openmonitor.ov | String | 外呼前旧状态,可选 |
openmonitor.nv | String | 外呼后新状态,可选 |
openmonitor.dcr | String | 断线原因,可选 |
openmonitor.calendarid | Integer | 所属日程ID,可选 |
openmonitor.billingCode | String | 会议billingCode,可选 |
openmonitor.phoneNumber | String | 电话号码,可选 |
获取直播流地址
接口URL: |
/calendar/live/url | |
请求参数 | ||
username | String | 登录用户名, 同“获取凭据”接口中的用户名;必填。 |
token | String | 登录凭据,由“获取凭据”接口返回;必填。 |
data | Object | |
data. eventId | Integer | 日程Id;必填 |
data. pwd | String | 直播密码;选填 |
示例: { "username": "admin@quanshi.com", "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "data": { "eventId":216592, "pwd":"111111 } } |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
data | Object | |
data.status | Integer | 蜜蜂通道状态, 0:已创建,1:直播开始,2:直播结束, 3合并中,4:会议结束点播中,5:会议结束无点播,6:已关闭 |
data.httpPullUrl | String | 只有在status为1或4才返回 |
data.hlsPullUrl | String | 只有在status为1或4才返回 |
data.rtmpPullUrl | String | 只有在status为1或4才返回 |
示例: { "errorCode": 0, "data": { "status": 1, "httpPullUrl": "xxxxxxxxxxx", "hlsPullUrl": "xxxxxxxxxxx", "rtmpPullUrl": "xxxxxxxxxxx" }, "errorMessage": "", "requestId": "xxxx-xx-ysdf-sdfsdfsf-wqeqw123" } |
||
备注: 会议结束并且会议期间需要录制,待录制服务器发出录制完成通知后才能得到录制下载地址。 |
设置是否允许移动端入会
接口URL: |
/calendar/confsettingupdate | |
请求参数 | ||
username | String | 登录用户名, 同“获取凭据”接口中的用户名;必填。 |
token | String | 登录凭据,由“获取凭据”接口返回;必填。 |
data | Object | |
data. allow_mobile | Integer | 是否允许移动端入会 0:不允许 1:允许 |
data. userId | String | 用户id ,用来修改该用户的会议属性 |
示例: { "username": "admin@quanshi.com", "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "data": { "allow_mobile":0, "userId":81325817 } } |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
data | Object | Null,通过errorCode来判断是否成功 |
示例: { "errorCode": 0, "data":null "errorMessage": " Successful", "requestId": "xxxx-xx-ysdf-sdfsdfsf-wqeqw123" } |
||
广播(BBS)
新建公告
接口URL: |
/bbs/bbs/create | |
请求参数 | ||
username | String | 登录用户名, 同“获取凭据”接口中的用户名;必填。 |
token | String | 登录凭据,由“获取凭据”接口返回;必填。 |
data | Object | 日程对象 |
data.owner | String | 公告发布人, loginName, 必填。 |
data.boardId | Integer | 公告板ID,选填,boardId与groupId必填一个。 |
data.groupId | Integer | 讨论组ID,选填,boardId与groupId必填一个。 |
data.title | String | 公告标题,必填。 |
data.content | String | 公告内容,选填。 |
data.desc | String | 公告摘要,选填。 |
data.link | String | 公告详情URL, 选填。 |
data.attachments | Array | 公告封面(附件)数组, 选填。 |
data.attachments [0].url | String | 公告封面图片URL地址,选填。 |
data.attachments [0].fid | String | 公告封面图片文件ID,上传文件的ID,选填。 |
data.attachments [0].size | Integer | 公告封面图片文件大小,单位字节,选填。 |
data.isBrowser | Integer | 是否使用默认浏览器打开link页面, 0:不使用,1: 使用; 默认:0, 选填。 |
data.isAuth | Integer | 打开link链接是否携带统一认证信息, 0: 不携带,1: 携带, 默认:1, 选填。 |
示例: { "username": "admin@ucc20151104.quanshi.com", "token": "xxxxxx-xxxxxxxxxx-xxxxxxx-xxxxxxxx", "data": { "owner": "testc_lzhou@quanshi.com", "groupId":50035099, "title": "测试公告标题", "content": "公告内容", "desc":"公告描述", "link":"http://www.baidu.com", "attachments":[{ "url":"https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo/bd_logo1_31bdc765.png" }] } } |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
data | Object | 公告信息 |
data.id | String | 公告ID |
示例 { "errorCode": 0, "data": { "id": 50001960 }, "errorMessage": "Successful!", "requestId": "ubuntu-23097121-00d7-40c6-8761-b0b3865b550d" } |
土豆任务(Task)
新建清单
接口URL: |
/task/mf/create | |
请求参数 | ||
username | String | 登录用户名, 同“获取凭据”接口中的用户名;必填。 |
token | String | 登录凭据,由“获取凭据”接口返回;必填。 |
data | Object | 任务清单对象 |
data.owner | String | 清单所有人,蜜蜂用户loginName,必填。 |
data.name | String | 清单名称, 必填 |
示例: { "username": "admin@ucc20151104.quanshi.com", "token": "xxxxxx-xxxxxxxxxx-xxxxxxx-xxxxxxxx", "data": { "owner": "testc_lzhou@quanshi.com", "name": "任务清单名称", } } |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
data | Object | 清单信息 |
data.id | Integer | 清单ID |
示例 { "errorCode": 0, "data": { "id": 50001960 }, "errorMessage": "Successful!", "requestId": "ubuntu-23097121-00d7-40c6-8761-b0b3865b550d" } |
新建任务
接口URL: |
/task/task/create | |
请求参数 | ||
username | String | 登录用户名, 同“获取凭据”接口中的用户名;必填。 |
token | String | 登录凭据,由“获取凭据”接口返回;必填。 |
data | Object | 日程对象 |
data.owner | String | 任务所有人,蜜蜂用户loginName,必填。 |
data.name | String | 任务名称, 必填 |
data.mfId | Integer | 任务所属清单Id,必填。 |
data.executor | String | 任务执行人,蜜蜂用户loginName,选填。 |
data.endTime | Long | 任务截至时间, Unix时间戳,选填。 |
data.isStar | Integer | 是否星标任务,选填。0:否,1:是; 默认:0. |
data.isComplete | Integer | 任务是否已经结束,选填。0:否,1:是; 默认:0. |
示例: { "username":"admin@ucadminc.quanhshi.com", "token":"36ea2f21-4cb7-4c5d-b034-13e4b0f1ce40", "data":{ "owner":"testc_camel70@quanshi.com", "name": "测试ta22sk111", "mfId":50002138, "executor":"testc_camel70@quanshi.com", "isStar":1 } } |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
data | Object | 任务信息 |
data.id | Integer | 任务ID |
示例 { "errorCode": 0, "data": { "id": 50001960 }, "errorMessage": "Successful!", "requestId": "ubuntu-23097121-00d7-40c6-8761-b0b3865b550d" } |
OA消息
简介
蜜蜂的普通应用消息只能用来显示通知信息,缺乏消息发送者、接受者间的交互手段,这里OA(办公自动化)消息就是为了解决这个问题而出现,其基本需求如下:
OA消息支持简单的交互功能,有OA流程处理按钮(或链接)。
OA消息有状态,客户应用服务器调用OpenAPI可以设置OA消息的状态;客户端依消息的不同状态显示不同的内容。
OA消息文本内容支持富文本;可以定制显示文本的:字号、颜色、样式( 加粗、斜体)
OA消息显示示例图:
总体构架
如图所示,OA服务器(客户应用服务器)可以在OA消息的流通中,根据消息格式规则构建消息内容,推送互动流程的进行。
OA消息根据不同状态显示不同的内容; 当处于未处理状态时,有供交互点击处理的按钮; 当处于已处理状态时,显示OA消息的状态和内容。
OA消息的操作按钮的名称和行为由OA消息定义,OA消息按钮的点击触发后台发起一次HTTP请求, HTTP请求的URL由OA消息定义。
OA服务器调用API(OpenAPI)接口修改OA消息的状态,蜜蜂服务器通知客户端(发起方、处理方)更新指定OA消息的显示。
OA消息状态
OA消息状态是一个0-20的数值。
OA消息状态分为两类:1-10是已处理状态; 11-20未处理状态; 0:保留。
已处理状态:客户端每次显示OA消息时,不需要再次向蜜蜂服务器查询消息状态。
未处理状态:客户端每次显示OA消息时,都必须向蜜蜂服务器查询此OA消息的当前状态。
OA消息状态默认是0。
OA消息定义
如上图,描述了一个OA消息的组成结构:
每个消息由消息标题与若干个消息元素构成, 消息元素最多10个。消息标题的内容有OA消息给出,是一个固定的元素,每个OA消息必须有。
每个元素显示时独占消息的一行, 元素与消息显示控件同宽。高度由消息内容定义,针对消息内容自适应。
每个消息元素可以指定一个状态值,只有当消息的当前状态与元素的状态值相等时,才会显示此消息元素。
OA消息的参数定义请看“OpenAPI参考/应用消息”节, 有发送OA消息的具体参数参考。
其中Element字段是一个数组, 每个数组的成员是一个OA消息元素的对象; 不同的消息元素,对象参数的定义是不同的;每个元素都有字段“type”, “status”, 分别定义元素的类型、显示状态。
文本元素
Json对象定义
名称 | 类型 | 必填 | 作用 |
type | String | 是 | 指定元素类型,固定值:“text” |
status | Integer | 否 | 当前元素的显示状态 |
content | String | 是 | 内容是纯文本时, UI直接以默认的颜色、字号显示文本内容,不加粗、斜体. |
Object | 是 | 富文本对象, 描述的是一段相同格式富文本 | |
Array | 是 | 富文本对象数组, 描述若干段不同格式的富文本; 每个数组成员描述一段相同格式的富文本。 | |
name | String | 否 | 附加数据对象名; 如果附加数据中有类型为Text,且名称为此name字段的值, 则附加数据中对象替消息中的Content字段内容。 |
富文本对象
名称 | 类型 | 必填 | 作用 |
size | Integer | 否 | 定义显示文字的大小,共有3(大),2(中),1(小)三种字号,默认值:2 |
color | String | 否 | 字符串, 颜色值定义格式“#<RGB颜色的十六进制值>”, 如:黑色 #000000, 红色 #FF0000; 默认是黑色。 |
bold | Integer | 否 | 指定是否加粗显示文字; 候选值:1(加粗),0(不加粗),默认值:0。 |
urlauth | Integer | 否 | 整形,指定打开本对象url字段的链接时,是否附上统一认证信息。 |
url | String | 否 | 字符串,定义一个URL连接;当此字段存在且不为空时,忽略color的用户定义值,color显示使用默认颜色 |
text | String | 是 | 字符串, UTF-8格式的文本内容。 |
示例:
{
“username”: “username”,
“token”: “xxxxxxxxxxxx-xxxxxxxxxxxxxx”,
“data”: {
“title” : “hello”,
“elements”: [{
“type”: “text”,
“status”: 1,
“content” :[{
“text”: “hello, world”,
“color”: “#ff0000”
}, {
“text”: “www.baidu.com”,
“url”: “http://www.baidu.com”
}]
}]
}
}
图片元素
Json对象定义
名称 | 类型 | 必填 | 作用 |
type | String | 是 | 指定元素类型,固定值:“image” |
status | Integer | 否 | 当前元素的显示状态; |
imageType | String | 否 | 字符串, 指定imageId值的类型,候选值:fileid,url。默认url。 |
imageId | String | 是 | 指定图片文件的地址。 当imageType是fileid时, imageid字段的内容是一个Image文件在FS中的ID。如:“imageid”: “123123kjsdkfjsdkfsdlfsdfksdfksdfjsdfl”,当imagetype是url时,imageid字段的内容是一个图片文件的URL, 如:“imageid”: “http://www.baidu.com/icon.png”。 |
name | String | 否 | 附加数据对象名,如果附加数据中有类型为image,且名称为此name字段的值, 则附加数据中对象替消息中的imageId字段内容。 |
示例:
{
“username”: “username”,
“token”: “xxxxxxxxxxxx-xxxxxxxxxxxxxx”,
“data”: {
“title” : “hello”,
“elements”: [{
“type”: “image”,
“status”: 1,
“imageId” : “http://www.baidu.com/sample.png”
}]
}
}
Action元素
Json对象定义
名称 | 类型 | 必填 | 作用 |
type | String | 是 | 指定元素类型,固定值:“action” |
status | Integer | 否 | 当前元素的显示状态; |
buttons | Array | 是 | Button对象数组;每个对象描述一个按钮。 |
buttons[0].title | String | 是 | 按钮标题 |
buttons[0].url | String | 是 | 按钮被Click时,触发的URL链接。 |
buttons[0].urlauth | String | 否 | 数值,打开URL时是否要带上认证信息,1:带,0:不带;默认0. |
buttons[0] .needSuggestion |
Integer | 否 | 1:需要意见, 0:不需要意见; 默认不需要。 |
buttons[0] .noEmptySuggestion |
Integer | 否 | 1: 意见内容不能为空, 0: 意见内容可为空:默认0. |
buttons[0] .sggestionTitle |
String | 否 | 审核意见”输入框图的标题,PC端有效。 |
buttons[0] .suggestionName |
String | 否 | 审核意见对象名 |
buttons[0] .needSignature |
Integer | 否 | 1:需要手写签名, 0:不需要手写签名; 默认不需要。 |
buttons[0] signatureName |
String | 否 | 手写签名对象名 |
示例
{
“username”: “username”,
“token”: “xxxxxxxxxxxx-xxxxxxxxxxxxxx”,
“data”: {
“title” : “hello”,
“elements”: [{
“type”: “action”,
“status”: 1,
“buttons” : [{
“title”: “OK”,
“url”: “http://www.oa.com/post?action=ok”
}, {
“title”: “Cancel”,
“url”: “http://www.oa.com/post?action=cancel”
}]
}]
}
}
审核意见
通过在oa消息的action消息的button元素中指定处理该OA消息时是否需要审核意见及相关信息,然后在客户端根据needSuggestion、noEmptySuggestion、sggestionTitle、suggestionName四个元素,在oa消息被处理时由客户端判断是否需要“审核意见”才能完成action事件。
如果Action元素的Button对象设定了需要审核意见的属性,在点击按钮时,会弹出类似下面的界面,用户可以填写审核意见:
手写签名
用户在OA消息的Action元素中的按钮被点击时,是否需要填写一个手写签名; 手写签名最后会以一个图片的形式提交给消息中指定的URL。
OA消息显示
OA消息的每个内容元素都有对应的消息状态,只有当前的消息状态与消息元素的预定义状态相等时,才显示此消息元素。
当OA消息处于待处理状态时,每次显示消息之前必须向蜜蜂服务器查询此OA消息的状态; 如果元素没有定义status值,则默认为null; 此元素在任何状态下都显示。
OA消息标题栏
OA消息标题栏不是在Element字段中定义的, 有单独的title、color、titleElements字段定义。
title: 默认状态下标题栏的内容;
color: 默认状态下标题栏的颜色;可选颜色有:“red”(赤红), “yellow”(蜜蜂黄), “green”(柳绿), “gray”(铅灰), “blue”(主题蓝), “lightblue”(薄蓝); “white”(白色),默认值: 主题蓝。
titleStyle:指定标题栏的风格,可选值有:default(默认), simple(简单)。
默认风格标题栏的OA消息样图:
简单风格标题栏的OA消息样图:
修改标题栏内容
titleElements: 不同状态下标题栏的内容与颜色, 是一个对象数组, 格式如下:
"titleElements":[{
"stauts": 15
"title": "asdfasdrqwerqwer",
"color": "blue",
},
{
"stauts":18
"title": "asdfasdrqwerqwer",
"color": "red"
}].
此JSON数组对象中status,title,color字段的定义与OA消息的title,color,status定义相同。
改变消息显示内容
修改状态
修改OA消息的状态,则OA消息中与消息状态不一致的元素不会显示, 与消息新状态一致的元素会显示; 不同状态显示不同的元素,以达到修改消息显示内容的目的。
标题栏的显示也是根据不同状态切换。
修改附加数据
调用OA消息statuschange接口时可以修改消息的附加数据,以达到修改消息元素内容的目的。
OA消息附加数据
概念
附加数据是指调用OA消息statuschange接口时, 传递给externalData字段的参数。
作用
由客户的业务服务器(如OA服务器等)传递给蜜蜂API服务器, 修改现有OA消息指定元素的显示内容; 请求看“Text”、“Image”元素的name字段定义。
格式
附加数据的是以JSON格式定义的一个对象;
{
“text”:{
“textName1”: ”NewHello”
},
“image”:{
}
}
有两个子对象text, image; 分别对应文本元素、图片元素的定义; 文本元素与图片元素对象的字段名对应OA消息中相同类型,且name字段名称与此字段名对应的元素。
微应用开发
网页统一认证
在蜜蜂客户端中打开应用或者在应用消息中打开网址, 蜜蜂客户端向服务器发起请求时,会URL中附加两个变量: uc_account, uc_token。
当客户的WEB服务器接收到此请求时,将以上附加的两个变量作为“统一认证/登录”接口的参数调用“统一认证/登录”接口, 蜜蜂的API服务器返回 身份校验 的结果以及当前请求帐号/身份的详细信息。
构架如图:
API消息URL链接
链接URL
OA消息文本元素的内容JSON描述部分可以赋值一个URL, 显示的时候就像网页的URL连接;点击此链接时, PC客户端直接在浏览器中打开URL,移动客户端在内嵌的WebView中打开此URL。 除URL外,还可以指定一个附加属性;当附加属性设置“urlauth”为1时,则打开URL的规则与打开应用中心的应用是一样的,会带上统一认证的信息, 默认”urlauth”为0.
详情URL
每个OA消息或者其它类型的消息有一个对应的详情URL字段,当在客户端界面点击详情的区域(由产品定义)时,PC客户端直接在浏览器中打开URL,移动客户端在内嵌的WebView中打开此URL。 由独立的字段detailAuth定义是否在打开时带上认证信息。
Action URL
OA 消息Action元素按钮的URL, 不使用浏览器或者WebView打开;在后台发起一个HTTP POST 方法请求。所有Action按钮打开URL方式还有一个附加属性;当附加属性设置“urlauth”为1时,则打开URL的规则与打开应用中心的应用是一样的,会带上统一认证的信息,默认”urlauth”为0.
发起ActionURL请求时,会带有一个HTTP请求的Body, 格式:application/json; 格式如下:
{
“text”:{
“opinion1”:”value1” // opinion1:本次意见对象名称, 由OA消息的
Action按钮的suggestionName属性定义,value1:意见内容
},
“image”: {
“opinion2”:”fileId” // opinion2: 本次审核的手写签名对象名称,由OA
消息的Action按钮的signatureName属性定义,fileId:手写签名的图片文件ID。
}
}
Action URL请求的答复也有固定的格式, 客户的服务器必须以下的格式返回给蜜蜂客户的:
{
“externalData”:{
“text”:{
“opinion1”:”value1”,//opinion1:本次意见名,value1:意见内容
}
},
“status”: <newstatus>
}
status: OA消息新的消息状态, 客户端要以此消息状态刷新消息的显示;
externalData: 定义域oa/statuschange接口保持一致。
JSAPI调用指南
在应用网页中引入蜜蜂JavaScript API脚步文件, 文件URL地址是:/js/bee-1.0.0.js; 如:
<html>
<head>
…..
</head>
<script language=”javascript”src=/js/
bee-1.0.0.js>
</script>
<body>
……
</body>
</html>
在bee.onReady事件中调用bee.config接口初始化蜜蜂JSAPI模块;config接口的参数请看JSAPI参考。
每个JSAPI接口的参数是一个对象, 对象内有两个固定的参数:success, fail; 这两个参数分别对应成功、失败的回调函数; 回调函数的参数是一个对象, 由每个接口定义内容。
网页JSAPI授权
描述
蜜蜂移动端虽然对网页开发者开放了一些能力,但出于安全考虑,要对调用功能进行验证。本节就是说明如何安全调用蜜蜂开放的能力。
步骤
应用服务器调用OpenAPI接口ticket/getticket获取ticket(调用蜜蜂JSAPI功能的临时票据)。
应用服务器获得ticket,对每一个要打开的网页,根据url、服务器时间timestamp、随机生成的16字节字符串randomStr生成签名字符串,将签名及url、timestamp、randomStr传递给要在webview中显示的网页; 网页加载完毕,调用JSAPI功能bee.config验证签名。
bee.config验证通过,则该页面可以使用JSAPI开发能力,否则不允许使用。
签名算法
ticket: 从openapi获取的ticket;
url:当前网页URL;
timestamp:客户端时间戳(s);
ramdomStr:随机生成的16字节字符串;
按顺序$ticket$url$timestamp$ramdomStr串联字符串,按sha1算法生成签名signature。
$str = $ticket.$url.$timestamp.$ramdomStr;
$signature = sha1($str);
待处理标记
描述
蜜蜂客户每次显示应用列表时,会调用“应用查询接口”获取当前应用的待处理情况, 根据获取的待处理结果值,决定是否在应用图标上显示待处理标记。
注意:应用有未读消息也会在微应用图标上显示待处理标记。
接口定义
客户端以POST方法请求“应用查询接口“定义的URL, 并且携带统一认证信息; 接口定义如下:
接口URL: |
<管理中心配置的应用查询接口URL> | |
方法 | POST | |
请求参数(URL变量) | ||
uc_account | String | 统一认证的用户登录名 |
uc_token | String | 统一认证的Token |
示例 http://app.quanshi.com/getevent?uc_account=test@quanshi.com&uc_token=xxxxxxxxxxxx |
||
应用查询接口URL返回的数据格式必须是JSON; JSON对象定义如下: | ||
code | Integer | 结果标记, 0: 成功, 非0: 失败。 |
data.eventCount | Integer | 应用待处理事件数量。 |
示例 { "data" : { "eventCount" : 1 }, "code" : 0 } |
JSAPI参考
配置JSAPI
函数名称: | bee.config( arg ) | ||
请求参数 | |||
arg.debug | Boolean | 必填 | 是否启用Debug模式,默认:false。 |
arg.signature | String | 必填 | 认证签名值,请看“网页JSAPI授权”节。 |
arg.timestamp | String | 必填 | 时间戳,请看“网页JSAPI授权”节。 |
arg.randomStr | String | 必填 | 随机字符串,请看“网页JSAPI授权”节。 |
success | Function | 选填 | 执行成功回调函数 |
fail | Function | 选填 | 执行失败回调函数 |
success回调函数参数对象定义 | |||
(无) | |||
failure回调函数参数对象定义 | |||
res.errorCode | Integer | 返回错误码 | |
示例 | |||
bee.config({ debug: true, signature: 'sdfdsfsdf', timestamp: '', randomStr: '', success: function() { }, fail: function(res) { } }); |
接口检测
函数名称: | bee.checkJsApi( arg ) | ||
请求参数 | |||
arg.jsApiList | Array | 必填 | 待检查JSAPI接口方法名数组。 |
success | Function | 选填 | 执行成功回调函数 |
fail | Function | 选填 | 执行失败回调函数 |
success回调函数参数对象定义 | |||
res.checkResult | Array | 接口检测结果数组 | |
res.checkResult[0].<methondName> | Boolean | 接口方法是否支持。 | |
failure回调函数参数对象定义 | |||
res.errorCode | Integer | 返回错误码 | |
示例 | |||
bee.checkJsApi({ jsApiList: ['chooseImage'], success: function(res) {
// res.checkRsult = //{"checkResult":[{"chooseImage":true},{"chooseImagex":false}]} } fail: function(res) { var errorCode = res.errorCode; } }); |
选择图片
函数名称: | bee.chooseImage( arg ) | ||
请求参数 | |||
arg.count | Integer | 选填 | 选择图片的数量,最小1, 最大9; 默认:5。 |
arg.sizeType | String | 选填 | 返回图片的类型,可选值:“original”:原图,“compressed”:压缩图; 默认:压缩图。 |
arg.sourceType | Array | 选填 | 选择图片的来源, 可选值:["album"]: 从相册中选择图片, ["camera"]直接用相机拍摄图片; ["album", "camera"] : 弹出菜单让用户选择来源。 |
success | Function | 选填 | 执行成功回调函数 |
fail | Function | 选填 | 执行失败回调函数 |
success回调函数参数对象定义 | |||
res.localPaths | Array | 返回图片的本地路径数组 | |
res.sourceType | String | 表示图片的来源,后选值: "album", "camera" 定义参考入参定义。 | |
failure回调函数参数对象定义 | |||
res.errorCode | Integer | 返回错误码 | |
示例 | |||
bee.chooseImage({ count: 1, sizeType: "original", success: function(res) { var localPaths = res.localPaths; //如:["/sdcard/xxxa.jpg", "/sdcard/yyyb.jpg"] } fail: function(res) { var errorCode = res.errorCode; } }); |
预览图片
函数名称: | bee.previewImage( arg ) | ||
请求参数 | |||
arg.currentIndex | Integer | 必填 | 当前显示图片的下标,从0开始。 |
arg.urls | Array | 必填 | 图片URL地址数组。 |
success | Function | 选填 | 执行成功回调函数 |
fail | Function | 选填 | 执行失败回调函数 |
success回调函数参数对象定义 | |||
failure回调函数参数对象定义 | |||
res.errorCode | Integer | 返回错误码 | |
示例 | |||
bee.previewImage({ currentIndex: 0, urls: ['http://img3.douban.com/view/photo/photo/public/p2152117150.jpg', 'http://img4.doubanio.com/view/photo/photo/public/p1353993776.jpg', 'http://img3.douban.com/view/photo/photo/public/p2152134700.jpg'], fail: function(res) { var errorCode = res.errorCode; } }); |
上传图片
函数名称: | bee.uploadImage( arg ) | ||
请求参数 | |||
arg.localPath | String | 必填 | 需要上传图片的本地路径,由chooseImage接口获得。 |
success | Function | 选填 | 执行成功回调函数 |
fail | Function | 选填 | 执行失败回调函数 |
cancel | Function | 选填 | 取消上传回调函数 |
success回调函数参数对象定义 | |||
res.serverId | String | 返回上传成功后的文件ID。 | |
failure回调函数参数对象定义 | |||
res.errorCode | Integer | 返回错误码 | |
cancel回调函数参数对象定义 | |||
res.errorCode | Integer | 返回错误码 | |
示例 | |||
bee.uploadImage({ localPath: '', success: function(res) { var serverId = res.serverId; } fail: function(res) { // 失败后的回调函数 var errorCode = res.errorCode; } cancel: function(res) { // 取消后的回调函数 } }); |
下载图片
函数名称: | bee.downloadImage( arg ) | ||
请求参数 | |||
arg.serverId | String | 必填 | 需要下载的图片的文件ID,由uploadImage接口返回。 |
success | Function | 选填 | 执行成功回调函数 |
fail | Function | 选填 | 执行失败回调函数 |
cancel | Function | 选填 | 取消下载回调函数 |
success回调函数参数对象定义 | |||
res.localPath | String | 返回文件下载成功后的本地路径。 | |
failure回调函数参数对象定义 | |||
res.errorCode | Integer | 返回错误码 | |
cancel回调函数参数对象定义 | |||
res.errorCode | Integer | 返回错误码 | |
示例 | |||
bee.downloadImage({ serverId: '', // 需要下载的图片的服务器端ID,由uploadImage接口获得 success: function(res) { var localPath = res.localPath; // 返回图片下载后的本地路径 }, fail: function(res) { // 失败后的回调函数 var errorCode = res.errorCode; } cancel: function(res) { // 取消后的回调函数 } }); |
获取地址坐标
函数名称: | bee.getLocation( arg ) | ||
请求参数 | |||
arg.type | String | 必填 | 获取地理坐标类型;可选:“wgs84”:GPS坐标。 |
success | Function | 选填 | 执行成功回调函数 |
fail | Function | 选填 | 执行失败回调函数 |
success回调函数参数对象定义 | |||
res.latitude | FLOAT | 纬度,浮点数; 范围:90 ~ -90。 | |
res.longitude | FLOAT | 经度,浮点数; 范围:180 ~ -180。 | |
res.speed | Integer | 速度, 单位:米/秒。 | |
res.accuracy | 位置精度。 | ||
failure回调函数参数对象定义 | |||
res.errorCode | Integer | 返回错误码 | |
示例 | |||
bee.getLocation({ type: 'wgs84', // 默认为wgs84的gps坐标,其他类型的坐标后续增加 success: function(res) { var latitude = res.latitude; // 纬度,浮点数,范围为90 ~ -90 var longitude = res.longitude; // 经度,浮点数,范围为180 ~ -180。 var speed = res.speed; // 速度,以米/每秒计 var accuracy = res.accuracy; // 位置精度 } fail: function(res) { // 失败后的回调函数 var errorCode = res.errorCode; } }); |
发送文本到微应用服务器
函数名称: | bee.sendTextMessageToApp( arg ) | ||
请求参数 | |||
arg.message | String | 必填 | 文本消息内容 |
success | Function | 选填 | 执行成功回调函数 |
fail | Function | 选填 | 执行失败回调函数 |
success回调函数参数对象定义 | |||
failure回调函数参数对象定义 | |||
res.errorCode | Integer | 返回错误码 | |
示例 | |||
bee.sendTextMessageToApp({ message: 'message', // 文本消息内容 success: function(res) { // 成功后的回调函数 }, fail: function(res) { // 失败后的回调函数 var errorCode = res.errorCode; } }); |
发送图片到微应用服务器
函数名称: | bee.sendTextMessageToApp( arg ) | ||
请求参数 | |||
arg.localPath | String | 必填 | 图片的本地路径。 |
success | Function | 选填 | 执行成功回调函数 |
fail | Function | 选填 | 执行失败回调函数 |
success回调函数参数对象定义 | |||
failure回调函数参数对象定义 | |||
res.errorCode | Integer | 返回错误码 | |
示例 | |||
bee.sendImageMessageToApp({ localPath: 'localPath', // 本地图片路径 success: function(res) { // 成功后的回调函数 }, fail: function(res) { // 失败后的回调函数 var errorCode = res.errorCode; } }); |
发送文件到微应用服务器
函数名称: | bee.sendFileMessageToApp( arg ) | ||
请求参数 | |||
arg.localPath | String | 必填 | 文件的本地路径。 |
success | Function | 选填 | 执行成功回调函数 |
fail | Function | 选填 | 执行失败回调函数 |
success回调函数参数对象定义 | |||
failure回调函数参数对象定义 | |||
res.errorCode | Integer | 返回错误码 | |
示例 | |||
bee.sendImageMessageToApp({ localPath: 'localPath', // 本地文件路径 success: function(res) { // 成功后的回调函数 }, fail: function(res) { // 失败后的回调函数 var errorCode = res.errorCode; } }); |
读取扫描码
函数名称: | bee.scanCode( arg ) | ||
请求参数 | |||
arg.needResult | Integer | 选填 | 扫描结果处理方式, 0: 扫描结果蜜蜂处理, 1: 直接返回扫描结果; 默认:0。 |
arg.scanType | Array | 选填 | 扫描类型,字符串数组;可选值:“qrCode”,“barCode”;默认两者都有。 |
success | Function | 选填 | 执行成功回调函数 |
fail | Function | 选填 | 执行失败回调函数 |
success回调函数参数对象定义 | |||
res.type | String | 扫描码的类型。 | |
res.resultStr | String | 扫描码的值。 | |
failure回调函数参数对象定义 | |||
res.errorCode | Integer | 返回错误码 | |
示例 | |||
bee.scanCode({ needResult: 0, scanType: ["qrCode", "barCode"], success: function(res) { var type = res.resultType; // 当needResult 为 1 时,返回扫码的类型 var result = res.resultStr; // 当needResult 为 1 时,返回扫码的内容 }, cancel: function(res) {} fail: function(res) { var errorCode = res.errorCode; } }); |
界面操作
显示/隐藏右上角菜单
函数名称: | bee.showOptionMenu( arg ) | ||
请求参数 | |||
arg.show | Boolean | 必填 | true: 显示, false: 隐藏。 |
示例 | |||
bee.showOptionMenu({ show: ture //显示或隐藏右上角菜单按钮,可选值true或false }); |
批量隐藏右上角菜单项
函数名称: | bee.hideOptionMenuItems( arg ) | ||
请求参数 | |||
arg.menuList | Array | 必填 | 菜单项名称数组; 可选的菜单项: 分享到蜜蜂联系人: "menuItem:share:contacts" 分享到蜜蜂动态: "menuItem:share:bee2" 在浏览器中打开: "menuItem:openInBrowser" 分享 (更多) : "menuItem:share" |
示例 | |||
bee.hideOptionMenuItems({ menuList: ["menuItem:share:bee2", "menuItem:openInBrowser"] }); |
批量显示右上角菜单项
函数名称: | bee.showOptionMenuItems( arg ) | ||
请求参数 | |||
arg.menuList | Array | 必填 | 菜单项名称数组; 可选的菜单项: 分享到蜜蜂联系人: "menuItem:share:contacts" 分享到蜜蜂动态: "menuItem:share:bee2" 在浏览器中打开: "menuItem:openInBrowser" 分享 (更多) : "menuItem:share" |
示例 | |||
bee.showOptionMenuItems({ menuList: ["menuItem:share:bee2", "menuItem:openInBrowser"] }); |
隐藏所有右上角菜单项
函数名称: | bee.hideAllFuncOptionMenuItem() | ||
请求参数 | |||
示例 | |||
bee.hideAllFuncOptionMenuItem(); |
设置返回按钮工作模式
函数名称: | bee.setBackModel( arg ) | ||
请求参数 | |||
arg | String | 必填 | 可选值:default,mainpage, event; event: 调用页面的bee.onback() 方法; 页面需要实现onback回调方法; onback( url), 参数url为当前页面的URL。 |
示例 | |||
bee.setBackModel('default'); |
关闭当前窗口
函数名称: | bee.closeWindow() | ||
请求参数 | |||
示例 | |||
bee.closeWindow(); |
电话接口
函数名称: | bee.pbxCall( arg ) | ||
请求参数 | |||
arg.phoneNumber | String | 必填 | 被呼叫的电话号码。 |
arg.contactName | String | 选填 | 被叫方的姓名,用来显示。 |
arg.contactAvatar | String | 选填 | 被叫方的头像图片文件URL; 是一个HTTP URL地址。 |
arg.postUrl | String | 选填 | 呼叫对方过程中,请求此URL通知呼叫事件;是一个Post请求; 请求的Body格式是JSON; 内容看下面的定义。 |
arg.postData | String | 选填 | 客户定制数据, 在请求postUrl时,作为Body的一个参数原样返回。 |
PostURL HTTP请求的BODY定义 | |||
{ "callInfo": { "userName": "被叫方姓名", "phoneNumber": "13584815575", // 被叫电话号码 "duration": 20, // 通话时长,单位秒。 "callUUID": "N1qXc1leKm0ZAJpD-PkJOqsIuPL6Cn5m", // 通话唯一标识。 "createTime": 1469672854318, // 呼叫时间 "callResult": 0 // 呼叫结果; 0:接通, 1: 未接听, 2:呼叫取消, 3: // 被拒绝接听。 }, "customData": "5555" // 客户定制数据 } |
|||
success参数对象定义 | |||
(无) | |||
failure参数对象定义 | |||
(无) |
事件接口
onReady事件
函数名称: | bee.onReady() | ||
当蜜蜂JSAPI初始化完成后,此事件被调用。 | |||
传入参数 | |||
<无> |
消息推送
公共应用接入(未实现,保留阶段)
公共应用是指集成在蜜蜂不需要接入方自建服务的第三方应用。
公共应用接入流程
请参照以下流程:
1准备工作:
1.1创建全时企业账号
1.2 提供文档8.2事件通知接口(非必须)
2接入流程:
事件通知
描述
全时通知微应用,将启用、禁用某站点的通知回调给接入方。该接口由接入方实现,全时将某站点启动、禁用变更时,会调用该接口通知接入方。
接口描述
接口URL: |
<接入方定义> | |
协议 | HTTP | |
方法 | POST | |
秘钥 | xihmP8EWXIF8GBlg(用于AES加密的key值) *在申请接入公共应用时确定 |
|
备注 | Content-Type:application/json 编码:utf-8 | |
请求参数(URL变量) | ||
customerName | String | 客户名称 |
siteId | String | 站点ID,代表全时一个客户站点 |
account | String | 客户管理员账号 |
action | Integer | 0-禁用、1-启用 |
sign | String | 签名(规则:先AES加密,再Base64加密 加密内容为customerName、account、siteId、action参数值的字符串拼接) |
示例 { "customerName" : "全时线下测试客户", "account" : "admin@quanshi.com", "siteId" : 771524, "action" : 0, "sign": "96Q/rGSIqokQmmQ+u3md/dNUj1arbyeJRUKaRUJGUKIS9xGO4cX4fek8Z2HYY6krRV5lzrgM7Xq+EpnkaT054A==" } |
||
应用查询接口URL返回的数据格式必须是JSON; JSON对象定义如下: | ||
code | Integer | 结果标记, 0: 成功, 非0: 失败。 |
示例 { "code" : 0 } |
日程状态变化通知(保留接口,请勿使用)
接口URL: |
/callback/calendar/status/get | |
请求参数 | ||
method | String | 回调自定义方法标签,必填 ·从uniformserver回调时,值为“invite” ·从openmonitor回调时,值为“openmonitor” |
timestamp | Long | 时间戳,可选 |
msgId | String | 日志ID,可选 |
siteId | Integer | 站点ID,可选 |
userData | String | 回调用户地址,json格式: 可选 {"ucopenapi_user_callback":"http://callback.quanshi.com/"} |
event | Object | 日程信息创建/更新/删除; 可选 |
event.id | Integer | 日程Id可选 |
event.title | String | 日程标题,可选。 |
event.summary | String | 日程摘要,可选。 |
event.description | String | 描述,可选 |
event.dtstart | Long | 开始时间,可选 |
event.dtend | Long | 结束时间,可选 |
event.location | String | 日程地点,可选。 |
event.status | Integer | 日程状态, 0:取消,1:正常。可选 |
event.siteId | Integer | 站点ID,可选 |
event.hostId | String | 主持人ID,可选 |
event.importance | Integer | 重要等级,可选 |
event.isGnet | Bool | 是否启用“全时云会议”,可选,默认:false。 |
event.attendees | Array | 参会者,可选 |
event.attendees[0].id | Integer | 参会者ID,可选 |
event.externalAttendees | Array | 外部参会者,可选 |
event.externalAttendees.id | Integer | 外部参会者ID,可选 |
event.conferenceId | String | 会议ID,可选 |
event.hostPassword | String | 主持人密码,可选 |
event.attendeePassword | String | 参会人密码,可选 |
event.attendeeJoinUrl | String | 参会人入会链接,可选 |
event.hostJoinUrl | String | 主持人入会链接,可选 |
event.room | Array | 会议室,可选 ##创建日程时该对象无效 |
event.room[0].roomId | Integer | 会议室ID,可选 |
event.room[0].roomName | String | 会议室名称,可选 |
event.room[0].roomNote | String | 会议室备注,可选 |
event.room[0].roomStatus | Integer | 会议室状态,可选 |
event.equip | 设备,可选 ##创建日程时该对象无效 | |
event.equip[0].equipId | Integer | 设备ID,可选 |
event.equip[0].equipName | String | 设备名称,可选 |
event.equipNote | String | 设备备注,可选 |
event.equipStatus | Integer | 设备状态,可选 |
event. | String | extrasInfo 保留参数,对日程进行操作,传递的该参数,原样返回 |
record | Object | 会议录制; 可选 |
record.confId | String | 会议ID,可选 |
record.eventId | Integer | 日程ID,可选 |
record.videoURL | String | 录制视频地址,可选 |
record.thumbnail | String | 缩略图,可选 |
record.operatorId | Integer | 操作ID,可选 |
record.videoLength | Integer | 视频长度,可选 |
record.videoSize | Integer | 视频大小,可选 |
report | Object | 会议报告; 可选 |
report.confId | String | 会议ID,可选 |
report.eventId | Integer | 日程ID,可选 |
report.reportName | String | 报告名称,可选 |
report.downloadUrl | String | 下载地址,可选 |
entermeeting | Object | 参会者进入会议; 可选 |
entermeeting.confId | String | 会议ID,可选 |
entermeeting.eventId | Integer | 日程ID,可选 |
entermeeting.billingCode | String | 会议billingCode,可选 |
entermeeting.userId | String | 参会人用户ID,可选 |
leavemeeting | Object | 参会者退出会议; 可选 |
leavemeeting.confId | String | 会议ID,可选 |
leavemeeting.eventId | Integer | 日程ID,可选 |
leavemeeting.billingCode | String | 会议billingCode,可选 |
leavemeeting.userId | String | 参会人用户ID,可选 |
openmonitor | Object | 外呼时ACM通知,可选 |
openmonitor.callSeq | String | Openmonitor外呼业务sequence,可选 |
openmonitor.partyId | String | ACM外呼唯一标识,可选 |
openmonitor.ov | String | 外呼前旧状态,可选 |
openmonitor.nv | String | 外呼后新状态,可选 |
openmonitor.dcr | String | 断线原因,可选 |
openmonitor.calendarid | Integer | 所属日程ID,可选 |
openmonitor.billingCode | String | 会议billingCode,可选 |
openmonitor.phoneNumber | String | 电话号码,可选 |
示例: 日程信息创建/更新/删除时通知示例: { "method": "invite", "timestamp": 1499843966945, "msgId": "uniformserver-10.255.0.66-1499843966.490466071.659", "siteId": 76458, "userData": "{\"ucopenapi_user_callback\":\"http: //callback.quanshi.com/\"}", "event": { "id": "142204", "title": "%E5%85%BC%E5%AE%B9%E6%B5%8B%E8%AF%95Foxmail071201", "summary": "%E6%99%AE%E9%80%9A%E4%BC%9A%E8%AE%AE", "description": "", "dtstart": 1499844600, "dtend": 1499848200, "location": "", "status": "CONFIRMED", "siteId": 76458, "hostId": "63712166", "importance": 0, "isGnet": 1, "attendees": [ { "id": "63712167" }, { "id": "63712168" } ], "externalAttendees": [ { "id": "jing.pu@quanshi.com" } ], "conferenceId": "2016874", "hostPassword": "201501000003167702", "attendeePassword": "201501000003167703", "attendeeJoinUrl": "https: //meetnow.quanshi.com/ucb_meetingd_0/j/dahnqt", "hostJoinUrl": "https://meetnow.quanshi.com/ucb_meetingd_0/j/yapdje", "room": [ ##创建日程时该对象无效 { "roomId": 932, "roomName": "dff", "roomNote": "", "roomStatus": 1 } ], "equip": [ ##创建日程时该对象无效 { "equipId": 225, "equipName": "efwfew", "equipNote": "", "equipStatus": 1 } ], "extrasInfo":{} } } 会议录制通知示例: { "method": "invite", "timestamp": 1499843966945, "msgId": "uniformserver-10.255.0.66-1499843966.490466071.659", "siteId": 76458, "userData": "{\"ucopenapi_user_callback\":\"http: //callback.quanshi.com/\"}", "record": { "confId": "3223", "eventId": 4433, "videoURL": "http://url.qs.com/video", "thumbnail": "http://url.qs.com/sss", "operatorId": 123, "videoLength": 213, "videoSize": 312 } } 会议报告通知示例: { "method": "invite", "timestamp": 1499843966945, "msgId": "uniformserver-10.255.0.66-1499843966.490466071.659", "siteId": 76458, "userData": "{\"ucopenapi_user_callback\":\"http: //callback.quanshi.com/\"}", "report": { "confId": "3332", "eventId": 44443, "reportName": "reportname1", "downloadUrl": "http://dddd" } } 参会者进入会议 { "method": "invite", "timestamp": 1499843966945, "msgId": "uniformserver-10.255.0.66-1499843966.490466071.659", "siteId": 76458, "userData": "{\"ucopenapi_user_callback\":\"http: //callback.quanshi.com/\"}", "entermeeting": { "confId": "332", "eventId": 4423, "billingCode": "343342", "userId": 33224 } } 参会者退出会议 { "method": "invite", "timestamp": 1499843966945, "msgId": "uniformserver-10.255.0.66-1499843966.490466071.659", "siteId": 76458, "userData": "{\"ucopenapi_user_callback\":\"http: //callback.quanshi.com/\"}", "leavemeeting": { "confId": "43433", "eventId": 553, "billingCode": "5656", "userId": 4343 } } 外呼时ACM通知 { "method": "openmonitor", "timestamp": 1499843966945, "msgId": "", "userData": "", "openmonitor": { "callSeq": "43433-gjfjgikko32r4r4", "partyId": "ewe4dg343rgrg", "ov": "2", "nv": "0", "dcr": "0", "calendarid": 324324, "billingCode": "43452", "phoneNumber": "15622253562" } } |
||
答复(仅仅描述调用成功后的data字段, 调用失败在OpenAPI规范中已有描述) | ||
data | Object | 无返回值 |
示例: { "errorCode": 0, "data":null, "errorMessage": "", "requestId": "xxxx-xx-ysdf-sdfsdfsf-wqeqw123" } |
||
备注1:回调用户接口定义 | ||
data.type | String | "calendar":日程创建/更新/删除 //对应【会议状态变化通知接口】请求参数event "record":会议录制 "report":会议报告 "entermeeting":参会者进入会议 "leavemeeting":参会者退出会议 "openmonitor":外呼时ACM返回消息 |
data.data | Object | 同【会议状态变化通知】接口请求参数相同 |