POST 保存客户价格表草稿版本
POST 保存(仅草稿/已驳回等可编辑状态)。body 为 JSON 对象:必填 versionId(版本ID)、rowVersion(并发令牌,取自版本详情);可选 taxIncluded(是否含税)、validFrom、validTo(yyyy-MM-dd)、itemChanges(价格变更数组,每项 mappingId 必填、skuId 规格ID、price 单价:>=0 且最多4位小数,传 null 表示清空为未定价;未传入的行保持原值)。
| 接口编码 | 所需范围 | 后端接口 |
|---|---|---|
sales.customer-price-list.version.save | sales:write | POST /v1/customer-price-list/version/save(comap-sales) |
必填字段
| 字段 | 依据 |
|---|---|
versionId | 参数说明 |
rowVersion | 参数说明 |
itemChanges[].mappingId | 参数说明 |
条件必填(如「某状态时必填」)不在此表,以上方参数说明为准。 判定规则见必填字段的判定。
请求体字段(body)
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
versionId | integer(int64) | — | 价格版本ID |
rowVersion | integer(int32) | — | 并发令牌 rowVersion,与详情接口返回值一致 |
taxIncluded | boolean | — | 税制:true含税价 false未税价 |
validFrom | string | — | 生效日期 yyyy-MM-dd |
validTo | string | — | 失效日期 yyyy-MM-dd |
itemChanges3 | PriceItemChange[] | — | 价格变更集合;未传入的行保持原值 |
「必填」仅反映接口规格声明的部分。服务内还有未体现在规格里的校验, 标「—」不等于可以不传;租户在主站配置的字段必填不约束本接口。 详见必填字段的判定与字段清单与自定义字段。
请求示例
curl -X POST https://open.risemap.cn/v1/api/invoke \
-H "Authorization: Bearer <访问令牌>" \
-H "Content-Type: application/json" \
-d '{
"apiCode": "sales.customer-price-list.version.save",
"body": {}
}'
响应 data 字段
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
priceListId | integer(int64) | — | 逻辑价格表ID |
versionId | integer(int64) | — | 价格版本ID |
revisionNo | integer(int32) | — | 业务版本号 Vn |
rowVersion | integer(int32) | — | 操作后的最新并发令牌 rowVersion |
status | string | — | 操作后的状态 |
flowInstanceCode | string | — | 工作流实例编号(提交审批时返回) |
错误处理
响应统一信封 { code, message, data },code == 200 为成功。以下是本接口可能返回的开放平台层错误:
| 错误码 | 说明 | 可重试 |
|---|---|---|
| 92101 | 访问凭证无效 | 否 |
| 92201 | 接口未登记或已停用 | 否 |
| 92202 | 超出凭证授权范围——本接口需 sales:write | 否 |
| 92204 | 绑定员工无此接口的功能权限 | 否 |
| 92203 | 上游服务调用失败 | 先查询处理结果,禁止盲目重试 |
| 92301 | 请求过于频繁 | 是 |
| 92205 | 写操作处理超时,结果未知(下游可能仍在执行) | 否,先查询确认结果 |
| 92302 | 有参数相同的写请求正在处理中 | 等待并确认前一次结果,勿重复提交 |
除此之外,comap-sales 自身的业务校验失败会原样透传其业务码与提示
(如字段校验、状态不允许、数据不存在),这类码不在开放平台的号段内,
以响应里的 message 为准。完整的平台层错误码见错误码说明。