Loading
Verzekering
InsProductAsyncRatingService:repriceProduct

InsProductAsyncRatingService:repriceProduct

Bereken asynchroon de prijs van een product opnieuw op basis van selectedProduct JSON en userInput.

Klasse: InsProductAsyncRatingService

Methode: repriceProduct

Deze service is ontwikkeld voor gebruikscases van Productbeoordeling voor groot volume voor Groepsvoordeel.

De manier waarop het werkt...

  1. Deze service neemt selectedProduct JSON, userInput en de censusId
  2. Vervolgens bekijkt de service het product om te bepalen of het is geconfigureerd voor Op telling gebaseerde beoordeling of Op overzicht gebaseerde beoordeling (op basis van het veld PricingStrategyType__c).
  3. De service roept de InsuranceRatingPtc.rateCensus Core-service aan om de prijs voor alle producten te berekenen. De InsuranceRatingPtc.rateCensus is een asynchrone service, dus de prijs wordt niet onmiddellijk geretourneerd. In plaats daarvan wordt een asyncRequestId geretourneerd.

Invoer

Invoer Beschrijving
groupClassIds

Optioneel.

Een lijst van groepsklasse-ID's.

productCategories

Optioneel.

Een lijst van productcategorieën. De volgorde moet dezelfde zijn als productIds

selectedProduct

Verplicht.

Het opnieuw te prijzen product.

userInputs

Verplicht.

De set invoergegevens die de beoordelingsprocedure gebruikt om de prijs van het product te bepalen.

Voor een kaart <tekenreeks, object> wordt dezelfde set invoergegevens gebruikt voor alle producten.

Voor een lijst<Map<String, Object>> moet de grootte van de lijst gelijk zijn aan de grootte van productIds. Als bepaalde producten geen , voegt u een {} toe aan de lijst.userInput

Het selecteren van dekkingen met CoverageProductCode.isSelected wordt niet ondersteund, maar er wordt wel rekening mee gehouden bij het berekenen van prijzen.

Externe opties

Optie Beschrijving
censusId

Verplicht.

De ID van de groepstelling.

effectiveDate

De ingangsdatum die wordt gebruikt voor beoordeling.

Gebruikt de notatie "JJJJ-MM-DD UU:MM:SS".

Standaard is de datum van vandaag.

evalOptionalCoverageRelationship Bepaalt of optionele dekkingen die beschikbaar zijn voor een deelnemer, moeten worden geëvalueerd op basis van diens relatie met het lid van de primaire telling. Als deze optie is ingesteld op true, roept de service eerst updateOptionalCovIsSelectedField aan en vervolgens repriceProduct.
ruleAttributeSetValues Bepaalt of regels voor Waarde instellen moeten worden uitgevoerd. Als deze optie is ingesteld op true, voert de service kenmerk Waarde instellen-regels uit voordat de prijsstellingsengine wordt aangeroepen.
validateCoverageSelection Bepaalt of validatieregels voor dekking moeten worden uitgevoerd voor de geselecteerde dekkingen. Wanneer deze optie is ingesteld op true, roept de service InsuranceSelectValidationService aan voordat repriceProduct wordt aangeroepen.

Invoer-JSON

Hier is de voorbeeldinvoer-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"
                      }
                    ]
                  }
                }
              ]
            }
          }
        ]
      }
    }
  ]
 }
}

Opties JSON

Hier zijn de voorbeeldopties van JSON:


{     
  "censusId": "0rfRO00000009WTYAY",
  "effectiveDate": "2023-06-22 00:00:00"
}

Uitvoer-JSON

Hier is de voorbeelduitvoer-JSON:

{
  "asyncRequestId": {
    "01tRO000000k6RyYAI": "8zk9f00000Q5jUEHNS"
  }
}
 
Wordt geladen
Salesforce Help | Article