Loading
システム管理者に対するフィッシング耐性MFA・全従業員ユーザーMFAの適用のお知らせ 続きを読む
Insurance
InsProductService:getRatedProducts

InsProductService:getRatedProducts

このサービスを使用して、1 つ以上の商品の配列を取得し、それらの商品に添付されている評価手順を使用して価格を設定します。このサービスには、税金と手数料の計算、絞り込み、パフォーマンスの最適化などの追加機能も含まれます。

クラス: InsProductService

方法: getRatedProducts

このサービスを使用するには、評価手順で商品の価格設定に必要な入力セットを渡します。このサービスは、評価手順から商品の絞り込まれた配列と結果 JSON を返します。

操作手順

  1. サービスは Salesforce を検索し、有効開始日と有効終了日に含まれる有効な商品のセットを取得します。詳細は、次の effectiveDate を参照してください。

    クエリの一部として、サービスは filter オプションで渡された条件を使用して商品の初期セットを取得します。Salesforce から取り込まれるデータには、商品の対象資格ルールと評価手順、保険品目仕様、被保険者仕様、補償範囲仕様、評価結果仕様、およびすべての属性が含まれます。

  2. 対象資格ルールに基づいて初期セットの各商品を評価し、商品セットをさらに削減します。

  3. 入力 JSON でuserInputsキーを検索し、キーの値を取得します。userInputs は、評価手順で商品の価格を取得するために使用する入力データのセットです。サービスは、商品評価の入力の対応付けに基づいてこのオブジェクトを評価し、評価手順に必要な入力 JSON を作成します。

    userInputsの形式は、商品定義と評価設定によって異なります。エラーを回避するには、すべて同じ種別のuserInputs形式を使用する商品を絞り込みます。

  4. ステップ 2 で作成したセットの各商品を評価します。ステップ 3 の入力 JSON を使用して、商品に関連付けられた評価手順がコールされます。

  5. 各商品の合計金額と合計保険金額を含む商品オブジェクトの配列を返します。

    返された各商品オブジェクトには、評価手順からの出力 JSON も CalculatedPriceData の値として含まれます。商品で数式が設定されている場合は、priceとtotalSumInsuredも設定されます。

    次の点に注意してください。

    • 1 つの属性が [値を設定] 属性ルールと [デフォルト値を設定] 属性ルールの両方で設定されている場合、getRatedProducts は [デフォルト値を設定] 属性ルールのみを適用します。

    • 属性ルール式を設定するときは、下位レベルの構造で属性値を参照しないでください。

リモートオプション

評価オプション

オプション

説明

aggByKey

PRODUCT.instanceKey

aggByKey を設定すると、aggregationResult が空でない場合、その値が計算手順のaggregationResultに含まれます。(通常、aggregationResultは計算手順に集計ステップが設定されている場合に入力されます)。

たとえば、複数の車に複数の運転者が加入している自動車保険契約では、計算手順にaggByKeyを渡す必要があります。

alwaysCreateInstance

階層の特定のレベルに複数の子仕様があり、孫仕様がなく、ルートレベルで評価手順が 1 つのみの製品に対して、このオプションを [true] に設定します。

これらの条件をすべて満たしていない商品については、このオプションを省略します。

この種別の商品のuserInputsを書式設定するには、「getRatedProducts の商品ごとの 1 つの評価手順」を参照してください。

includeInputKeys

CalculatedPriceData オブジェクト内の出力商品オブジェクトに含めるカンマ区切り入力キーの文字列。

結果に値が含まれるのは、計算手順で使用される入力キーのみです。

rateType

Age または Composite

このオプションは、小グループ評価に使用します。

searchText

PartOfAProductName

このオプションを使用すると、指定した値を含む名前の商品のみが取得されます。

sortBy

productField1, productField2.

指定した順序でサービスが取得する商品を並び替えます。

このオプションで DESC を使用すると、商品を降順に並び替えることができます。降順する最初の項目を指定できます。開始する場所を指定しない場合、DESCはデフォルトでアルファベット順になります。

このオプションの値を指定しない場合、返された商品は名前のアルファベット昇順で並び替えられます。

検索条件オプション

オプション

説明

attributeFilters

attributeCodeと値のマップ

検索条件で指定された属性値を満たす商品のみを返します。

effectiveDate

“YYYY-MM-DD HH:MM:SS” または %OmniScriptDataElement%

デフォルトは今日の日付です。

サービスは、EffectiveDate__c、EndDate__c、IsActive 間のeffectiveDateがある商品を取得します。

また、このeffectiveDateを使用して、商品の評価に使用される計算手順の正しいバージョンを選択します。

filters

Product2FieldName:Value

Product2FieldName:%ElementName%

API 参照名にはコロンを入力し、その後に値または変数を指定します。たとえば、OmniScript では、入力選択リストなどの要素の名前を変数にできます。

複数の検索条件パラメーターはカンマで区切ります。

ProductCode:Value,ProductCode:%ElementName%

検索条件には、Product2オブジェクトの任意のフィールドを含めることができます。

includeFilterAttrValues

true または false

デフォルトは false です。

出力 JSON で、商品の配列と共に filterAttrValues オブジェクトが追加されます。このオブジェクトには、絞り込み可能とマークされたルート商品属性と可能な値のリストが含まれます。このリストは、大規模な商品セットを絞り込むために一部の UI テンプレートで使用されます。

子商品属性は含まれません。

whereClause

このオプションの値として有効な Salesforce SOQL ステートメントを入力します。

このサービスを使用して、商品を検索するときに複数選択リスト項目を確認します。

たとえば、このステートメントでは、複数選択リストで市場区分が「Small Group」で、市場区分が「Small Group」より多いか、まったくない商品がvlocity_ins_marketsegment_c includes ('Small Group') 選択されます。

重要
重要

フィルタキーからwhereClause内のフィールドへの参照を削除します。

たとえば、検索条件に vlocity_ins_marketsegment_c:Small Group があり、同じフィールドへの参照を含むwhereClauseがある場合、それらが衝突して競合し、予測できない結果になります。

最適化のオプション

オプション

説明

includeOptionalCovSelectFlag

true または false

デフォルトは false です。

このオプションを [true] に設定すると、サービスは評価の入力を計算手順に渡す前に省略可能な対象範囲ルールを評価します。

商品で省略可能な補償を使用しない場合は、デフォルト設定の [false] を使用します。省略可能な補償範囲データを取得して評価入力に追加するには、追加の処理が必要であり、このサービスが遅くなる可能性があります。

includeRawCalculationResult

true または false

デフォルトは false です。

計算手順の結果全体をRawPriceDataキーに含めます。

isBatchMode

true または false

[true] に設定すると、属性カテゴリが含まれず、属性で選択された値とルールが含まれる簡略化された商品 JSON が返されます。

false に設定すると、完全な商品 JSON が返されます。

このオプションは、サービスの結果を使用する UI がない場合に便利です。たとえば、このサービスを含むインテグレーション手順をバッチモードで実行している場合などです。

mergeList

true または false

デフォルトは false です。

同じ評価手順を使用する商品で評価手順コールをグループ化することで、評価コールを最適化します。入力オブジェクトの配列を使用して 1 つの評価コールを実行します。

これは、大量の商品リストを取り込む場合に役立ちます。複数の評価コールが SQL 制限に達する可能性があります。評価手順アーキテクチャは、入力オブジェクトの配列を処理し、必要な SQL クエリの数を最小限に抑えるように最適化されています。

omitChildren

true または false

このオプションは、omitRating も true に設定している場合にのみ true に設定します。これにより、価格設定のない商品が返されます。

omitRating

true または false

true の場合、サービスは価格設定なしで商品を返します。

productClasses

“ProductClassName1,ProductClassName2”

商品クラス名のカンマ区切りリスト。商品のリストを次の商品クラスに制限します。

rootPricingOnly

true または false

デフォルトは false です。

このオプションでは、ヒープサイズが縮小されるため、パフォーマンスが向上します。

使用している評価手順がルート製品レベルでのみ定義されている場合、このオプションを [true] に設定してパフォーマンスを向上させることができます。

ルールオプション

オプション

説明

evalOptionalCoverageRelationship

[true] または [true] に設定しfalseた場合、サービスは省略可能な対象範囲リレーションルールを実行します。

omitEligibility

true または false

デフォルトは false です。

[true] に設定されている場合、サービスは対象商品を照会しません。

代わりに、入力マップまたはオプションマップのキーproductsの下にリスト商品 ID を指定する必要があります。商品 ID のリストまたはカンマ区切り商品 ID の文字列は、どちらもproductsで使用可能な値です。

ruleAttributeSetValues

true または false

false に設定した場合、サービスは属性セット値ルールを実行しません。

[true] に設定すると、サービスは属性セット値ルールを実行します。

validateCoverageSelection

true または false

サービスを実行する必要がある入力規則がある場合は、[true] に設定します。

アドオン関数オプション

オプション

説明

calculateTaxesAndFees

省略可能

true または false

true に設定した場合、対象商品の税金と手数料を計算します。

includeFullProductJson

true または false

このオプションは、入力 JSON に基づいて API への応答で追加の孫ノードの存在を制御します。true に設定すると、出力 JSON に 2 つの変更があります。

  • 孫の種別が被保険者の場合、親 JSON ノードにはプライマリ関係者とその他の関係者という 2 つの追加の子ノードが含まれます。この 2 つの新しいノードは、孫ノードにisPrimary フラグが設定されているかどうかに基づいて入力されます。

  • 孫の種別が被保険者項目の場合、この 2 つのノード (主関係者とその他の関係者) は応答 API に表示されません。入力 JSON に含まれる孫は、API の出力 JSON で正しい親ノードにリンクされます。

下位互換性を確保するため、デフォルトは false です。

jurisdictionIds

種別: ID の文字列リスト

calculateTaxesAndFees オプションと組み合わせて使用します。

指定された管轄区域に関連付けられた税金と手数料のみを計算します。

taxAndFeeEffectiveDate

このサービスが税金と手数料の計算に使用する発効日。このオプションは、製品の価格設定に使用される effectiveDate オプションとは異なります。

値を指定した場合、サービスはその値を使用します。

値が指定されておらず、商品 JSON がポリシーではない場合、サービスはデフォルトで今日の日付に設定されます。

withTaxFeeRounding

省略可能

true の場合、計算された税金と手数料の金額は、半偶数丸め方法を使用して小数点以下 2 桁に丸められます。withTaxFeeRounding は、 calculateTaxesAndFees オプションも true の場合にのみ有効です 。false の場合、丸めは無効になります。

デフォルト値は false です。

UI オプション

オプション

説明

lastRecordId

サービスが UI に取り込んだ最後の商品 ID を指定します。

このオプションは pageSize オプションと共に使用します。

pageSize

1 回のコールでサービスが UI に返す商品の数を確認します。

Input JSON

InsProductService: getRatedProducts は、入力 JSON でuserInputsキーを検索します。商品定義と評価設定に応じて適切なuserInputs形式を使用します。このサービスでは、一度に 1 つの種別の userInputs 形式のみを使用できます。

出力 JSON

サービスは 1 つ以上の商品オブジェクトの配列を返します。このオブジェクトについての詳細は、「商品 JSON 構造モデル」を参照してください。

入力 JSON からマッピングされたuserInputsは、マッピングされた属性の単一インスタンスのuserValuesキーとして商品オブジェクトに追加されます。

商品ごとに、評価手順の計算からの出力 JSON が CalculatedPriceData キーを使用して商品に追加されます。商品で価格設定数式が設定されている場合、Price の値はその計算値に設定されます。商品で保険金額合計数式が設定されている場合、TotalInsured の値はその計算値に設定されます。

この例では、商品に価格設定数式が設定されていますが、合計保険金額は設定されていません。CalculatedPriceDataは評価手順の結果に追加され、価格は数式に基づいて計算されます。被保険者の合計数式はデータに表示されず、TotalInsuredもされません。

{
  "totalSize": 2,
  "records": [{
      "displaySequence": -1,
      "CalculatedPriceData": {
        "ID": "1",
        "basePremium": 719,
        "premGenlLiab": "356"
      },
      "Id": "01t6A000000FshIQAS",
      "Name": "Economy Business",
      "Family": "Commercial Lines",
      "ProductCode": "bop-ECON",
      "LineOfBusiness__c": "Property & Casualty",
      "Type__c": "BusinessOwners",
      "IsRecommended__c": false,
      "RecordTypeName__c": "Product",
      "IsConfigurable__c": true,
      "PricingFormula__c": "basePremium + premGenlLiab",
      "Term__c": "Annual",
      "productId": "01t6A000000FshIQAS",
      "Price": 1075,
      "childProducts": {
        ...
      },
      "attributeCategories": {
        ...
      }
    },
    {
      ...
    }
  }

filterAttrValues Key

[includeFilterAttrValues] オプションでは、商品配列がratedProductsノードに配置され、filterAttrValues結果が並んで追加されます。

{
  "result": {
    "filterAttrValues": {
      "covType": {
        "listOfValues": [
          "Superior",
          "Economy"
        ],
        "valueDataType": "Text",
        "attributeName": "Type",
        "categoryName": "Policy Terms"
      },
      "covDeductible": {
        "listOfValues": [
          "1000",
          "250"
        ],
        "valueDataType": "Currency",
        "attributeName": "Deductible",
        "categoryName": "Policy Terms"
      }
    },
    "ratedProducts": {
      "totalSize": 2,
      "records": [{
          "displaySequence": -1,
          "CalculatedPriceData": {
            "ID": "1",
            "basePremium": 719,
            "premGenlLiab": "356"
          },
          "Id": "01t6A000000FshIQAS",
          "Name": "Economy Business",
          "Family": "Commercial Lines",
          "ProductCode": "bop-ECON",
          ...,
          "Price": 1075,
          "childProducts": {
            ...
          },
          "attributeCategories": {
            ...
          }
        },
        {
          ...
        }
      }
    }
  }

絞り込み可能な各属性は、キーが属性コードに設定されたオブジェクトに追加されます。各 filter 属性の値は、以下を含むオブジェクトです。

キー

値

attributeName

属性の名前。

categoryName

カテゴリの名前。

listOfValues

配列内の商品の可能な値のリスト。

valueDataType

属性のデータ型 (テキスト、通貨など)。

税金と手数料

税金と手数料がサービスを使用する場合、計算された税金と手数料は、次の 3 つの異なる方法で JSON レコードに表示されます。

  1. レコードに税金と手数料が計算されている場合、それらはリストとして [taxesAndFees] フィールドに保存されます。

    {
      "taxesAndFees": [{
        "Id": 1,
        "calculatedAmount": 10,
        "Type__c": "Tax"
      }, {
        "Id": 2,
        "calculatedAmount": 15,
        "Type__c": "Fee"
      }]
    }
  2. レコードに自身または子の税金が計算されている場合、レコード自体と子の税金の合計が [taxAmount] フィールドに保存されます。

    {  "taxAmount”: 25 // 10 from self, 15 from children}
  3. レコードに自身または子の計算済み料金がある場合、自身と子の計算済み料金の合計が [feeAmount] フィールドに保存されます。

    {  "feeAmount”: 30 // 15 from self, 15 from children}

子レコードとルートに税金と手数料が含まれるサンプル JSON 出力は次のようになります。

{
  "Id": 1,
  "productName": "Product",
  "taxesAndFees": [{
    "Id": 1,
    "calculatedAmount": 10,
    "Type__c": "Tax"
  }, {
    "Id": 2,
    "calculatedAmount": 15,
    "Type__c": "Fee"
  }],
  "taxAmount": 25
  "feeAmount": 30
  "childProducts": {
    "records": [{
      "Id": 2,
      "productName": "Insured Item",
      "taxesAndFees": [{
        "Id": 3,
        "calculatedAmount": 15,
        "Type__c": "Tax"
      }],
      "taxAmount": 15
    }, {
      "Id": 3,
      "productName": "Coverage",
      "taxesAndFees": [{
        "Id": 4,
        "calculatedAmount": 15,
        "Type__c": "Fee"
      }],
      "feeAmount": 15
    }]
  }
}

星による評価

attributeFilters入力を使用して、商品モデラーによって属性として作成された評価に基づいて商品を絞り込むことができます。

 
読み込み中
Salesforce Help | Article