위치:
InsProductService:repriceProduct
이 서비스를 사용하여 해당 제품에 첨부된 평가 절차를 사용하여 제품 하나의 가격을 책정합니다. 이 서비스는 일반적으로 사용자가 제품을 선택하고 적용 범위를 사용자 정의하면 호출됩니다.
방법: repriceProduct
서비스는 입력 JSON에서 하나의 제품 개체를 가져와 총 가격 및 총 보험 금액이 포함된 제품을 반환합니다. 또한 평가 절차에서 전체 결과 JSON을 반환합니다.
이 서비스는 한 명 이상의 보험 당사자(보험 제품이 보장하는 사람) 및 한 명 이상의 보험 항목(자동차 증권의 여러 차량 등)에 적용됩니다.
견적서를 수정할 때 이 서비스는 적격성, 필수, 기본 옵션 적용 범위 규칙을 실행하지 않습니다.
작동 방법
-
서비스에서 선택한 제품 키에 대한 입력 JSON을 검색한 후 해당 값을 검색합니다. 이 개체에는 하나의 제품 개체가 포함되어 있습니다.
-
제품 데이터를 사용하여 Salesforce를 검색하면 서비스에서 제품을 찾아 평가 절차를 검색합니다.
-
서비스에서 제품 JSON 구조의 제품에 등급을 부여합니다.
-
서비스는 총액 및 총 보험 금액이 포함된 제품 개체를 반환합니다. 출력 JSON은 등급 절차의 구문 분석 결과 JSON을
CalculatedPriceData의 값으로 포함합니다. 서비스는 수식이 제품에 설정된 경우 가격 및totalSumInsured도 설정합니다.
원격 옵션
옵션 |
설명 |
|---|---|
|
예를 들어 자동차 보험 견적서 또는 증권에 보장되는 각 자동차에 여러 운전자가 첨부되어 있는 경우 보험인 자동차는 각각의 auto+driver 인스턴스에 대해 별도의 |
|
지정된 계층 수준에서 여러 하위 사양이 있고, 손자 사양이 없으며, 루트 수준에서 하나의 등급 절차만 있는 제품의 경우 이 옵션을 다음 기준을 모두 충족하지 않는 제품의 경우 이 옵션을 생략합니다. 이 유형의 제품에 대한 서식을 지정하려면 |
|
또는 %OmniScriptDataElement% 기본값은 오늘 날짜입니다. |
|
이 옵션이 |
|
이 서비스에서 정책(자산) 정보를 검색하는 데 사용하는 Omnistudio 데이터 매퍼의 이름입니다. Salesforce FSC를 사용하는 경우 이 옵션 또는 |
|
이 서비스에서 정책(자산) 정보를 검색하는 데 사용하는 사용자 정의 클래스의 이름입니다. Salesforce FSC를 사용하는 경우 이 옵션 또는 |
|
서비스가 계산 절차에 들어오거나 나가는 쉼표로 구분된 키/값 쌍의 문자열입니다. 이러한 키/값 쌍은 계산 절차에 사용된 입력 키만 결과에 값을 포함합니다. |
|
기본값은
|
|
선택적 보장 범위 확인 규칙을 사용하려는 경우 |
|
선택 사항
대상 제품의 세금 및 수수료를 계산하려면 Salesforce FSC를 사용하고 이 옵션을 |
|
ID의 문자열이 지정된 목록
제공된 관할 지역과 관련된 세금 및 수수료만 계산합니다. |
taxAndFeeEffectiveDate
|
이 서비스가 세금 및 수수료 계산에 사용하는 유효 날짜입니다. 이 옵션은 제품 가격을 책정하는 데 사용되는 값이 제공되는 경우 서비스에서 해당 값을 사용합니다. 값이 제공되지 않고 제품 JSON이 정책이 아닌 경우 서비스가 오늘 날짜로 기본 설정됩니다. 값이 제공되지 않고 제품 JSON이 정책인 경우 서비스는 원래 정책 버전의 유효 일자를 사용합니다. |
withTaxFeeRounding
|
선택 사항 true인 경우 절반 짝수 반올림 방법을 사용하여 계산된 세금 및 수수료 금액을 소수점 두 자리로 반올림합니다. 기본값은 false입니다. |
입력 JSON
InsProductService: repriceProduct은 입력 JSON의 selectedProduct 키에서 제품 개체를 찾습니다. 이 개체에는 관련 보장 사양, 보험 항목 사양, 보험 당사자 사양, 평가 팩트 사양을 포함하여 제품 특성에 매핑된 등 등급 평가 절차에 필요한 입력이 포함됩니다. 이 객체는 getRatedProducts와 같은 다른 서비스에서 만들 수 있습니다. 루트 제품, 하위 제품, 손자 제품이 포함됩니다. 서비스에서 제품 구조를 구문 분석하고 식 집합 또는 계산 절차에 데이터를 전달합니다. 등급에 매핑된 특성이 개체에 포함되지 않은 경우 서비스는 제품 관리자가 설정한 기본값을 사용합니다.
이 서비스는 또한 입력 JSON에서 userInputs 키를 찾으므로 selectedProduct 노드에 포함되지 않은 등급 요소를 찾을 수 있습니다. 제품 정의 및 등급 구성에 따라 적절한 userInputs 형식을 사용합니다. 서비스는 한 번에 하나의 userInputs 형식만 허용합니다.
출력 JSON
서비스는 업데이트된 가격 책정 정보와 함께 selectedProduct 노드의 JSON 구조와 동일하게 반환합니다. 이 객체의 내용과 구조에 대한 자세한 내용은 제품 JSON 구조 모델을 참조하십시오.
세금 및 수수료 서비스를 사용하는 경우 JSON 출력이 JSON 레코드에 유지되며, getRatedProducts가 JSON에 쓰는 방식과 유사합니다.
각 제품에 대해 등급 절차 계산의 출력 JSON이 CaculatedPriceData 키를 사용하여 제품에 추가됩니다. 제품에 대한 가격 책정 수식이 설정된 경우 price 값이 계산된 값으로 설정됩니다. 제품에 대한 총 보험 수식이 설정된 경우 TotalInsured 값이 계산된 값으로 설정됩니다.
CalculatedPriceData의 구조에는 인스턴스 지원이 포함됩니다. 가격 메트릭은 인스턴스 수준 아래 그룹화됩니다.
출력 JSON에는 인스턴스 수준 가격을 합산하는 루트 수준의 priceDiff 노드가 포함되어 있습니다. 또한 루트 수준의 totalPremiumForTermDiff 필드를 포함합니다. 이 값은 기간의 원래 총 보험료와 새 증권 버전의 기간에 대한 총 보험료와 이전 증권 버전의 기간에 대해 업데이트된 보험료 사이의 합계 간의 차이입니다.
이 예에서는 가격 책정 수식이 제품에 설정되지만, 총 보장 수식은 설정되지 않습니다. 서비스는 평가 절차의 결과에 CalculatedPriceData를 추가합니다. 서비스는 수식을 기반으로 가격을 계산합니다. 총 보험 수식은 제품에 설정되지 않으며 데이터에 표시되지 않습니다(또는 TotalInsured).
"totalSize": null,
"records": [{
"displaySequence": -1,
"rootProductId": "01t1I000002fuBoQAI",
"rootProductCode": "AUTOROOT",
"timestamp": 1533948385704,
"hasInstanceKeys": true,
"childProductsCount": 8,
"instanceKeyChildren": 2,
"pathFromChild": "[0]",
"pathFromRoot": "[0]",
"Price": 80,
"productId": "01t1I000002fuBoQAI",
"Term__c": "Semi-Annual",
"PricingFormula__c": "SUM(AutoPremium__autoPremium + rentalTotal + medicalTotal + roadsideTotal + dedWaiverTotal + uninsuredMotoristPDTotal + uninsuredMotoristBITotal)",
"IsConfigurable__c": true,
"RecordTypeName__c": "Product",
"IsRecommended__c": false,
"ProductCode": "AUTOROOT",
"Name": "Auto Root",
"Id": "01t1I000002fuBoQAI",
"RawPriceData": [{
"calculationResults": [{
"DRIVER.LN": null,
"DRIVER.FN": null,
"AUTO.instanceKey": "2015 Lexus LX250",
"uninsuredMotoristBITotal": 100,
"uninsuredMotoristPDTotal": 0,
"dedWaiverTotal": 10,
"roadsideTotal": 10,
"medicalTotal": 10,
"rentalTotal": 40,
"comprehensiveTotal": 500,
"ID": "0"
}],
"aggregationResults": {}
},
{
"calculationResults": [{
"DRIVER.LN": null,
"DRIVER.FN": null,
"AUTO.instanceKey": "2006 Honda Odyssey",
"uninsuredMotoristBITotal": 100,
"uninsuredMotoristPDTotal": 0,
"dedWaiverTotal": 10,
"roadsideTotal": 10,
"medicalTotal": 10,
"rentalTotal": 40,
"comprehensiveTotal": 500,
"ID": "1"
}],
"aggregationResults": {}
}
],
"CalculatedPriceData": {
"2015 Lexus LX250": {
"DRIVER.LN": null,
"DRIVER.FN": null,
"AUTO.instanceKey": "2015 Lexus LX250",
"uninsuredMotoristBITotal": 100,
"uninsuredMotoristPDTotal": 0,
"dedWaiverTotal": 10,
"roadsideTotal": 10,
"medicalTotal": 10,
"rentalTotal": 40,
"comprehensiveTotal": 500,
"ID": "0"
},
"2006 Honda Odyssey": {
"DRIVER.LN": null,
"DRIVER.FN": null,
"AUTO.instanceKey": "2006 Honda Odyssey",
"uninsuredMotoristBITotal": 100,
"uninsuredMotoristPDTotal": 0,
"dedWaiverTotal": 10,
"roadsideTotal": 10,
"medicalTotal": 10,
"rentalTotal": 40,
"comprehensiveTotal": 500,
"ID": "1"
}
},
"priceDiff": 0,
"totalPremiumForTermDiff": 0,
"attributeCategories": {
"totalSize": 1,
"records": [{
"displaySequence": 5,
"id": "a1V1I0000007xJSUAY",
"Name": "Alan Health Attributes",
"Code__c": "AHA",
"productAttributes": {
"totalSize": 1,
"records": [{
"code": "ALANDEDUCTIBLE",
"dataType": "text",
"inputType": "text",
"required": false,
"readonly": false,
"disabled": false,
"filterable": true,
"attributeId": "a1W1I000000Bu1jUAC",
"label": "Deductible",
"displaySequence": 2,
"hasRules": false,
"hidden": false,
"values": [{
"readonly": false,
"disabled": false
}],
"userValues": "test",
"parentProductId": "01t1I000002fuBoQAI",
"parentProductCode": "AUTOROOT",
"pathFromChild": "attributeCategories.records[0].productAttributes.records[0]",
"pathFromRoot": "attributeCategories.records[0].productAttributes.records[0]"
}]
}
}]
},
"childProducts": {
...
}- repriceProduct의 제품당 하나의 평가 절차
루트 제품당 단일 등급 절차를 사용하는 제품의 형식InsProductService:repriceProduct userInputs - 제품당 여러 등급 절차 또는 repriceProduct의 모든 수준에서 여러 사양
제품 계층에서 여러 등급 절차 또는 계층의 모든 수준에서 여러 하위 사양을 사용하는 제품의 형식InsProductService:repriceProduct userInputs
