詳細情報:
InsCommissionService:adjust
このサービスを使用して、プロデューサー手数料の金額を調整します。
方法: adjust
しくみ
手数料を調整するには、このサービスで次の手順を実行します。
-
commissionIdの入力を受け入れ、対応するプロデューサーコミッションレコードを取得します。手数料がすでに調整されている場合、サービスには最新の調整の
commissionIdが必要です。 -
useOriginalScheduleが true の場合、取得されたプロデューサー手数料レコードで指定された手数料スケジュールが計算に使用されます。useOriginalScheduleが false の場合、サービスはproductionCode、producerId、productId、commissionableEvent、context、effectiveDateの入力を使用して、使用するコミッションスケジュールを決定します。 -
手数料表に基づいて手数料を計算します。
-
手数料を評価して、チャージバック (返された手数料金額) かどうかを判断します。
-
手数料が負の場合、サービスは手数料をチャージバックとして処理します。
-
手数料がチャージバックではない場合、サービスは計算された手数料金額を最小手数料金額と最大手数料金額と比較します。計算された金額が低すぎるまたは高すぎる場合、計算された金額ではなく最小金額または最大金額が返されます。
-
-
手数料金額、計算に使用された手数料スケジュールの ID、この手数料に適用される最小金額と最大金額を返します。
入力:
入力 |
説明 |
|---|---|
|
必須。 調整するプロデューサーコミッションの ID。 |
|
[ [ |
|
省略可能。 加工生産者の ID ではなく、生産コード名。 |
|
処理プロデューサー ID。 |
|
手数料が支払われる商品の ID。 |
|
手数料の計算をトリガーするイベントまたはトランザクション (見積、販売済みポリシー、変更/承認済みなど)。 |
|
省略可能。 調整の発効日。null の場合、サービスは今日の日付を使用します。 |
|
必須。 手数料が計算されるレコードの項目名と値のペア。次の操作が必要です。
参照項目のない形式:
参照項目を含む形式:
参照項目を使用して入力を書式設定する場合、最大 2 レベルの項目を指定できます。 |
|
手数料の計算の基礎となる金額。 |
Input JSON
入力 JSON の書式設定を次に示します。
{
"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
}
}このサンプルでは、最初に使用された手数料表と同じ手数料表を使用して、支持に対して発行された手数料を調整します。
{
"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
出力 JSON の形式を次に示します。
{
"commissionAmount": amount,
"commissionScheduleId": ID of the commission schedule used,
"minCommissionAmount": CommissionScheduleAssignment.MinCommissionAmount,
"maxCommissionAmount": CommissionScheduleAssignment.MaxCommissionAmount
}計算された金額 ($167) が最小値と最大値 ($100 ~ $500) で定義された範囲内にあることを示す出力例を次に示します。
{
"commissionAmount":167,
"commissionScheduleId":"ab001od002",
"minCommissionAmount":100,
"maxCommissionAmount":500
}