Appearance
工作表 API 文档 V2
本文档基于明道云(HAP)应用开放接口文档 V2,提供了完整的工作表 API 使用说明。
概述
本文档提供了一个简单的方法来实现应用数据和任何外部数据的集成。API 严格遵循 REST 语义,使用 JSON 编码对象,并依赖标准 HTTP 代码来指示操作结果。
请求格式
- 对于 GET 请求,所有参数通过拼接在 URL 之后传递
- 对于 POST 请求,请求的主体必须是 JSON 格式,而且 HTTP header 的 Content-Type 需要设置为
application/json
应用接口
获取应用信息
获取应用信息,包含应用下分组、工作表、自定义页面信息
请求
http
GET /api/v1/open/app/get?appKey={appKey}&sign={sign}参数
| 参数 | 必选 | 类型 | 说明 |
|---|---|---|---|
| appKey | 是 | string | AppKey |
| sign | 是 | string | 签名 |
请求示例
json
{
"URL": "https://yx.ainitufs.com/api/v1/open/app/get?appKey=68bc472367088c65&sign=ODdiN2U2NGRjMjBjYTcyNjcyOWU3MGJkNWY0NzJhZWI0MzMyYzJmN2NmMzY4MmU4NzA0ZDYyYjBkNWY2NmExYg=="
}响应示例
json
{
"success": true,
"error_code": 1,
"data": {
"projectId": "网络id",
"appId": "应用id",
"name": "应用名称",
"iconUrl": "图标地址",
"color": "图标颜色",
"desc": "应用描述",
"sections": [
{
"sectionId": "应用分组id",
"name": "分组名称",
"items": [
{
"id": "分组下应用项id",
"name": "应用项名称",
"type": "应用项类型 0:工作表、1:自定义页面、2:子分组",
"iconUrl": "应用项图标地址",
"alias": "工作表别名",
"status": 1,
"notes": "开发者备注"
}
],
"childSections": [
{
"sectionId": "子分组id",
"name": "子分组名称",
"items": [],
"childSections": []
}
]
}
]
}
}工作表接口
新建工作表
创建工作表
请求
http
POST /api/v2/open/worksheet/addWorksheet参数
| 参数 | 必选 | 类型 | 说明 |
|---|---|---|---|
| appKey | 是 | string | AppKey |
| sign | 是 | string | 签名 |
| name | 是 | string | 工作表名称 |
| alias | 否 | string | 别名 |
| sectionId | 否 | string | 分组ID |
| controls | 是 | list | 控件数据,传参规范见示例 |
控件参数说明
controlName:控件名称,必填alias:控件别名type:控件类型,目前支持控件类型有:- 2: 文本
- 6: 数值
- 9: 单选
- 10: 多选
- 46: 时间
- 15: 日期(年-月-日)
- 16: 日期(年-月-日 时:分)
- 26: 成员
- 14: 附件
- 29: 关联记录
required:是否必选,true:必填,false:非必填attribute:标题字段标识,1:标题,0:非标题,工作表中只能设置一个标题字段dot:保留小数位(0-14),控件类型为6:数值,8:金额时填入enumDefault:类型为26:成员时,表示成员数量,填入规则 0:单选,1:多选。类型为29:关联记录时,表示关联记录数量,填入规则 1:单条 2:多条options:选项信息,控件类型为 11:单选,10:多选时填入max:等级最大值,控件类型为28:等级时填入,填入规则(0-10)dataSource:数据源 id,类型为 29(关联记录)时传入,表示关联表 idadvancedSetting:类型为15、16 日期时传入,格式{"showtype": "6"},显示类型 5:年 4:年月 3:年月日 2:年月日时 1:年月日时分 6:年月日时分秒unit:类型为46时间时传入,1:时分,6:时分秒
请求示例
json
{
"appKey": "68bc472367088c65",
"sign": "ODdiN2U2NGRjMjBjYTcyNjcyOWU3MGJkNWY0NzJhZWI0MzMyYzJmN2NmMzY4MmU4NzA0ZDYyYjBkNWY2NmExYg==",
"name": "款式管理",
"alias": "kaifa",
"sectionId": "680313d61a3cf3ca008ce2c7",
"controls": [
{
"controlName": "文本",
"alias": "字段别名",
"type": 2,
"required": true
},
{
"controlName": "数值",
"alias": "字段别名",
"type": 6,
"dot": 2,
"required": true
},
{
"controlName": "单选",
"alias": "字段别名",
"type": 11,
"options": [
{
"value": "选项名称1",
"index": 1
},
{
"value": "选项名称2",
"index": 2
}
],
"required": true
},
{
"controlName": "成员-单选",
"type": 26,
"alias": "字段别名",
"enumDefault": 0,
"required": true
},
{
"controlName": "附件",
"alias": "字段别名",
"type": 14,
"required": true
}
]
}响应示例
json
{
"success": true,
"error_code": 1,
"data": "工作表ID"
}获取工作表结构信息
获取工作表配置及其字段信息
请求
http
POST /api/v2/open/worksheet/getWorksheet参数
| 参数 | 必选 | 类型 | 说明 |
|---|---|---|---|
| appKey | 是 | string | AppKey |
| sign | 是 | string | 签名 |
| worksheetId | 是 | string | 工作表ID |
请求示例
json
{
"appKey": "68bc472367088c65",
"sign": "ODdiN2U2NGRjMjBjYTcyNjcyOWU3MGJkNWY0NzJhZWI0MzMyYzJmN2NmMzY4MmU4NzA0ZDYyYjBkNWY2NmExYg==",
"worksheetId": "kaifa"
}响应示例
json
{
"success": true,
"data": {
"worksheetId": "工作表id",
"name": "工作表名称",
"views": [
{
"viewId": "视图id",
"name": "视图名称"
}
],
"controls": [
{
"controlId": "控件id",
"controlName": "控件名称",
"type": "控件类型,参考枚举",
"attribute": "属性 1:标题",
"row": 1,
"col": 1,
"hint": "引导文字",
"default": "",
"dot": "当type=6时,表示保留小数位(0-14)",
"unit": "单位,当type=46时,1:时分,6:时分秒",
"enumDefault": "1多选,0单选",
"dataSource": "源数据",
"sourceControlId": "源控件id",
"showControls": ["显示字段id"],
"options": [
{
"value": "当type=11/10时,表示选项名称",
"index": "排序"
}
],
"required": "true:必填,false:非必填",
"alias": "别名(API用)",
"desc": "字段描述"
}
]
}
}工作表行记录接口
获取列表
获取工作表记录列表
请求
http
POST /api/v2/open/worksheet/getRows参数
| 参数 | 必选 | 类型 | 说明 |
|---|---|---|---|
| appKey | 是 | string | AppKey |
| sign | 是 | string | 签名 |
| worksheetId | 是 | string | 工作表ID |
| viewId | 是 | string | 视图ID |
| listType | 否 | string | 返回数据类型,0:按指定视图的数据格式返回(若非表格视图则获取数据的数量会有所限制)1:按表格视图的数据格式返回(可以获取所有数据)。不传默认为0,推荐填入1 |
| pageSize | 是 | number | 行数,最大为1000 |
| pageIndex | 是 | number | 页码 |
| keyWords | 否 | string | 关键字模糊搜索 |
| sortId | 否 | string | 排序字段ID |
| isAsc | 否 | boolean | 是否升序 |
| filters | 否 | list | 筛选器组合,每个筛选器的参数请参考附录 |
| notGetTotal | 否 | boolean | 是否不统计总行数以提高性能 |
| useControlId | 否 | boolean | 是否只返回controlId,默认false |
| getSystemControl | 否 | boolean | 是否获取系统字段,默认false |
| controls | 否 | list[string] | 指定控件(ID或别名) |
请求示例
json
{
"appKey": "68bc472367088c65",
"sign": "ODdiN2U2NGRjMjBjYTcyNjcyOWU3MGJkNWY0NzJhZWI0MzMyYzJmN2NmMzY4MmU4NzA0ZDYyYjBkNWY2NmExYg==",
"worksheetId": "kaifa",
"viewId": "视图ID,可为空",
"pageSize": 50,
"pageIndex": 1,
"keyWords": "关键字模糊搜索",
"listType": 0,
"controls": [],
"filters": [
{
"controlId": "control1",
"dataType": 6,
"spliceType": 1,
"filterType": 13,
"value": "2"
}
],
"sortId": "排序字段ID",
"isAsc": "是否升序"
}响应示例
json
{
"success": true,
"error_code": 1,
"data": {
"rows": [
{
"rowid": "记录id",
"ctime": "创建时间",
"caid": {
"accountId": "创建人账号Id",
"fullname": "创建者名称",
"avatar": "头像地址",
"status": 1
},
"uaid": {
"accountId": "编辑者账号id",
"fullname": "编辑者名称",
"avatar": "头像地址",
"status": 1
},
"ownerid": {
"accountId": "拥有者账号Id",
"fullname": "拥有者名称",
"avatar": "头像地址",
"status": 1
},
"utime": "编辑时间",
"控件id/别名": "控件值"
}
],
"total": "总条数"
}
}新建行记录
新建行记录
请求
http
POST /api/v2/open/worksheet/addRow参数
| 参数 | 必选 | 类型 | 说明 |
|---|---|---|---|
| appKey | 是 | string | AppKey |
| sign | 是 | string | 签名 |
| worksheetId | 是 | string | 工作表ID |
| controls | 是 | list | 控件数据 |
| triggerWorkflow | 否 | boolean | 是否触发工作流(默认: true) |
请求示例
json
{
"appKey": "68bc472367088c65",
"sign": "ODdiN2U2NGRjMjBjYTcyNjcyOWU3MGJkNWY0NzJhZWI0MzMyYzJmN2NmMzY4MmU4NzA0ZDYyYjBkNWY2NmExYg==",
"worksheetId": "kaifa",
"triggerWorkflow": true,
"controls": [
{
"controlId": "字段ID",
"value": "字段值"
}
]
}响应示例
json
{
"success": true,
"error_code": 1,
"data": "rowId"
}批量新建行记录
批量新建行记录
请求
http
POST /api/v2/open/worksheet/addRows参数
| 参数 | 必选 | 类型 | 说明 |
|---|---|---|---|
| appKey | 是 | string | AppKey |
| sign | 是 | string | 签名 |
| worksheetId | 是 | string | 工作表ID |
| rows | 是 | [list] | 控件数据 |
| triggerWorkflow | 否 | boolean | 是否触发工作流(默认: true) |
| returnRowIds | 否 | boolean | true:返回批量增加的rowIds,false返回时成功的条数 |
请求示例
json
{
"appKey": "68bc472367088c65",
"sign": "ODdiN2U2NGRjMjBjYTcyNjcyOWU3MGJkNWY0NzJhZWI0MzMyYzJmN2NmMzY4MmU4NzA0ZDYyYjBkNWY2NmExYg==",
"worksheetId": "kaifa",
"triggerWorkflow": true,
"returnRowIds": true,
"rows": [
[
{
"controlId": "字段ID",
"value": "字段值"
}
]
]
}响应示例
json
{
"success": true,
"error_code": 1,
"data": "总数量"
}获取行记录详情
获取记录详情信息
请求
http
GET /api/v2/open/worksheet/getRowById?appKey={appKey}&sign={sign}&worksheetId={worksheetId}&rowId={rowId}&getSystemControl={getSystemControl}或
http
POST /api/v2/open/worksheet/getRowById参数
| 参数 | 必选 | 类型 | 说明 |
|---|---|---|---|
| appKey | 是 | string | AppKey |
| sign | 是 | string | 签名 |
| worksheetId | 是 | string | 工作表ID |
| rowId | 是 | string | 行记录ID |
| getSystemControl | 否 | boolean | 是否获取系统字段,默认false |
响应示例
json
{
"success": true,
"error_code": 1,
"data": {
"rows": [
{
"rowid": "记录id",
"ctime": "创建时间",
"caid": {
"accountId": "创建人账号Id",
"fullname": "创建者名称",
"avatar": "头像地址",
"status": 1
},
"uaid": {
"accountId": "编辑者账号id",
"fullname": "编辑者名称",
"avatar": "头像地址",
"status": 1
},
"ownerid": {
"accountId": "拥有者账号Id",
"fullname": "拥有者名称",
"avatar": "头像地址",
"status": 1
},
"utime": "编辑时间",
"控件id/别名": "控件值"
}
],
"total": "总条数"
}
}更新行记录详情
更新行记录
请求
http
POST /api/v2/open/worksheet/editRow参数
| 参数 | 必选 | 类型 | 说明 |
|---|---|---|---|
| appKey | 是 | string | AppKey |
| sign | 是 | string | 签名 |
| worksheetId | 是 | string | 工作表ID |
| rowId | 是 | string | 行记录ID |
| controls | 是 | list | 控件数据 |
| triggerWorkflow | 否 | boolean | 是否触发工作流(默认: true) |
请求示例
json
{
"appKey": "68bc472367088c65",
"sign": "ODdiN2U2NGRjMjBjYTcyNjcyOWU3MGJkNWY0NzJhZWI0MzMyYzJmN2NmMzY4MmU4NzA0ZDYyYjBkNWY2NmExYg==",
"worksheetId": "kaifa",
"triggerWorkflow": true,
"controls": [
{
"controlId": "字段ID",
"value": "字段值"
}
],
"rowId": "行记录ID"
}响应示例
json
{
"success": true,
"error_code": 1,
"data": true
}批量更新行记录详情
批量更新行记录
请求
http
POST /api/v2/open/worksheet/editRows参数
| 参数 | 必选 | 类型 | 说明 |
|---|---|---|---|
| appKey | 是 | string | AppKey |
| sign | 是 | string | 签名 |
| worksheetId | 是 | string | 工作表ID |
| rowIds | 是 | list[string] | 行记录ID集合 |
| control | 是 | object | 控件数据(旧字段),用于单个字段更新 |
| controls | 否 | list[object] | 多个控件数据(新字段),可用于多个字段更新 |
| triggerWorkflow | 否 | boolean | 是否触发工作流(默认: true) |
请求示例
json
{
"appKey": "68bc472367088c65",
"sign": "ODdiN2U2NGRjMjBjYTcyNjcyOWU3MGJkNWY0NzJhZWI0MzMyYzJmN2NmMzY4MmU4NzA0ZDYyYjBkNWY2NmExYg==",
"worksheetId": "kaifa",
"rowIds": ["行记录ID", "行记录ID"],
"triggerWorkflow": true,
"controls": [
{
"controlId": "字段ID",
"value": "字段值"
}
]
}响应示例
json
{
"success": true,
"error_code": 1,
"data": true
}删除行记录
删除行记录
请求
http
POST /api/v2/open/worksheet/deleteRow参数
| 参数 | 必选 | 类型 | 说明 |
|---|---|---|---|
| appKey | 是 | string | AppKey |
| sign | 是 | string | 签名 |
| worksheetId | 是 | string | 工作表ID |
| rowId | 是 | string | 行记录ID,多个用逗号(,)隔开 |
| triggerWorkflow | 否 | boolean | 是否触发工作流(默认: true) |
| thoroughDelete | 否 | boolean | 是否物理删除(true:物理删除,false:逻辑删除,默认为false),物理删除后数据不进入回收站,且不可恢复,请谨慎操作! |
请求示例
json
{
"appKey": "68bc472367088c65",
"sign": "ODdiN2U2NGRjMjBjYTcyNjcyOWU3MGJkNWY0NzJhZWI0MzMyYzJmN2NmMzY4MmU4NzA0ZDYyYjBkNWY2NmExYg==",
"worksheetId": "kaifa",
"rowId": "行记录ID,多个用逗号(,)隔开",
"triggerWorkflow": true,
"thoroughDelete": false
}响应示例
json
{
"success": true,
"error_code": 1,
"data": true
}获取关联记录
获取关联记录列表
请求
http
POST /api/v2/open/worksheet/getRelationRows参数
| 参数 | 必选 | 类型 | 说明 |
|---|---|---|---|
| appKey | 是 | string | AppKey |
| sign | 是 | string | 签名 |
| worksheetId | 是 | string | 工作表ID |
| rowId | 是 | string | 行记录ID |
| controlId | 是 | string | 字段ID |
| pageSize | 是 | number | 行数,最大为1000 |
| pageIndex | 是 | number | 页码 |
| getSystemControl | 否 | boolean | 是否获取系统字段,默认false |
响应示例
json
{
"success": true,
"error_code": 1,
"data": {
"rows": [
{
"rowid": "关联记录id",
"ctime": "创建时间",
"utime": "更新时间",
"关联记录控件id/别名": "控件值"
}
],
"total": "总条数"
}
}获取记录分享链接
获取记录分享链接
请求
http
POST /api/v2/open/worksheet/getShareLink参数
| 参数 | 必选 | 类型 | 说明 |
|---|---|---|---|
| appKey | 是 | string | AppKey |
| sign | 是 | string | 签名 |
| worksheetId | 是 | string | 工作表ID |
| rowId | 是 | string | 行记录ID |
| visibleFields | 否 | list[string] | 可见字段ID集合 |
| validTime | 否 | string | 格式:YYYY-MM-DD HH:mm:ss,为空表示永久有效 |
| password | 否 | string | 为空表示不需要密码 |
响应示例
json
{
"success": true,
"error_code": 1,
"data": "链接地址"
}获取工作表总行数
获取工作表总行数
请求
http
POST /api/v2/open/worksheet/getRowsCount参数
| 参数 | 必选 | 类型 | 说明 |
|---|---|---|---|
| appKey | 是 | string | AppKey |
| sign | 是 | string | 签名 |
| worksheetId | 是 | string | 工作表ID |
| viewId | 是 | string | 视图ID |
| filters | 否 | list | 筛选器组合 |
| keywords | 否 | string | 关键词 |
响应示例
json
{
"success": true,
"error_code": 1,
"data": "总数量"
}获取行记录讨论
获取行记录讨论
请求
http
POST /api/v2/open/worksheet/getRowDiscussion参数
| 参数 | 必选 | 类型 | 说明 |
|---|---|---|---|
| appKey | 是 | string | AppKey |
| sign | 是 | string | 签名 |
| worksheetId | 是 | string | 工作表ID |
| rowId | 是 | string | 行记录ID |
| pageSize | 是 | number | 行数,最大为1000 |
| pageIndex | 是 | number | 页码 |
| keywords | 否 | string | 关键字模糊搜索 |
| containAttachment | 否 | boolean | 是否只返回包含附件的讨论 |
响应示例
json
{
"code": 1,
"data": [
{
"discussionId": "讨论 id",
"message": "讨论内容",
"createTime": "创建时间",
"createAccount": {
"accountId": "创建者信息",
"fullname": "名称",
"avatar": "头像地址",
"isPortal": false,
"status": 1
},
"replyAccount": {
"accountId": "回复者信息",
"fullname": "名称",
"avatar": "头像地址",
"isPortal": false,
"status": 1
},
"replyId": "回复的讨论 id",
"projectId": "组织 id",
"accountsInMessage": [
{
"accountId": "@的人信息",
"fullname": "名称",
"avatar": "头像地址",
"isPortal": false,
"status": 1
}
],
"attachments": [
{
"originalFilename": "文件名称",
"ext": "文件类型",
"filesize": "文件大小",
"downloadUrl": "下载地址"
}
]
}
]
}获取行记录日志
获取行记录的操作日志信息
请求
http
POST /api/v2/open/worksheet/getRowLogs参数
| 参数 | 必选 | 类型 | 说明 |
|---|---|---|---|
| appKey | 是 | string | AppKey |
| sign | 是 | string | 签名 |
| worksheetId | 是 | string | 工作表ID |
| rowId | 是 | string | 行记录ID |
| opeartorId | 否 | string | 按操作者ID筛选 |
| controlId | 否 | string | 按控件ID筛选 |
| pageSize | 否 | number | 行数 |
| lastMark | 否 | string | 上一次更新的时间 |
响应示例
json
{
"logs": [
{
"opeartorInfo": {
"accountId": "操作者ID",
"fullname": "名称",
"avatar": "头像地址",
"isPortal": false,
"status": 1
},
"operatContent": {
"worksheetId": "工作表ID",
"objectId": "操作对象ID",
"uniqueId": "操作唯一标识",
"objectType": "日志对象类型 1:工作表 2:行记录 3:视图 4:按钮 5:业务规则 99:其他",
"type": 2,
"requestType": "日志操作类型 1:手动 2:工作流 3:按钮",
"createTime": "操作创建的时间戳",
"logData": [
{
"id": "操作项ID",
"name": "操作项名称",
"editType": 1,
"type": 26,
"oldValue": "操作前的值",
"oldText": "操作后的描述",
"newValue": "操作后的值",
"newText": "操作后的描述",
"isDeleted": false
}
]
}
}
],
"lastMark": "最后一次更新的时间",
"flag": false
}应用角色接口
获取应用角色列表
获取应用下角色列表
请求
http
GET /api/v1/open/app/getRoles?appKey={appKey}&sign={sign}响应示例
json
{
"success": true,
"error_code": 1,
"data": [
{
"roleId": "角色Id",
"name": "角色名称",
"roleType": "角色类型",
"desc": "角色描述",
"users": [
{
"accountId": "账号Id",
"name": "用户名",
"avatar": "用户头像链接"
}
],
"departments": [
{
"departmentId": "部门Id",
"departmentName": "部门名称"
}
],
"jobs": [
{
"jobId": "职位Id",
"jobName": "职位名称"
}
],
"projectOrganizes": ["组织角色ID"]
}
]
}创建应用角色
创建应用角色
请求
http
POST /api/v1/open/app/addRole参数
| 参数 | 必选 | 类型 | 说明 |
|---|---|---|---|
| appKey | 是 | string | AppKey |
| sign | 是 | string | 签名 |
| name | 是 | string | 角色名称 |
| description | 否 | string | 角色描述 |
| hideAppForMembers | 否 | boolean | 是否对成员隐藏应用 隐藏:true,不隐藏:false |
| roleType | 否 | integer | 角色类型 0:自定义角色 |
| permissionWay | 否 | integer | 权限方式:分发所有应用项,80:可查看、编辑、删除所有记录,60:可查看所有记录,但只能编辑、删除自己拥有的记录,30:可查看加入的,只能编辑、删除自己拥有的记录,20:对所有记录只有查看权限,0:分发有权限应用项 |
| sheets | 否 | array | 工作表权限配置 |
| pages | 否 | array | 页面列表 |
| generalAdd | 否 | object | 添加权限 true:开启,false:不开启 |
| gneralShare | 否 | object | 分享权限 true:开启,false:不开启 |
| generalImport | 否 | object | 导入权限 true:开启,false:不开启 |
| generalExport | 否 | object | 导出权限 true:开启,false:不开启 |
| generalDiscussion | 否 | object | 讨论权限 true:开启,false:不开启 |
| generalSystemPrinting | 否 | object | 系统打印权限 true:开启,false:不开启 |
| generalAttachmentDownload | 否 | object | 附件下载权限 true:开启,false:不开启 |
| generalLogging | 否 | object | 日志权限 true:开启,false:不开启 |
响应示例
json
{
"success": true,
"error_code": 1,
"data": [
{
"roleId": "角色Id",
"name": "角色名称",
"roleType": "角色类型",
"desc": "角色描述",
"users": [],
"departments": [],
"jobs": [],
"projectOrganizes": []
}
]
}删除应用角色
删除应用角色
请求
http
POST /api/v1/open/app/deleteRole参数
| 参数 | 必选 | 类型 | 说明 |
|---|---|---|---|
| appKey | 是 | string | AppKey |
| sign | 是 | string | 签名 |
| roleId | 是 | string | 角色Id |
| operatorId | 是 | string | 操作者的账号Id |
添加应用角色成员
添加应用角色成员信息
请求
http
POST /api/v1/open/app/addRoleMembers参数
| 参数 | 必选 | 类型 | 说明 |
|---|---|---|---|
| appKey | 是 | string | AppKey |
| sign | 是 | string | 签名 |
| roleId | 是 | string | 角色Id |
| operatorId | 是 | string | 当前登录用户的账号Id |
| userIds | 否 | list[string] | 账号Id合集 |
| departmentIds | 否 | list[string] | 部门Id合集 |
| departmentTreeIds | 否 | list[string] | 部门树Id合集 |
| jobIds | 否 | list[string] | 职位Id合集 |
| orgRoleIds | 否 | list[string] | 组织角色Id合集 |
移除应用角色成员
移出角色下成员
请求
http
POST /api/v1/open/app/removeRoleMembers参数
| 参数 | 必选 | 类型 | 说明 |
|---|---|---|---|
| appKey | 是 | string | AppKey |
| sign | 是 | string | 签名 |
| roleId | 是 | string | 角色Id |
| operatorId | 是 | string | 当前登录用户的账号Id |
| userIds | 否 | list[string] | 账号Id合集 |
| departmentIds | 否 | list[string] | 部门Id合集 |
| departmentTreeIds | 否 | list[string] | 部门树Id合集 |
| jobIds | 否 | list[string] | 职位Id合集 |
| orgRoleIds | 否 | list[string] | 组织角色Id合集 |
获取角色详情
获取角色详情
请求
http
GET /api/v1/open/app/getRoleDetail?appKey={appKey}&sign={sign}&roleId={roleId}响应示例
json
{
"success": true,
"error_code": 1,
"data": {
"roleId": "角色Id",
"name": "角色名称",
"roleType": "角色类型",
"description": "角色描述",
"hideAppForMembers": "是否对成员隐藏应用,true:隐藏,false:不隐藏",
"permissionWay": "分发所有应用项, 80:可查看、编辑、删除所有记录; 60:可查看所有记录,但只能编辑、删除自己拥有的记录; 30:可查看加入的,只能编辑、删除自己拥有的记录; 20:对所有记录只有查看权限; 0:分发有权限应用项",
"sheets": [
{
"sheetId": "工作表ID",
"sheetName": "工作表名称",
"canAdd": "是否可以添加记录",
"readLevel": "读取权限级别",
"editLevel": "编辑权限级别",
"removeLevel": "删除权限级别"
}
],
"generalAdd": "添加权限",
"gneralShare": "分享权限",
"generalImport": "导入权限",
"generalExport": "导出权限",
"generalDiscussion": "讨论权限",
"generalSystemPrinting": "系统打印权限",
"generalAttachmentDownload": "附件下载权限",
"generalLogging": "日志权限"
}
}筛选器
筛选器参数
| 参数 | 必填 | 类型 | 说明 |
|---|---|---|---|
| controlId | 是 | string | 字段ID |
| dataType | 是 | number | 控件类型编号,枚举值DataTypeEnum 请参考附录 |
| spliceType | 是 | number | 拼接方式,1:And 2:Or |
| filterType | 是 | number | 筛选类型,枚举值FilterTypeEnum 请参考附录 |
| values | 否 | list[string] | 根据筛选类型,传多个值,传特殊AccountID请参考附录 |
| value | 否 | string | 根据筛选类型,传单个值,传特殊AccountID请参考附录 |
| dateRange | 否 | number | 日期范围,枚举值DateRangeEnum 请参考附录 |
| dateRangeType | 否 | number | 日期范围类型,1:天 2:周 3:月 4:季 5:年 |
| minValue | 否 | string | 最小值 |
| maxValue | 否 | string | 最大值 |
| isAsc | 否 | boolean | 是否升序(false:降序) |
| isGroup | 否 | boolean | 当前筛选条件是否是筛选组,为true时需要传 groupFilters 参数,只支持一层筛选组 |
| groupFilters | 否 | list[object] | 筛选组列表,对象为筛选器对象 |
请求示例
json
{
"controlId": "ordernumber",
"dataType": 6,
"spliceType": 1,
"filterType": 13,
"value": "2"
}DataTypeEnum(控件类型枚举)
| 枚举值 | 控件类型 | 说明 |
|---|---|---|
| 2 | 文本 | 单行、多行 |
| 3 | 电话 | 手机 |
| 4 | 电话 | 座机 |
| 5 | 邮箱 | |
| 6 | 数值 | |
| 7 | 证件 | |
| 8 | 金额 | |
| 9 | 单选 | 平铺 |
| 10 | 多选 | |
| 11 | 单选 | 下拉 |
| 14 | 附件 | |
| 15 | 日期 | 日期: 年-月-日 |
| 16 | 日期 | 日期: 年-月-日 时:分 |
| 21 | 自由连接 | |
| 22 | 分段 | |
| 24 | 地区 | |
| 25 | 大写金额 | |
| 26 | 成员 | |
| 27 | 部门 | |
| 28 | 等级 | |
| 29 | 关联记录 | |
| 30 | 他表字段 | |
| 31 | 公式 | 计算结果为数字 |
| 32 | 文本组合 | |
| 33 | 自动编号 | |
| 34 | 子表 | |
| 35 | 级联选择 | |
| 36 | 检查框 | |
| 37 | 汇总 | |
| 38 | 公式 | 计算结果为日期 |
| 40 | 定位 | |
| 41 | 富文本 | |
| 42 | 签名 | |
| 45 | 嵌入 | |
| 46 | 时间 | |
| 47 | 条码 | |
| 48 | 组织角色 | |
| 49 | API查询 | |
| 50 | API查询 | |
| 51 | 查询记录 | |
| 10010 | 备注 |
FilterTypeEnum(筛选类型枚举)
| 枚举值 | 枚举字符 | 说明 |
|---|---|---|
| 0 | Default | |
| 1 | Like | 包含 |
| 2 | Eq | 是(等于) |
| 3 | Start | 开头为 |
| 4 | End | 结尾为 |
| 5 | NContain | 不包含 |
| 6 | Ne | 不是(不等于) |
| 7 | IsNull | 为空 |
| 8 | HasValue | 不为空 |
| 11 | Between | 在范围内 |
| 12 | NBetween | 不在范围内 |
| 13 | Gt | > |
| 14 | Gte | >= |
| 15 | Lt | < |
| 16 | Lte | <= |
| 17 | DateEnum | 日期是 |
| 18 | NDateEnum | 日期不是 |
| 21 | MySelf | 我拥有的 |
| 22 | UnRead | 未读 |
| 23 | Sub | 下属 |
| 24 | RCEq | 关联控件是 |
| 25 | RCNe | 关联控件不是 |
| 26 | ArrEq | 数组等于 |
| 27 | ArrNe | 数组不等于 |
| 31 | DateBetween | 在范围内 |
| 32 | DateNBetween | 不在范围内 |
| 33 | DateGt | > |
| 34 | DateGte | >= |
| 35 | DateLt | < |
| 36 | DateLte | <= |
| 41 | NormalUser | 常规用户 |
| 42 | PortalUser | 外部门户用户 |
DateRangeEnum(日期范围枚举)
| 枚举值 | 枚举字符 | 说明 |
|---|---|---|
| 0 | Default | |
| 1 | Today | 今天 |
| 2 | Yesterday | 昨天 |
| 3 | Tomorrow | 明天 |
| 4 | ThisWeek | 本周 |
| 5 | LastWeek | 上周 |
| 6 | NextWeek | 下周 |
| 7 | ThisMonth | 本月 |
| 8 | LastMonth | 上月 |
| 9 | NextMonth | 下月 |
| 10 | LastEnum | 上.. |
| 11 | NextEnum | 下.. |
| 12 | ThisQuarter | 本季度 |
| 13 | LastQuarter | 上季度 |
| 14 | NextQuarter | 下季度 |
| 15 | ThisYear | 本年 |
| 16 | LastYear | 去年 |
| 17 | NextYear | 明年 |
| 18 | Customize | 自定义 |
| 21 | Last7Day | 过去7天 |
| 22 | Last14Day | 过去14天 |
| 23 | Last30Day | 过去30天 |
| 31 | Next7Day | 未来7天 |
| 32 | Next14Day | 未来14天 |
| 33 | Next33Day | 未来33天 |
特殊AccountID
| ID | 说明 |
|---|---|
| user-self | 当前用户 |
| user-sub | 下属 |
| user-workflow | 工作流 |
| user-api | API |
选项集接口
新增选项集
新增选项集
请求
http
POST /api/v2/open/optionset/add参数
| 参数 | 必选 | 类型 | 说明 |
|---|---|---|---|
| name | 是 | string | 选项集名称 |
| options | 是 | 选项集对象数组 | 选项集对象数组 |
| colorful | 是 | bool | 是为彩色 |
| enableScore | 是 | bool | 是否开启赋分 |
| appKey | 是 | string | 应用key |
| sign | 是 | string | 应用签名 |
请求示例
json
{
"appKey": "68bc472367088c65",
"sign": "ODdiN2U2NGRjMjBjYTcyNjcyOWU3MGJkNWY0NzJhZWI0MzMyYzJmN2NmMzY4MmU4NzA0ZDYyYjBkNWY2NmExYg==",
"name": "选项集1",
"options": [
{
"value": "选项值,不允许重复",
"index": "选项排序值: 必须为整数,越小越靠前",
"isDeleted": "该选项是否已被删除",
"color": "颜色值: colorful为true时生效,参考值 #C0E6FC , #C3F2F2 , #00C345 , #FAD714 , #FF9300 , #F52222 , #EB2F96 , #7500EA , #2D46C4 , #484848 , #C9E6FC , #C3F2F2",
"score": "分值,enableScore为true时生效,允许小数和正负值"
}
],
"colorful": false,
"enableScore": false
}响应示例
json
{
"code": 1,
"msg": "string",
"data": true
}获取选项集
获取选项集列表
请求
http
POST /api/v2/open/optionset/get参数
| 参数 | 必选 | 类型 | 说明 |
|---|---|---|---|
| appKey | 是 | string | 应用key |
| sign | 是 | string | 应用签名 |
响应示例
json
{
"code": 1,
"msg": "string",
"data": [
{
"appId": "appId",
"projectId": "projectId",
"collectionId": "选项集ID",
"name": "选项集名称",
"accountId": "accountId",
"worksheetIds": ["worksheetId"],
"options": [
{
"key": "选项id",
"value": "选项值,不允许重复",
"index": "选项排序值: 必须为整数,越小越靠前",
"isDeleted": "该选项是否已被删除",
"color": "颜色值",
"score": "选项分值"
}
],
"colorful": true,
"enableScore": true
}
]
}编辑选项集
编辑选项集
请求
http
POST /api/v2/open/optionset/edit参数
| 参数 | 必选 | 类型 | 说明 |
|---|---|---|---|
| name | 是 | string | 选项集名称 |
| options | 是 | 选项集对象数组 | 选项集对象数组 |
| colorful | 是 | bool | 是为彩色 |
| enableScore | 是 | bool | 是否开启赋分 |
| appKey | 是 | string | 应用key |
| sign | 是 | string | 应用签名 |
请求示例
json
{
"appKey": "68bc472367088c65",
"sign": "ODdiN2U2NGRjMjBjYTcyNjcyOWU3MGJkNWY0NzJhZWI0MzMyYzJmN2NmMzY4MmU4NzA0ZDYyYjBkNWY2NmExYg==",
"options": [
{
"key": "需要编辑的选项id,如果为空则表示新增选项",
"value": "选项值,不允许重复",
"index": "选项排序值: 必须为整数,越小越靠前",
"isDeleted": "该选项是否已被删除",
"color": "颜色值: colorful为true时生效",
"score": "分值,enableScore为true时生效,允许小数和正负值"
}
],
"name": "test选项集01",
"colorful": true,
"enableScore": false
}删除选项集
删除选项集
请求
http
DELETE /api/v2/open/optionset/delete?appKey={appKey}&sign={sign}参数
| 参数 | 必选 | 类型 | 说明 |
|---|---|---|---|
| appKey | 是 | string | 应用key |
| sign | 是 | string | 签名 |
地区信息
获取地区信息
接口地址:/wwwapi/FixedData/getCitysByParentID
提交方式:POST
提交参数:
json
{
"parentId": "国家or省份or城市id",
"keywords": ""
}返回示例:
json
{
"state": 1,
"data": {
"citys": [
{
"id": 130100,
"name": "石家庄市",
"path": "河北省/石家庄市",
"last": false
},
{
"id": 130200,
"name": "唐山市",
"path": "河北省/唐山市",
"last": false
}
],
"values": {
"displayText": "河北省",
"selectValue": 130000
}
}
}错误码说明
| 错误码 | 说明 |
|---|---|
| 0 | 失败 |
| 1 | 成功 |
| 51 | 请求限流 |
| 10000 | 拒绝访问ip 受限 |
| 10001 | 参数错误 |
| 10002 | 参数值错误 |
| 10005 | 数据操作无权限 |
| 10006 | 数据已存在 |
| 10007 | 数据不存在或已经删除 |
| 10101 | 令牌不存在 |
| 10102 | 签名不合法 |
| 10105 | 用户访问令牌失效 |
| 10106 | 用户访问组织令牌受限 |
| 100005 | 字段值重复 |
| 100006 | 选项数量已达上限 |
| 100007 | 附件数量已达上限 |
| 430013 | 应用未找到工作表 |
| 430014 | 工作表字段权限不足 |
| 430017 | 应用附件上传量不足 |
| 430018 | 草稿箱记录数量已达上限 |
| 430019 | 必填字段值为空 |
| 430020 | 子表数据错误 |
| 430021 | 数据不满足业务规则 |
| 430022 | 工作表不存在 |
| 90000 | 请求次数超出限制 |
| 99999 | 数据操作异常 |
注意事项
- 认证方式: 所有请求都需要在请求头或URL参数中包含
appKey和sign进行签名认证 - 接口路径: V2版本使用
/api/v1/或/api/v2/作为接口前缀 - 字段值格式:
- 附件类型字段:需要按照附件格式提交
- 关联记录类型:多条记录rowId用逗号(,)分割
- 日期类型:格式为
年-月-日或年-月-日 时:分
- 工作流触发: 默认情况下,创建、更新、删除记录会触发工作流,可通过
triggerWorkflow参数控制 - 分页查询: 列表查询接口支持分页,
pageSize最大为 1000,pageIndex从 1 开始 - 筛选器: 筛选器支持一层筛选组,通过
isGroup和groupFilters参数实现
维护负责人:技术部
最后更新:2025-01-19
文档来源:明道云(HAP)应用开放接口文档 V2