POST高危 保存特价申请(可同时提交审批)
POST 新建或保存草稿(传 id 为更新,仅草稿/已驳回可改)。body 为 JSON 对象:必填 customerId(客户ID)、reason(申请理由)、lines(物料明细数组,至少一行,每行必填 qty 数量>0、requestedPrice 申请特价>0,应填写 productId 商品ID、skuId 规格ID(后端不强制校验,但应按所选物料填写);可选 normalPrice 常规价、listPrice 目录价、unitId/unitName 单位、materialCode/productName/spec/model 及组合字段);可选 id、contactName(联系人)、sourceQuotationId(来源报价单ID,须同客户)、urgency(NORMAL 普通 / URGENT 加急 / EXTRA 特急)、attachments(附件数组,每项 fileId)、submit(true 保存后直接提交审批)。返回特价申请ID。调用前请与用户确认。
| 接口编码 | 所需范围 | 后端接口 |
|---|---|---|
sales.special-price-application.save | sales:write | POST /v1/special-price-application/save(comap-sales) |
⚠️ 高危接口:删除或状态变更类操作,MCP 调用须先向用户复述并获同意后携 confirm: true。
必填字段
| 字段 | 依据 |
|---|---|
customerId | 参数说明、接口规格 |
reason | 参数说明 |
lines | 参数说明 |
lines[].qty | 参数说明 |
lines[].requestedPrice | 参数说明 |
lines[].skuId | 参数说明 |
条件必填(如「某状态时必填」)不在此表,以上方参数说明为准。 判定规则见必填字段的判定。
请求体字段(body)
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
id | integer(int64) | — | 主键,更新草稿时传 |
customerId | integer(int64) | 是 | 客户ID |
contactName | string | — | 联系人姓名 |
sourceQuotationId | integer(int64) | — | 来源报价单ID |
urgency | string | — | {@link com.comap.sales.web.enums.SpecialPriceUrgencyEnum#getCode()} |
reason | string | — | 原因 |
submit | boolean | — | 为 true 时保存后直接提交审批(新建或更新草稿后提交) |
lines21 | SpecialPriceApplicationLineSaveDTO[] | — | 特价明细行;每行使用 unitId + unitName 与表 t_special_price_application_line 的 unit_id、unit_name 对应,参见 SpecialPriceApplicationLineSaveDTO 字段说明。 |
attachments1 | SpecialPriceApplicationAttachmentSaveDTO[] | — | 附件列表 |
「必填」仅反映接口规格声明的部分。服务内还有未体现在规格里的校验, 标「—」不等于可以不传;租户在主站配置的字段必填不约束本接口。 详见必填字段的判定与字段清单与自定义字段。
请求示例
curl -X POST https://open.risemap.cn/v1/api/invoke \
-H "Authorization: Bearer <访问令牌>" \
-H "Content-Type: application/json" \
-d '{
"apiCode": "sales.special-price-application.save",
"body": {
"id": "1961000000000000001",
"customerId": "1961000000000000001"
}
}'
错误处理
响应统一信封 { code, message, data },code == 200 为成功。以下是本接口可能返回的开放平台层错误:
| 错误码 | 说明 | 可重试 |
|---|---|---|
| 92101 | 访问凭证无效 | 否 |
| 92201 | 接口未登记或已停用 | 否 |
| 92202 | 超出凭证授权范围——本接口需 sales:write | 否 |
| 92204 | 绑定员工无此接口的功能权限 | 否 |
| 92203 | 上游服务调用失败 | 先查询处理结果,禁止盲目重试 |
| 92301 | 请求过于频繁 | 是 |
| 92205 | 写操作处理超时,结果未知(下游可能仍在执行) | 否,先查询确认结果 |
| 92302 | 有参数相同的写请求正在处理中 | 等待并确认前一次结果,勿重复提交 |
除此之外,comap-sales 自身的业务校验失败会原样透传其业务码与提示
(如字段校验、状态不允许、数据不存在),这类码不在开放平台的号段内,
以响应里的 message 为准。完整的平台层错误码见错误码说明。