Loading
보험
InsPolicyService:createUpdatePolicy

InsPolicyService:createUpdatePolicy

이 서비스를 사용하여 새 보험 증권을 만들거나 기존 증권을 새 정보로 업데이트합니다.

이 서비스는 결제 일정 만들기 지원 옵션을 위해 Salesforce Financial Services Cloud와 함께 사용할 수 있습니다.

클래스: InsPolicyService

방법: createUpdatePolicy

작동 방식

  1. 서비스는 inputKey의 입력 JSON을 검색합니다. inputKey 노드는 서비스가 정책을 만들거나 업데이트하는 데 필요한 정보를 포함합니다. 이 서비스에 필요한 정보에는 다음이 포함됩니다.

    • accountId

    • term

    • productConfigurationDetail 기록

    • insuredItems 기록(옵션)

    • endDate

    • effectiveDate

  2. 정책(자산) 개체를 만듭니다.

  3. 증권에 대한 기존 결제 일정이 있는 경우 서비스에서 오류 메시지를 반환합니다.

  4. 초기 결제가 발생하면 InsurancePolicyTransaction이 생성됩니다. 트랜잭션 생성 외에도 트랜잭션 분석 데이터가 트랜잭션 세부 사항 개체에 채워집니다. 이 개체는 각 자산, 참가자 또는 보장 범위가 보험료, 세금, 수수료와 관련하여 총 거래 금액에 얼마나 기여하는지에 대한 데이터를 저장합니다. 보험료, 세금 또는 수수료의 값이 0 이상인 자산, 참가자, 보장 범위만 표시됩니다. 트랜잭션에 대한 관련 목록에 트랜잭션 세부 사항 개체를 추가해야 합니다.

  5. 결제 일정을 저장하는 경우 기록이 증권의 원래 증권 ID에 연결됩니다.

  6. 입력 JSON에 taxesAndfees, taxAmount 및/또는 feeAmount 노드가 있는 경우 세금 및/또는 수수료 레코드가 생성됩니다.

  7. 서비스가 assetId를 전달하지 않을 경우 출력 JSON에 정책 ID를 반환합니다.

    서비스가 입력 JSON에서 assetId을 전달하면 assetId에서 지정한 자산을 업데이트합니다.

  8. calculateCommission=true인 경우: 서비스에서 InsurancePolicyService.calculateAndSaveCommission를 호출하여 InsCommissionService.calculate 및 InsCommissionService.saveCommissions 서비스에 대한 입력을 준비합니다. 계산 서비스가 입력을 처리한 후 저장 서비스는 계산된 값을 TotalCommissionAmount로 저장합니다.

    • 서비스에서 InsCommissionService.calculate 및 InsCommissionService.saveCommissions 서비스에 대한 입력을 준비하는 InsurancePolicyService.calculateAndSaveCommission을 호출합니다.

    • 커미션 유형(예: 커미션 또는 보너스)은 commissionType로 InsCommissionService.saveCommissions 서비스에 전달됩니다.

    • 커미션 상태(예: 면제됨 또는 지불됨)는 InsCommissionService.saveCommissions 서비스에 commissionStatus로 전달됩니다.

    계산 서비스가 입력을 처리한 후 저장 서비스는 계산된 값을 TotalCommissionAmount로 저장합니다.

노트
노트 endDate 및 effectiveDate에 따라 정책 기간이 결정됩니다. 첫 번째 증권 버전의 기간은 365일 미만이거나 윤년에는 366일 미만일 수 있습니다. 보험 증권에 대한 고려 사항 및 제한 사항을 참조하십시오.

세금 및 수수료

세금 및 수수료가 사용되는 경우 이 서비스가 작동하는 방식은 다음과 같습니다.

  • JSON 레코드에 taxesAndFees 필드가 지정된 경우 taxesAndFees 목록의 각 항목에 해당하는 AssetPricingAdjustment__c 레코드가 유지됩니다.

  • JSON 레코드에 taxAmount 필드가 지정된 경우 TaxAmount__c 필드는 생성된 AssetItem의 taxAmount 필드 값으로 설정됩니다.

  • JSON 레코드에 feeAmount 필드가 지정된 경우 FeeAmount__c 필드는 AssetItem의 feeAmount 필드 값으로 설정됩니다.

원격 옵션

옵션

설명

assetId

(선택 사항)

신규 또는 업데이트된 정보를 기반으로 이 서비스가 업데이트하는 기존 정책의 ID입니다. 서비스에서 기존 정책을 업데이트해야 하는 경우 사용됩니다.

createContactForParticipants

(선택 사항)

true 또는 false

기본값은 true입니다.

false인 경우 서비스에서 연락처 레코드를 생성하지 않습니다.

createInsuredItemsRelationships

true 또는 false

이 옵션이 true로 설정된 경우 보험 항목 간의 instanceKey > parentInstanceKey 관계 목록을 지정할 수 있습니다.

이 옵션은 상위 > 하위 및 상위 > 하위 > 손자 보험 항목 관계를 지원합니다.

createTransaction

(선택 사항)

true 또는 false

기본값은 false입니다.

true인 경우 서비스가 매출 일정 서비스에서 사용되는 트랜잭션을 만듭니다.

서비스는 트랜잭션 세부 사항 개체에 트랜잭션 분석 데이터도 채웁니다. 각 자산, 참가자, 보장 범위가 보험료, 세금, 수수료와 관련하여 총 거래 금액에 얼마나 기여하는지에 대한 데이터를 표시합니다. 보험료, 세금, 수수료 금액에 대해 0이 아닌 값이 하나 이상 있는 자산, 참가자, 보장 범위만 표시됩니다. 트랜잭션 세부 사항 개체를 관련 트랜잭션 목록에 추가해야 합니다.

coolingOffPeriod

선택 사항

첫 번째 결제 일정 항목을 지연할 수 있는 일수입니다.

냉각 기간을 사용하면 정책의 첫 번째 결제 일정 날짜가 유효 날짜 + 일 수로 계산됩니다.

예를 들어, 유효 일자가 1월 5일이고 첫 번째 결제 일정 일자가 1월 5일인 월별 결제 빈도가 있습니다. 냉각 기간이 14일인 경우 첫 번째 결제 일정 항목이 1월 5일부터 1월 19일까지 변경됩니다. 나머지 월별 결제 일정 날짜는 그대로 유지됩니다.

노트
노트 냉각 기간은 정책 시작 일자로부터 1일에서 28일 사이여야 합니다.

effectiveDate

%“YYYY-MM-DD HH:MM:SS” 또는 %OmniScriptDataElement%

정책(또는 정책 업데이트)이 적용되는 날짜입니다.

옵션 맵에 effectiveDate 값이 없는 경우 서비스가 rootAttributes 맵에서 해당 값을 찾습니다. 서비스에서 effectiveDate를 찾을 수 없는 경우 오늘 날짜를 사용합니다.

Insurance Industries Extension 패키지를 사용하는 경우 effectiveDate 옵션의 타임스탬프 값이 무시됩니다. 대신 유효 일자 타임스탬프 값은 선택한 유효 일자의 오전 12시로 설정되고, 선택한 만료 일자의 만료 일자 값은 오후 11시 59분으로 설정됩니다. 타임스탬프는 사용자의 지정된 시간대를 사용하여 설정됩니다.

generatePolicyNumber

true 또는 false

true인 경우 이 옵션은 UniqueIdGenerator을 사용하여 고유한 정책 번호를 만듭니다. 이 번호는 Asset.SerialNumber로 저장됩니다.

includePaymentSchedule

(선택 사항)

정책에 대한 지불 일정이 생성되는 경우 True.

기본값은 false입니다.

includeRevenueSchedule

(선택 사항)

true 또는 false

true 경우 이 옵션은 InsPolicyRevenueScheduleService: createRevenueSchedule 서비스를 호출하여 매출 일정을 만들거나 InsPolicyRevenueScheduleService: modifyRevenueSchedule을 호출합니다(정책이 업데이트되는 경우).

false인 경우 서비스에서 이 정책에 대한 매출 일정을 만들지 않습니다.

initialPaymentRule

(선택 사항)

백분율, 달 또는 일

initialTransactionName

(선택 사항)

트랜잭션 이름입니다.

기본값은 initialPaymentTransactionType와 동일한 값을 사용하는 것입니다.

initialPaymentTransactionType

(선택 사항)

트랜잭션 유형입니다.

기본값은 Premium Charge입니다.

initialPaymentValue

initialPaymentRule가 제공된 경우 필수 항목입니다.

백분율 값 또는 월 수 또는 일 수입니다.

inputKey

(필수)

이 서비스에서 정책을 만들거나 업데이트하기 위해 필요한 정보를 가져온 JSON입니다.

isCreatingPolicyTerms

true 또는 false

true로 설정하면 서비스가 출력 JSON에서 policyTermIds 노드를 반환합니다.

isFsc

(선택 사항)

생성할 증권이 InsurancePolicy 개체인지 여부를 True합니다.

기본값은 false입니다.

둘 중 하나postDataCustomClassName 또는 postDataDRBundleName를 지정할 수 있습니다.

이러한 옵션 중 하나를 지정하지 않으면 서비스가 postDataCustomClassName로 기본 설정됩니다.

paymentCalculationMethod

includePaymentSchedule가 true인 경우 필수 항목입니다.

증권의 Premium 계산 방법 값을 재정의합니다.

paymentFrequency

includePaymentSchedule가 true인 경우 필수 항목입니다.

정책의 PremiumFrequency 값을 재정의합니다.

paymentStartDate

(선택 사항)

첫 번째 결제 일정 항목의 날짜입니다.

기본값은 정책의 유효 날짜입니다.

paymentType

includePaymentSchedule가 true인 경우 필수 항목입니다.

증권의 Premium 결제 유형 값을 재정의합니다.

postDataCustomClassName

(선택 사항)

이 옵션 또는 postDataDRBundleName를 지정해야 합니다.

기본값은 PostInsurancePolicy로 설정됩니다.

postDataDRBundleName

(선택 사항)

이 옵션 또는 postDataCustomClassName를 지정해야 합니다.

이 옵션을 지정하지 않으면 기본값은 postDataCustomClassName입니다.

transactionType

%OmniScriptDataElement%

includeRevenueSchedule이 true로 설정된 경우 사용합니다.

값이 설정되지 않은 경우 기본적으로 판매된 정책으로 설정됩니다.

calculateCommission

true 또는 false

true로 설정하면 서비스에서 루트 항목에 대한 커미션을 계산하고 총액을 TotalCommissionAmount에 저장합니다.

false(기본값)로 설정하면 서비스에서 커미션을 계산하지 않습니다.

노트
노트

이 옵션을 true로 설정하면 서비스에 producerId, productionCodeId 또는 productionCodeName의 프로듀서 또는 프로덕션 코드 값이 필요합니다.

commissionType

선택 사항

커미션 유형(예: 보너스 또는 표준)

commissionStatus

선택 사항

커미션 상태(예: 보류 중, 지불됨 또는 포기됨)

producerId

선택 사항

처리 프로듀서 ID 즉, commissionScheduleId를 검색하고 커미션 금액을 계산하는 데 사용되는 프로듀서입니다.

할당된 InsurancePolicy.ProducerId에 할당되었습니다.

productionCodeId

선택 사항

프로덕션 코드 ID입니다.

할당 대상: InsurancePolicy.ProductionCodeId__c

productionCodeName

선택 사항

InsCommissionService.calculate 서비스에 전달된 프로덕션 코드 이름입니다.

productionCodeId를 입력하지 않으면 서비스에서 productionCodeName을 사용하여 productionCodeId를 검색합니다. 두 값을 모두 입력했지만 일치하지 않는 경우 productionCodeId가 우선합니다.

memberPlanIntegrationProcedure

사용자 구성에 따라 사용자 정의 통합 절차를 시작합니다. 이 옵션을 사용하면 서비스의 모든 옵션이 사용자 정의 통합 절차에 전달되고 모든 증권 ID는 개체와 통합하기 위한 입력으로 전달됩니다(예: 구성원 플랜이 있는 보험 증권 개체).

ratingDate

입력 JSON의 가격을 책정하는 데 사용된 등급 날짜입니다.

노트
노트 필드 유형이 날짜이므로 ratingField에 대한 특정 시간을 경과할 수 없습니다. 따라서 등급 날짜 타임스탬프는 기본적으로 오전 12시로 지정됩니다.

term

서비스에서 생성할 정책의 기간입니다.

InsPolicyService:createUpdatePolicy는 연간 증권 조건만 지원합니다.

useIsPaidFlag

선택 사항

true로 includePaymentSchedule도 true로 설정된 경우 서비스는 각 결제 일정 항목에 대한 증권 구성 요소의 기여 레코드를 만듭니다.

기본값은 false입니다.

입력 JSON

이 서비스는 inputKey의 가치를 찾습니다.

이 예에서는 inputKey = newPolicyJSON입니다.

"newPolicyJSON": {
  "accountId": "001f400000OSHq2AAH",
  "term": "Annual",
  "endDate": "2019-05-14T07:00:00.000Z",
  "effectiveDate": "2018-05-15T07:00:00.000Z",
  "productConfigurationDetail": {
    ...
  },
  "insuredItems": {
    ...
  },
  "additionalFields": {
    "SerialNumber": "AUTO-123",
    "Status": "InForce",
    "vlocityins2__Type__c": "AUTO",
    "vlocityins2__PaymentMethodId__c": "a2Rf40000002NrgEAE"
  },
}

inputKey 내의 JSON에는 정책을 만들거나 업데이트하는 데 필요한 여러 키/값 쌍이 포함되어 있습니다. 또한 보험 항목 및 총 증권 가격과 함께 제품 JSON이 포함됩니다.

키

값

accountId

자산에 대해 생성된 계정 ID입니다.

additionalFields

(선택 사항)

서비스의 일부가 아닌 증권(자산) 필드를 포함하는 키/값 쌍입니다.

endDate

(선택 사항)

정책이 만료되는 날짜입니다.

effectiveDate

정책이 적용되는 날짜입니다.

옵션 맵에 effectiveDate 값이 없는 경우 서비스가 rootAttributes 맵에서 해당 값을 찾습니다. 서비스에서 effectiveDate를 찾을 수 없는 경우 오늘 날짜를 사용합니다.

insuredItems

서비스에서 정책을 만드는 데 사용하는 보험 항목의 키/값 쌍입니다.

modificationDate

정책이 수정된 날짜

productConfigurationDetail

제품 JSON 구조 모델을 따르는 레코드의 배열입니다.

term

서비스에서 생성할 정책의 기간입니다.

이 예제의 insuredItems 레코드에는 보험 항목 및 사용자가 각 항목에 대해 선택한 값이 포함됩니다.

이 예에서는 inputKey = quotepolicyJSON입니다.

"quotepolicyJson": {
  "productConfigurationDetail": {
    ...
  }
  "insuredItems": {
    "DRIVER": [{
        "GENDER": "Female",
        "FN": "Joan",
        "AGE": 20,
        "LN": "Smith",
        "instanceKey": "Joan Smith",
        "isPrimary": false
        "isParent": false
      },
      {
        "GENDER": "Male",
        "FN": "John",
        "AGE": 30,
        "LN": "Smith",
        "instanceKey": "John Smith",
        "isPrimary": false
        "isParent": false
      },
      {
        "GENDER": "Male",
        "FN": "Robert",
        "AGE": 30,
        "LN": "Henderson",
        "instanceKey": "Robert Henderson",
        "isPrimary": false
        "isParent": false
      },
      {
        "GENDER": "Female",
        "FN": "Kinsey",
        "AGE": 20,
        "LN": "Schell",
        "instanceKey": "Kinsey Schell",
        "isPrimary": false
        "isParent": false
      }
    ],
    "AUTO": [{
        "autoLicNum": "Lexus",
        "autoModel": "LX250",
        "autoYear": 2015,
        "instanceKey": "2015 Lexus LX250",
        "BodyClass": "Sedan/Saloon",
        "VehicleType": "PASSENGER CAR",
        "isPrimary": true
        "isParent": true
      },
      {
        "autoLicNum": "Honda",
        "autoModel": "Odyssey",
        "autoYear": 2006,
        "instanceKey": "2006 Honda Odyssey",
        "BodyClass": "Minivan",
        "VehicleType": "MULTIPURPOSE PASSENGER VEHICLE (MPV)",
        "isPrimary": true
        "isParent": true                                
      }
    ]
  },
  "accountId": "0011I00000QknfjQAB",
  "opportunityId": "0061I00000AV8gBQAT"
},
"quoteId": "0Q01I000000206USAQ",
"error": "OK"

출력 JSON

서비스가 새로 만든 정책의 정책 ID를 반환합니다.

{
    "policyId": "02if4000001uCZXAA2",
    "error": "OK"
}

isCreatingPolicyTerms 원격 옵션이 true로 설정된 경우 policyTermIds 노드가 포함됩니다. 다음은 policyTermIds 노드의 예입니다.

{  
   "policyId": "02i6g000000h110AAA",
   "policyTermIds": [
    "a5X6g000001LeUUEA0",
    "a5X6g000001LeUVEA0",
    "a5X6g000001LeUWEA0",
    "a5X6g000001LeUXEA0",
    "a5X6g000001LeUYEA0",
    "a5X6g000001LeUZEA0",
    "a5X6g000001LeUaEAK",
    "a5X6g000001LeUbEAK",
    "a5X6g000001LeUcEAK",
    "a5X6g000001LeUdEAK",
    "a5X6g000001LeUeEAK",
    "a5X6g000001LeUfEAK"
  ]
}

예

서비스는 일반적으로 OmniScript Quote-to-Policy 패턴에서 사용됩니다.

 
로드 중
Salesforce Help | Article