Loading
Forsikring
InsCommissionService:calculate

InsCommissionService:calculate

Bruk denne tjenesten til å beregne kommisjonen for en produsent.

Klasse: InsCommissionService

Metode: calculate

Beskrivelse

Denne tjenesten bruker detaljer om produsenten, forsikringsproduktet og den kommisserbare hendelsen til å beregne en kommisjon for en produsent.

Slik virker det

Denne tjenesten beregner en kommisjon:

  1. Godtar inndata fra productionCode, producerId, productId, commissionableEvent, context og effectiveDate for å finne de riktige CommissionSchedule som skal brukes til beregningen.

  2. Beregner kommisjonen basert på kommisjonsplanen.

  3. Evaluerer kommisjonen for å finne ut om det er en tilbakekostnad (et returnert kommisjonsbeløp).

    • Hvis kommisjonsbeløpet er negativt, behandler tjenesten provisjonen som en tilbakekostnad.

    • Hvis kommisjonen ikke er en tilbakekostnad, sammenligner tjenesten det beregnede kommisjonsbeløpet med minste og største kommisjonsbeløp. Hvis det beregnede beløpet er for lavt eller for høyt, returnerer tjenesten minimums- eller maksimumsbeløpet i stedet for det beregnede beløpet.

  4. Returnerer kommisjonsbeløpet, ID-en til kommisjonsplanen som brukes til å beregne det, og minimums- og maksimumsbeløpene som gjelder for denne kommisjonen.

Inndata

Inndata

Beskrivelse

productionCode

Valgfritt.

Navnet på produksjonskoden, ikke ID-en, for behandlerprodusenten.

producerId

Valgfritt.

ID-en til behandlingsprodusenten.

productId

Obligatorisk.

ID-en til produktet som kommisjonen betales for.

commissionableEvent

Valgfritt.

Hendelsen eller transaksjonen som utløser en kommisjonsberegning (for eksempel Tilbud, Solgt polise eller Endret/anbefalt).

effectiveDate

Valgfritt.

Gyldighetsdatoen for kommisjonsbetalingen. Hvis null, bruker tjenesten dagens dato.

context

Obligatorisk.

Feltnavn- og verdipar for posten som kommisjon beregnes for. Du må

  • Inkluder et navneområde i API-navnet hvis det finnes et.

  • Inkluder objectId, det vil si ID-en til posten som kommisjonen beregnes for.

Format uten oppslagsfelt:

{ objectAPI.fieldAPI : fieldValue }

Format med oppslagsfelt:

{ objectAPI.relationshipAPI.fieldAPI : fieldValue }

Du kan angi opptil to nivåer med felt hvis du formaterer inndataene med et oppslagsfelt.

commissionableAmount

Valgfritt.

Beløpet som kommisjonsberegningen er basert på.

Inndata-JSON

Slik formaterer du inndata-JSON.

{
   "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
   }
}

Dette eksemplet beregner en kommisjon for en anbefaling.

{
   "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
   }
}

Utdata-JSON

Her er formatet på JSON-koden for utdata.

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

Her er et eksempel på utdata som viser at det beregnede beløpet ($167) er innenfor området definert av minimums- og maksimumsverdier ($100-$500).

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