# 销售报价单接口
# 新增销售报价单
接口说明: 1、通过查询对象配置 (opens new window)接口,获得对象对应的fieldList --> 字段列表结构信息 2、详细字段入参规范说明参见 附录六:aPaaS字段类型样式说明 (opens new window) 3、部分预置字段的特殊逻辑,参考 fields特殊参数说明、slave_fields.ig_sales_quotation_detail特殊参数说明
请求方式: POST(HTTPS)
**请求地址:
** https://openapi.qince.com/api/ig/v1/quotationAdd/{ openid }/{ timestamp }/{ digest }/{ msg_id }
在线调试
请求示例:
参数说明:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| fields | VARCHAR | 是 | JSON格式字符串。格式:{字段key:value}, (非特殊字段数据格式参见附录六) |
| slave_fields | VARCHAR | 是 | JSON格式字符串。数据中传入id为编辑,无id为新增, 格式:{对象key:[{字段key:字段值}]}(非特殊字段数据格式参见附录六) |
| is_trigger | boolean | 否 | 是否触发工作流;true:触发,false:不触发 |
| trigger_employee | VARCHAR(32) | 否 | 是否触发工作流为true的时候必填,员工id |
| check_rule | boolean | 否 | 是否校验验证规则和查重规则;true:校验,false:不校验 |
fields特殊参数说明:
| 字段名称 | 字段key | 字段类型 | 必填 | 特殊说明 |
|---|---|---|---|---|
| 最终报价总额 | quotation_amount | 金额 | 否 | openAPI不需要传入,根据公式计算, 计算公式:最终报价总额 = SUM(关联明细行实际售价金额)* 整单折扣 |
| 实际售价合计金额 | actual_selling_total_amount | 统计字段 | 否 | 不需要传入,根据公式计算 |
| 建议售价合计金额 | suggested_selling_total_amount | 统计字段 | 否 | 不需要传入,根据公式计算 |
| 原价合计金额 | pd_origin_total_amount | 统计字段 | 否 | 不需要传入,根据公式计算 |
| 系统折扣 | sys_discount | 公式字段 | 否 | 不需要传入,根据计算获取 |
| 额外折扣 | additional_discount | 公式字段 | 否 | 不需要传入,根据计算获取 |
| 币种 | currency_type | 单选框 | 否 | 未开启多币种时,不需要传,无论币种字段传入什么值均不接收; 开启多币种后,币种字段不传默认为本位币,传值取传入的值; |
slave_fields.ig_sales_quotation_detail特殊参数说明:
| 字段名称 | 字段key | 字段类型 | 必填 | 特殊说明 |
|---|---|---|---|---|
| 商品名称 | pd_id | 关联关系 | 是 | 对接时,如果对应的商品组合是标准BOM, 按父商品信息和商品组合信息,自动补齐商品组合明细对应子商品对应的报价单明细行 如果对应的商品组合是配置BOM,则报错提示"不支持配置BOM的对接,请通过页面进行新建。" |
| 价目表 | slave_pd_price | 关联关系 | 否 | 不需要传入,按标准价目表获取 |
| 价目表明细编码 | price_detail | 关联关系 | 否 | 不需要传入,根据价目表、商品、单位、数量获取价格, 如果对应单位未找到明细则报错 |
| 商品组合编号 | pd_portfolio | 关联关系 | 否 | 不要求必填,但如果"启用CPQ"且商品是商品组合父商品,则要求必填 |
| 商品组合明细编号 | pd_portfolio_detail | 关联关系 | 否 | 不需要传入 |
| 原价 | pd_origin_price | 金额 | 否 | 不需要传入,根据价目表、商品、单位、数量获取价格,并转换为头上的币种 |
| 建议售价 | suggested_selling_price | 金额 | 否 | 不需要传入 ,根据价目表、商品、单位、数量获取价格,并转换为头上的币种 |
| 实际售价 | actual_price | 金额 | 是 | 必填 |
| 系统折扣 | sys_discount | 百分比 | 否 | 不需要传入,根据计算获取 |
| 额外折扣 | additional_discount | 百分比 | 否 | 不需要传入,根据计算获取 |
| 原价金额 | pd_origin_amount | 金额 | 否 | 不需要传入,根据计算获取 |
| 建议售价金额 | suggested_selling_amount | 金额 | 否 | 不需要传入,根据计算获取 |
| 实际售价金额 | actual_selling_amount | 金额 | 否 | 不需要传入,根据计算获取 |
| 商品组合明细唯一标识 | node_id | 单行文本 | 否 | 不需要传入 |
| 商品组合明细父节点 | parent_node_id | 单行文本 | 否 | 不需要传入 |
| 根节点id | root_node_id | 单行文本 | 否 | 不需要传入 |
| 商品组合明细配置 | tree_data | 单行文本 | 否 | 不需要传入 |
| 商品组合明细分组 | portfolio_group | 单行文本 | 否 | 不需要传入 |
响应示例:
{
"msg_id": "X000001",
"return_code": 0,
"return_msg": ""
}
异常示例:
{
"msg_id": "X000001",
"return_code": 1,
"return_msg": "保存失败!"
}
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| msg_id | String | 请求消息ID |
| return_code | int | 响应编码。0:成功,1:失败。其他详见附录错误码说明 (opens new window) |
| return_msg | String | 响应说明 |
# 修改销售报价单
接口说明: 1、通过查询对象配置 (opens new window)接口,获得对象对应的fieldList --> 字段列表结构信息 2、详细字段入参规范说明参见 附录六:aPaaS字段类型样式说明 (opens new window) 3、报价单头修改只支持自定义字段和部分预置字段 4、报价单行针对已有的报价单行,可以修改自定义字段,暂不支持修改预置字段 5、报价单行支持新增报价单行,新增报价单行的逻辑同新增报价单
请求方式: POST(HTTPS)
**请求地址:
** https://openapi.qince.com/api/ig/v1/quotationEdit/{ openid }/{ timestamp }/{ digest }/{ msg_id }
在线调试
请求示例:
参数说明:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| data_id | VARCHAR | 是 | 数据id |
| fields | VARCHAR | 是 | JSON格式字符串。格式:{字段key:value}, (非特殊字段数据格式参见附录六) |
| slave_fields | VARCHAR | 是 | JSON格式字符串。数据中传入id为编辑,无id为新增, 格式:{对象key:[{字段key:字段值}]}(非特殊字段数据格式参见附录六) |
| is_trigger | boolean | 否 | 是否触发工作流;true:触发,false:不触发 |
| trigger_employee | VARCHAR(32) | 否 | 是否触发工作流为true的时候必填,员工id |
| check_rule | boolean | 否 | 是否校验验证规则和查重规则;true:校验,false:不校验 |
fields特殊参数说明: 其余预置字段都不支持修改
| 字段名称 | 字段key | 字段类型 | 必填 | 特殊说明 |
|---|---|---|---|---|
| 客户名称 | customer | 关联关系 | 否 | 不可修改 |
| 报价日期 | quotation_date | 日期 | 否 | 支持修改 |
| 报价单名称 | quotation_name | 单行文本 | 否 | 支持修改 |
| 整单折扣 | quotation_discount | 百分比 | 否 | 支持修改 |
| 最终报价总额 | quotation_amount | 金额 | 否 | 不支持修改,根据公式计算, 计算公式:最终报价总额 = SUM(关联明细行实际售价金额)* 整单折扣 |
| 实际售价合计金额 | actual_selling_total_amount | 统计字段 | 否 | 不支持修改 |
| 建议售价合计金额 | suggested_selling_total_amount | 统计字段 | 否 | 不支持修改 |
| 原价合计金额 | pd_origin_total_amount | 统计字段 | 否 | 不支持修改 |
slave_fields.ig_sales_quotation_detail特殊参数说明: 针对新增的明细行(不传入id),逻辑同新增报价单行。 针对已存在的明细行(传入id),仅支持修改自定义字段。
| 字段名称 | 字段key | 字段类型 | 必填 | 特殊说明 |
|---|---|---|---|---|
| 商品名称 | pd_id | 关联关系 | 是 | 对接时,如果对应的商品组合是标准BOM, 按父商品信息和商品组合信息,自动补齐商品组合明细对应子商品对应的报价单明细行 如果对应的商品组合是配置BOM,则报错提示"不支持配置BOM的对接,请通过页面进行新建。" |
| 价目表 | slave_pd_price | 关联关系 | 否 | 不需要传入,按标准价目表获取 |
| 价目表明细编码 | price_detail | 关联关系 | 否 | 不需要传入,根据价目表、商品、单位、数量获取价格, 如果对应单位未找到明细则报错 |
| 商品组合编号 | pd_portfolio | 关联关系 | 否 | 不要求必填,但如果"启用CPQ"且商品是商品组合父商品,则要求必填 |
| 商品组合明细编号 | pd_portfolio_detail | 关联关系 | 否 | 不需要传入 |
| 原价 | pd_origin_price | 金额 | 否 | 不需要传入,根据价目表、商品、单位、数量获取价格,并转换为头上的币种 |
| 建议售价 | suggested_selling_price | 金额 | 否 | 不需要传入 ,根据价目表、商品、单位、数量获取价格,并转换为头上的币种 |
| 实际售价 | actual_price | 金额 | 是 | 必填 |
| 系统折扣 | sys_discount | 百分比 | 否 | 不需要传入,根据计算获取 |
| 额外折扣 | additional_discount | 百分比 | 否 | 不需要传入,根据计算获取 |
| 原价金额 | pd_origin_amount | 金额 | 否 | 不需要传入,根据计算获取 |
| 建议售价金额 | suggested_selling_amount | 金额 | 否 | 不需要传入,根据计算获取 |
| 实际售价金额 | actual_selling_amount | 金额 | 否 | 不需要传入,根据计算获取 |
| 商品组合明细唯一标识 | node_id | 单行文本 | 否 | 不需要传入 |
| 商品组合明细父节点 | parent_node_id | 单行文本 | 否 | 不需要传入 |
| 根节点id | root_node_id | 单行文本 | 否 | 不需要传入 |
| 商品组合明细配置 | tree_data | 单行文本 | 否 | 不需要传入 |
| 商品组合明细分组 | portfolio_group | 单行文本 | 否 | 不需要传入 |
响应示例:
{
"msg_id": "X000001",
"return_code": 0,
"return_msg": ""
}
异常示例:
{
"msg_id": "X000001",
"return_code": 1,
"return_msg": "保存失败!"
}
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| msg_id | String | 请求消息ID |
| return_code | int | 响应编码。0:成功,1:失败。其他详见附录错误码说明 (opens new window) |
| return_msg | String | 响应说明 |
# 查询销售报价单
接口说明 1、通过查询对象配置 (opens new window)接口,获得对象对应的fieldList --> 字段列表结构信息 2、请求入参操作符,详见附录操作符说明 (opens new window) 3、字段出参规范说明参见 附录六:aPaaS字段类型样式说明 (opens new window)
请求方式: POST(HTTPS)
**请求地址:
** https://openapi.qince.com/api/ig/v1/quotationQuery/{ openid }/{ timestamp }/{ digest }/{ msg_id }
在线调试
请求示例:
参数说明:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| page | INT | 是 | 页数,默认值为1 |
| rows | INT | 是 | 条数,默认值为100 |
| sorts | List | 是 | 排序,默认按创建时间倒序排序 |
| sorts.field_key | VARCHAR(30) | 是 | 排序字段 |
| sorts.type | VARCHAR(4) | 是 | 排序类型:asc 正序,desc 倒序 |
| query_group | List | 是 | 查询条件列表 |
| query_group.connector | List | 是 | 组内查询条件,条件AND或OR |
| query_group.filters | VARCHAR(4) | 是 | 组内查询条件 |
| query_group.filters.field_key | VARCHAR(32) | 是 | 字段key |
| query_group.filters.operator | VARCHAR(10) | 是 | 操作符,详见附录操作符说明 (opens new window) |
| query_group.filters.field_values | List | 是 | 字段值集合 |
响应示例:
{
"msg_id": "X000001",
"return_code": 0,
"return_msg": "",
"response_data": "<<DATA>>"
}
数据DATA示例:
[
{
"objectKey": "ig_sales_quotation",
"owner": {
"name": "hts",
"id": "7007385368014262146",
"status": "1"
},
"lock_status": {
"code": "UNLOCK",
"label": "未锁定"
},
"create_time": {
"format": "YYYY-MM-DD HH:mm:ss",
"value": "2025-07-02 10:40:49"
},
"approval_status": {
"code": "APPROVED",
"label": "已通过"
},
"modify_time": {
"format": "YYYY-MM-DD HH:mm:ss",
"value": "2025-07-02 10:40:51"
},
"source_type": {
"code": "LROPFXCJ",
"label": "自建"
},
"quotation_amount": "39.00",
"quotation_date": {
"format": "YYYY-MM-DD",
"value": "2025-07-03"
},
"quotation_discount": "1.0",
"business_type": {
"code": "busitype_default__c",
"id": "5680980238637871978",
"label": "默认业务类型",
"status": "1"
},
"modifyier_id": {
"name": "hts",
"id": "7007385368014262146",
"status": "1"
},
"creator_id": {
"name": "hts",
"id": "7007385368014262146",
"status": "1"
},
"quotation_name": "BGD2025070200156",
"business_limit": {
"code": "none_limit",
"label": "不限制"
},
"id": "7467015467964275316",
"department": {
"name": "CPG",
"id": "10",
"status": "1"
},
"status": {
"code": "1",
"label": "正常"
},
"customer": {
"objectKey": "bas_cm_customer",
"name": "测试客户",
"objectName": "客户",
"id": "6928823652322085688",
"status": "1"
}
}
]
异常示例:
{
"msg_id": "X000001",
"return_code": 1,
"return_msg": "查询失败!"
}
# 查询销售报价单明细
接口说明 1、通过查询对象配置 (opens new window)接口,获得对象对应的fieldList --> 字段列表结构信息 2、请求入参操作符,详见附录操作符说明 (opens new window) 3、字段出参规范说明参见 附录六:aPaaS字段类型样式说明 (opens new window)
请求方式: POST(HTTPS)
**请求地址:
** https://openapi.qince.com/api/ig/v1/quotationDetailQuery/{ openid }/{ timestamp }/{ digest }/{ msg_id }
在线调试
请求示例:
参数说明:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| page | INT | 是 | 页数,默认值为1 |
| rows | INT | 是 | 条数,默认值为100 |
| sorts | List | 是 | 排序,默认按创建时间倒序排序 |
| sorts.field_key | VARCHAR(30) | 是 | 排序字段 |
| sorts.type | VARCHAR(4) | 是 | 排序类型:asc 正序,desc 倒序 |
| query_group | List | 是 | 查询条件列表 |
| query_group.connector | List | 是 | 组内查询条件,条件AND或OR |
| query_group.filters | VARCHAR(4) | 是 | 组内查询条件 |
| query_group.filters.field_key | VARCHAR(32) | 是 | 字段key |
| query_group.filters.operator | VARCHAR(10) | 是 | 操作符,详见附录操作符说明 (opens new window) |
| query_group.filters.field_values | List | 是 | 字段值集合 |
响应示例:
{
"msg_id": "X000001",
"return_code": 0,
"return_msg": "",
"response_data": "<<DATA>>"
}
数据DATA示例:
[
{
"quotation_id": {
"name": "BGD2025070200156",
"id": "7467015467964275316"
},
"modify_time": {
"format": "YYYY-MM-DD HH:mm:ss",
"value": "2025-07-02 10:40:51"
},
"additional_discount": "1.0000",
"tree_data": "",
"suggested_selling_price": "39.00",
"pd_origin_price": "39.00",
"price_detail": {
"name": "JMMX2025050701684",
"id": "6572587686455210763",
"status": "1"
},
"pd_portfolio": {
"name": "ZH20250425000253",
"id": "6755162802890118829",
"status": "1"
},
"slave_pd_price": {
"name": "标准价目表",
"id": "7086934903373518037",
"status": "1"
},
"business_type": {
"code": "busitype_default__c",
"id": "7892298620467351415",
"label": "默认业务类型",
"status": "1"
},
"modifyier_id": {
"name": "hts",
"id": "7007385368014262146",
"status": "1"
},
"id": "8672994005914241532",
"department": {
"name": "CPG",
"id": "10",
"status": "1"
},
"unit_id": {
"name": "条",
"id": "6237374727925106334",
"status": "1"
},
"pd_id": {
"name": "hts0408",
"id": "6318874491881852762",
"status": "1"
},
"owner": {
"name": "hts",
"id": "7007385368014262146",
"status": "1"
},
"actual_selling_amount": "39.00",
"sys_discount": "1.0000",
"lock_status": {
"code": "UNLOCK",
"label": "未锁定"
},
"create_time": {
"format": "YYYY-MM-DD HH:mm:ss",
"value": "2025-07-02 10:40:49"
},
"actual_price": "39.00",
"approval_status": {
"code": "APPROVED",
"label": "已通过"
},
"source_type": {
"code": "LROPFXCJ",
"label": "自建"
},
"root_node_id": "6123531975969938990",
"pd_count": "1.00",
"creator_id": {
"name": "hts",
"id": "7007385368014262146",
"status": "1"
},
"name": "BGDMX2025070200466",
"status": {
"code": "1",
"label": "正常"
},
"node_id": "6123531975969938990"
}
]
异常示例:
{
"msg_id": "X000001",
"return_code": 1,
"return_msg": "查询失败!"
}
# 删除销售报价单
接口说明: 1、删除指定ID的销售报价单数据 2、删除操作将触发系统的删除校验规则
请求方式: POST(HTTPS)
**请求地址:
** https://openapi.qince.com/api/ig/v1/quotationDelete/{ openid }/{ timestamp }/{ digest }/{ msg_id }
在线调试
请求示例:
参数说明:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| data_id | VARCHAR | 是 | 要删除的数据ID |
响应示例:
{
"msg_id": "X000001",
"return_code": 0,
"return_msg": ""
}
异常示例:
{
"msg_id": "X000001",
"return_code": 1,
"return_msg": "删除失败!"
}
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| msg_id | String | 请求消息ID |
| return_code | int | 响应编码。0:成功,1:失败。其他详见附录错误码说明 (opens new window) |
| return_msg | String | 响应说明 |
# 推送销售报价单
推送说明:参见 推送aPaaS对象数据变更 (opens new window)
请求示例:
{
"appId": 200004,
"data": {
"objectKey": "ig_sales_quotation",
"owner": {
"name": "hts",
"id": "7007385368014262146",
"status": "1"
},
"slaveObjectMap": {
"ig_sales_quotation_detail": [
{
"quotation_id": {
"name": "BGD2025070200156",
"id": "7467015467964275316"
},
"modify_time": {
"format": "YYYY-MM-DD HH:mm:ss",
"value": "2025-07-02 10:40:51"
},
"additional_discount": "1.0000",
"tree_data": "",
"suggested_selling_price": "39.00",
"pd_origin_price": "39.00",
"price_detail": {
"name": "JMMX2025050701684",
"id": "6572587686455210763",
"status": "1"
},
"pd_portfolio": {
"name": "ZH20250425000253",
"id": "6755162802890118829",
"status": "1"
},
"slave_pd_price": {
"name": "标准价目表",
"id": "7086934903373518037",
"status": "1"
},
"business_type": {
"code": "busitype_default__c",
"id": "7892298620467351415",
"label": "默认业务类型",
"status": "1"
},
"modifyier_id": {
"name": "hts",
"id": "7007385368014262146",
"status": "1"
},
"id": "8672994005914241532",
"department": {
"name": "CPG",
"id": "10",
"status": "1"
},
"unit_id": {
"name": "条",
"id": "6237374727925106334",
"status": "1"
},
"pd_id": {
"name": "hts0408",
"id": "6318874491881852762",
"status": "1"
},
"owner": {
"name": "hts",
"id": "7007385368014262146",
"status": "1"
},
"actual_selling_amount": "39.00",
"sys_discount": "1.0000",
"lock_status": {
"code": "UNLOCK",
"label": "未锁定"
},
"create_time": {
"format": "YYYY-MM-DD HH:mm:ss",
"value": "2025-07-02 10:40:49"
},
"actual_price": "39.00",
"approval_status": {
"code": "APPROVED",
"label": "已通过"
},
"source_type": {
"code": "LROPFXCJ",
"label": "自建"
},
"root_node_id": "6123531975969938990",
"pd_count": "1.00",
"creator_id": {
"name": "hts",
"id": "7007385368014262146",
"status": "1"
},
"name": "BGDMX2025070200466",
"status": {
"code": "1",
"label": "正常"
},
"node_id": "6123531975969938990"
}
]
},
"lock_status": {
"code": "UNLOCK",
"label": "未锁定"
},
"create_time": {
"format": "YYYY-MM-DD HH:mm:ss",
"value": "2025-07-02 10:40:49"
},
"approval_status": {
"code": "APPROVED",
"label": "已通过"
},
"modify_time": {
"format": "YYYY-MM-DD HH:mm:ss",
"value": "2025-07-02 10:40:51"
},
"source_type": {
"code": "LROPFXCJ",
"label": "自建"
},
"quotation_amount": "39.00",
"quotation_date": {
"format": "YYYY-MM-DD",
"value": "2025-07-03"
},
"quotation_discount": "1.0",
"business_type": {
"code": "busitype_default__c",
"id": "5680980238637871978",
"label": "默认业务类型",
"status": "1"
},
"modifyier_id": {
"name": "hts",
"id": "7007385368014262146",
"status": "1"
},
"creator_id": {
"name": "hts",
"id": "7007385368014262146",
"status": "1"
},
"quotation_name": "BGD2025070200156",
"business_limit": {
"code": "none_limit",
"label": "不限制"
},
"id": "7467015467964275316",
"department": {
"name": "CPG",
"id": "10",
"status": "1"
},
"status": {
"code": "1",
"label": "正常"
},
"customer": {
"objectKey": "bas_cm_customer",
"name": "测试客户",
"objectName": "客户",
"id": "6928823652322085688",
"status": "1"
}
},
"dataFormat": "json",
"dataId": "7467015467964275316",
"dataSource": "biz",
"dataType": "apaas_data_change_event",
"tenantId": 7867203268463838962,
"version": "v1"
}