Vous êtes ici :
InsCommissionService:adjust
Utilisez ce service pour ajuster le montant de la Commission du producteur.
Méthode : adjust
Description
Ce service utilise un enregistrement Commission du producteur et un calendrier de commission existants afin d'ajuster le montant de la commission pour un producteur.
Fonctionnement
Pour ajuster une commission, ce service :
-
Accepte l'entrée
commissionIdet récupère l'enregistrement Commission du producteur correspondant.Si une commission a déjà été ajustée, le service nécessite l'
commissionIddu dernier ajustement. -
Si la
useOriginalScheduleest vraie, utilise le calendrier de la commission spécifié dans l'enregistrement Commission du producteur récupéré pour le calcul.Si le
useOriginalScheduleest faux, le service utilise les entréesproductionCode,producerId,productId,commissionableEvent,contexteteffectiveDatepour déterminer le calendrier du Conseil à utiliser. -
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 |
|---|---|
|
Obligatoire. ID de la Commission du producteur à ajuster. |
|
Lorsqu'il est défini sur Lorsqu'il est défini sur |
|
Facultatif. Le nom de code de production, pas l'ID, du producteur de transformation. |
|
L'ID du producteur de la transformation. |
|
Obligatoire si 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 de l'ajustement. 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.
{
"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
}
}Cet exemple ajuste une commission émise pour un avenant, en utilisant le même barème de commission que celui utilisé initialement.
{
"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
}
}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
}