Loading
보험
InsProductService:getRatedProducts

InsProductService:getRatedProducts

이 서비스를 사용하여 해당 제품에 첨부된 평가 절차를 사용하여 가격이 책정된 하나 이상의 제품의 배열을 가져옵니다. 이 서비스에는 세금 및 수수료 계산, 필터링, 성능 최적화와 같은 추가 기능도 포함되어 있습니다.

클래스: InsProductService

방법: getRatedProducts

이 서비스를 사용하려면 평가 절차에 제품 가격을 책정하는 데 필요한 입력 집합을 전달합니다. 서비스는 필터링된 제품 배열과 평가 절차의 결과 JSON을 반환합니다.

작동 방법

  1. 서비스는 Salesforce를 검색하여 유효 시작 및 종료 일자 내에 속하는 활성 제품 집합을 검색합니다. 자세한 내용은 아래의 effectiveDate를 참조하십시오.

    쿼리의 일부로 서비스는 필터 옵션에서 전달된 기준을 사용하여 초기 제품 집합을 가져옵니다. Salesforce에서 가져온 데이터에는 제품의 자격 규칙 및 등급 절차, 보험 항목 사양, 보험 당사자 사양, 보장 범위 사양, 등급 팩트 사양, 모든 특성이 포함됩니다.

  2. 적격성 규칙을 기반으로 초기 집합의 각 제품을 평가하여 제품 집합을 더 줄입니다.

  3. 입력 JSON에서 userInputs 키를 검색하고 키의 값을 검색합니다. userInputs는 등급 절차에서 제품의 가격을 가져오는 데 사용하는 입력 데이터 집합입니다. 서비스는 제품 등급 입력 매핑을 기반으로 이 개체를 평가하여 등급 절차에 필요한 입력 JSON을 만듭니다.

    제품 정의 및 등급 구성에 따라 userInputs의 형식을 다르게 지정할 수 있습니다. 오류를 방지하려면 모두 동일한 유형의 userInputs 형식을 사용하는 제품을 필터링합니다.

  4. 2단계에서 생성된 집합의 각 제품에 등급을 매깁니다. 3단계의 입력 JSON을 사용하여 제품의 관련 등급 절차를 호출합니다.

  5. 각 제품의 총액 및 보험 총액이 포함된 제품 개체의 배열을 반환합니다.

    반품된 각 제품 개체에는 CalculatedPriceData의 값으로 등급 절차의 출력 JSON도 포함됩니다. 또한 제품에 수식이 설정된 경우 서비스에서 price 및 totalSumInsured를 설정합니다.

    다음 사항에 유의하십시오.

    • Set Value 특성 규칙과 Set Default Value 특성 규칙을 모두 사용하여 단일 특성을 설정한 경우, getRatedProducts은 Set Default Value 특성 규칙만 적용합니다.

    • 특성 규칙 식을 설정할 때는 하위 수준 구조의 특성 값을 참조하지 마십시오.

원격 옵션

등급 옵션

옵션

설명

aggByKey

PRODUCT.instanceKey

aggByKey가 설정되면 aggregationResult가 비어 있지 않은 경우 해당 값이 계산 절차의 aggregationResult에 포함됩니다. (계산 절차에 집계 단계가 구성된 경우 일반적으로 aggregationResult이 채워집니다.)

예를 들어, 여러 차량에 대해 여러 운전자가 보험을 보유한 자동차 보험 정책은 계산 절차에 aggByKey를 전달해야 합니다.

alwaysCreateInstance

지정된 계층 수준에서 여러 하위 사양이 있는 제품에 대해 이 옵션을 true로 설정하고, 손자 사양이 없으며 루트 수준에서 하나의 등급 절차만 적용합니다.

다음 기준을 모두 충족하지 않는 제품의 경우 이 옵션을 생략합니다.

이 유형의 제품에 대한 서식을 지정하려면 userInputs getRatedProducts에 대한 제품당 하나의 평가 절차를 참조하십시오.

includeInputKeys

출력 제품 개체에 포함할 쉼표로 구분된 입력 키의 문자열이며, CalculatedPriceData 개체 내에 있습니다.

계산 절차에 사용된 입력 키만 결과에 값을 포함합니다.

rateType

Age 또는 Composite

소규모 그룹 등급에 이 옵션을 사용합니다.

searchText

PartOfAProductName

이 옵션을 사용하는 경우 서비스는 사용자가 입력한 값을 포함하는 이름이 있는 제품만 가져옵니다.

sortBy

productField1, productField2.

서비스가 받는 제품을 지정한 순서대로 정렬합니다.

이 옵션과 함께 DESC을 사용하여 제품을 내림차순으로 정렬할 수 있습니다. 내릴 첫 번째 항목을 지정할 수 있습니다. 시작 위치를 지정하지 않으면 DESC가 사전순으로 기본 설정됩니다.

이 옵션에 대한 값을 지정하지 않으면 서비스에서 이름별로 반환된 제품을 사전순 오름차순으로 정렬합니다.

필터 옵션

옵션

설명

attributeFilters

attributeCode 및 가치의 지도

필터에 제공된 특성 값을 충족하는 제품만 반환합니다.

effectiveDate

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

기본값은 오늘 날짜입니다.

서비스는 EffectiveDate__c와 EndDate__c 및 IsActive 사이의 effectiveDate 제품을 가져옵니다.

또한 서비스는 effectiveDate을 사용하여 제품 평가에 사용되는 계산 절차의 올바른 버전을 선택합니다.

filters

Product2FieldName:Value

Product2FieldName:%ElementName%

API 이름을 콜론 뒤에 값 또는 변수로 사용합니다. 예를 들어, OmniScript에서 변수는 입력 선택 목록과 같은 요소의 이름일 수 있습니다.

여러 필터 매개 변수를 쉼표로 구분합니다.

ProductCode:Value,ProductCode:%ElementName%

필터는 Product2 개체의 모든 필드를 포함할 수 있습니다.

includeFilterAttrValues

true 또는 false

기본값은 false입니다.

출력 JSON에서 제품 배열과 함께 filterAttrValues 개체가 추가됩니다. 이 개체에는 가능한 값 목록과 함께 필터링 가능으로 표시된 루트 제품 특성이 포함되어 있습니다. 이 목록은 일부 UI 템플릿에서 대규모 제품 집합을 필터링하기 위해 사용됩니다.

하위 제품 특성은 포함되지 않습니다.

whereClause

이 옵션의 값으로 유효한 Salesforce SOQL 문을 입력합니다.

이 서비스를 사용하여 제품을 검색할 때 다중 선택 목록 필드를 볼 수 있습니다.

예를 들어, 문에 시장 세그먼트 '소규모 그룹'이 있고 다중 선택 선택 목록에서 더 많은 또는 더 이상 없는 시장 세그먼트가 있는 제품이 vlocity_ins_marketsegment_c includes ('Small Group') 등록됩니다.

중요
중요

필터 키에서 whereClause의 필드에 대한 참조를 제거합니다.

예를 들어 필터에 vlocity_ins_marketsegment_c:Small Group이 있고 같은 필드에 대한 참조가 포함된 whereClause이 있는 경우 해당 필드가 충돌하고 충돌하여 예측할 수 없는 결과를 유발합니다.

최적화 옵션

옵션

설명

includeOptionalCovSelectFlag

true 또는 false

기본값은 false입니다.

이 옵션을 설정하여 서비스가 계산 절차에 등급 입력을 전달하기 전에 선택적 보장 규칙을 평가하도록 true합니다.

제품이 선택적 보장 범위를 사용하지 않는 경우 기본 설정인 false를 사용합니다. 등급 입력에 옵션 적용 범위 데이터를 가져오고 추가하려면 추가 처리가 필요하며 이 서비스가 지연될 수 있습니다.

includeRawCalculationResult

true 또는 false

기본값은 false입니다.

RawPriceData 키에 계산 절차의 전체 결과를 포함합니다.

isBatchMode

true 또는 false

true로 설정하면 서비스가 특성 범주를 포함하지 않고 특성 선택 값 및 규칙을 포함하는 간소화된 제품 JSON을 반환합니다.

false로 설정하면 서비스에서 전체 제품 JSON을 반환합니다.

이 옵션은 서비스 결과를 사용하는 UI가 없는 경우 유용합니다. 예를 들어 이 서비스를 포함하는 배치 모드에서 통합 절차를 실행하는 경우

mergeList

true 또는 false

기본값은 false입니다.

같은 평가 절차를 사용하여 제품별로 평가 절차 호출을 그룹화하여 평가 호출을 최적화합니다. 입력 개체의 배열로 하나의 등급 호출을 수행합니다.

이는 대규모 제품 목록을 가져올 때 유용합니다. 여러 등급 호출이 SQL 제한에 도달할 수 있습니다. 평가 절차 아키텍처는 입력 개체의 배열을 처리하고 필요한 SQL 쿼리 수를 최소화하도록 최적화되어 있습니다.

omitChildren

true 또는 false

omitRating도 true로 설정한 경우에만 이 옵션을 true로 설정합니다. 이렇게 하면 가격이 없는 제품이 반환됩니다.

omitRating

true 또는 false

true인 경우 서비스가 가격 책정 없이 제품을 반환합니다.

productClasses

“ProductClassName1,ProductClassName2”

쉼표로 구분된 제품 클래스 이름의 목록입니다. 제품 목록을 다음 제품 클래스로 제한합니다.

rootPricingOnly

true 또는 false

기본값은 false입니다.

이 옵션은 힙 크기를 줄여 성능을 향상합니다.

사용 중인 평가 절차가 루트 제품 수준에서만 정의된 경우 성능을 향상하기 위해 이 옵션을 true로 설정할 수 있습니다.

규칙 옵션

옵션

설명

evalOptionalCoverageRelationship

true 또는 false이 true로 설정된 경우 서비스에서 선택적 보장 범위 관계 규칙을 실행합니다.

omitEligibility

true 또는 false

기본값은 false입니다.

true로 설정하면 서비스에서 적격한 제품을 쿼리하지 않습니다.

대신 입력 맵 또는 옵션 맵의 키 products 아래에 목록 제품 ID를 입력해야 합니다. 제품 ID 목록 또는 쉼표로 구분된 제품 ID 문자열 모두 products의 허용 값입니다.

ruleAttributeSetValues

true 또는 false

false로 설정하면 서비스에서 특성 집합 값 규칙을 실행하지 않습니다.

true로 설정하면 서비스에서 특성 집합 값 규칙을 실행합니다.

validateCoverageSelection

true 또는 false

서비스 실행에 필요한 확인 규칙이 있는 경우 true로 설정합니다.

추가 기능 옵션

옵션

설명

calculateTaxesAndFees

선택 사항

true 또는 false

true로 설정하면 대상 제품에 대한 세금 및 수수료를 계산합니다.

includeFullProductJson

true 또는 false

이 옵션은 입력 JSON을 기반으로 API에 응답하는 추가 손자 노드의 존재를 제어합니다. true로 설정하면 출력 JSON에 두 가지 변경 사항이 있습니다.

  • 손자의 유형이 보험 당사자인 경우, 상위 JSON 노드에는 기본 당사자 및 기타 당사자와 같은 두 개의 추가 하위 노드가 포함됩니다. 이 두 개의 새 노드는 isPrimary 플래그가 손자 노드에 대해 설정되었는지 여부에 따라 채워집니다.

  • 손자의 유형이 보험 항목인 경우 응답 API에 이 두 노드(기본 당사자 및 기타 당사자)가 존재하지 않습니다. 입력 JSON에 포함된 손자들은 API의 출력 JSON에서 올바른 상위 노드에 연결됩니다.

이전 버전 호환의 경우 기본값은 false입니다.

jurisdictionIds

유형: ID의 문자열이 지정된 목록

calculateTaxesAndFees 옵션과 함께 사용됩니다.

제공된 관할 지역과 관련된 세금 및 수수료만 계산합니다.

taxAndFeeEffectiveDate

이 서비스가 세금 및 수수료 계산에 사용하는 유효 날짜입니다. 이 옵션은 제품 가격을 책정하는 데 사용되는 effectiveDate 옵션과 별개입니다.

값이 제공되는 경우 서비스에서 해당 값을 사용합니다.

값이 제공되지 않고 제품 JSON이 정책이 아닌 경우 서비스가 오늘 날짜로 기본 설정됩니다.

withTaxFeeRounding

선택 사항

true인 경우 절반 짝수 반올림 방법을 사용하여 계산된 세금 및 수수료 금액을 소수점 두 자리로 반올림합니다. withTaxFeeRounding는 calculateTaxesAndFees 옵션도 true인 경우에만 유효합니다. false인 경우 반올림이 비활성화됩니다.

기본값은 false입니다.

UI 옵션

옵션

설명

lastRecordId

서비스가 UI로 가져온 마지막 제품 ID를 지정합니다.

이 옵션을 pageSize 옵션과 함께 사용합니다.

pageSize

단일 호출에서 서비스가 UI로 반환하는 제품의 수를 결정합니다.

입력 JSON

InsProductService: getRatedProducts은 입력 JSON에서 userInputs 키를 찾습니다. 제품 정의 및 등급 구성에 따라 적절한 userInputs 형식을 사용합니다. 서비스는 한 번에 하나의 userInputs 형식 유형만 허용합니다.

출력 JSON

서비스가 하나 이상의 제품 개체의 배열을 반환합니다. 이 개체에 대한 자세한 내용은 제품 JSON 구조 모델을 참조하십시오.

입력 JSON의 매핑된 userInputs는 매핑된 특성의 단일 인스턴스의 userValues 키로 제품 개체에 추가됩니다.

각 제품에 대해 등급 절차 계산의 출력 JSON이 CalculatedPriceData 키를 사용하여 제품에 추가됩니다. 제품에 대한 가격 책정 수식이 설정된 경우 Price 값이 계산된 값으로 설정됩니다. 제품에 대한 총 보험 수식이 설정된 경우 TotalInsured 값이 계산된 값으로 설정됩니다.

이 예에서는 가격 책정 수식이 제품에 설정되지만, 총 보장 수식은 설정되지 않습니다. 평가 절차의 결과에 CalculatedPriceData가 추가된 다음, 수식을 기반으로 가격이 계산됩니다. 총 보험 수식은 데이터에 표시되지 않으며 TotalInsured도 표시되지 않습니다.

{
  "totalSize": 2,
  "records": [{
      "displaySequence": -1,
      "CalculatedPriceData": {
        "ID": "1",
        "basePremium": 719,
        "premGenlLiab": "356"
      },
      "Id": "01t6A000000FshIQAS",
      "Name": "Economy Business",
      "Family": "Commercial Lines",
      "ProductCode": "bop-ECON",
      "LineOfBusiness__c": "Property & Casualty",
      "Type__c": "BusinessOwners",
      "IsRecommended__c": false,
      "RecordTypeName__c": "Product",
      "IsConfigurable__c": true,
      "PricingFormula__c": "basePremium + premGenlLiab",
      "Term__c": "Annual",
      "productId": "01t6A000000FshIQAS",
      "Price": 1075,
      "childProducts": {
        ...
      },
      "attributeCategories": {
        ...
      }
    },
    {
      ...
    }
  }

filterAttrValues 키

includeFilterAttrValues 옵션은 제품 배열을 ratedProducts 노드에 배치하고 filterAttrValues 결과를 추가합니다.

{
  "result": {
    "filterAttrValues": {
      "covType": {
        "listOfValues": [
          "Superior",
          "Economy"
        ],
        "valueDataType": "Text",
        "attributeName": "Type",
        "categoryName": "Policy Terms"
      },
      "covDeductible": {
        "listOfValues": [
          "1000",
          "250"
        ],
        "valueDataType": "Currency",
        "attributeName": "Deductible",
        "categoryName": "Policy Terms"
      }
    },
    "ratedProducts": {
      "totalSize": 2,
      "records": [{
          "displaySequence": -1,
          "CalculatedPriceData": {
            "ID": "1",
            "basePremium": 719,
            "premGenlLiab": "356"
          },
          "Id": "01t6A000000FshIQAS",
          "Name": "Economy Business",
          "Family": "Commercial Lines",
          "ProductCode": "bop-ECON",
          ...,
          "Price": 1075,
          "childProducts": {
            ...
          },
          "attributeCategories": {
            ...
          }
        },
        {
          ...
        }
      }
    }
  }

각 필터링 가능한 특성이 특성 코드에 설정된 키를 사용하여 개체에 추가됩니다. 각 필터 특성 값은 다음을 포함하는 개체입니다.

키

값

attributeName

특성의 이름입니다.

categoryName

범주의 이름입니다.

listOfValues

배열의 제품에서 가능한 값 목록입니다.

valueDataType

텍스트 또는 통화와 같은 특성의 데이터 유형입니다.

세금 및 수수료

세금 및 수수료가 서비스를 사용하는 경우 계산된 세금 및 수수료가 다음과 같은 세 가지 고유한 방법으로 JSON 레코드에 표시됩니다.

  1. 레코드에 세금 및 수수료가 계산된 경우 taxesAndFees 필드에 목록으로 저장됩니다.

    {
      "taxesAndFees": [{
        "Id": 1,
        "calculatedAmount": 10,
        "Type__c": "Tax"
      }, {
        "Id": 2,
        "calculatedAmount": 15,
        "Type__c": "Fee"
      }]
    }
  2. 레코드에 자신이나 자녀에 대한 세금이 계산된 경우, 계산된 세금의 합계는 자신과 자녀에 대한 taxAmount 필드에 저장됩니다.

    {  "taxAmount”: 25 // 10 from self, 15 from children}
  3. 레코드에 자체 또는 자녀에 대한 요금이 계산된 경우 자체 및 자녀에 대한 계산된 요금의 합계가 feeAmount 필드에 저장됩니다.

    {  "feeAmount”: 30 // 15 from self, 15 from children}

하위 레코드 및 루트에 대한 세금 및 수수료가 포함된 샘플 JSON 출력은 다음과 같이 표시됩니다.

{
  "Id": 1,
  "productName": "Product",
  "taxesAndFees": [{
    "Id": 1,
    "calculatedAmount": 10,
    "Type__c": "Tax"
  }, {
    "Id": 2,
    "calculatedAmount": 15,
    "Type__c": "Fee"
  }],
  "taxAmount": 25
  "feeAmount": 30
  "childProducts": {
    "records": [{
      "Id": 2,
      "productName": "Insured Item",
      "taxesAndFees": [{
        "Id": 3,
        "calculatedAmount": 15,
        "Type__c": "Tax"
      }],
      "taxAmount": 15
    }, {
      "Id": 3,
      "productName": "Coverage",
      "taxesAndFees": [{
        "Id": 4,
        "calculatedAmount": 15,
        "Type__c": "Fee"
      }],
      "feeAmount": 15
    }]
  }
}

별표 등급

attributeFilters 입력을 사용하여 제품 모델러가 특성으로 만든 등급을 기반으로 제품을 필터링할 수 있습니다.

 
로드 중
Salesforce Help | Article