Loading
보험
InsCommissionService:calculate

InsCommissionService:calculate

이 서비스를 사용하여 프로듀서에 대한 커미션을 계산합니다.

클래스: InsCommissionService

방법: calculate

상세 설명

이 서비스는 프로듀서, 보험 제품, 주문 가능한 이벤트에 대한 세부 사항을 사용하여 프로듀서에 대한 커미션을 계산합니다.

작동 방법

커미션을 계산하기 위해 이 서비스는 다음을 수행합니다.

  1. 계산에 사용할 적절한 CommissionSchedule을 찾으려면 productionCode, producerId, productId, commissionableEvent, context, effectiveDate 입력을 수락합니다.

  2. 커미션 일정을 기반으로 커미션을 계산합니다.

  3. 커미션을 평가하여 지불 거절( 반품된 커미션 금액)인지 판단합니다.

    • 위임 가능한 금액이 음수인 경우 서비스에서 커미션을 지불 거절으로 처리합니다.

    • 커미션이 지불 거절이 아닌 경우 서비스에서 계산된 커미션 금액을 최소 및 최대 커미션 금액과 비교합니다. 계산된 금액이 너무 낮거나 너무 높으면 계산된 금액 대신 최소 또는 최대 금액을 반환합니다.

  4. 커미션 금액, 계산에 사용된 커미션 일정의 ID, 이 커미션에 적용되는 최소 및 최대 금액을 반환합니다.

입력

입력

설명

productionCode

(선택 사항)

처리 프로듀서의 ID가 아닌 프로덕션 코드 이름입니다.

producerId

(선택 사항)

처리 프로듀서의 ID입니다.

productId

(필수)

커미션이 지급되는 제품의 ID입니다.

commissionableEvent

(선택 사항)

커미션 계산을 트리거하는 이벤트 또는 트랜잭션입니다(예: 견적, 판매된 증권 또는 변경/권장).

effectiveDate

(선택 사항)

커미션 지불의 유효 일자입니다. null이면 서비스에서 오늘 날짜를 사용합니다.

context

(필수)

커미션이 계산되는 레코드의 필드 이름 및 값 쌍입니다. 다음을 수행해야 합니다.

  • API 이름에 네임스페이스가 있는 경우 포함합니다.

  • objectId, 즉 커미션이 계산되는 레코드의 ID를 포함합니다.

조회 필드가 없는 형식:

{ objectAPI.fieldAPI : fieldValue }

조회 필드가 있는 형식:

{ objectAPI.relationshipAPI.fieldAPI : fieldValue }

조회 필드를 사용하여 입력을 서식 지정할 경우 최대 2개 수준의 필드를 지정할 수 있습니다.

commissionableAmount

(선택 사항)

커미션 계산을 기반으로 하는 금액입니다.

입력 JSON

다음은 입력 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
   }
}

이 샘플은 추천에 대한 커미션을 계산합니다.

{
   "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
}
 
로드 중
Salesforce Help | Article