Вы находитесь здесь:
InsProductService:repriceProduct
Используйте эту службу для определения цены одного продукта с помощью процедуры оценки, прикрепленной к этому продукту. Обычно эта служба вызывается, когда пользователь выбирает продукт и настраивает его покрытие.
Метод: repriceProduct
Служба берет один объект продукта в JSON ввода и возвращает продукт с общим ценообразованием и общей страховой суммой. Он также возвращает полный результат JSON из процедуры рейтинга.
Эта услуга работает для одной или нескольких застрахованных сторон (людей, на которых распространяется продукт полиса) и одного или нескольких застрахованных элементов (например, несколько автомобилей по автополису).
Эта служба не выполняет дополнительные правила покрытия «Право на участие», «Обязательно» и «По умолчанию» при изменении сметы.
Принцип работы
-
Служба ищет выбранный ключ продукта в JSON, а потом извлекает его значение. Данный объект содержит один объект продукта.
-
Используя данные продукта для поиска в Salesforce, служба находит продукт и извлекает процедуру оценки.
-
Служба оценивает продукт со структурой JSON продукта.
-
Услуга возвращает объекты продукта с общей ценой и общей страховой суммой. Вывод JSON содержит анализ результата JSON из процедуры рейтинга в качестве значения
CalculatedPriceData. Служба также устанавливает цену иtotalSumInsured, если формулы установлены для продукта.
Удаленные параметры
Параметр |
Описание |
|---|---|
|
При установке Например, смета или полис автострахования содержит несколько водителей, прикрепленных к каждому застрахованному авто. Застрахованное авто имеет отдельный |
|
Установите этот параметр на Пропустите этот параметр для продуктов, не соответствующих всем этим критериям. Чтобы отформатировать |
|
или %OmniScriptDataElement% По умолчанию до сегодняшней даты. |
|
Если этот параметр = |
|
Имя Omnistudio Data Mapper, используемое службой для извлечения сведений о политике (активе). Если вы используете Salesforce FSC, укажите этот параметр или |
|
Имя настраиваемого класса, используемого службой для извлечения сведений о политике (активе). Если вы используете Salesforce FSC, укажите этот параметр или |
|
Строка пар ключ/значение, разделенных запятыми, которую служба передает в процедуру расчета и из нее. Эти пары ключ/значение добавлены в объект выводного продукта в объекте Только ключи ввода, используемые процедурой расчета, имеют значение в результатах. |
|
По умолчанию — Содержит все результаты процедуры расчета в ключе |
|
Установите |
|
Дополнительно
Задайте значение « Если вы используете Salesforce FSC и устанавливаете этот параметр на |
|
Строгий список кодов Используется совместно с параметром Рассчитывает только налоги и платежи, связанные с предоставленными юрисдикциями. |
taxAndFeeEffectiveDate
|
Дата вступления в силу, используемая службой для расчета налогов и платежей. Данный параметр отличается от параметра Если значение предоставлено, служба использует это значение. Если значение не предоставлено, а продукт JSON не является полисом, служба по умолчанию использует текущую дату. Если значение не предоставлено, а продукт JSON является полисом, служба использует исходную дату вступления в силу версии полиса. |
withTaxFeeRounding
|
Дополнительно Если значение true, то вычисленные суммы налога и платежа округляются до двух знаков после запятой посредством метода округления пополам. Значение по умолчанию является ложным. |
JSON ввода
InsProductService: repriceProduct ищет объект продукта в ключе selectedProduct в JSON ввода. Этот объект содержит вводные данные, необходимые процедуре рейтинга, соотнесенные в атрибутах продукта, включая связанные характеристики покрытия, характеристики застрахованных элементов, характеристики застрахованной стороны и характеристики фактов рейтинга. Данный объект может быть создан другими службами (например, getRatedProducts). Она содержит корневой продукт, дочерние продукты и внучатые продукты. Служба анализирует структуру продукта и передает данные в набор выражений или процедуру расчета. Если атрибуты, соотнесенные для рейтинга, не включены в объект, служба использует стандартные параметры, установленные администратором продукта.
Эта служба также ищет ключ userInputs в JSON ввода, чтобы найти факторы рейтинга, не добавленные в узел selectedProduct. Используйте соответствующий формат userInputs, в зависимости от определения продукта и конфигурации рейтинга. Одновременно служба принимает только один тип формата userInputs.
Вывод JSON
Служба возвращает ту же структуру JSON, что и в узле selectedProduct с обновленными сведениями о ценообразовании. См. Модель структуры 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для продуктов, использующих несколько процедур рейтинга в иерархии продуктов или несколько дочерних характеристик на любом уровне иерархии.
