POST 新增收费项目
POST 新增服务收费项目。body 为 JSON:必填 feeName(名称)、feeType(费用类型,如 上门费/工时费/差旅费/备件费/远程支持费)、price(标准单价,>=0;pricingMode=面议 时可不传);可选 feeCode(留空由后端生成)、unitName、pricingMode(默认 固定)、taxIncluded、taxRate(0-100)、minCharge(>=0)、floatPct、costRef、invoiceable、warrantyFree、applicableTypes(适用工单类型名称数组)、autoSuggest、active、note、sortOrder。
| 接口编码 | 所需范围 | 后端接口 |
|---|---|---|
sales.service-order.config.fee-catalog.create | sales:write | POST /v1/service-orders/config/fee-catalog/create(comap-sales) |
必填字段
| 字段 | 依据 |
|---|---|
feeName | 参数说明、接口规格 |
feeType | 参数说明、接口规格 |
price | 参数说明 |
条件必填(如「某状态时必填」)不在此表,以上方参数说明为准。 判定规则见必填字段的判定。
请求体字段(body)
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
feeCode | string | — | 收费编码,留空落 null(不占唯一键),供财务对账 |
feeType | string | 是 | 费用类型,如 上门费/工时费/差旅费/备件费/远程支持费 |
feeName | string | 是 | 收费项目名称 |
unitName | string | — | 计价单位:次/小时/人·天/公里/项 |
pricingMode | string | — | 计价方式:固定/按工时/按里程/按数量/按比例/面议,默认 固定 |
price | number | — | 标准单价;计价方式为「面议」时留空,其余必填 |
taxIncluded | integer(int32) | — | 单价是否含税:0未税 1含税,默认 1 |
taxRate | number | — | 税率 %,0~100 |
minCharge | number | — | 最低收费/起步价,0=不设 |
floatPct | number | — | 允许浮动 ±%,0=不可改价 |
costRef | number | — | 成本参考,用于服务毛利测算 |
invoiceable | integer(int32) | — | 是否可开票:0否 1是,默认 1 |
warrantyFree | integer(int32) | — | 质保内是否免收:0仍收 1免收,默认 0 |
applicableTypes | string[] | — | 适用工单类型名称列表,空=全部适用;取值必须是工单类型字典里已有的名称 |
autoSuggest | integer(int32) | — | 开单时是否自动建议该项:0否 1是,默认 0 |
active | integer(int32) | — | 是否启用:0停用 1启用,默认 1 |
note | string | — | 计费规则说明,给开单人员看 |
sortOrder | integer(int32) | — | 排序,留空取当前最大值 + 10 |
「必填」仅反映接口规格声明的部分。服务内还有未体现在规格里的校验, 标「—」不等于可以不传;租户在主站配置的字段必填不约束本接口。 详见必填字段的判定与字段清单与自定义字段。
请求示例
curl -X POST https://open.risemap.cn/v1/api/invoke \
-H "Authorization: Bearer <访问令牌>" \
-H "Content-Type: application/json" \
-d '{
"apiCode": "sales.service-order.config.fee-catalog.create",
"body": {
"feeType": "string",
"feeName": "string"
}
}'
响应 data 字段
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
id | integer(int64) | — | 收费项目ID |
feeCode | string | — | 收费编码,供财务对账;未填时为 null |
feeType | string | — | 费用类型 |
feeName | string | — | 收费项目名称 |
unitName | string | — | 计价单位:次/小时/人·天/公里/项 |
pricingMode | string | — | 计价方式:固定/按工时/按里程/按数量/按比例/面议 |
price | number | — | 标准单价;计价方式为「面议」时为空 |
taxIncluded | integer(int32) | — | 单价是否含税:0未税 1含税 |
taxRate | number | — | 税率 % |
minCharge | number | — | 最低收费/起步价,0=不设 |
floatPct | number | — | 允许浮动 ±%,0=不可改价 |
costRef | number | — | 成本参考,用于服务毛利测算 |
invoiceable | integer(int32) | — | 是否可开票:0否 1是 |
warrantyFree | integer(int32) | — | 质保内是否免收:0仍收 1免收 |
applicableTypes | string | — | 适用工单类型,逗号分隔原串;空=全部适用 |
applicableTypeList | string[] | — | 适用工单类型拆好的列表;空=全部适用 |
autoSuggest | integer(int32) | — | 开单时是否自动建议该项:0否 1是 |
active | integer(int32) | — | 是否启用:0停用 1启用 |
note | string | — | 计费规则说明,给开单人员看 |
sortOrder | integer(int32) | — | 排序 |
createTime | string(date-time) | — | 创建时间 |
updateTime | string(date-time) | — | 更新时间 |
错误处理
响应统一信封 { code, message, data },code == 200 为成功。以下是本接口可能返回的开放平台层错误:
| 错误码 | 说明 | 可重试 |
|---|---|---|
| 92101 | 访问凭证无效 | 否 |
| 92201 | 接口未登记或已停用 | 否 |
| 92202 | 超出凭证授权范围——本接口需 sales:write | 否 |
| 92204 | 绑定员工无此接口的功能权限 | 否 |
| 92203 | 上游服务调用失败 | 先查询处理结果,禁止盲目重试 |
| 92301 | 请求过于频繁 | 是 |
| 92205 | 写操作处理超时,结果未知(下游可能仍在执行) | 否,先查询确认结果 |
| 92302 | 有参数相同的写请求正在处理中 | 等待并确认前一次结果,勿重复提交 |
除此之外,comap-sales 自身的业务校验失败会原样透传其业务码与提示
(如字段校验、状态不允许、数据不存在),这类码不在开放平台的号段内,
以响应里的 message 为准。完整的平台层错误码见错误码说明。
← 返回服务工单-服务配置