Loading
보험
InsProductAsyncRatingService:repriceProduct

InsProductAsyncRatingService:repriceProduct

selectedProduct JSON 및 userInput를 기반으로 제품의 가격을 비동기식으로 재계산합니다.

클래스: InsProductAsyncRatingService

방법: repriceProduct

이 서비스는 그룹 보상 대량 제품 등급 사용 사례를 위해 구축되었습니다.

작동 방법

  1. 이 서비스는 JSON, userInput 및 censusId을 selectedProduct합니다.
  2. 그런 다음, 서비스는 제품을 검토하여 인구 조사 기반 등급 또는 요약 기반 등급(PricingStrategyType__c 필드 기준)에 대해 구성했는지 확인합니다.
  3. 이 서비스는 모든 제품의 가격을 계산하기 위해 InsuranceRatingPtc.rateCensus Core 서비스를 호출합니다. InsuranceRatingPtc.rateCensus 서비스는 비동기식 서비스이므로 즉시 가격을 반환하지 않습니다. 대신, 그것은 asyncRequestId를 반환합니다.

입력

입력 설명
groupClassIds

(선택 사항)

그룹 클래스 ID의 목록입니다.

productCategories

(선택 사항)

제품 범주 목록입니다. 순서는 productIds과 동일해야 합니다.

selectedProduct

(필수)

재평가할 제품입니다.

userInputs

(필수)

평가 절차에서 제품의 가격을 가져오기 위해 사용하는 입력 데이터 집합입니다.

매핑 <문자열, 개체>의 경우 모든 제품에 동일한 입력 데이터 집합이 사용됩니다.

목록<Map<String, Object>>의 경우 목록의 크기는 productIds의 크기와 동일해야 합니다. 일부 제품에 userInput가 없는 경우 목록에 {}를 추가합니다.

CoverageProductCode.isSelected가 있는 보장 범위를 선택하는 것은 지원되지 않지만, 가격 책정을 계산할 때 고려됩니다.

원격 옵션

옵션 설명
censusId

(필수)

그룹 인구 조사의 ID입니다.

effectiveDate

등급에 사용되는 유효 일자입니다.

"YYYY-MM-DD HH:MM:SS" 형식을 사용합니다.

기본값은 오늘 날짜입니다.

evalOptionalCoverageRelationship 기본 인구 조사 구성원과의 관계를 기반으로 참가자에게 제공되는 옵션 보장 범위를 평가할지 여부를 결정합니다. 이 옵션이 true로 설정된 경우 서비스에서 먼저 updateOptionalCovIsSelectedField을 호출한 다음, repriceProduct을 호출합니다.
ruleAttributeSetValues 값 설정 규칙을 실행할지 여부를 결정합니다. 이 옵션이 true로 설정된 경우 서비스에서 가격 책정 엔진을 호출하기 전에 특성 값 설정 규칙을 실행합니다.
validateCoverageSelection 선택한 보장 범위에 대한 보장 확인 규칙을 실행할지 여부를 결정합니다. 이 옵션이 true로 설정되면 서비스에서 repriceProduct를 호출하기 전에 InsuranceSelectValidationService를 호출합니다.

입력 JSON

다음은 샘플 입력 JSON입니다.

{
 "userInputs": {"DentalCoverage.copay": 100},
 "groupClassIds": ["0rEDI0000000IEe2AM", "0rEDI0000000IEe4Hr"],
 "productCategories": ["Dental"],
 "selectedProduct": {
   "records": [
    {
      "displaySequence": -1,
      "CalculatedPriceData": {
        "2015 Lexus LX250": {
          " DRIVER.FN": null,
          "AUTO.instanceKey": "2015 Lexus LX250",
          "totalPrice": 1650,
          "comprehensiveTotal": 500,
          "collisionTotal": 500,
          "liabilityTotal": 650,
          "totalTotal": 400,
          "perAccidentTotal": 150,
          "perPersonTotal": 100,
          "ID": "1"
        }
      },
      "Id": "01tB0000001qc4JIAQ",
      "Name": "Auto Root",
      "ProductCode": "AUTOROOT",
      "IsRecommended__c": false,
      "RecordTypeName__c": "Product",
      "IsConfigurable__c": false,
      "PricingFormula__c": "SUM(liabilityTotal + comprehensiveTotal + collisionTotal + stateTotal)",
      "Term__c": "Annual",
      "TotalInsuredFormula__c": "SUM(AUTO.carValue)",
      "productId": "01tB0000001qc4JIAQ",
      "currencyCode": "USD",
      "currencySymbol": "$",
      "Price": 1000,
      "totalSumInsured": 0,
      "taxesAndFees": [
        {
          "calculatedAmount": 100,
          "currencySymbol": "$",
          "currencyCode": "USD",
          "Type__c": "Fee",
          "RatingType__c": "Amount",
          "ProcedureSource__c": null,
          "ProcedureName__c": null,
          "ProcedureFormula__c": null,
          "Percent__c": null,
          "JurisdictionId__c": null,
          "IsRefundable__c": false,
          "Condition__c": null,
          "Amount__c": 100,
          "Name": "acaf9c93-67b1-5a94-c98f-e7a1387361f1",
          "Id": "a4OB0000000ErbeMAC"
        },
        {
          "calculatedAmount": 50,
          "currencySymbol": "$",
          "currencyCode": "USD",
          "Type__c": "Tax",
          "RatingType__c": "Percent",
          "ProcedureSource__c": null,
          "ProcedureName__c": null,
          "ProcedureFormula__c": null,
          "Percent__c": 5,
          "JurisdictionId__c": null,
          "IsRefundable__c": true,
          "Condition__c": null,
          "Amount__c": null,
          "Name": "c4b50dd7-7b28-27c0-8b9f-87cd68e6a478",
          "Id": "a4OB0000000ErbfMAC"
        }
      ],
      "taxAmount": 160,
      "feeAmount": 145,
      "totalTaxFeeAmount": 305,
      "childProducts": {
        "totalSize": 2,
        "records": [
          {
            "displaySequence": 1,
            "Id": "01tB0000001qc5lIAA",
            "Name": "Collision Deductible Waiver",
            "Description": "We waive your Collision deductible when you're in an accident caused by a driver who has no insurance.",
            "ProductCode": "COL_WAIVER",
            "IsRecommended__c": false,
            "RecordTypeName__c": "CoverageSpec",
            "IsConfigurable__c": true,
            "productId": "01tB0000001qc5lIAA",
            "pciId": "a4bB0000000CzkzIAC",
            "isOptional": false,
            "isSelected": true,
            "attributeCategories": {
              "totalSize": 1,
              "records": [
                {
                  "displaySequence": 1981,
                  "Code__c": "AUTO_COVERAGE",
                  "Name": "Auto Coverage",
                  "productAttributes": {
                    "totalSize": 1,
                    "records": [
                      {
                        "code": "DED_WAIVER",
                        "dataType": "text",
                        "inputType": "dropdown",
                        "multiselect": false,
                        "required": false,
                        "readonly": false,
                        "disabled": false,
                        "filterable": true,
                        "label": "Collision Deductible Waiver",
                        "displaySequence": 3,
                        "hasRules": false,
                        "hidden": false,
                        "values": [
                          {
                            "id": "0",
                            "label": "No coverage",
                            "readonly": false,
                            "disabled": false,
                            "value": "No coverage"
                          },
                          {
                            "id": "1",
                            "label": "$1,000 deductible",
                            "readonly": false,
                            "disabled": false,
                            "value": "1000"
                          }
                        ],
                        "userValues": "No coverage"
                      }
                    ]
                  }
                }
              ]
            }
          }
        ]
      }
    }
  ]
 }
}

옵션 JSON

다음은 JSON 옵션 샘플입니다.


{     
  "censusId": "0rfRO00000009WTYAY",
  "effectiveDate": "2023-06-22 00:00:00"
}

출력 JSON

샘플 출력 JSON은 다음과 같습니다.

{
  "asyncRequestId": {
    "01tRO000000k6RyYAI": "8zk9f00000Q5jUEHNS"
  }
}
 
로드 중
Salesforce Help | Article