您在此处:
InsContractServiceStd:createUpdateContract
使用此服务为给定报价创建或更新合同。
Name、SourceQuote、SourceOpportunity和Pricebook字段启用字段级安全性。类:InsContractServiceStd
方法:createUpdateContract
工作原理
-
此服务在报价的产品 JSON 中查找
inputKey值,其中包含productConfigurationDetail映射、additionalFields、QuoteId和AccountId。 -
productConfigurationDetail包含给定报价的报价行项目的数据,服务使用该数据创建合同组计划。 -
quoteId是服务为其创建合同的报价的 ID。AccountId是链接到合同的客户 ID。 -
基于
QuoteId、AccountId和 additionalFields,服务创建合同并填充字段。与此合同对应,服务创建保险合同,并使用additionalFields数据填充字段。 -
如果指定了
contractId,服务会更新合同。 -
如果未指定
contractId,服务会创建新contractId。
远程选项
选项 |
描述 |
|---|---|
|
可选 合同的 ID。 |
|
可选 价格手册的名称。 |
|
必需。 输入要创建的合同和合同组计划的 JSON。它有 |
服务行为
了解不同的输入如何影响服务输出。
输入 |
输出 |
|---|---|
没有contractId和inputJson
|
服务不会创建合同。 |
没有contractId和inputJson
|
该服务创建新的合同、保险合同和合同组计划。 |
contractId 無 inputJson |
服务不会更新合同。 |
contractId 和 inputJson
|
该服务会更新现有合同、保险合同和合同组计划。 |
输入 JSON
此示例显示了新合同输入 JSON,其中 contractJson 是输入密钥,productConfigurationDetail 包含产品 JSON:
{
"productConfigurationDetail": {
"records": [
{
"displaySequence": 0,
"currencySymbol": "$",
"currencyCode": "USD",
"Id": "0QLRO0000009kbn4AA",
"productId": "01tRO000000QnqrYAC",
"Product2Id": "01tRO000000QnqrYAC",
"LineNumber": "00000019",
"CreatedDate": "2022-04-14T08:32:35.000+0000",
"QuoteId": "0Q0RO0000000vtw0AA",
"Price": 1,
"UnitPrice": 1,
"vlocityins6__RecordTypeName__c": "Product",
"vlocityins6__Type__c": "Dental",
"TotalPrice": 1,
"LastModifiedDate": "2022-04-14T08:32:35.000+0000",
"vlocityins6__PricingSource__c": "TotalPremium",
"vlocityins6__ProductName__c": "Dental Standard",
"vlocityins6__TotalAmount__c": 1,
"vlocityins6__ProductChildItemSequence__c": 0,
"needReprice": false,
"vlocityins6__NeedReprice__c": false,
"vlocityins6__RelationshipType__c": "Child",
"quoteLineItemId": "0QLRO0000009kbn4AA",
"productName": "Dental Standard",
"ProductCode": "dentalStandard",
"recordType": "Product",
"lineRecordType": "Product",
"Name": "Dental Standard",
"hasAttributes": true,
"coverageCount": 0,
"hasCoverages": false
},
{
"displaySequence": 0,
"currencySymbol": "$",
"currencyCode": "USD",
"Id": "0QLRO0000009kbs4AA",
"productId": "01tRO000000QnWnYAK",
"Product2Id": "01tRO000000QnWnYAK",
"LineNumber": "00000018",
"CreatedDate": "2022-04-14T08:30:59.000+0000",
"QuoteId": "0Q0RO0000000vtw0AA",
"Price": 7425,
"UnitPrice": 7425,
"vlocityins6__RecordTypeName__c": "Product",
"vlocityins6__Type__c": "Dental",
"TotalPrice": 7425,
"LastModifiedDate": "2022-05-31T02:35:56.000+0000",
"vlocityins6__PricingSource__c": "TotalPremium",
"vlocityins6__ProductName__c": "Dental Premium",
"vlocityins6__TotalAmount__c": 7425,
"vlocityins6__ProductChildItemSequence__c": 0,
"needReprice": false,
"vlocityins6__NeedReprice__c": false,
"vlocityins6__RelationshipType__c": "Child",
"quoteLineItemId": "0QLRO0000009kbs4AA",
"productName": "Dental Premium",
"ProductCode": "dentalPremium",
"recordType": "Product",
"lineRecordType": "Product",
"Name": "Dental Premium",
"hasAttributes": true,
"coverageCount": 0,
"hasCoverages": false
}],
"totalSize": 1
},
"additionalFields" : {
"EnrollmentWaitingPeriod": "30",
"Name": "contractAcc-Group Contract",
"ContractTerm": 12,
"EnrollmentCensusId": "0rfRO00000000WRYAY"
},
"AccountId" : "001RO000003fLhQYAU",
"QuoteId" : "0Q0RO0000001DlH0AU"
}输出 JSON(在服务创建合同时)
创建新合同时,将在输出 JSON 中返回新合同的contractId。更新现有合同时,不会返回输出 JSON。
{
"contractId: "0rfRN0000000014YAA",
"errorCode": "INVOKE-200",
"error": "OK"
}输出 JSON(当服务返回错误时)
如果遇到任何异常,服务会返回空字符串。此外,也会返回错误成员列表。每个列表项目由输入成员数据和错误组成。
{
"contractId: "",
"errors" : "List of errors, if any",
"errorCode": "INVOKE-200",
"error": "OK"
}