Loading
保险
InsContractServiceStd:createUpdateContract

InsContractServiceStd:createUpdateContract

使用此服务为给定报价创建或更新合同。

备注
备注 必须为合同实体的Name、SourceQuote、SourceOpportunity和Pricebook字段启用字段级安全性。

类:InsContractServiceStd​​

方法:createUpdateContract

工作原理

  1. 此服务在报价的产品 JSON 中查找inputKey值,其中包含productConfigurationDetail映射、additionalFields、​QuoteId和AccountId​​。

  2. ​productConfigurationDetail包含给定报价的报价行项目的数据,服务使用该数据创建合同组计划。

  3. ​​quoteId是服务为其创建合同的报价的 ID。AccountId​​是链接到合同的客户 ID。

  4. 基于 QuoteId、AccountId 和 additionalFields,服务创建合同并填充字段。与此合同对应,服务创建保险合同,并使用additionalFields数据填充字段。

  5. 如果指定了contractId,服务会更新合同。

  6. 如果未指定contractId,服务会创建新contractId。

远程选项

选项

描述

contractId

可选

合同的 ID。

pricebook

可选

价格手册的名称。

inputJson

必需。

输入要创建的合同和合同组计划的 JSON。它有productConfigurationDetail、additionalFields、AccountId和QuoteId。

服务行为

了解不同的输入如何影响服务输出。

输入

输出

没有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"
}
 
正在加载
Salesforce Help | Article