詳細情報:
repriceProduct の商品ごとに 1 つの評価手順
ルート商品ごとに 1 つの評価手順を使用する商品の形式InsProductService:repriceProduct userInputs。
商品階層で複数の評価手順を使用するか、階層の任意のレベルで複数の仕様を使用するほとんどの商品では、入力 JSON の形式が異なります。 repriceProduct については、「商品ごとの複数の評価手順」または「任意のレベルでの複数の仕様」を参照してください。
Winter '23 リリース 240.22 より前に設定された商品では、階層の特定のレベルに複数の子仕様を含めることができ、孫の仕様はありません。また、ルートレベルでは評価手順が 1 つしか使用できません。これらの製品では、以前のリリースと同じuserInputs形式を使用します。
エラーを回避するには、一度に 1 つの種別のuserInputs形式のみでサービスを実行します。
Summer '20 以降、入力 JSON で additionalInputs ノードを使用できます。このノードを使用して、stageを追加の入力として設定し、サービスの実行時にシステムがフェーズを正しく評価できるようにします。
対象資格ルールはサポートされていません。
すべての製品で、userInputsオブジェクトの対象形式は、製品ビューの [API] タブのサービスリストから取得できます。オブジェクトキーはフォーム"<ProductCode>.<AttributeCode>"にあります。ProductCode は商品のコード、または関連付けられた補償範囲仕様、保険品目仕様、評価結果の商品コードです。
対象範囲の<productCode>.isSelectedは、式セットまたは計算手順でも使用できます。
このサービスでは、レコード配列で 1 つのオブジェクトのみがサポートされます。
{
"selectedProduct": {
"records": [{
"rootProductId": "01t1I000002fuBoQAI",
"rootProductCode": "AUTOROOT",
"timestamp": 1533948385704,
"hasInstanceKeys": true,
"childProductsCount": 8,
"instanceKeyChildren": 2,
"pathFromChild": "[0]",
"pathFromRoot": "[0]",
"attributeCategories": {
...
}
"childProducts": {
...
}
"Price": 80,
"productId": "01t1I000002fuBoQAI",
"Term__c": "Semi-Annual",
"PricingFormula__c": "SUM(AutoPremium__autoPremium + rentalTotal + medicalTotal + roadsideTotal + dedWaiverTotal + uninsuredMotoristPDTotal + uninsuredMotoristBITotal)",
"IsConfigurable__c": true,
"RecordTypeName__c": "Product",
"IsRecommended__c": false,
"ProductCode": "AUTOROOT",
"Name": "Auto Root",
"Id": "01t1I000002fuBoQAI",
"RawPriceData": [{
"aggregationResults": {},
"calculationResults": [{
"ID": "0",
"comprehensiveTotal": 500,
"rentalTotal": 40,
"medicalTotal": 10,
"roadsideTotal": 10,
"dedWaiverTotal": 10,
"uninsuredMotoristPDTotal": 0,
"uninsuredMotoristBITotal": 100,
"AUTO.instanceKey": "2015 Lexus LX250",
"DRIVER.FN": "Joan",
"DRIVER.LN": "Smith"
},
{
...
}
]
},
{
"aggregationResults": {},
"calculationResults": [{
"ID": "4",
"comprehensiveTotal": 500,
"rentalTotal": 40,
"medicalTotal": 10,
"roadsideTotal": 10,
"dedWaiverTotal": 10,
"uninsuredMotoristPDTotal": 0,
"uninsuredMotoristBITotal": 100,
"AUTO.instanceKey": "2006 Honda Odyssey",
"DRIVER.FN": "Joan",
"DRIVER.LN": "Smith"
},
{
...
}
]
}
],
"CalculatedPriceData": {
"2006 Honda Odyssey": {
"ID": "4",
"comprehensiveTotal": 500,
"rentalTotal": 40,
"medicalTotal": 10,
"roadsideTotal": 10,
"dedWaiverTotal": 10,
"uninsuredMotoristPDTotal": 0,
"uninsuredMotoristBITotal": 100,
"AUTO.instanceKey": "2006 Honda Odyssey",
"DRIVER.FN": "Joan",
"DRIVER.LN": "Smith"
},
"2015 Lexus LX250": {
"ID": "0",
"comprehensiveTotal": 500,
"rentalTotal": 40,
"medicalTotal": 10,
"roadsideTotal": 10,
"dedWaiverTotal": 10,
"uninsuredMotoristPDTotal": 0,
"uninsuredMotoristBITotal": 100,
"AUTO.instanceKey": "2015 Lexus LX250",
"DRIVER.FN": "Joan",
"DRIVER.LN": "Smith"
}
},
"displaySequence": -1
}]
}
}別のアプローチとして、入力 JSON に渡されるデータをサービスに必要な形式にマッピングする OmniStudio データマッパー変換を定義します。このデータマッパーの出力 JSON は、repriceProduct で必要な selectedProducts ノードと、[商品ビュー API] タブで定義された userInputs JSON です。データマッパーを使用するようにサービスを設定するには、[preTransformBundle] オプションをデータマッパーの名前に設定します。
