您位於此處:
InsContractServiceStd:createUpdateContract
使用此服務為指定的報價建立或更新契約。
Name、SourceQuote、SourceOpportunity 和 Pricebook 欄位啟用「欄位級安全性」。類別:InsContractServiceStd
方法:createUpdateContract
運作方式
-
此服務會在報價的產品 JSON 中尋找
inputKey值,其中包含productConfigurationDetail地圖、additionalFields、QuoteId和AccountId。 -
productConfigurationDetail包含指定「報價」的報價條列項目資料,服務會用來建立契約群組計畫。 -
quoteId是服務建立契約的報價識別碼。AccountId是連結至契約的帳戶識別碼。 -
服務會根據
QuoteId、AccountId和 additionalFields 建立「契約」並填入其欄位。服務會根據此「契約」建立「保險契約」,並使用additionalFields資料填入其欄位。 -
如果已指定
contractId,則服務會更新契約。 -
如果未指定
contractId,則服務會建立新的contractId。
遠端選項
選項 |
描述 |
|---|---|
|
選擇性 契約的識別碼。 |
|
選擇性 價目手冊的名稱。 |
|
必要。 要建立之契約和契約群組計畫的輸入 JSON。它有 |
服務行為
瞭解不同的輸入如何影響服務輸出。
輸入 |
輸出 |
|---|---|
inputJson否contractId
|
服務不會建立契約。 |
否 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"
}