Loading
Vakuutus
InsProductService:repriceProduct

InsProductService:repriceProduct

Käytä tätä palvelua hinnoittaaksesi yhtä tuotetta käyttämällä kyseiseen tuotteeseen liitettyä arvostelumenettelyä. Tätä palvelua kutsutaan tavallisesti, kun käyttäjä valitsee tuotteen ja mukauttaa sen kattavuutta.

Luokka: InsProductService

Metodi: repriceProduct

Palvelu ottaa yhden tuoteobjektin syötettyyn JSON-tiedostoonsa ja palauttaa tuotteen, joka sisältää kokonaishinnan ja vakuutetun summan. Lisäksi se palauttaa arvosanoitustoimenpiteen koko tuloksen JSON-koodin.

Tämä palvelu toimii yhdelle tai useammalle vakuutetulle osapuolelle (henkilöille, jotka vakuutustuote kattaa) ja yhdelle tai useammalle vakuutetulle kohteelle (esimerkiksi useille autolle autoluokassa).

Tämä palvelu ei suorita Eligibility-, Required- ja Default-valinnaisia kattavuussääntöjä, kun muokkaat tarjousta.

Miten se toimii?

  1. Palvelu hakee valitun tuoteavaimen syötetyn JSON-tiedoston ja noutaa sen arvon. Tämä objekti sisältää yhden tuoteobjektin.

  2. Palvelu käyttää tuotetietoja hakeakseen Salesforcea löytääkseen tuotteen ja noutaakseen arvosanan.

  3. Palvelu luokittelee tuotteen tuotteen JSON-rakenteella.

  4. Palvelu palauttaa tuoteobjektit, jotka sisältävät kokonaishinnan ja vakuutetun summan. Tulos JSON sisältää jäsennettyjen tulosten JSON-koodin luokitustoimenpiteestä arvona CalculatedPriceData. Palvelu määrittää myös hinnan ja totalSumInsured, jos kaavat on määritetty tuotteelle.

Etäasetukset

Vaihtoehto

Kuvaus

aggByKey

PRODUCT.instanceKey

Kun aggByKey on määritetty, sen arvo sisällytetään laskentatoimenpiteen aggregationResult-arvoon, jos aggregationResult ei ole tyhjä. (aggregationResult täytetään tavallisesti, kun laskentaohjelmalle on määritetty aggregointivaiheet).

Esimerkiksi autovakuutuksen tarjoukseen tai vakuutukseen on liitetty useita kuljettajia kullekin vakuutetulle autolle. Vakuutetulla automaatilla on erillinen instanceKey jokaiselle auto+ajurin esiintymälle. aggByKey ottaa kaikki ajoneuvojen instanceKeys ja luo kattavuusmaksujen taulukon per instanceKey ja välittää ne laskentamenettelyyn, jotta vakuutusmaksut voidaan laskea oikein.

alwaysCreateInstance

Määritä tämä vaihtoehto true tuotteille, joilla on useita alitason määrityksiä tietyllä hierarkiatasolla, ei alitason määrityksiä ja vain yksi luokitusmenettely juuritasolla.

Jätä tämä vaihtoehto pois tuotteille, jotka eivät täytä kaikkia näitä ehtoja.

Lisätietoja tämäntyyppisen tuotteen userInputs-muodosta on kohdassa Yksi arvostelumenettely per tuote repriceProductille.

effectiveDate

“YYYY-MM-DD HH:MM:SS”

tai

%OmniScriptDataElement%

Oletusarvo on tämänhetkinen päivämäärä.

evalOptionalCoverageRelationship

true tai false

Jos tämä vaihtoehto = true, palvelu soittaa ensin updateOptionalCovIsSelectedField ja sitten repriceProduct.

getDataDRBundleName

Omnistudio-datan kartoitusohjelman nimi, jota tämä palvelu käyttää käytäntöjen (omaisuuksien) tietojen noutamiseen.

Jos käytät Salesforce FSC:tä, sinun täytyy määrittää joko tämä vaihtoehto tai getDataCustomClassName.

getDataCustomClassName

Mukautetun luokan nimi, jota tämä palvelu käyttää käytäntöjen (omaisuuksien) tietojen noutamiseen.

Jos käytät Salesforce FSC:tä, sinun täytyy määrittää joko tämä vaihtoehto tai getDataDRBundleName.

includeInputKeys

Pilkuilla erotettu merkkijono avain/arvo-pareista, joita palvelu välittää laskentavaiheeseen ja pois.

Nämä avain/arvo-parit sisältyvät CalculatedPriceData-objektin output-tuoteobjektiin. Ne auttavat sinua jäsentämään laskentatulokset.

Vain laskentatoimenpiteen käyttämillä syöttöavaimilla on arvo tuloksissa.

includeRawCalculationResult

true tai false

Oletusarvo on false.

Sisältää laskentatoimenpiteen koko tulokset RawPriceData-avaimeen.

validateCoverageSelection

true tai false

Valitse true, jos aiot käyttää valinnaisia kattavuuden vahvistussääntöjä. Kun tämän vaihtoehdon arvoksi on määritetty true, palvelu kutsuu InsuranceSelectValidationService-palvelua ennen uudelleenmaksun kutsumista.

calculateTaxesAndFees

Valinnainen

true tai false

Valitse true laskeaksesi kohdetuotteen verot ja maksut.

Jos käytät Salesforce FSC:tä ja määrität tämän vaihtoehdon arvoksi true, sinun täytyy määrittää myös getDataDRBundleName- tai getDataCustomClassName-vaihtoehto.

jurisdictionIds

Tunnusten merkkijonoitettu luettelo

Käytetään yhdessä calculateTaxesAndFees-vaihtoehdon kanssa.

Laskee vain annettuihin lainkäyttöalueisiin liittyvät verot ja maksut.

taxAndFeeEffectiveDate

Voimaanastumispäivä, jota tämä palvelu käyttää verojen ja palkkioiden laskemiseen. Tämä vaihtoehto on erillään tuotteen hintaan käytetystä effectiveDate-vaihtoehdosta.

Jos arvo on annettu, palvelu käyttää sitä.

Jos arvoa ei ole annettu ja tuotteen JSON ei ole käytäntö, palvelun oletusarvo on tämänhetkinen päivämäärä.

Jos arvoa ei ole annettu ja tuotteen JSON on käytäntö, palvelu käyttää alkuperäisen käytännön version voimaanastumispäivää.

withTaxFeeRounding

Valinnainen

Jos arvo on true, lasketut verojen ja maksujen summat pyöristetään kahteen desimaaliin käyttämällä puolitason pyöristämisen menetelmää. withTaxFeeRounding on voimassa vain, jos myös calculateTaxesAndFees on tosi. Jos arvo on false, pyöristäminen ei ole käytössä.

Oletusarvo on false.

Syötetty JSON

InsProductService: repriceProduct etsii tuoteobjektin sen input JSON-tiedostossa olevasta selectedProduct-avaimesta. Tämä objekti sisältää luokitusprosessin vaatimat tiedot, jotka on kartoitettu tuotteen attribuuteihin, mukaan lukien siihen liittyvät kattavuusmääritykset, vakuutetun kohteen määritykset, vakuutetun osapuolen määritykset ja arvosanan faktan määritykset. Tämä objekti voidaan luoda muilla palveluilla, kuten getRatedProducts. Se sisältää juurituotteen, alituotteet ja alituotteet. Palvelu jäsentää tuotteen rakenteen ja välittää dataa lausekejoukkoon tai laskentaohjelmaan. Jos luokittelua varten kartoitettuja attribuutteja ei sisällytetä objektiin, palvelu käyttää tuotepääkäyttäjän määrittämiä oletusasetuksia.

Tämä palvelu etsii myös userInputs-avaimen syötetyssä JSON-tiedostossa, jotta se voi löytää kaikki arvosana-arvot, joita ei sisällytetä selectedProduct-noodiin. Käytä sopivaa userInputs-formaattia, riippuen tuotteen määritelmästä ja arvostelukokoonpanosta. Palvelu hyväksyy vain yhden tyyppisen userInputs-muodon kerralla.

Tulos-JSON

Palvelu palauttaa saman JSON-rakenteen kuin selectedProduct-noodissa päivitetyillä hinnoittelutiedoilla. Lisätietoja tämän objektin sisällöstä ja rakenteesta on kohdassa Tuotteen JSON-rakenteen malli.

Huomautus
Huomautus

Jos käytät veroja ja palkkiopalveluita, JSON-tulos säilyy JSON-tietueessa samalla tavalla kuin getRatedProducts kirjoittaa JSON-tiedostoon.

Jokaiselle tuotteelle arviointiprosessin laskennan tuloksen JSON lisätään tuotteeseen CaculatedPriceData-avaimella. Jos tuotteelle on määritetty hinnoittelukaava, sen laskettuun arvoon asetetaan price-arvo. Jos tuotteelle on määritetty vakuutetun kokonaissumman kaava, TotalInsured-arvoksi asetetaan sen laskettu arvo.

CalculatedPriceData-osion rakenne sisältää instanssin tuen. Hintatilastot on ryhmitetty instanssitason mukaan.

Tulos JSON sisältää juuritasolla olevan priceDiff-noodin, joka tekee yhteenvedon instanssin tason hinnoista. Se sisältää myös juuritasolla olevan totalPremiumForTermDiff-kentän. Tämä arvo on alkuperäisen vakuutusmaksutulojen kokonaissumman ja uuden vakuutusversion kokonaissumman ja vanhan vakuutusversion ajanjakson päivitetyn vakuutusmaksutulojen välinen ero.

Tässä esimerkissä tuotteelle määritetään hinnoittelukaava, mutta vakuutettujen kokonaiskaava ei. Palvelu lisää CalculatedPriceData luokitustoimenpiteen tuloksiin. Palvelu laskee hinnan kaavan perusteella. Vakuutettujen kokonaissumman kaavaa ei ole määritetty tuotteelle eikä sitä näytetä datassa (sitä ei myöskään TotalInsured).

"totalSize": null,
"records": [{
    "displaySequence": -1,
    "rootProductId": "01t1I000002fuBoQAI",
    "rootProductCode": "AUTOROOT",
    "timestamp": 1533948385704,
    "hasInstanceKeys": true,
    "childProductsCount": 8,
    "instanceKeyChildren": 2,
    "pathFromChild": "[0]",
    "pathFromRoot": "[0]",
    "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": [{
        "calculationResults": [{
          "DRIVER.LN": null,
          "DRIVER.FN": null,
          "AUTO.instanceKey": "2015 Lexus LX250",
          "uninsuredMotoristBITotal": 100,
          "uninsuredMotoristPDTotal": 0,
          "dedWaiverTotal": 10,
          "roadsideTotal": 10,
          "medicalTotal": 10,
          "rentalTotal": 40,
          "comprehensiveTotal": 500,
          "ID": "0"
        }],
        "aggregationResults": {}
      },
      {
        "calculationResults": [{
          "DRIVER.LN": null,
          "DRIVER.FN": null,
          "AUTO.instanceKey": "2006 Honda Odyssey",
          "uninsuredMotoristBITotal": 100,
          "uninsuredMotoristPDTotal": 0,
          "dedWaiverTotal": 10,
          "roadsideTotal": 10,
          "medicalTotal": 10,
          "rentalTotal": 40,
          "comprehensiveTotal": 500,
          "ID": "1"
        }],
        "aggregationResults": {}
      }
    ],
    "CalculatedPriceData": {
      "2015 Lexus LX250": {
        "DRIVER.LN": null,
        "DRIVER.FN": null,
        "AUTO.instanceKey": "2015 Lexus LX250",
        "uninsuredMotoristBITotal": 100,
        "uninsuredMotoristPDTotal": 0,
        "dedWaiverTotal": 10,
        "roadsideTotal": 10,
        "medicalTotal": 10,
        "rentalTotal": 40,
        "comprehensiveTotal": 500,
        "ID": "0"
      },
      "2006 Honda Odyssey": {
        "DRIVER.LN": null,
        "DRIVER.FN": null,
        "AUTO.instanceKey": "2006 Honda Odyssey",
        "uninsuredMotoristBITotal": 100,
        "uninsuredMotoristPDTotal": 0,
        "dedWaiverTotal": 10,
        "roadsideTotal": 10,
        "medicalTotal": 10,
        "rentalTotal": 40,
        "comprehensiveTotal": 500,
        "ID": "1"
      }
    },
    "priceDiff": 0,
    "totalPremiumForTermDiff": 0,
    "attributeCategories": {
      "totalSize": 1,
      "records": [{
        "displaySequence": 5,
        "id": "a1V1I0000007xJSUAY",
        "Name": "Alan Health Attributes",
        "Code__c": "AHA",
        "productAttributes": {
          "totalSize": 1,
          "records": [{
            "code": "ALANDEDUCTIBLE",
            "dataType": "text",
            "inputType": "text",
            "required": false,
            "readonly": false,
            "disabled": false,
            "filterable": true,
            "attributeId": "a1W1I000000Bu1jUAC",
            "label": "Deductible",
            "displaySequence": 2,
            "hasRules": false,
            "hidden": false,
            "values": [{
              "readonly": false,
              "disabled": false
            }],
            "userValues": "test",
            "parentProductId": "01t1I000002fuBoQAI",
            "parentProductCode": "AUTOROOT",
            "pathFromChild": "attributeCategories.records[0].productAttributes.records[0]",
            "pathFromRoot": "attributeCategories.records[0].productAttributes.records[0]"
          }]
        }
      }]
    },
    "childProducts": {
      ...
    }
 
Ladataan
Salesforce Help | Article