Du er her:
InsCommissionService:calculate
Bruk denne tjenesten til å beregne kommisjonen for en produsent.
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:
-
Godtar inndata fra
productionCode,producerId,productId,commissionableEvent,contextogeffectiveDatefor å finne de riktigeCommissionSchedulesom skal brukes til beregningen. -
Beregner kommisjonen basert på kommisjonsplanen.
-
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.
-
-
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 |
|---|---|
|
Valgfritt. Navnet på produksjonskoden, ikke ID-en, for behandlerprodusenten. |
|
Valgfritt. ID-en til behandlingsprodusenten. |
|
Obligatorisk. ID-en til produktet som kommisjonen betales for. |
|
Hendelsen eller transaksjonen som utløser en kommisjonsberegning (for eksempel Tilbud, Solgt polise eller Endret/anbefalt). |
|
Valgfritt. Gyldighetsdatoen for kommisjonsbetalingen. Hvis null, bruker tjenesten dagens dato. |
|
Obligatorisk. Feltnavn- og verdipar for posten som kommisjon beregnes for. Du må
Format uten oppslagsfelt:
Format med oppslagsfelt:
Du kan angi opptil to nivåer med felt hvis du formaterer inndataene med et oppslagsfelt. |
|
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
}