詳細情報:
InsProductService:getRatedProducts
このサービスを使用して、1 つ以上の商品の配列を取得し、それらの商品に添付されている評価手順を使用して価格を設定します。このサービスには、税金と手数料の計算、絞り込み、パフォーマンスの最適化などの追加機能も含まれます。
操作手順
-
サービスは Salesforce を検索し、有効開始日と有効終了日に含まれる有効な商品のセットを取得します。詳細は、次の effectiveDate を参照してください。
クエリの一部として、サービスは filter オプションで渡された条件を使用して商品の初期セットを取得します。Salesforce から取り込まれるデータには、商品の対象資格ルールと評価手順、保険品目仕様、被保険者仕様、補償範囲仕様、評価結果仕様、およびすべての属性が含まれます。
-
対象資格ルールに基づいて初期セットの各商品を評価し、商品セットをさらに削減します。
-
入力 JSON で
userInputsキーを検索し、キーの値を取得します。userInputsは、評価手順で商品の価格を取得するために使用する入力データのセットです。サービスは、商品評価の入力の対応付けに基づいてこのオブジェクトを評価し、評価手順に必要な入力 JSON を作成します。userInputsの形式は、商品定義と評価設定によって異なります。エラーを回避するには、すべて同じ種別のuserInputs形式を使用する商品を絞り込みます。 -
ステップ 2 で作成したセットの各商品を評価します。ステップ 3 の入力 JSON を使用して、商品に関連付けられた評価手順がコールされます。
-
各商品の合計金額と合計保険金額を含む商品オブジェクトの配列を返します。
返された各商品オブジェクトには、評価手順からの出力 JSON も
CalculatedPriceDataの値として含まれます。商品で数式が設定されている場合は、priceとtotalSumInsuredも設定されます。次の点に注意してください。
-
1 つの属性が [値を設定] 属性ルールと [デフォルト値を設定] 属性ルールの両方で設定されている場合、
getRatedProductsは [デフォルト値を設定] 属性ルールのみを適用します。 -
属性ルール式を設定するときは、下位レベルの構造で属性値を参照しないでください。
-
リモートオプション
オプション |
説明 |
|---|---|
|
たとえば、複数の車に複数の運転者が加入している自動車保険契約では、計算手順に |
|
階層の特定のレベルに複数の子仕様があり、孫仕様がなく、ルートレベルで評価手順が 1 つのみの製品に対して、このオプションを [ これらの条件をすべて満たしていない商品については、このオプションを省略します。 この種別の商品の |
|
結果に値が含まれるのは、計算手順で使用される入力キーのみです。 |
|
このオプションは、小グループ評価に使用します。 |
|
PartOfAProductName このオプションを使用すると、指定した値を含む名前の商品のみが取得されます。 |
|
productField1, productField2. 指定した順序でサービスが取得する商品を並び替えます。 このオプションで このオプションの値を指定しない場合、返された商品は名前のアルファベット昇順で並び替えられます。 |
オプション |
説明 |
|---|---|
|
検索条件で指定された属性値を満たす商品のみを返します。 |
|
デフォルトは今日の日付です。 サービスは、 また、この |
|
API 参照名にはコロンを入力し、その後に値または変数を指定します。たとえば、OmniScript では、入力選択リストなどの要素の名前を変数にできます。 複数の検索条件パラメーターはカンマで区切ります。
検索条件には、 |
|
デフォルトは 出力 JSON で、商品の配列と共に 子商品属性は含まれません。 |
|
このオプションの値として有効な Salesforce SOQL ステートメントを入力します。 このサービスを使用して、商品を検索するときに複数選択リスト項目を確認します。 たとえば、このステートメントでは、複数選択リストで市場区分が「Small Group」で、市場区分が「Small Group」より多いか、まったくない商品が 重要
フィルタキーから たとえば、検索条件に |
オプション |
説明 |
|---|---|
|
デフォルトは このオプションを [ 商品で省略可能な補償を使用しない場合は、デフォルト設定の [ |
|
デフォルトは 計算手順の結果全体を |
|
[
このオプションは、サービスの結果を使用する UI がない場合に便利です。たとえば、このサービスを含むインテグレーション手順をバッチモードで実行している場合などです。 |
|
デフォルトは 同じ評価手順を使用する商品で評価手順コールをグループ化することで、評価コールを最適化します。入力オブジェクトの配列を使用して 1 つの評価コールを実行します。 これは、大量の商品リストを取り込む場合に役立ちます。複数の評価コールが SQL 制限に達する可能性があります。評価手順アーキテクチャは、入力オブジェクトの配列を処理し、必要な SQL クエリの数を最小限に抑えるように最適化されています。 |
|
このオプションは、 |
|
true の場合、サービスは価格設定なしで商品を返します。 |
|
“ProductClassName1,ProductClassName2” 商品クラス名のカンマ区切りリスト。商品のリストを次の商品クラスに制限します。 |
|
デフォルトは このオプションでは、ヒープサイズが縮小されるため、パフォーマンスが向上します。 使用している評価手順がルート製品レベルでのみ定義されている場合、このオプションを [ |
オプション |
説明 |
|---|---|
|
[ |
|
デフォルトは [ 代わりに、入力マップまたはオプションマップのキー |
|
[ |
|
サービスを実行する必要がある入力規則がある場合は、[ |
オプション |
説明 |
|---|---|
|
サービスが UI に取り込んだ最後の商品 ID を指定します。 このオプションは |
|
1 回のコールでサービスが UI に返す商品の数を確認します。 |
Input JSON
InsProductService: getRatedProducts は、入力 JSON でuserInputsキーを検索します。商品定義と評価設定に応じて適切なuserInputs形式を使用します。このサービスでは、一度に 1 つの種別の userInputs 形式のみを使用できます。
-
getRatedProducts の商品ごとに 1 つの評価手順
ルート商品ごとに 1 つの評価手順を使用する商品の形式
userInputs。 -
製品ごとの複数の評価手順または getRatedProducts の任意のレベルの複数の仕様
商品階層で複数の評価手順を使用する商品、または階層の任意のレベルで複数の子仕様を使用する商品の書式
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 属性の値は、以下を含むオブジェクトです。
キー |
値 |
|---|---|
|
属性の名前。 |
|
カテゴリの名前。 |
|
配列内の商品の可能な値のリスト。 |
|
属性のデータ型 (テキスト、通貨など)。 |
税金と手数料
税金と手数料がサービスを使用する場合、計算された税金と手数料は、次の 3 つの異なる方法で JSON レコードに表示されます。
-
レコードに税金と手数料が計算されている場合、それらはリストとして [
taxesAndFees] フィールドに保存されます。{ "taxesAndFees": [{ "Id": 1, "calculatedAmount": 10, "Type__c": "Tax" }, { "Id": 2, "calculatedAmount": 15, "Type__c": "Fee" }] } -
レコードに自身または子の税金が計算されている場合、レコード自体と子の税金の合計が [
taxAmount] フィールドに保存されます。{ "taxAmount”: 25 // 10 from self, 15 from children} -
レコードに自身または子の計算済み料金がある場合、自身と子の計算済み料金の合計が [
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
}]
}
}
- getRatedProducts の商品ごとに 1 つの評価手順
ルート商品ごとに 1 つの評価手順を使用する商品の形式InsProductService:getRatedProducts userInputs。 - getRatedProducts の商品ごとの複数の評価手順または任意のレベルの複数の仕様
商品階層で複数の評価手順を使用する商品、または階層の任意のレベルで複数の子仕様を使用する商品の書式InsProductService:getRatedProducts userInputs。
