Du är här:
En värderingsprocess per produkt för repriceProduct
Formatera InsProductService:repriceProduct userInputs för produkter som använder en enskild värderingsprocess per rotprodukt.
För de flesta produkter som använder flera värderingsprocesser i produkthierarkin eller flera specifikationer på någon nivå i hierarkin formaterar du JSON för indata på olika sätt. Se flera värderingsprocesser per produkt eller flera specifikationer på någon nivå för repriceProduct.
Produkter som konfigurerades innan utgåvan Winter '23 240.22 kan ha flera underordnade specifikationer på en given nivå i hierarkin, inga underordnade specifikationer och endast en värderingsprocess på rotnivå. För dessa produkter, använd samma userInputs som du gjorde i tidigare utgåvor.
För att förhindra fel, kör tjänsten med endast en typ av userInputs åt gången.
Med början i utgåvan Summer '20 accepterar JSON för indata en additionalInputs. Använd denna nod för att ange stage som en ytterligare indata så att systemet utvärderar fas korrekt när tjänsten körs.
Behörighetsregler stöds inte.
För alla produkter kan målformatet för objektet userInputs hämtas från servicelistningen på produktvyns API-flik. Objektnycklarna är i formatet "<ProductCode>.<AttributeCode>" där ProductCode är koden för produkten eller produktkoden för associerade täckningsspecifikationer, försäkrade objektspecifikationer eller betygsfakta.
<productCode>.isSelected för täckningen är även tillgänglig för användning i uttrycksuppsättningen eller beräkningsförfarandet.
Denna tjänst har endast stöd för ett objekt i sin postmatris.
{
"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
}]
}
}Ett alternativt tillvägagångssätt är att definiera en Omnistudio Data Mapper-transformation som mappar de data som skickas till indata-JSON till den form tjänsten behöver. Denna Datamappnings JSON för utdata är selectedProducts som krävs av repriceProduct och userInputs JSON som definieras på fliken API för produktvyer. För att konfigurera tjänsten att använda Datamappningen, sätt alternativet preTransformBundle till namnet på Datamappningen.
