# 销售报价单接口

# 新增销售报价单

接口说明: 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": {
    "customer": "6928823652322085688",
    "quotation_date": "2025-06-12",
    "quotation_name": "测试报价单",
    "quotation_discount": "1.0",
    "sales_opportunity": "6093252009554366246",
    "pd_price": "7086934903373518037",
    "fieldKey(自定义字段key)": "fieldValue(数据格式参见附录六)"
  },
  "slave_fields": {
    "ig_sales_quotation_detail": [
      {
        "pd_id": "5279580533528147536",
        "pd_portfolio": "6834388186941996900",
        "unit_id": "8409576611196673572",
        "pd_count": "2",
        "actual_price": "20",
        "fieldKey(自定义字段key)": "fieldValue(数据格式参见附录六)"
      }
    ],
    "objectKey(自定义从对象对象key)": [
      {
        "fieldKey(自定义字段key)": "fieldValue(数据格式参见附录六)"
      }
    ]
  },
  "is_trigger": false,
  "check_rule": false
}
说明: 本示例仅供参考,具体以参数说明为准。

参数说明:

参数 类型 必填 说明
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": "6928823652322085688",
  "fields": {
    "id": "6928823652322085688",
    "quotation_date": "2025-06-15",
    "quotation_name": "修改后的报价单名称",
    "quotation_discount": "0.95",
    "fieldKey(自定义字段key)": "fieldValue(数据格式参见附录六)"
  },
  "slave_fields": {
    "ig_sales_quotation_detail": [
      {
        "id": "8672994005914241532",
        "fieldKey(自定义字段key)": "fieldValue(数据格式参见附录六)"
      }
    ],
    "objectKey(自定义从对象对象key)": [
      {
        "fieldKey(自定义字段key)": "fieldValue(数据格式参见附录六)"
      }
    ]
  },
  "is_trigger": false,
  "check_rule": false
}
说明: 本示例仅供参考,具体以参数说明为准。

参数说明:

参数 类型 必填 说明
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": "1",
  "rows": "100",
  "sorts": [
    {
      "field_key": "create_time",
      "type": "desc"
    }
  ],
  "query_group": [
    {
      "connector": "OR",
      "filters": [
        {
          "field_key": "name",
          "operator": "ISN"
        }
      ]
    },
    {
      "connector": "OR",
      "filters": [
        {
          "field_key": "customer",
          "operator": "EQ",
          "field_values": [
            "6928823652322085688"
          ]
        }
      ]
    }
  ]
}
说明: 本示例仅供参考,具体以参数说明为准。

参数说明:

参数 类型 必填 说明
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": "1",
  "rows": "100",
  "sorts": [
    {
      "field_key": "create_time",
      "type": "desc"
    }
  ],
  "query_group": [
    {
      "connector": "AND",
      "filters": [
        {
          "field_key": "quotation_id",
          "operator": "EQ",
          "field_values": [
            "7467015467964275316"
          ]
        }
      ]
    }
  ]
}
说明: 本示例仅供参考,具体以参数说明为准。

参数说明:

参数 类型 必填 说明
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": "7467015467964275316"
}
说明: 本示例仅供参考,具体以参数说明为准。

参数说明:

参数 类型 必填 说明
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"
}