GET 服务报价单详情
GET 查询服务报价单详情,含明细行 lines 与付款阶段 stages。query 参数:id(必填,报价单ID,不是工单ID)。
| 接口编码 | 所需范围 | 后端接口 |
|---|---|---|
sales.service-quotation.detail | sales:read | GET /v1/service-orders/quotation/detail(comap-sales) |
请求参数(query)
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
id | integer(int64) | 是 | — |
「必填」仅反映接口规格声明的部分。服务内还有未体现在规格里的校验, 标「—」不等于可以不传;租户在主站配置的字段必填不约束本接口。 详见必填字段的判定与字段清单与自定义字段。
请求示例
curl -X POST https://open.risemap.cn/v1/api/invoke \
-H "Authorization: Bearer <访问令牌>" \
-H "Content-Type: application/json" \
-d '{
"apiCode": "sales.service-quotation.detail",
"query": {
"id": "1961000000000000001"
}
}'
响应 data 字段
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
id | integer(int64) | — | 报价单ID |
quotationNo | string | — | 报价单号 |
orderId | integer(int64) | — | 所属工单ID |
orderNo | string | — | 所属工单编号 |
rootQuotationId | integer(int64) | — | 版本链根报价ID;首版为自身ID |
versionNo | integer(int32) | — | 版本号,同一版本链内从1递增 |
serviceCycleNo | integer(int32) | — | 所属服务周期号 |
changeReason | string | — | 本版变更原因 |
voidReason | string | — | 作废原因 |
customerName | string | — | 客户名称(快照) |
contactPerson | string | — | 联系人 |
contactPhone | string | — | 联系电话 |
serviceAddress | string | — | 服务地址 |
chargeReason | string | — | 收费原因(自定义文本) |
subtotal | number | — | 小计 = 各明细行金额之和 |
warrantyCovered | integer(int32) | — | 质保内全免:0否 1是;为 1 时合计为 0 |
discountPct | number | — | 折扣比例 % |
discountAmount | number | — | 折扣金额 |
totalAmount | number | — | 合计 = 小计 - 折扣金额;warrantyCovered=1 时为 0 |
validUntil | string(date-time) | — | 报价有效期 |
priceModel | string | — | 计价模型:fixed 固定价 / estimate 预估价 |
paymentMode | string | — | 付款方式:upfront 全款预付 / milestone 分阶段 |
paymentTemplateId | integer(int64) | — | 引用的付款条件模板ID |
paymentNote | string | — | 付款说明 |
status | string | — | 状态:草稿/已发送/客户已接受/执行中/已完成/客户已拒绝/已失效 |
sentAt | string(date-time) | — | 发送时间;撤回报价后清空 |
customerRespondedAt | string(date-time) | — | 客户响应时间 |
customerRespondedVia | string | — | 客户响应渠道 |
customerSignatureId | string | — | 客户签名 fileId(comap-file) |
rejectReason | string | — | 客户拒绝原因 |
convertedOrderId | integer(int64) | — | 转成的服务订单ID |
convertedSettlementId | integer(int64) | — | 转成的结算单ID |
note | string | — | 备注 |
createdBy | string | — | 创建人 |
createTime | string(date-time) | — | 创建时间 |
updateTime | string(date-time) | — | 更新时间 |
lineCount | integer(int32) | — | 明细行数 |
lines14 | ServiceQuotationLineVO[] | — | 明细行,按 sortOrder 升序 |
stages6 | ServiceQuotationStageVO[] | — | 付款阶段,按 stageNo 升序;非分阶段付款时为空集合 |
错误处理
响应统一信封 { code, message, data },code == 200 为成功。以下是本接口可能返回的开放平台层错误:
| 错误码 | 说明 | 可重试 |
|---|---|---|
| 92101 | 访问凭证无效 | 否 |
| 92201 | 接口未登记或已停用 | 否 |
| 92202 | 超出凭证授权范围——本接口需 sales:read | 否 |
| 92204 | 绑定员工无此接口的功能权限 | 否 |
| 92203 | 上游服务调用失败 | 是 |
| 92301 | 请求过于频繁 | 是 |
除此之外,comap-sales 自身的业务校验失败会原样透传其业务码与提示
(如字段校验、状态不允许、数据不存在),这类码不在开放平台的号段内,
以响应里的 message 为准。完整的平台层错误码见错误码说明。