跳到主要内容

POST高危 BOM 展开发料计划(不落库)

POST 写操作。body 为 JSON 对象。

接口编码所需范围后端接口
subcontract.orders.expand-bomsubcontract:writePOST /v1/subcontract/orders/expand-bom(comap-srm)

⚠️ 高危接口:删除或状态变更类操作,MCP 调用须先向用户复述并获同意后携 confirm: true。

必填字段

字段依据
bomId接口规格

条件必填(如「某状态时必填」)不在此表,以上方参数说明为准。 判定规则见必填字段的判定。

请求体字段(body)

字段类型必填说明
bomIdinteger(int64)是BOM ID,必填
orderItemIdinteger(int64)—关联加工件行ID,新建时行还没ID可空
lineNointeger(int32)—行号,新建时用于标识加工件行
planQtynumber—加工数量,用于算标准应耗

「必填」仅反映接口规格声明的部分。服务内还有未体现在规格里的校验, 标「—」不等于可以不传;租户在主站配置的字段必填不约束本接口。 详见必填字段的判定与字段清单与自定义字段。

请求示例

curl -X POST https://open.risemap.cn/v1/api/invoke \
-H "Authorization: Bearer <访问令牌>" \
-H "Content-Type: application/json" \
-d '{
"apiCode": "subcontract.orders.expand-bom",
"body": {
"bomId": "1961000000000000001"
}
}'

响应 data 字段

字段类型必填说明
productIdinteger(int64)—物料ID
skuIdinteger(int64)—物料SKU ID(ADR-016 库存维度键,落库必填)
productCodestring—物料编码
productNamestring—物料名称
modelstring—型号
specstring—规格
unitNamestring—计量单位名称
perUnitQtynumber—单件用量(不含损耗,供前端展示「x/件」)
lossRatenumber—损耗率,小数(0.05 = 5%)
stdConsumeQtynumber—标准应耗 = 单件用量 × 加工数量 ×(1+损耗率),超耗判定基准
planIssueQtynumber—计划发料量,默认等于标准应耗,用户可改
materialUnitCostnumber—材料单位成本(库存均价,超耗索赔金额的计算基准)
bomIdinteger(int64)—来源BOM ID
orderItemIdinteger(int64)—关联加工件行ID,新建订单时为空
itemLineNointeger(int32)—关联加工件行号(从1开始),新建订单时用它代替 orderItemId

错误处理​

响应统一信封 { code, message, data },code == 200 为成功。以下是本接口可能返回的开放平台层错误:

错误码说明可重试
92101访问凭证无效否
92201接口未登记或已停用否
92202超出凭证授权范围——本接口需 subcontract:write否
92204绑定员工无此接口的功能权限否
92203上游服务调用失败先查询处理结果,禁止盲目重试
92301请求过于频繁是
92205写操作处理超时,结果未知(下游可能仍在执行)否,先查询确认结果
92302有参数相同的写请求正在处理中等待并确认前一次结果,勿重复提交

除此之外,comap-srm 自身的业务校验失败会原样透传其业务码与提示 (如字段校验、状态不允许、数据不存在),这类码不在开放平台的号段内, 以响应里的 message 为准。完整的平台层错误码见错误码说明。

← 返回委外订单