简体中文
知识条目列表(按条件查询)
约 1199 字大约 4 分钟
2026-09-14
描述
以标准对象查询方式分页查询知识条目:通过查询 DSL(search_query_info)对标题、所属文件夹、发布状态、更新时间等字段进行过滤、排序与返回字段投影。
本接口为平台标准对象查询接口,对象由 dataObjectApiName 指定,固定取值 ServiceKnowledgeObj。
请求说明
请求方式 :POST + application/json
请求路径 :https://${填入所在云的域名}/cgi/crm/v2/data/query?thirdTraceId=${随机字符串}
请求头填写 :参考公共参数填写
请求参数
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| returnTotalNum | Int | 否 | 列表总数类型:1 返回精确总数,2 返回预估总数,3 不返回总数(响应更快);不传时按平台默认配置返回,建议按需显式传值 |
| includeNull | Boolean | 否 | 是否包含 null 字段,false 不返回,true 返回,不传默认为 false |
| data | Map | 是 | 数据 |
| dataObjectApiName | String | 是 | 对象 apiName,固定值 ServiceKnowledgeObj |
| search_query_info | Map | 是 | 查询条件说明 |
| limit | Int | 是 | 分页条数(最大值为 100) |
| offset | Int | 否 | 偏移量,从 0 开始;不传默认为 0 |
| filters | List | 否 | 过滤条件列表 |
| field_name | String | 是 | 过滤字段的 apiName |
| field_values | List[String] | 是 | 字段值 |
| operator | String | 是 | 操作符,详见下方 operator 参数说明 |
| orders | List | 否 | 排序条件 |
| fieldName | String | 是 | 字段 apiName |
| isAsc | Boolean | 否 | 是否升序,不传默认 false(倒序) |
| fieldProjection | List[String] | 是 | 返回字段列表,取值为对象字段的 apiName |
operator 参数说明
可以直接使用对象列表页面中的查询条件,查看如何获取列表中的查询条件
| 参数 | 参数含义 | 说明 | 参数 | 参数含义 | 说明 |
|---|---|---|---|---|---|
| EQ | 等于 | N | 不等于 | 可以查出空值 | |
| GT | 大于 | GTE | 大于等于 | ||
| LT | 小于 | LTE | 小于等于 | ||
| LIKE | 包含 | NLIKE | 不包含 | ||
| IS | 为空 | ISN | 不为空 | ||
| IN | 属于 | NIN | 不属于 | ||
| BETWEEN | 介于 | NBETWEEN | 不介于 | ||
| STARTWITH | 开始于 | ENDWITH | 结束于 | ||
| HASANYOF | 有重叠元素 | NHASANYOF | 没有重叠 |
知识条目常用过滤示例
| 场景 | 过滤条件写法 |
|---|---|
| 查询指定文件夹下的条目 | field_name=category、operator=IN、field_values 传文件夹 code 列表 |
| 查询文件夹及其所有子文件夹 | 用可见知识文件夹列表以 hasChildren 为线索逐层展开收集子文件夹 code,连同父文件夹一并 IN 过滤(category 仅精确匹配文件夹本身,不自动含子文件夹) |
| 标题关键字搜索 | field_name=title、operator=LIKE、field_values 传关键字 |
| 仅查已发布条目 | field_name=public_status、operator=EQ、field_values=["1"],取值详见发布知识条目 |
| 按更新时间范围 | field_name=last_modified_time、operator=BETWEEN、field_values 传起止毫秒时间戳 |
请求示例
{
"returnTotalNum": 1,
"data": {
"dataObjectApiName": "ServiceKnowledgeObj",
"search_query_info": {
"offset": 0,
"limit": 20,
"orders": [
{ "fieldName": "last_modified_time", "isAsc": false }
],
"fieldProjection": ["_id", "title", "category", "summary", "public_status", "content_type", "last_modified_time"],
"filters": [
{ "field_name": "category", "operator": "IN", "field_values": ["16", "17"] },
{ "field_name": "public_status", "operator": "EQ", "field_values": ["1"] }
]
}
}
}返回参数
| 参数 | 类型 | 说明 |
|---|---|---|
| traceId | string | 请求唯一ID |
| errorDescription | string | 错误描述 |
| errorMessage | string | 错误信息 |
| errorCode | Int | 查看错误码 |
| data | Map | 返回数据 |
| total | Int | 符合条件的知识条目总数(returnTotalNum 传 1/2 时返回) |
| dataList | Array | 当前页知识条目列表,字段由 fieldProjection 决定 |
| dataList[]._id | String | 知识条目 ID |
| dataList[].title | String | 标题 |
| dataList[].category | String | 所属知识文件夹 code |
| dataList[].summary | String | 简介 |
| dataList[].public_status | String | 发布状态 |
| dataList[].content_type | String | 内容类型 |
| dataList[].last_modified_time | Long | 最近更新时间,毫秒时间戳 |
返回示例
{
"traceId": "E-O.fktest4234.1000-20260914105000-xxxxxx",
"errorDescription": "success",
"errorMessage": "OK",
"errorCode": 0,
"data": {
"total": 1,
"dataList": [
{
"_id": "68c1a0f0abcd0001",
"title": "设备安装说明",
"category": "16",
"summary": "设备安装标准步骤",
"public_status": "1",
"content_type": "rich_text",
"last_modified_time": 1757772000000
}
]
}
}注意事项
- 本接口直接暴露查询 DSL,过滤/排序/投影的字段名均为对象字段的 apiName,字段清单可通过参数填写说明获取对象描述查询。
category过滤仅精确匹配文件夹本身,不包含子文件夹;查询「文件夹及其子文件夹」需先展开子文件夹 code 再用IN过滤。- 排序需显式通过
orders指定(如按last_modified_time倒序),不传时不保证顺序。 - 仅返回当前用户权限范围内的未作废数据;已作废(回收站)数据默认不返回。
- 如果字段的值为空,则不返回这个字段(可通过
includeNull=true返回 null 字段)。 - 深分页请注意
offset与limit的组合使用,避免一次拉取过多数据。 - 不能使用返回值的message字段做逻辑判断,errorMessage会有变化;
