Loading
Verzekering
InsCommissionService:berekenen

InsCommissionService:berekenen

Gebruik deze service om de commissie voor een producent te berekenen.

Klasse: InsCommissionService

Methode: calculate

Beschrijving

Deze service gebruikt details over de producent, het verzekeringsproduct en de voor vergoeding in aanmerking komende gebeurtenis om een commissie voor een producent te berekenen.

De manier waarop het werkt...

Als u een commissie wilt berekenen, doet deze service het volgende:

  1. Accepteert productionCode, producerId, productId, commissionableEvent, context en effectiveDate om de juiste CommissionSchedule te vinden voor de berekening.

  2. Berekent de commissie op basis van de Commissieplanning.

  3. Evalueert de commissie om te bepalen of het een chargeback (een geretourneerd commissiebedrag) is.

    • Als het commissiebedrag negatief is, behandelt de service de commissie als een chargeback.

    • Als de commissie geen chargeback is, vergelijkt de service het berekende commissiebedrag met de minimale en maximale commissiebedragen. Als het berekende bedrag te laag of te hoog is, retourneert de service het minimum- of maximumbedrag in plaats van het berekende bedrag.

  4. Retourneert het commissiebedrag, de ID van de commissieplanning die is gebruikt om deze te berekenen, en de minimum- en maximumbedragen die van toepassing zijn op deze commissie.

Invoer

Invoer

Beschrijving

productionCode

Optioneel.

De naam van de productiecode, niet de ID, van de verwerkende producent.

producerId

Optioneel.

De ID van de verwerkende producent.

productId

Verplicht.

De ID van het product waarvoor de commissie wordt betaald.

commissionableEvent

Optioneel.

De event of transactie die via een trigger een commissieberekening activeert (bijvoorbeeld Offerte, Verkochte polis of Gewijzigd/Bevestigd).

effectiveDate

Optioneel.

De ingangsdatum van de commissiebetaling. Indien null, gebruikt de service de datum van vandaag.

context

Verplicht.

Veldnaam- en waardeparen voor de record waarvoor commissie wordt berekend. U moet:

  • Neem een naamruimte op in de API-naam als deze bestaat.

  • Neem objectId op, dat wil zeggen de ID van de record waarvoor de commissie wordt berekend.

Notatie zonder opzoekveld:

{ objectAPI.fieldAPI : fieldValue }

Indeling met opzoekveld:

{ objectAPI.relationshipAPI.fieldAPI : fieldValue }

U kunt maximaal twee niveaus van velden opgeven als u de invoer opmaakt met een opzoekveld.

commissionableAmount

Optioneel.

Het bedrag waarop de commissieberekening is gebaseerd.

Invoer-JSON

Invoer-JSON wordt als volgt opgemaakt.

{
   "productionCode": ProductionCode.Name,
   "producerId": Producer.Id,
   "product2Id": Product2.Id,
   "commissionableEvent": event type,
   "commissionableAmount": amount of the transaction,
   "context": {
      "objectId": ID of applicable object used,
	  "objectAPI.fieldAPI" : value
   }
}

Dit voorbeeld berekent een commissie voor een bevestiging.

{
   "productionCode":AX001,
   "producerId":ay001jh002,
   "product2Id":az011jh022,
   "commissionableEvent":"Endorsement",
   "commissionableAmount":500,
   "context":{
      "Quote.vlocity_ins__TotalPremiumforTerm__c":100,
      "QuoteLineItem.vlocity_ins__GroupClassId__r.vlocity_ins__ClassCode__c":"Managers",
      "QuoteLineItem.vlocity_ins__FeeAmount__c":5,
      "objectId":ax003jh001
   }
}

Uitvoer-JSON

Hier is de indeling van uitvoer-JSON.

{
   "commissionAmount": amount,
   "commissionScheduleId": ID of the commission schedule used,
   "minCommissionAmount": CommissionScheduleAssignment.MinCommissionAmount,
   "maxCommissionAmount": CommissionScheduleAssignment.MaxCommissionAmount
}

Hier is de voorbeelduitvoer die toont dat het berekende bedrag ($ 167) binnen het bereik valt dat is gedefinieerd door minimum- en maximumwaarden ($ 100-$ 500).

{
   "commissionAmount":167,
   "commissionScheduleId":"ab001od002",
   "minCommissionAmount":100,
   "maxCommissionAmount":500
}
 
Wordt geladen
Salesforce Help | Article