Loading
Verzekering
InsCommissionService:aanpassen

InsCommissionService:aanpassen

Gebruik deze service om een bedrag van de Producentencommissie aan te passen.

Klasse: InsCommissionService

Methode: adjust

Beschrijving

Deze service gebruikt een bestaande record Producentencommissie en Commissieplanning om een commissiebedrag voor een producent aan te passen.

Hoe het werkt

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

  1. Accepteert commissionId en haalt de corresponderende record Producentencommissie op.

    Als een commissie al is aangepast, vereist de service de commissionId voor de meest recente aanpassing.

  2. Als de useOriginalSchedule true (waar) is, wordt de commissieplanning gebruikt die is opgegeven in de opgehaalde record Producentencommissie voor de berekening.

    Als de useOriginalSchedule false (onwaar) is, gebruikt de service productionCode, producerId, productId, commissionableEvent, context en effectiveDate om te bepalen welke commissieplanning moet worden gebruikt.

  3. Berekent de commissie op basis van de Commissieplanning.

  4. 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.

  5. 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

commissionId

Verplicht.

ID van de aan te passen producentencommissie.

useOriginalSchedule

true of false

Indien ingesteld op true, gebruikt de service de commissieplanning die is opgegeven in de opgehaalde record Producentencommissie voor de berekening.

Indien ingesteld op false, gebruikt de service andere invoer om te bepalen welke commissieplanning moet worden gebruikt.

productionCode

Optioneel.

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

producerId

Optioneel.

De ID van de verwerkende producent.

productId

Verplicht als useOriginalSchedule false is.

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 aanpassing. 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.

{
   "commissionId": ProducerCommission.Id,
   "useOriginalSchedule": true,
   "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 past een commissie aan die is uitgegeven voor een bevestiging, met behulp van dezelfde commissieplanning die oorspronkelijk is gebruikt.

{
   "commissionId": apwe045asx,
   "useOriginalSchedule": true,
   "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