POST 添加单个 BOM 节点
参数位置:query 包含 bomId(必填);body 按请求体字段表单独传入。POST 写操作。body 为 JSON 对象。
| 接口编码 | 所需范围 | 后端接口 |
|---|---|---|
srm.bom.structure.add-node | srm:write | POST /v1/bom/structure/add-node(comap-srm) |
必填字段
| 字段 | 依据 |
|---|---|
bomId | 参数说明、接口规格 |
nodeType | 接口规格 |
条件必填(如「某状态时必填」)不在此表,以上方参数说明为准。 判定规则见必填字段的判定。
请求参数(query)
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
bomId | integer(int64) | 是 | — |
「必填」仅反映接口规格声明的部分。服务内还有未体现在规格里的校验, 标「—」不等于可以不传;租户在主站配置的字段必填不约束本接口。 详见必填字段的判定与字段清单与自定义字段。
请求体字段(body)
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
id | integer(int64) | — | 节点 ID (新增节点不传) |
parentId | integer(int64) | — | 父节点 ID (根节点 NULL) |
productId | integer(int64) | — | 关联商品 ID (物料节点必填, t_product.id) |
skuId | integer(int64) | — | 关联 SKU ID (可选, t_product_sku.id) |
code | string | — | 物料/组件编码 (从商品库自动快照, 可不传) |
name | string | — | 节点名称 (分组/装配可手动, 物料从商品库自动快照) |
mainPicUrl | string | — | 物料主图 URL 或存储键(非持久化) |
spec | string | — | 规格快照 |
refDesignator | string | — | 位号 (元器件位置标识, 保留原始文本, 如 R1,R2 或 C1-C4) |
unit | string | — | 单位 (从商品库自动快照) |
unitId | integer(int64) | — | 单位 ID(用户选择的使用单位,主单位/辅助单位) |
unitName | string | — | 单位名称(冗余快照) |
qty | number | — | 单机用量 |
unitCost | number | — | 单价 (允许覆盖商品库价格) |
nodeType | integer(int32) | 是 | 节点类型: 0=root, 1=group, 2=assembly, 3=material, 4=configGroup(配置组) |
boundCategoryId | integer(int64) | — | 配置组绑定的物料分类ID (仅 nodeType=4, t_product_category.id) |
boundCategoryName | string | — | 配置组绑定的物料分类名称 (仅 nodeType=4) |
minSelect | integer(int32) | — | 配置组最少选择数量 (仅 nodeType=4) |
maxSelect | integer(int32) | — | 配置组最多选择数量 (仅 nodeType=4) |
sourceType | integer(int32) | — | 来源方式: 0=采购件, 1=自制件, 2=外协件, 3=虚拟件, 4=服务项, 5=文档附件类 |
lossRate | number | — | 损耗率 |
fixedLoss | number | — | 固定损耗量 |
sortOrder | integer(int32) | — | 排序号 |
isKeyPart | integer(int32) | — | 是否关键件: 0=否, 1=是 |
isRequired | integer(int32) | — | 是否必选件: 0=否, 1=是 |
drawingId | integer(int64) | — | 关联图纸档案ID |
drawingNo | string | — | 图号 |
drawingVersion | string | — | 图纸版本 |
defaultSupplier | string | — | 默认供应商 |
leadTime | integer(int32) | — | 交货周期(天) |
remark | string | — | 备注 |
children | BomStructureNodeDTO[] | — | 子节点列表 (递归) |
「必填」仅反映接口规格声明的部分。服务内还有未体现在规格里的校验, 标「—」不等于可以不传;租户在主站配置的字段必填不约束本接口。 详见必填字段的判定与字段清单与自定义字段。
请求示例
curl -X POST https://open.risemap.cn/v1/api/invoke \
-H "Authorization: Bearer <访问令牌>" \
-H "Content-Type: application/json" \
-d '{
"apiCode": "srm.bom.structure.add-node",
"query": {
"bomId": "1961000000000000001"
},
"body": {
"id": "1961000000000000001",
"nodeType": 0
}
}'
错误处理
响应统一信封 { code, message, data },code == 200 为成功。以下是本接口可能返回的开放平台层错误:
| 错误码 | 说明 | 可重试 |
|---|---|---|
| 92101 | 访问凭证无效 | 否 |
| 92201 | 接口未登记或已停用 | 否 |
| 92202 | 超出凭证授权范围——本接口需 srm:write | 否 |
| 92204 | 绑定员工无此接口的功能权限 | 否 |
| 92203 | 上游服务调用失败 | 先查询处理结果,禁止盲目重试 |
| 92301 | 请求过于频繁 | 是 |
| 92205 | 写操作处理超时,结果未知(下游可能仍在执行) | 否,先查询确认结果 |
| 92302 | 有参数相同的写请求正在处理中 | 等待并确认前一次结果,勿重复提交 |
除此之外,comap-srm 自身的业务校验失败会原样透传其业务码与提示
(如字段校验、状态不允许、数据不存在),这类码不在开放平台的号段内,
以响应里的 message 为准。完整的平台层错误码见错误码说明。
← 返回BOM