本指南介绍如何通过 API 向已有陈列知识库添加商品图片、查询记录,以及修改和删除指定图片。
陈列检测知识库内容管理为客户提供商品参考图片的批量新增、查询、修改和删除能力。客户通过 RagId 管理已有知识库,使用平台返回的 RecordId 精确维护单条图片记录,支持同一商品多张参考图,便于在自建业务系统中持续更新商品资料。
控制台入口:智能巡检
一、接口说明
1. 产品简介
本组 API 用于管理已有陈列商品知识库中的图片记录。一个商品可上传多张不同角度的参考图,每张图片为一条独立记录。客户无需生成额外的 primary_key,平台在新增和查询结果中返回 RecordId,用于后续修改、删除。
2. 适用场景
商品资料批量导入:将商品名称、编号和参考图批量导入已有知识库。
商品图片日常维护:更换包装图、补充多角度参考图、删除过期图片。
自建系统对接:在客户业务系统展示图片和入库状态,通过记录 ID 精确维护。
3. 功能介绍
功能 | API 名称 | 单次限制 |
批量新增 |
| 最多 500 条记录 |
分页查询 |
| 默认每页 20 条,最多 100 条 |
批量修改 |
| 最多 500 条记录 |
批量删除 |
| 最多 500 个记录 ID |
四个接口均使用 HTTPS、POST,版本为 2026-04-28,认证方式为 AccessKey。调用域名和地域使用实际开通服务提供的配置,推荐在服务端通过正式 SDK/OpenAPI 调用工具完成签名和参数序列化。
四个接口均同步返回。 新增、修改结果中的逐条成功表示“是否受理”,不代表后续图片处理已全部完成;请通过查询接口查看记录状态。响应中的 TaskId 在同步接口中为空,无需通过任务 ID 轮询。
4. 标识与调用流程
标识 | 用途 |
| 已有知识库 ID,定位本次操作的知识库 |
| 商品业务编号;新增时为空则由平台生成,建议客户保存返回值 |
| 平台生成的单条图片记录 ID,用于修改、删除 |
同一商品多图可使用相同 SKU ID、名称;按 SkuId 查询获取所有匹配记录,再选择对应 RecordId 维护。建议客户为每个商品维护稳定的 SKU ID,不同商品尽量区分编号。

二、流控信息与授权信息
流控信息:接口页面未提供具体 QPS 阈值,按服务实际流控执行。单次批量条数与查询页大小见上表。
授权信息:调用身份须具有相应 API 及目标知识库的访问权限。使用 RAM 子账号时,由管理员按实际开通的权限策略授予新增、查询、修改、删除权限。
凭证使用:AccessKey 仅在客户服务端使用,不放在浏览器或移动客户端中。
三、请求参数
以下为对外业务参数,字段区分大小写。业务参数在接口模型中配置为 Query,数组和对象应通过 SDK/OpenAPI 调用工具序列化;下列 JSON 用于展示参数结构,不代表原始 HTTP 请求体,公共签名参数未展开。
CSV 中的 sku_id、sku_name、sku_image_url,分别对应 API 的 SkuId、SkuName、ImageUrl。
1. AddDisplayKnowledge:新增记录
参数 | 类型 | 要求/说明 |
| string | 必填,已有知识库 ID |
| 对象数组 | 必填,待新增记录,最多 500 条 |
新增 Records 数组中每条记录的字段
字段路径 | 类型 | 说明 |
| string | SKU ID;为空时由平台生成 |
| string | 商品名称 |
| string | 商品图片 HTTP(S) URL |
请为每张图片提供商品名称和有效图片地址。新增多角度参考图时,在 Records 中分别填写。
业务参数示例:
{
"RagId": "your-rag-id",
"Records": [
{
"SkuId": "SKU-001",
"SkuName": "示例商品",
"ImageUrl": "https://example.com/front.jpg"
},
{
"SkuId": "SKU-001",
"SkuName": "示例商品",
"ImageUrl": "https://example.com/back.jpg"
}
]
}两个图片地址为占位示例,需替换成实际可下载的图片地址。
2. QueryDisplayKnowledge:查询内容
参数 | 类型 | 说明 |
| string | 必填,知识库 ID |
| string | 选填,按 SKU ID 精确匹配 |
| string | 选填,按 SKU 名称关键字查询 |
| 字符串数组 | 选填,记录状态筛选,支持下表中的四个值 |
| int32 | 选填,默认 1 |
| int32 | 选填,默认 20,最大 100 |
按商品编号查询:
{
"RagId": "your-rag-id",
"SkuId": "SKU-001",
"PageNum": 1,
"PageSize": 100
}不填 SkuId、SkuName、Statuses 时,按分页读取库内内容。同一编号匹配多张图时,逐条读取返回记录;根据 TotalPage 继续请求后续页,不只取第一条。
只查询失败记录:
{
"RagId": "your-rag-id",
"Statuses": ["FAILED"],
"PageNum": 1,
"PageSize": 100
}3. UpdateDisplayKnowledge:修改记录
先通过新增结果或查询结果取得要修改的 RecordId,再提交修改内容。
参数 | 类型 | 要求/说明 |
| string | 必填,记录所在知识库 ID |
| 对象数组 | 必填,待修改记录,最多 500 条 |
修改 Records 数组中每条记录的字段
字段路径 | 类型 | 说明 |
| int64 | 指定要修改的记录 ID |
| string | 非空时覆盖原 SKU ID |
| string | 商品名称 |
| string | 商品图片 HTTP(S) URL |
建议带上该记录当前需要保留的名称和图片地址,再替换要修改的字段。SkuId 的明确规则是“非空时覆盖原值”,不能将省略或空值理解为清空原编号。
业务参数示例:
{
"RagId": "your-rag-id",
"Records": [
{
"RecordId": 10001,
"SkuId": "SKU-001",
"SkuName": "示例商品",
"ImageUrl": "https://example.com/front-new.jpg"
}
]
}10001 为记录 ID 示例,需替换成平台实际返回的 ID。修改按 RecordId 定位,不会因为其他图片的 SkuId 相同就自动修改整组。
4. DeleteDisplayKnowledge:删除记录
参数 | 类型 | 要求/说明 |
| string | 必填,知识库 ID |
| 整数数组(元素为 int64) | 必填,待删除记录 ID,最多 500 条 |
业务参数示例:
{
"RagId": "your-rag-id",
"RecordIds": [10001, 10002]
}仅删除明确指定的记录。如果要删除某商品的所有参考图,应先按 SkuId 查询并读完全部分页,核对记录后,再将相应 RecordId 分批提交。
请求说明
新增、修改时为每张图片提供名称和有效 HTTP(S) 地址。新增 SKU ID 为空时平台生成;修改 SKU ID 非空时覆盖原值,省略或空值不能视为清空编号。
修改、删除按
RecordId定位,不按相同 SKU ID 自动操作整组图片。更换多张图时分别传入各自记录 ID,增加或减少图片分别使用新增、删除接口。这组接口未定义按 SKU ID 原子替换整个图片集合,也未定义客户端幂等请求参数,不能假设多次调用自动合并、回滚或去重。
图片 URL 为临时地址时,须保证平台下载期间仍然有效。
RecordId为 int64,接入端应使用能够保留大整数精度的 SDK 或解析方式。
四、响应参数
1. 顶层字段
字段 | 类型 | 含义说明 |
| Object | 业务结果对象,字段直接位于其下,不额外嵌套 |
| String | 平台请求 ID,用于链路排查 |
| String | 调用错误码/状态码,以实际返回为准 |
| String | 返回信息或调用失败说明 |
| Boolean | 是否调用成功 |
2. Data 公共字段
字段路径 | 类型 | 含义说明 |
| 映射(键为 String,值为 int64) | 用量信息;免费接口为空,不能单凭空值判断计费规则 |
| String | 同步接口为空,不作为状态查询凭证 |
| Boolean | 业务处理是否成功 |
| String | 业务错误码 |
| String | 业务错误信息 |
| String | 知识库 ID |
| String | 知识库当前状态,与单条记录状态分别返回 |
3. 新增、修改的业务结果
字段路径 | 类型 | 含义说明 |
| int32 | 受理条数 |
| int32 | 失败条数 |
| 对象数组 | 逐条处理结果 |
Data.Results 数组中每条结果的字段
字段路径 | 类型 | 含义说明 |
| int32 | 原请求数组下标 |
| Boolean | 该条是否受理 |
| int64 | 平台记录 ID |
| String | 生效的 SKU ID |
| String | 记录状态 |
| String | 单条失败错误码 |
| String | 单条失败原因 |
4. 删除的业务结果
除 AcceptedCount、FailedCount 和 Results 外,额外返回 Data.RemainingCount(int32),表示删除后可见记录数。
Results 字段结构与新增、修改相同,但 Results[ ].Success 表示是否删除;SkuId 和 Status 为空。删除时通过 RecordId、Success 及错误信息判断结果。
5. 查询的业务结果
字段路径 | 类型 | 含义说明 |
| int32 | 总记录数 |
| int32 | 当前页码 |
| int32 | 每页条数 |
| int32 | 总页数 |
| 对象数组 | 当前页记录 |
Data.Records 数组中每条记录的字段
字段路径 | 类型 | 含义说明 |
| int64 | 图片记录 ID |
| String | SKU ID |
| String | SKU 名称 |
| String | 记录状态 |
| String | 失败原因编码,仅 |
| String | 失败原因描述,仅 |
| String | 平台转存图片的 24 小时签名链接 |
| String | 签名链接过期时间 |
| String | 最后修改时间 |
6. 状态与成功判断
记录状态枚举为 UPDATING、EMBEDDED、GENERATED、FAILED。请保留实际返回值,勿用历史方案的状态值替换。FAILED 时结合失败编码及说明处理;需要了解知识库检测可用性时,同时查看 KnowledgeBaseStatus。
判断顺序:顶层 Success/Code → Data.Success/业务错误 → 写操作 Results 的逐条结果。新增、修改中的受理成功不代表向量化已经完成,后续通过查询接口读取记录状态。
五、响应示例
以下示例用于说明响应结构,ID、时间、状态、错误文案及状态码取值为示例,不表示实际调用结果。成功状态码及具体业务错误码以服务实际返回为准。
1. 新增/修改:记录已受理
{
"RequestId": "request-example",
"Code": "success",
"Success": true,
"Message": "Success",
"Data": {
"UsageMap": {},
"TaskId": "",
"Success": true,
"ErrorCode": "",
"ErrorMessage": "",
"RagId": "your-rag-id",
"KnowledgeBaseStatus": "UPDATING",
"AcceptedCount": 1,
"FailedCount": 0,
"Results": [
{
"Index": 0,
"Success": true,
"RecordId": 10001,
"SkuId": "SKU-001",
"Status": "UPDATING",
"ErrorCode": "",
"ErrorMessage": ""
}
]
}
}2. 查询:返回同一 SKU 的两张图片
{
"RequestId": "request-example",
"Code": "success",
"Success": true,
"Message": "Success",
"Data": {
"UsageMap": {},
"TaskId": "",
"Success": true,
"ErrorCode": "",
"ErrorMessage": "",
"RagId": "your-rag-id",
"Total": 2,
"PageNum": 1,
"PageSize": 20,
"TotalPage": 1,
"Records": [
{
"RecordId": 10001,
"SkuId": "SKU-001",
"SkuName": "示例商品",
"Status": "UPDATING",
"ImageUrl": "https://example.com/front.jpg?signature=example",
"ImageUrlExpireTime": "2026-10-20T10:00:00+08:00",
"GmtModified": "2026-10-19T10:00:00+08:00"
},
{
"RecordId": 10002,
"SkuId": "SKU-001",
"SkuName": "示例商品",
"Status": "UPDATING",
"ImageUrl": "https://example.com/back.jpg?signature=example",
"ImageUrlExpireTime": "2026-10-20T10:00:00+08:00",
"GmtModified": "2026-10-19T10:00:00+08:00"
}
]
}
}3. 删除:返回删除结果
{
"RequestId": "request-example",
"Code": "success",
"Success": true,
"Message": "Success",
"Data": {
"UsageMap": {},
"TaskId": "",
"Success": true,
"ErrorCode": "",
"ErrorMessage": "",
"RagId": "your-rag-id",
"KnowledgeBaseStatus": "UPDATING",
"AcceptedCount": 1,
"FailedCount": 0,
"RemainingCount": 1,
"Results": [
{
"Index": 0,
"Success": true,
"RecordId": 10001,
"SkuId": "",
"Status": "",
"ErrorCode": "",
"ErrorMessage": ""
}
]
}
}六、错误码
调用错误查看 Code、Message;业务错误查看 Data.ErrorCode、Data.ErrorMessage;单条操作错误查看 Results[ ].ErrorCode、ErrorMessage;入库失败查看查询记录的 FailureReason、FailureMessage。具体错误码以 Aidge 平台统一错误码及实际响应为准。
场景 | 建议处理 |
部分条目失败 | 根据 |
新增请求超时 | 先查询核对是否已创建记录,再决定后续操作,不默认重复提交会自动去重 |
图片处理失败 | 修复源图片或下载地址,使用已有 |
签名链接过期 | 重新查询获取新链接,无需重新上传 |
修改/删除目标不明确 | 先按 SKU ID 查询并读完分页,核对每条记录后选择 RecordId |
大批量维护 | 写操作每批不超过 500 条;查询每页不超过 100 条,逐批核对结果 |
Embedding 模型升级中 | 升级期间知识库暂不支持新增、修改、删除,请暂停写入,待升级完成后重试 |
七、计费方式
本组内容管理接口的具体价格按服务实际开通配置或商务约定执行。陈列检测识别接口的单次检测价格不直接适用于知识库内容管理接口。
八、变更历史
变更时间 | 变更内容概要 |
2026-10-19 | 新增陈列知识库内容管理 API 使用指南,覆盖新增、查询、修改、删除;按实际接口定义说明同步返回、RecordId 定位和分页查询 |