Vous êtes ici :
InsCommissionService:calculate
Utilisez ce service pour calculer la commission d'un producteur.
Méthode : calculate
Description
Ce service utilise les détails du producteur, du produit d'assurance et de l'événement commissionnable pour calculer une commission pour un producteur.
Fonctionnement
Pour calculer une commission, ce service :
-
Accepte les entrées
productionCode,producerId,productId,commissionableEvent,contexteteffectiveDateafin de trouver laCommissionScheduleappropriée à utiliser pour le calcul. -
Calcule la commission en fonction du barème de la commission.
-
Évalue la commission pour déterminer s'il s'agit d'une rétrofacturation (un montant de commission retourné).
-
Si le montant à commissionner est négatif, le service traite la commission comme une rétrofacturation.
-
Si la commission n'est pas une rétrofacturation, le service compare le montant de commission calculé aux montants de commission minimum et maximum. Si le montant calculé est trop faible ou trop élevé, le service renvoie le montant minimum ou maximum au lieu du montant calculé.
-
-
Renvoie le montant de la commission, l'ID du barème de commission utilisé pour le calculer, ainsi que les montants minimum et maximum qui s'appliquent à cette commission.
Entrées
Entrée |
Description |
|---|---|
|
Facultatif. Le nom de code de production, pas l'ID, du producteur de transformation. |
|
Facultatif. L'ID du producteur de la transformation. |
|
Obligatoire. L'ID du produit pour lequel la commission est payée. |
|
L'événement ou la transaction qui déclenche un calcul de commission (par exemple, Devis, Police vendue ou Modifié/Approuvé). |
|
Facultatif. La date effective du paiement de la commission. Si nul, le service utilise la date du jour. |
|
Obligatoire. Paires de noms de champ et de valeurs pour l'enregistrement sur lequel la commission est calculée. Vous devez :
Format sans champ de référence :
Format avec champ de référence :
Vous pouvez spécifier jusqu'à deux niveaux de champ si vous mettez en forme l'entrée avec un champ de référence. |
|
Le montant sur lequel le calcul de la commission est basé. |
JSON d'entrée
Voici comment mettre en forme le JSON d'entrée.
{
"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
}
}Cet exemple calcule une commission pour un parrainage.
{
"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
}
}JSON de sortie
Voici le format du JSON de sortie.
{
"commissionAmount": amount,
"commissionScheduleId": ID of the commission schedule used,
"minCommissionAmount": CommissionScheduleAssignment.MinCommissionAmount,
"maxCommissionAmount": CommissionScheduleAssignment.MaxCommissionAmount
}Voici un exemple de sortie qui montre que le montant calculé (167 €) est compris dans la plage définie par les valeurs minimum et maximum (100 € à 500 €).
{
"commissionAmount":167,
"commissionScheduleId":"ab001od002",
"minCommissionAmount":100,
"maxCommissionAmount":500
}