伙伴云OpenAPI
  1. 开发指南
伙伴云OpenAPI
  • 开发指南
    • 开发前必读
    • 申请 API Key
    • 基本概念介绍
    • 数据筛选器
    • 更新日志
  • 工作区
    • 获取工作区列表
      GET
    • 获取工作区成员列表
      POST
  • 表格数据
    • 获取表格列表
      POST
    • 获取表格配置
      POST
    • 查询数据列表
      POST
    • 获取数据详情
      POST
    • 创建数据
      POST
    • 更新数据
      PUT
    • 删除数据
      DELETE
    • 批量创建数据
      POST
    • 批量更新或创建数据
      PUT
    • 批量删除数据
      DELETE
  • 数据仓库数据
    • 获取数据仓库表格列表
      POST
    • 获取数据仓库表格配置
      POST
    • 查询数据列表
      POST
    • 获取数据详情
      POST
    • 批量创建数据
      POST
    • 批量更新数据
      PUT
    • 根据数据ID列表更新成相同数据
      PUT
    • 批量删除数据
      DELETE
  • 流程
    • 获取流程列表
    • 查询流程实例列表
    • 获取流程实例详情
    • 获取流程实例的执行记录
    • 查询流程任务列表
    • 获取流程任务详情
  • 文件
    • 批量获取文件详情
    • 上传文件
  • 订阅
    • 订阅事件概述
    • Encrypt Key 加解密
    • 订阅回调事件
    • 添加订阅
    • 取消订阅
    • 获取订阅列表
  • 服务商
    • 获取 access_token
    • 获取服务商的 api_key
    • 获取服务商信息
    • 设置订阅回调地址
    • 获取订阅回调地址
  • 数据模型
    • 通用模型
      • Space
        • 工作区
        • 封面
      • Table
        • Config
          • text 文本类型
          • date 日期类型
          • category 选项类型
          • user 用户类型
          • relation 关联类型
          • signature 签名类型
          • file 文件类型
          • location 位置类型
          • numeric 数字类型
        • 字段配置
        • 字段列表
        • 表格配置
        • 表格
        • 数据仓库表格配置
      • Item
        • Field
          • signature 签名
          • location 位置
          • file 文件
          • text 文本
          • numeric 数字
          • date 日期
          • category 选项
          • user 用户
          • relation 关联
        • 数据
        • 字段值
        • 字段提交
      • Filter
        • Query
          • Eqm
          • Eq
          • Ne
          • Gt
          • Gte
          • Lt
          • Lte
          • In
          • Ain
          • Nin
          • Inc
          • Em
        • Connector
          • And
          • Or
        • Filter
        • Query
        • Condition
        • Connector
      • Object
        • 用户
        • 备选项
        • 位置
        • 文件
        • 签名
      • Procedure
        • 流程
        • 流程实例
        • 流程执行记录
        • 流程任务
    • 业务模型
      • 订阅
      • 回调信息
      • 服务商信息
      • 企业信息
    • 异常报错
    • 全局返回
  1. 开发指南

数据筛选器

为了满足复杂的数据查询需求,伙伴云对查询数据的条件提炼出「筛选器」对象的概念。在伙伴云的接口中,「筛选器」对象被广泛地使用,包括数据查询、权限设定、关联数据等场景。

筛选器示例#

{
	"and": [
		{
			"field": "subject",
			"query": {
				"eq": "测试"
			}
		},
		{
			"or": [
				{
					"field": "category",
					"query": {
						"in": [1, 2, 3]
					}
				},
				{
					"field": "status",
					"query": {
						"em": true
					}
				}
			]
		}
	]
}

筛选器数据结构#

筛选器的数据结构是由多个「筛选项」按照「筛选逻辑」组合而成。
筛选项
对一个字段(field)的一个查询条件(query),叫做一个「筛选项」,一个简单的「筛选项」示例如下:
{
	"field": "name",
	"query": {
		"eq": "匹配的字符"
	}
}
参数类型说明
fieldString字段 ID 或别名,可以是表格普通字段也可以是数据的系统字段(如创建时间等)
queryObject筛选的查询条件,不同字段的条件结构不同,详见下文说明
筛选逻辑
筛选器可以通过「筛选逻辑」对象组合出满足各种场景的查询条件,一个简单的带「筛选逻辑」的筛选器如下所示:
{
	"and": [
		{
			"field": "subject",
			"query": {
				"eq": "测试"
			}
		},
		{
			"field": "category",
			"query": {
				"in": [1, 2, 3]
			}
		}
	]
}
目前「筛选逻辑」支持的逻辑关键字包括:and 和 or,关键字是由「筛选项」或「筛选逻辑」组成的集合,每个集合组合出的条件逻辑遵循关键字表达逻辑。
假设我们有以下的查询条件:
A AND (B OR C)
转换为筛选器后的数据结构如下:
{
	"and": [
		A,
		{
			"or": [
				B,
				C
			]
		}
	]
}

Query 语法#

表格中不同类型的字段所能使用的「筛选项」中的查询条件( query )是不同的。

关联字段/数据 ID 字段(item_id)#

关键字示例示例说明
eq"eq": ["2000"]匹配 item_id = 2000 的数据
ne"ne": ["2000"]匹配 item_id != 2000 的数据
in"in": ["2000", "2001"]匹配 item_id = 2000 或 item_id = 2001 的数据
nin"nin": ["2000", "2001"]匹配 item_id != 2000 且 item_id != 2001 的数据
em"em": true匹配值为空的数据(数据 ID 无效)

用户字段/签名字段/创建人(created_by)/修改人(updated_by)#

关键字示例示例说明
eq"eq": ["1000"]匹配 user_id = 1000 的数据
ne"ne": ["1000"]匹配 user_id = 1000 的数据
in"in": ["1000", "1001"]匹配 user_id = 1000 或 ID = 1001 的数据
nin"nin": ["1000", "1001"]匹配 user_id != 1000 且 ID != 1001 的数据
inc"inc": ["1000", "1001"]匹配多个 user_id 是 ["1000", "1001"] 子集的数据
em"em": true匹配值为空的数据(创建人/修改人无效)

日期字段/计算字段(返回日期类型)/创建时间(created_on)/修改时间(updated_on)#

关键字示例示例说明
eq"eq": "2021-05-11"匹配等于2021年05月11日的数据
ne"ne": "2021-05-11"匹配不等于2021年05月11日的数据
gt"gt": "2021-05-11"匹配大于2021年05月11日的数据
gte"gte": "2021-05-11"匹配大于等于2021年05月11日的数据
lt"lt": "2021-05-11"匹配小于2021年05月11日的数据
lte"lte": "2021-05-11"匹配小于等于2021年05月11日的数据
em"em" : true匹配值为空的数据(创建时间/修改时间无效)
时间字段支持动态日期范围标记
动态日期范围标记说明
today今天
yesterday昨天
tomorrow明天
last_week过去7天(不含今天)
last_month过去30天(不含今天)
next_week未来7天(不含今天)
next_month未来30天(不含今天)
this_whole_week本周
last_whole_week上周
next_whole_week下周
this_whole_month本月
last_whole_month上月
next_whole_month下月
this_quarter本季度
last_quarter上季度
next_quarter下季度
this_year今年
last_year去年
next_year明年

文本字段/位置字段#

关键字示例示例说明
eqm"eqm": ["匹配的文本1", "匹配的文本2"]匹配等于“匹配的文本1”或等于“匹配的文本2”的数据
eq"eq": "匹配的文本"匹配等于“匹配的文本”的数据
ne"ne": "匹配的文本"匹配不等于“匹配的文本”的数据
in"in": ["匹配的文本1", "匹配的文本2"]匹配包含“匹配的文本1”或“匹配的文本2”的文本的数据
nin"nin": ["匹配的文本1", "匹配的文本2"]匹配不包含“匹配的文本1”和“匹配的文本2”的文本的数据
ain"ain": ["匹配的文本1", "匹配的文本2"]匹配包含“匹配的文本1”和“匹配的文本2”的文本的数据
em"em": true匹配值为空的数据

数字字段/计算字段(返回数字类型)#

关键字示例示例说明
eq"eq": 20匹配等于 20 的数据
ne"ne": 20匹配不等于 20 的数据
gt"gt": 20匹配大于 20 的数据
gte"gte": 20匹配大于等于 20 的数据
lt"lt": 20匹配小于 20 的数据
lte"lte": 20匹配小于等于 20 的数据
em"em": true匹配值为空的数据

选项字段#

关键字示例示例说明
eq"eq": ["1"]匹配 备选项ID = 1 的数据
ne"ne": ["1"]匹配 备选项ID != 1 的数据
in"in": ["1", "2"]匹配 备选项ID = 1 或 备选项ID = 2 的数据
nin"nin": ["1", "2"]匹配 备选项ID != 1 且 备选项ID != 2 的数据
em"em": true匹配值为空的数据

图片字段/附件字段#

关键字示例示例说明
em"em": true匹配值为空的数据
修改于 2022-05-31 09:39:55
上一页
基本概念介绍
下一页
更新日志
Built with