詳細情報:
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
|
既存の契約、保険契約、契約グループプランが更新されます。 |
Input 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 (サービスが契約を作成するとき)
新しい契約を作成すると、新しい契約のcontractIdが出力 JSON で返されます。既存の契約を更新する場合、出力 JSON は返されません。
{
"contractId: "0rfRN0000000014YAA",
"errorCode": "INVOKE-200",
"error": "OK"
}出力 JSON (サービスがエラーを返した場合)
例外が発生した場合、サービスは空の文字列を返します。また、エラーのあるメンバーのリストも返します。各リスト項目は、入力メンバーデータとエラーで構成されます。
{
"contractId: "",
"errors" : "List of errors, if any",
"errorCode": "INVOKE-200",
"error": "OK"
}