Loading
보험
InsContractServiceStd:createUpdateContract

InsContractServiceStd:createUpdateContract

이 서비스를 사용하여 주어진 견적서에 대한 계약을 만들거나 업데이트합니다.

노트
노트 계약 엔티티의 Name, SourceQuote, SourceOpportunity 및 Pricebook 필드에 대해 필드 수준 보안을 활성화해야 합니다.

클래스: InsContractServiceStd​​

방법: createUpdateContract

작동 방법

  1. 이 서비스는 productConfigurationDetail 맵, additionalFields, ​QuoteId 및 AccountId​​이 포함된 견적서의 제품 JSON에서 inputKey 값을 찾습니다.

  2. ​productConfigurationDetail에는 해당 견적서의 견적서 행 항목에 대한 데이터가 포함되어 있으며, 해당 서비스는 해당 견적서의 견적서 행 항목을 사용하여 계약 그룹 계획을 만듭니다.

  3. ​​quoteId는 서비스가 계약을 생성하는 견적서의 ID이고, AccountId​​는 계약에 연결된 계정의 ID입니다.

  4. QuoteId, AccountId 및 추가 필드를 기반으로 서비스가 계약을 만들고 해당 필드를 채웁니다. 본 계약에 해당하는 서비스는 보험 계약을 작성하고 additionalFields 데이터를 사용하여 해당 필드를 채웁니다.

  5. contractId가 지정된 경우 서비스가 계약을 업데이트합니다.

  6. contractId가 지정되지 않은 경우 서비스에서 새 contractId를 만듭니다.

원격 옵션

옵션

설명

contractId

선택 사항

계약 ID입니다.

pricebook

선택 사항

가격 목록의 이름입니다.

inputJson

(필수)

생성할 계약 및 계약 그룹 계획의 입력 JSON입니다. 그것은 productConfigurationDetail, additionalFields, AccountId 및 QuoteId.

서비스 동작

다양한 입력이 서비스 출력에 미치는 영향을 이해합니다.

입력

출력

No contractId and no inputJson 서비스에서 계약을 만들 수 없습니다.
No contractId and inputJson 서비스에서 새 계약, 보험 계약, 계약 그룹 계획을 만듭니다.
contractId and no inputJson 서비스가 계약을 업데이트하지 않습니다.
contractId 및 inputJson 서비스가 기존 계약, 보험 계약, 계약 그룹 계획을 업데이트합니다.

입력 JSON

이 샘플은 contractJson가 입력 키이고 productConfigurationDetail에 제품 JSON이 포함된 새 계약 입력 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