위치:
InsProductService:getRatedProducts
이 서비스를 사용하여 해당 제품에 첨부된 평가 절차를 사용하여 가격이 책정된 하나 이상의 제품의 배열을 가져옵니다. 이 서비스에는 세금 및 수수료 계산, 필터링, 성능 최적화와 같은 추가 기능도 포함되어 있습니다.
작동 방법
-
서비스는 Salesforce를 검색하여 유효 시작 및 종료 일자 내에 속하는 활성 제품 집합을 검색합니다. 자세한 내용은 아래의 effectiveDate를 참조하십시오.
쿼리의 일부로 서비스는 필터 옵션에서 전달된 기준을 사용하여 초기 제품 집합을 가져옵니다. Salesforce에서 가져온 데이터에는 제품의 자격 규칙 및 등급 절차, 보험 항목 사양, 보험 당사자 사양, 보장 범위 사양, 등급 팩트 사양, 모든 특성이 포함됩니다.
-
적격성 규칙을 기반으로 초기 집합의 각 제품을 평가하여 제품 집합을 더 줄입니다.
-
입력 JSON에서
userInputs키를 검색하고 키의 값을 검색합니다.userInputs는 등급 절차에서 제품의 가격을 가져오는 데 사용하는 입력 데이터 집합입니다. 서비스는 제품 등급 입력 매핑을 기반으로 이 개체를 평가하여 등급 절차에 필요한 입력 JSON을 만듭니다.제품 정의 및 등급 구성에 따라
userInputs의 형식을 다르게 지정할 수 있습니다. 오류를 방지하려면 모두 동일한 유형의userInputs형식을 사용하는 제품을 필터링합니다. -
2단계에서 생성된 집합의 각 제품에 등급을 매깁니다. 3단계의 입력 JSON을 사용하여 제품의 관련 등급 절차를 호출합니다.
-
각 제품의 총액 및 보험 총액이 포함된 제품 개체의 배열을 반환합니다.
반품된 각 제품 개체에는
CalculatedPriceData의 값으로 등급 절차의 출력 JSON도 포함됩니다. 또한 제품에 수식이 설정된 경우 서비스에서price및totalSumInsured를 설정합니다.다음 사항에 유의하십시오.
-
Set Value 특성 규칙과 Set Default Value 특성 규칙을 모두 사용하여 단일 특성을 설정한 경우,
getRatedProducts은 Set Default Value 특성 규칙만 적용합니다. -
특성 규칙 식을 설정할 때는 하위 수준 구조의 특성 값을 참조하지 마십시오.
-
원격 옵션
옵션 |
설명 |
|---|---|
|
예를 들어, 여러 차량에 대해 여러 운전자가 보험을 보유한 자동차 보험 정책은 계산 절차에 |
|
지정된 계층 수준에서 여러 하위 사양이 있는 제품에 대해 이 옵션을 다음 기준을 모두 충족하지 않는 제품의 경우 이 옵션을 생략합니다. 이 유형의 제품에 대한 서식을 지정하려면 |
|
출력 제품 개체에 포함할 쉼표로 구분된 입력 키의 문자열이며, 계산 절차에 사용된 입력 키만 결과에 값을 포함합니다. |
|
소규모 그룹 등급에 이 옵션을 사용합니다. |
|
PartOfAProductName 이 옵션을 사용하는 경우 서비스는 사용자가 입력한 값을 포함하는 이름이 있는 제품만 가져옵니다. |
|
productField1, productField2. 서비스가 받는 제품을 지정한 순서대로 정렬합니다. 이 옵션과 함께 이 옵션에 대한 값을 지정하지 않으면 서비스에서 이름별로 반환된 제품을 사전순 오름차순으로 정렬합니다. |
옵션 |
설명 |
|---|---|
|
필터에 제공된 특성 값을 충족하는 제품만 반환합니다. |
|
기본값은 오늘 날짜입니다. 서비스는 또한 서비스는 |
|
API 이름을 콜론 뒤에 값 또는 변수로 사용합니다. 예를 들어, OmniScript에서 변수는 입력 선택 목록과 같은 요소의 이름일 수 있습니다. 여러 필터 매개 변수를 쉼표로 구분합니다.
필터는 |
|
기본값은 출력 JSON에서 제품 배열과 함께 하위 제품 특성은 포함되지 않습니다. |
|
이 옵션의 값으로 유효한 Salesforce SOQL 문을 입력합니다. 이 서비스를 사용하여 제품을 검색할 때 다중 선택 목록 필드를 볼 수 있습니다. 예를 들어, 문에 시장 세그먼트 '소규모 그룹'이 있고 다중 선택 선택 목록에서 더 많은 또는 더 이상 없는 시장 세그먼트가 있는 제품이 중요
필터 키에서 예를 들어 필터에 |
옵션 |
설명 |
|---|---|
|
기본값은 이 옵션을 설정하여 서비스가 계산 절차에 등급 입력을 전달하기 전에 선택적 보장 규칙을 평가하도록 제품이 선택적 보장 범위를 사용하지 않는 경우 기본 설정인 |
|
기본값은
|
|
이 옵션은 서비스 결과를 사용하는 UI가 없는 경우 유용합니다. 예를 들어 이 서비스를 포함하는 배치 모드에서 통합 절차를 실행하는 경우 |
|
기본값은 같은 평가 절차를 사용하여 제품별로 평가 절차 호출을 그룹화하여 평가 호출을 최적화합니다. 입력 개체의 배열로 하나의 등급 호출을 수행합니다. 이는 대규모 제품 목록을 가져올 때 유용합니다. 여러 등급 호출이 SQL 제한에 도달할 수 있습니다. 평가 절차 아키텍처는 입력 개체의 배열을 처리하고 필요한 SQL 쿼리 수를 최소화하도록 최적화되어 있습니다. |
|
|
|
true인 경우 서비스가 가격 책정 없이 제품을 반환합니다. |
|
“ProductClassName1,ProductClassName2” 쉼표로 구분된 제품 클래스 이름의 목록입니다. 제품 목록을 다음 제품 클래스로 제한합니다. |
|
기본값은 이 옵션은 힙 크기를 줄여 성능을 향상합니다. 사용 중인 평가 절차가 루트 제품 수준에서만 정의된 경우 성능을 향상하기 위해 이 옵션을 |
옵션 |
설명 |
|---|---|
|
|
|
기본값은
대신 입력 맵 또는 옵션 맵의 키 |
|
|
|
서비스 실행에 필요한 확인 규칙이 있는 경우 |
옵션 |
설명 |
|---|---|
|
서비스가 UI로 가져온 마지막 제품 ID를 지정합니다. 이 옵션을 |
|
단일 호출에서 서비스가 UI로 반환하는 제품의 수를 결정합니다. |
입력 JSON
InsProductService: getRatedProducts은 입력 JSON에서 userInputs 키를 찾습니다. 제품 정의 및 등급 구성에 따라 적절한 userInputs 형식을 사용합니다. 서비스는 한 번에 하나의 userInputs 형식 유형만 허용합니다.
-
getRatedProducts에 대한 제품당 하나의 평가 절차
루트 제품당 단일 등급 절차를 사용하는 제품의 형식
userInputs -
getRatedProducts의 경우 제품당 여러 등급 절차 또는 모든 수준의 여러 사양
제품 계층에서 여러 등급 절차 또는 계층의 모든 수준에서 여러 하위 사양을 사용하는 제품의 형식
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": {
...
}
},
{
...
}
}
}
}각 필터링 가능한 특성이 특성 코드에 설정된 키를 사용하여 개체에 추가됩니다. 각 필터 특성 값은 다음을 포함하는 개체입니다.
키 |
값 |
|---|---|
|
특성의 이름입니다. |
|
범주의 이름입니다. |
|
배열의 제품에서 가능한 값 목록입니다. |
|
텍스트 또는 통화와 같은 특성의 데이터 유형입니다. |
세금 및 수수료
세금 및 수수료가 서비스를 사용하는 경우 계산된 세금 및 수수료가 다음과 같은 세 가지 고유한 방법으로 JSON 레코드에 표시됩니다.
-
레코드에 세금 및 수수료가 계산된 경우
taxesAndFees필드에 목록으로 저장됩니다.{ "taxesAndFees": [{ "Id": 1, "calculatedAmount": 10, "Type__c": "Tax" }, { "Id": 2, "calculatedAmount": 15, "Type__c": "Fee" }] } -
레코드에 자신이나 자녀에 대한 세금이 계산된 경우, 계산된 세금의 합계는 자신과 자녀에 대한
taxAmount필드에 저장됩니다.{ "taxAmount”: 25 // 10 from self, 15 from children} -
레코드에 자체 또는 자녀에 대한 요금이 계산된 경우 자체 및 자녀에 대한 계산된 요금의 합계가
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
}]
}
}
- getRatedProducts에 대한 제품당 하나의 평가 절차
루트 제품당 단일 등급 절차를 사용하는 제품의 형식InsProductService:getRatedProducts userInputs - getRatedProducts에 대한 제품당 다중 등급 절차 또는 모든 수준의 다중 사양
제품 계층에서 여러 등급 절차 또는 계층의 모든 수준에서 여러 하위 사양을 사용하는 제품의 형식InsProductService:getRatedProducts userInputs
