# 合同接口

# 新增框架合同

接口说明:

请求方式: POST(HTTPS
请求地址: https://openapi.qince.com/api/ig/v2/frameworkContractAdd/{ openid }/{ timestamp }/{ digest }/{ msg_id }
请求示例:

{
  "customerName": "XX公司", // 客户(必填) 或者 "customerId": 6928823652322085688
  "contractTitle": "2026年度框架合同", // 合同标题(可选)
  "validStartDate": "2026-01-01", // 合同生效日期(可选)
  "validEndDate": "2026-12-31", // 合同失效日期(可选)
  "partyASignRepresentative": "张三", // 甲方签约代表(可选)
  "partyBSignRepresentative": "李四", // 乙方签约代表(可选)
  "partyASignDate": "2026-01-01", // 甲方签约日期(可选)
  "partyBSignDate": "2026-01-01", // 乙方签约日期(可选)
  "termsOfService": "<p>服务条款内容</p>", // 服务条款(可选,富文本)
  "termsOfPayment": "<p>付款条款内容</p>", // 付款条款(可选,富文本)
  "confidentiality": "<p>保密条款内容</p>", // 保密条款(可选,富文本)
  "defaultClause": "<p>违约条款内容</p>", // 违约条款(可选,富文本)
  "attachmentFirst": "<p>附件一内容</p>", // 附件一(可选,富文本)
  "attachmentSecond": "<p>附件二内容</p>", // 附件二(可选,富文本)
  "salesOpportunityName": "XX商机", // 商机(可选) 或者 "salesOpportunityId": 8888888888888888888
  "extFields": {
    "field_custom1__c": "自定义字段值"
  },
  "extSlaveList": {
    "ext_slave_obj1": [
      {
        "slave_obj1_field_1": "自定义从对象值1"
      }
    ]
  },
  "isTrigger": false,
  "checkRule": false
}

说明: 本示例仅供参考,具体以参数说明为准。

参数说明:

参数名 类型 必填 说明
customerId Long 客户ID,与 customerName 至少传一个,优先使用 customerId
customerName String 客户名称(name字段),与 customerId 至少传一个
contractTitle String 合同标题
currencyType String 币种
validStartDate String 合同生效日期,格式:yyyy-MM-dd,如 "2026-01-01"
validEndDate String 合同失效日期,格式:yyyy-MM-dd,如 "2026-12-31"
partyASignRepresentative String 甲方签约代表
partyBSignRepresentative String 乙方签约代表
partyASignDate String 甲方签约日期,格式:yyyy-MM-dd
partyBSignDate String 乙方签约日期,格式:yyyy-MM-dd
termsOfService String 服务条款,富文本类型
termsOfPayment String 付款条款,富文本类型
confidentiality String 保密条款,富文本类型
defaultClause String 违约条款,富文本类型
attachmentFirst String 只读 附件一,不支持openApi录入
attachmentSecond String 只读 附件二,不支持openApi录入
contractStatus String 只读 合同状态,系统自动管理
salesOpportunityId Long 商机ID,与 salesOpportunityName 二选一
salesOpportunityName String 商机名称(name字段),与 salesOpportunityId 二选一
extFields Object 主对象自定义字段,key: 自定义字段编码(field_xxx__c),value: 字段值
extSlaveList Object 自定义从对象数据,key: 自定义对象key,value: 数据列表
isTrigger Boolean 是否触发工作流,默认 false
triggerEmployee Long 触发工作流的员工ID,isTrigger=true 时必填
checkRule Boolean 是否校验验证规则和查重规则,默认 false

响应示例:

{
  "return_code": 0,
  "return_msg": "success",
  "msg_id": "X0001",
  "response_data": "{\"id\":\"7123456789012345678\"}"
}

异常示例:

{
  "msg_id": "X000001",
  "return_code": 1,
  "return_msg": "数据不存在,dataName=CUS001"
}

参数说明:

参数 说明
msg_id 请求消息ID
return_code 响应编码。0:成功,1:失败。其他详见附录错误码说明 (opens new window)
return_msg 响应说明
response_data 返回数据,JSON字符串,包含新增的框架合同ID

# 修改框架合同

接口说明:

  1. 仅允许修改自定义字段
  2. 预置字段不允许修改

请求方式: POST(HTTPS
请求地址: https://openapi.qince.com/api/ig/v2/frameworkContractEdit/{ openid }/{ timestamp }/{ digest }/{ msg_id }
请求示例:

{
  "frameworkContractCode": "FC202601001", // 框架合同(必填) 或者 "frameworkContractId": 7123456789012345678
  "extFields": {
    "field_custom1__c": "修改后的自定义字段值",
    "field_custom2__c": "新增的自定义字段值"
  },
  "extSlaveList": {
    "ext_slave_obj1": [
      {
        "slave_obj1_field_1": "修改后的自定义从对象值1"
      }
    ]
  },
  "isTrigger": false,
  "checkRule": false
}

说明: 本示例仅供参考,具体以参数说明为准。

参数说明:

参数名 类型 必填 说明
frameworkContractId Long 框架合同ID,与 frameworkContractCode 至少传一个,优先使用 frameworkContractId
frameworkContractCode String 框架合同编号(name字段),与 frameworkContractId 至少传一个
extFields Object 主对象自定义字段,key: 自定义字段编码(field_xxx__c),value: 字段值。注意:仅支持修改自定义字段,预置字段不允许修改
extSlaveList Object 自定义从对象数据,key: 自定义对象key,value: 数据列表
isTrigger Boolean 是否触发工作流,默认 false
triggerEmployee Long 触发工作流的员工ID,isTrigger=true 时必填
checkRule Boolean 是否校验验证规则和查重规则,默认 false

响应示例:

{
  "return_code": 0,
  "return_msg": "success",
  "msg_id": "X0001",
  "response_data": null
}

异常示例:

{
  "msg_id": "X000001",
  "return_code": 1,
  "return_msg": "数据不存在,dataName=CUS001"
}

参数说明:

参数 说明
return_code 响应编码。0:成功,1:失败。其他详见附录错误码说明 (opens new window)
return_msg 响应信息
msg_id 消息ID

# 查询框架合同

接口说明 1、通过查询对象配置 (opens new window)接口,获得对象对应的fieldList --> 字段列表结构信息 2、请求入参操作符,详见附录操作符说明 (opens new window) 3、字段出参规范说明参见 附录六:aPaaS字段类型样式说明 (opens new window)

请求方式: POST(HTTPS
**请求地址: ** https://openapi.qince.com/api/ig/v1/frameworkContractQuery/{ openid }/{ timestamp }/{ digest }/{ msg_id } 在线调试
请求示例:

{
  "page": "1",
  "rows": "100",
  "sorts": [
    {
      "field_key": "create_time",
      "type": "desc"
    }
  ],
  "query_group": [
    {
      "connector": "AND",
      "filters": [
        {
          "field_key": "customer",
          "operator": "EQ",
          "field_values": [
            "6928823652322085688"
          ]
        }
      ]
    },
    {
      "connector": "OR",
      "filters": [
        {
          "field_key": "name",
          "operator": "ISN"
        }
      ]
    }
  ]
}
说明: 本示例仅供参考,具体以参数说明为准。

参数说明:

参数 类型 必填 说明
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示例:

[
  {
    "stage_process": null,
    "party_a_sign_representative": null,
    "currency_type__other": null,
    "modifyier_id__r": "hts",
    "approval_status__other": null,
    "customer__r": {
      "id": "2814859286868529807",
      "name": "测试经销商改动",
      "status": "1",
      "targetDataId": "2814859286868529807",
      "targetObjKey": "bas_cm_dealer",
      "targetObjName": "经销商"
    },
    "default_clause": null,
    "department__full": {
      "name": "CPG",
      "id": "10",
      "status": "1"
    },
    "id": "8053984837828098589",
    "attachment_first": null,
    "lock_status": "0",
    "exchange_rate": null,
    "create_time": 1763104995000,
    "approval_status": "1",
    "source_type": "1",
    "creator_id__full": {
      "name": "hts",
      "id": "7007385368014262146",
      "status": "1"
    },
    "valid_start_date": 1763049600000,
    "contract_title": "标题测试",
    "approval_status__r": {
      "label": "已通过",
      "value": "1",
      "content": null,
      "status": null
    },
    "currency_type": null,
    "party_b_sign_date": null,
    "creator_id": "7007385368014262146",
    "name": "HT2025111400003",
    "check_intf": "0",
    "status": "1",
    "modifyier_id__full": {
      "name": "hts",
      "id": "7007385368014262146",
      "status": "1"
    },
    "modify_time": 1763104995000,
    "confidentiality": null,
    "sales_opportunity": null,
    "lock_status__r": {
      "label": "未锁定",
      "value": "0",
      "content": null,
      "status": null
    },
    "department__r": "CPG",
    "stage_process__other": null,
    "terms_of_service": null,
    "business_type": "4846243191749974308",
    "modifyier_id": "7007385368014262146",
    "creator_id__r": "hts",
    "department": "10",
    "party_a_sign_date": null,
    "owner__r": "hts",
    "lock_status__other": null,
    "owner": "7007385368014262146",
    "source_type__other": null,
    "source_type__r": {
      "label": "自建",
      "value": "1",
      "content": null,
      "status": null
    },
    "org": null,
    "business_type__r": {
      "label": "默认业务类型",
      "value": "4846243191749974308",
      "status": "1"
    },
    "attachment_second": null,
    "original_contract": null,
    "status__other": null,
    "party_b_sign_representative": null,
    "valid_end_date": 1763222400000,
    "stage": null,
    "owner__full": {
      "name": "hts",
      "id": "7007385368014262146",
      "status": "1"
    },
    "status__r": {
      "label": "正常",
      "value": "1",
      "content": null,
      "status": null
    },
    "terms_of_payment": null,
    "customer": "2814859286868529807"
  }
]

异常示例:

{
  "msg_id": "X000001",
  "return_code": 1,
  "return_msg": "查询失败!"
}

# 删除框架合同

接口说明: 1、删除指定ID的框架合同数据 2、删除操作将触发系统的删除校验规则

请求方式: POST(HTTPS
**请求地址: ** https://openapi.qince.com/api/ig/v1/frameworkContractDelete/{ openid }/{ timestamp }/{ digest }/{ msg_id } 在线调试
请求示例:

{
  "data_id": "6928823652322085688"
}
说明: 本示例仅供参考,具体以参数说明为准。

参数说明:

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

# 作废框架合同

接口说明:将框架合同状态改为"已作废"

请求方式: POST(HTTPS
请求地址: https://openapi.qince.com/api/ig/v2/frameworkContractInvalid/{ openid }/{ timestamp }/{ digest }/{ msg_id }
请求示例:

{
  "frameworkContractCodes": "FC202601001,FC202601002" // 框架合同编号列表(必填) 或者 "frameworkContractIds": "7123456789012345678,7123456789012345679"
}

说明: 本示例仅供参考,具体以参数说明为准。

参数说明:

参数名 类型 必填 说明
frameworkContractIds String 框架合同ID列表(使用逗号分隔),与 frameworkContractCodes 至少传一个,优先使用 frameworkContractIds
frameworkContractCodes String 框架合同编号列表(name字段,使用逗号分隔),与 frameworkContractIds 至少传一个

响应示例:

{
  "return_code": 0,
  "return_msg": "success",
  "msg_id": "X0001",
  "response_data": null
}

异常示例:

{
  "msg_id": "X000001",
  "return_code": 1,
  "return_msg": "数据不存在,dataName=CUS001"
}

参数说明:

参数 说明
return_code 响应编码。0:成功,1:失败。其他详见附录错误码说明 (opens new window)
return_msg 响应信息
msg_id 消息ID

# 关闭框架合同

接口说明:将框架合同状态改为"已关闭"

请求方式: POST(HTTPS
请求地址: https://openapi.qince.com/api/ig/v2/frameworkContractClose/{ openid }/{ timestamp }/{ digest }/{ msg_id }
请求示例:

{
  "frameworkContractCode": "FC202601001" // 框架合同(必填) 或者 "frameworkContractId": 7123456789012345678
}

说明: 本示例仅供参考,具体以参数说明为准。

参数说明:

参数名 类型 必填 说明
frameworkContractId Long 框架合同ID,与 frameworkContractCode 至少传一个,优先使用 frameworkContractId
frameworkContractCode String 框架合同编号(name字段),与 frameworkContractId 至少传一个

响应示例:

{
  "return_code": 0,
  "return_msg": "success",
  "msg_id": "X0001",
  "response_data": null
}

异常示例:

{
  "msg_id": "X000001",
  "return_code": 1,
  "return_msg": "部分单据执行异常",
  "response_data": "[{\"id\":\"19586\", \"msg\":\"仅支持审批中、审批通过的合同进行作废\"}]"
}

参数说明:

参数 说明
return_code 响应编码。0:成功,1:失败。其他详见附录错误码说明 (opens new window)
return_msg 响应信息
msg_id 消息ID

# 推送框架合同

推送说明:参见 推送aPaaS对象数据变更 (opens new window)

请求示例:

{
  "appId": 200004,
  "data": {
    "objectKey": "ig_framework_contract",
    "modify_time": {
      "format": "YYYY-MM-DD HH:mm:ss",
      "value": "2025-11-14 15:23:15"
    },
    "business_type": {
      "id": "4846243191749974308",
      "label": "默认业务类型",
      "status": "1"
    },
    "modifyier_id": {
      "name": "hts",
      "id": "7007385368014262146",
      "status": "1"
    },
    "id": "8053984837828098589",
    "department": {
      "name": "CPG",
      "id": "10",
      "status": "1"
    },
    "party_a_sign_date": {
      "format": "YYYY-MM-DD"
    },
    "owner": {
      "name": "hts",
      "id": "7007385368014262146",
      "status": "1"
    },
    "lock_status": {
      "code": "UNLOCK",
      "label": "未锁定"
    },
    "create_time": {
      "format": "YYYY-MM-DD HH:mm:ss",
      "value": "2025-11-14 15:23:15"
    },
    "approval_status": {
      "code": "APPROVED",
      "label": "已通过"
    },
    "source_type": {
      "code": "LROPFXCJ",
      "label": "自建"
    },
    "valid_start_date": {
      "format": "YYYY-MM-DD",
      "value": "2025-11-14"
    },
    "contract_title": "标题测试",
    "valid_end_date": {
      "format": "YYYY-MM-DD",
      "value": "2025-11-16"
    },
    "party_b_sign_date": {
      "format": "YYYY-MM-DD"
    },
    "creator_id": {
      "name": "hts",
      "id": "7007385368014262146",
      "status": "1"
    },
    "name": "HT2025111400003",
    "status": {
      "code": "NORMAL",
      "label": "正常"
    },
    "customer": {
      "objectKey": "bas_cm_dealer",
      "name": "测试经销商改动",
      "objectName": "经销商",
      "id": "2814859286868529807",
      "status": "1"
    }
  },
  "dataFormat": "json",
  "dataId": "8053984837828098589",
  "dataSource": "biz",
  "dataType": "apaas_data_change_event",
  "tenantId": 7867203268463838962,
  "version": "v1"
}

# 新增销售合同

接口说明: 1、通过查询对象配置 (opens new window)接口,获得对象对应的fieldList --> 字段列表结构信息 2、详细字段入参规范说明参见 附录六:aPaaS字段类型样式说明 (opens new window) 3、部分预置字段的特殊逻辑,参考 fields特殊参数说明、slave_fields.ig_contract_detail特殊参数说明

请求方式: POST(HTTPS
**请求地址: ** https://openapi.qince.com/api/ig/v1/contractAdd/{ openid }/{ timestamp }/{ digest }/{ msg_id } 在线调试
请求示例:

{
  "fields": {
    "customer": "6928823652322085688",
    "contract_date": "2025-06-12",
    "contract_title": "测试合同标题",
    "valid_start_date": "2025-06-12",
    "valid_end_date": "2025-12-31",
    "opportunities_info_id": "6093252009554366246",
    "quotation_id": "6643779260661689239",
    "pd_price": "7086934903373518037",
    "fieldKey(自定义字段key)": "fieldValue(数据格式参见附录六)"
  },
  "slave_fields": {
    "ig_contract_detail": [
      {
        "pd_id": "5279580533528147536",
        "pd_portfolio": "6834388186941996900",
        "pd_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 字段类型 必填 特殊说明
合同金额 total_amount 统计字段 不需要传入,APaaS自动计算。
计算公式:合同金额 = SUM(明细行金额)
币种 currency_type 单选框 未开启多币种时,不需要传,无论币种字段传入什么值均不接收;
开启多币种后,币种字段不传默认为本位币,传值取传入的值;
客户余额 cm_balance 关联关系 不需要传入
可用余额 cm_useful_amount 字段引用 不需要传入

slave_fields.ig_contract_detail特殊参数说明:

字段名称 字段key 字段类型 必填 特殊说明
商品名称 pd_id 关联关系 必填字段
价目表 slave_pd_price 关联关系 不需要传入,系统自动按标准价目表处理
价目表明细编码 price_detail 关联关系 不需要传入
商品组合编号 pd_portfolio 关联关系 非必填字段
商品组合明细编号 pd_portfolio_detail 关联关系 不需要传入
报价单 slave_quotation_id 关联关系 不需要传入
报价单明细编号 quotation_detail_id 关联关系 不需要传入
原价 pd_origin_price 金额 不需要传入,APaaS自动计算
建议售价 suggested_selling_price 金额 不需要传入,APaaS自动从价目表获取并计算
实际售价 actual_price 金额 实际售价和金额至少填写一个。
如果都填写,需校验:金额 = 实际售价 × 数量
系统折扣 sys_discount 百分比 不需要传入,APaaS自动计算
额外折扣 additional_discount 百分比 不需要传入,APaaS自动计算。
计算规则:
- 如果建议售价为0或为空,则额外折扣为空
- 否则,额外折扣 = 实际售价 / 建议售价
金额 amount 金额 实际售价和金额至少填写一个。
如果仅填写金额,则系统计算:实际售价 = 金额 / 数量
如果仅填写实际售价,则系统计算:金额 = 实际售价 × 数量
商品组合明细唯一标识 node_id 单行文本 不需要传入
商品组合明细父节点 parent_node_id 单行文本 不需要传入
根节点id root_node_id 单行文本 不需要传入
商品组合明细配置 tree_data 单行文本 不需要传入

响应示例:

{
  "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/contractEdit/{ openid }/{ timestamp }/{ digest }/{ msg_id } 在线调试
请求示例:

{
  "data_id": "6928823652322085688",
  "fields": {
    "id": "6928823652322085688",
    "contract_date": "2025-06-15",
    "contract_title": "修改后的合同标题",
    "valid_start_date": "2025-06-15",
    "valid_end_date": "2025-12-31",
    "fieldKey(自定义字段key)": "fieldValue(数据格式参见附录六)"
  },
  "slave_fields": {
    "ig_contract_detail": [
      {
        "id": "8672994005914241532",
        "fieldKey(自定义字段key)": "fieldValue(数据格式参见附录六)"
      },
      {
        "contract_id": "6928823652322085688",
        "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 关联关系 不可修改
合同日期 contract_date 日期 支持修改
合同标题 contract_title 单行文本 支持修改
合同生效日期 valid_start_date 日期 支持修改
合同失效日期 valid_end_date 日期 支持修改
合同金额 total_amount 统计字段 不支持修改,APaaS自动计算。
计算公式:合同金额 = SUM(明细行金额)
客户余额 cm_balance 关联关系 不支持修改
可用余额 cm_useful_amount 字段引用 不支持修改

slave_fields.ig_contract_detail特殊参数说明: 针对新增的明细行(不传入id),逻辑同新增销售合同行。 针对已存在的明细行(传入id),仅支持修改自定义字段。

字段名称 字段key 字段类型 必填 特殊说明
商品名称 pd_id 关联关系 新增明细行时必填
价目表 slave_pd_price 关联关系 不需要传入,系统自动按标准价目表处理
价目表明细编码 price_detail 关联关系 不需要传入
商品组合编号 pd_portfolio 关联关系 非必填字段
商品组合明细编号 pd_portfolio_detail 关联关系 不需要传入
报价单 slave_quotation_id 关联关系 不需要传入
报价单明细编号 quotation_detail_id 关联关系 不需要传入
原价 pd_origin_price 金额 不需要传入,APaaS自动计算
建议售价 suggested_selling_price 金额 不需要传入,APaaS自动从价目表获取并计算
实际售价 actual_price 金额 新增明细行时,实际售价和金额至少填写一个。
如果都填写,需校验:金额 = 实际售价 × 数量
系统折扣 sys_discount 百分比 不需要传入,APaaS自动计算
额外折扣 additional_discount 百分比 不需要传入,APaaS自动计算。
计算规则:
- 如果建议售价为0或为空,则额外折扣为空
- 否则,额外折扣 = 实际售价 / 建议售价
金额 amount 金额 新增明细行时,实际售价和金额至少填写一个。
如果仅填写金额,则系统计算:实际售价 = 金额 / 数量
如果仅填写实际售价,则系统计算:金额 = 实际售价 × 数量
商品组合明细唯一标识 node_id 单行文本 不需要传入
商品组合明细父节点 parent_node_id 单行文本 不需要传入
根节点id root_node_id 单行文本 不需要传入
商品组合明细配置 tree_data 单行文本 不需要传入

响应示例:

{
  "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/contractQuery/{ 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_contract",
    "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"
    },
    "quotation_id": {
      "name": "BJD2025052800110",
      "id": "6643779260661689239",
      "status": "1"
    },
    "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": "自建"
    },
    "total_amount": "39.00",
    "contract_date": {
      "format": "YYYY-MM-DD",
      "value": "2025-07-03"
    },
    "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"
    },
    "name": "HT2025070200156",
    "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/contractDetailQuery/{ openid }/{ timestamp }/{ digest }/{ msg_id } 在线调试
请求示例:

{
  "page": "1",
  "rows": "100",
  "sorts": [
    {
      "field_key": "create_time",
      "type": "desc"
    }
  ],
  "query_group": [
    {
      "connector": "AND",
      "filters": [
        {
          "field_key": "contract_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示例:

[
  {
    "contract_id": {
      "name": "HT2025070200156",
      "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"
    },
    "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"
    },
    "quotation_detail_id": {
      "name": "00360",
      "id": "8581231224382607791",
      "status": "1"
    },
    "actual_price": "39.00",
    "approval_status": {
      "code": "APPROVED",
      "label": "已通过"
    },
    "source_type": {
      "code": "LROPFXCJ",
      "label": "自建"
    },
    "root_node_id": "6123531975969938990",
    "pd_count": "1.00",
    "slave_quotation_id": {
      "name": "BJD2025052800110",
      "id": "6643779260661689239",
      "status": "1"
    },
    "creator_id": {
      "name": "hts",
      "id": "7007385368014262146",
      "status": "1"
    },
    "name": "HTMX2025070200466",
    "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/contractDelete/{ 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 响应说明

# 作废销售合同

接口说明:将销售合同状态改为"已作废"

请求方式: POST(HTTPS
请求地址: https://openapi.qince.com/api/ig/v2/contractInvalid/{ openid }/{ timestamp }/{ digest }/{ msg_id }
请求示例:

{
  "contractCodes": "CON202601001,CON202601002" // 销售合同编号列表(必填) 或者 "contractIds": "7123456789012345678,7123456789012345679"
}

说明: 本示例仅供参考,具体以参数说明为准。

参数说明:

参数名 类型 必填 说明
contractIds String 销售合同ID列表(使用逗号分隔),与 contractCodes 至少传一个,优先使用 contractIds
contractCodes String 销售合同编号列表(name字段,使用逗号分隔),与 contractIds 至少传一个

响应示例:

{
  "return_code": 0,
  "return_msg": "success",
  "msg_id": "X0001",
  "response_data": null
}

异常示例:

{
  "msg_id": "X000001",
  "return_code": 1,
  "return_msg": "部分单据执行异常",
  "response_data": "[{\"id\":\"19586\", \"msg\":\"仅支持审批中、审批通过的合同进行作废\"}]"
}

参数说明:

参数 说明
return_code 响应编码。0:成功,1:失败。其他详见附录错误码说明 (opens new window)
return_msg 响应信息
msg_id 消息ID

# 关闭销售合同

接口说明:将销售合同状态改为"已关闭"

请求方式: POST(HTTPS
请求地址: https://openapi.qince.com/api/ig/v2/contractClose/{ openid }/{ timestamp }/{ digest }/{ msg_id }
请求示例:

{
  "contractCode": "CON202601001" // 销售合同(必填) 或者 "contractId": 7123456789012345678
}

说明: 本示例仅供参考,具体以参数说明为准。

参数说明:

参数名 类型 必填 说明
contractId Long 销售合同ID,与 contractCode 至少传一个,优先使用 contractId
contractCode String 销售合同编号(name字段),与 contractId 至少传一个

响应示例:

{
  "return_code": 0,
  "return_msg": "success",
  "msg_id": "X0001",
  "response_data": null
}

异常示例:

{
  "msg_id": "X000001",
  "return_code": 1,
  "return_msg": "销售合同不存在"
}

参数说明:

参数 说明
return_code 响应编码。0:成功,1:失败。其他详见附录错误码说明 (opens new window)
return_msg 响应信息
msg_id 消息ID

# 推送销售合同

推送说明:参见 推送aPaaS对象数据变更 (opens new window)

请求示例:

{
  "appId": 200004,
  "data": {
    "objectKey": "ig_contract",
    "owner": {
      "name": "hts",
      "id": "7007385368014262146",
      "status": "1"
    },
    "slaveObjectMap": {
      "ig_contract_detail": [
        {
          "contract_id": {
            "name": "HT2025070200156",
            "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"
          },
          "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"
          },
          "quotation_detail_id": {
            "name": "00360",
            "id": "8581231224382607791",
            "status": "1"
          },
          "actual_price": "39.00",
          "approval_status": {
            "code": "APPROVED",
            "label": "已通过"
          },
          "source_type": {
            "code": "LROPFXCJ",
            "label": "自建"
          },
          "root_node_id": "6123531975969938990",
          "pd_count": "1.00",
          "slave_quotation_id": {
            "name": "BJD2025052800110",
            "id": "6643779260661689239",
            "status": "1"
          },
          "creator_id": {
            "name": "hts",
            "id": "7007385368014262146",
            "status": "1"
          },
          "name": "HTMX2025070200466",
          "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"
    },
    "quotation_id": {
      "name": "BJD2025052800110",
      "id": "6643779260661689239",
      "status": "1"
    },
    "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": "自建"
    },
    "total_amount": "39.00",
    "contract_date": {
      "format": "YYYY-MM-DD",
      "value": "2025-07-03"
    },
    "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"
    },
    "name": "HT2025070200156",
    "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"
}