Loading
メールアドレスがデフォルトのログイン方式となります 続きを読む
Insurance
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> では、すべての商品で同じ入力データセットが使用されます。

List<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 をコールします。

Input 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