跳到主要内容

POST高危 编辑并提交框架协议审批

POST 全量编辑后立即发起审批流(仅草稿/已驳回/已过期)。必填 id(协议ID);其余body 为 JSON 对象。必填:customerId(客户ID)、validFrom(生效日期 yyyy-MM-dd)、validTo(到期日期 yyyy-MM-dd,noEndDate=1 时可不传,且不得早于 validFrom)、items(协议物料明细数组,至少 1 行;每行必填 skuId(SKU ID)、agreementPrice(协议单价))。可选:customerName(客户名称)、contact(联系人)、noEndDate(是否长期有效:0否,1是)、remark(备注);items 行可选 productId、materialCode、productName、specification、model、unitId、unitName、priceGroupName、listPrice(目录价)、discountRate(折扣率%)、annualQty(年度预计用量,默认1)。物料可先通过 material/page 或 material/resolve 获取。调用前请与用户确认。

接口编码所需范围后端接口
sales.framework-agreement.update-and-submitsales:writePOST /v1/sales/framework-agreement/update-and-submit(comap-sales)

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

必填字段

字段依据
id参数说明、接口规格
customerId参数说明
validFrom参数说明
validTo参数说明
items参数说明
items[].skuId参数说明
items[].agreementPrice参数说明

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

请求体字段(body)

字段类型必填说明
idinteger(int64)是协议ID
customerIdinteger(int64)—客户ID
customerNamestring—客户名称
contactstring—联系人
validFromstring—生效日期 yyyy-MM-dd
validTostring—到期日期 yyyy-MM-dd
noEndDateinteger(int32)—是否长期有效:0否,1是
remarkstring—备注
items13FrameworkAgreementItemDTO[]—协议物料明细(全量替换)

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

请求示例

curl -X POST https://open.risemap.cn/v1/api/invoke \
-H "Authorization: Bearer <访问令牌>" \
-H "Content-Type: application/json" \
-d '{
"apiCode": "sales.framework-agreement.update-and-submit",
"body": {
"id": "1961000000000000001"
}
}'

错误处理​

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

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

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

← 返回framework-agreement