Loading
Forsikring
InsProductAsyncRatingService:repriceProduct

InsProductAsyncRatingService:repriceProduct

Genberegn asynkront prisen på et produkt baseret på selectedProduct JSON og userInput.

Kategori: InsProductAsyncRatingService

Metode: repriceProduct

Denne tjeneste er opbygget til anvendelsessituationer med Group Benefit - Storvolumen Produktvurdering.

Sådan fungerer det

  1. Denne tjeneste bruger selectedProduct JSON, userInput og censusId
  2. Derefter ser tjenesten på produktet for at bestemme, om det er konfigureret til optællingsbaseret vurdering eller sammendragsbaseret vurdering (baseret på feltet PricingStrategyType__c).
  3. Tjenesten ringer til InsuranceRatingPtc.rateCensus Core-tjenesten for at beregne prisen for alle produkterne. InsuranceRatingPtc.rateCensus er en asynkron tjeneste, så den returnerer ikke prisen med det samme. I stedet returnerer den en asyncRequestId.

Input

Input Beskrivelse
groupClassIds

Valgfrit.

En liste over gruppe-klasse-id'er.

productCategories

Valgfrit.

En liste over produktkategorier. Sekvensen skal være den samme som productIds

selectedProduct

Påkrævet.

Det produkt, der skal prissættes igen.

userInputs

Påkrævet.

Det sæt inputdata, som vurderingsproceduren bruger til at hente prisen på produktet.

For et Tilknyt <Streng, Objekt> bruges det samme sæt af inputdata til alle produkterne.

For en List<Map<string, Object>>, skal størrelsen på listen være den samme som størrelsen på productIds. Hvis nogle produkter ikke har en userInput, skal du tilføje en {} på listen.

Valg af dækning med CoverageProductCode.isSelected understøttes ikke, men det tages med i betragtning ved beregning af priser.

Fjernindstillinger

Indstilling Beskrivelse
censusId

Påkrævet.

Id'et for gruppetællingen.

effectiveDate

Den ikrafttrædelsesdato, der bruges til vurdering.

Bruger formatet "ÅÅÅÅ-MM-DD TT:MM:SS".

Standard er dags dato.

evalOptionalCoverageRelationship Bestemmer, om valgfri dækninger, der er tilgængelige for en deltager, skal evalueres baseret på vedkommendes relation til det primære optællingsmedlem. Hvis denne indstilling er indstillet til true, ringer tjenesten først til updateOptionalCovIsSelectedField og ringer derefter til repriceProduct.
ruleAttributeSetValues Bestemmer, om der skal køres Angiv værdi-regler. Hvis denne indstilling er indstillet til true, kører tjenesten attributten Angiv værdi-regler, før prissætningssystemet kaldes.
validateCoverageSelection Bestemmer, om der skal køres valideringsregler for dækning på de valgte dækninger. Når denne indstilling er indstillet til true, ringer tjenesten til InsuranceSelectValidationService, før den ringer til repriceProduct.

Input JSON

Her er eksempel på input-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"
                      }
                    ]
                  }
                }
              ]
            }
          }
        ]
      }
    }
  ]
 }
}

Options JSON

Her er eksempelindstillingerne JSON:


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

Output JSON

Her er eksempelresultat-JSON:

{
  "asyncRequestId": {
    "01tRO000000k6RyYAI": "8zk9f00000Q5jUEHNS"
  }
}
 
Indlæser
Salesforce Help | Article