Вы находитесь здесь:
InsProductService: runRules
Используйте эту службу для выполнения правил по продукту без изменения цены на этот продукт.
Метод: runRules
Принцип работы
-
Служба ищет ключ
selectedProductв JSON ввода. -
Выполняет правила для узла
selectedProduct.Какие наборы правил выполняются, зависит от того, каким удаленным параметрам задано значение true.
-
Возвращает JSON с результатами правил, добавленных в узел
selectedProduct.
Удаленные параметры
Параметр |
Описание |
|---|---|
|
По умолчанию — Если значение true, Service выполняет правила значений набора атрибутов. |
|
По умолчанию — Если этот параметр установлен на |
|
При установке значения true выполняет стандартные правила покрытия для выбранного продукта. |
|
При установке значения true выполняет правила доступа для выбранного продукта. Если правила оцениваются как |
|
При установке значения true выполняет дополнительные правила покрытия, обязательные для покрытия. |
|
По умолчанию содержит значение «ложь». Если этот параметр установлен на Служба добавляет узел сообщения к соответствующей записи дополнительного покрытия, если правило оценивается как false. |
JSON ввода
Эта служба ищет объект продукта в ключе selectedProduct в JSON ввода. Данный объект может быть создан другими службами (например, getRatedProducts). Она содержит корневой продукт, дочерние продукты и внучатые продукты.
Данный пример содержит только один узел ввода перед выполнением правил службой.
"Name": "Accidental Death",
"Description": "An accidental death benefit rider also known as a double indemnity clause provides a higher death benefit to the beneficiaries of the policy in case the insured dies because of an accident. The death benefit is generally a multiple of the face value of the base coverage.",
"Family": "Individual Life",
"ProductCode": "ADDCOV",
"LineOfBusiness__c": "Individual Health",
"Type__c": "Coverages",
"IsRecommended__c": false,
"PricingSource__c": "premiumADD",
"RecordTypeName__c": "CoverageSpec",
"IsConfigurable__c": true,
"productId": "01t1U000000OEamQAG",
"pciId": "a2w1U0000001G4YQAU",
"selectValidationCriteria": "[{\"expression\":\"WOP.isSelected == true\",\"code\":\"code_0\"}]",
"selectValidationMessage": "[{\"message\":\"WOP must be true\",\"severity\":\"INFO\",\"code\":\"code_0\"}]",
"isOptional": true,
"isSelected": true,
"parentInstanceKey": "Jack Kirkland",
"Price": 358,
"pathFromRoot": "[0].childProducts.records[2].childProducts.records[2]",
"formattedParentInstanceKey": "jack-kirkland",
"parentProductName": "Jack Kirkland",
"originalIndex": 2,
"numberCategories": 18,
"numberAttributes": 18,
"popoverOpen": false,
"isOriginalOptional": true,
"isAddedOptional": true,
"showTypeHeader": true,
"displaySequence": 1
preTransformBundle Alternative
Или можно определить трансформацию Omnistudio Data Mapper, которая соотносит данные, переданные во ввод JSON, в нужную услуге форму. JSON вывода этого Data Mapper является узлом selectedProducts, требуемым runRules. При добавлении этой службы в OmniScript задайте preTransformBundle имени Data Mapper, чтобы служба использовала Data Mapper.
Вывод JSON
Служба возвращает ту же структуру JSON, что и в узле selectedProduct с результатами выполнения правил. См. Модель структуры JSON продукта для получения сведений о содержимом и структуре этого объекта.
Данный пример содержит только один узел output после выполнения правил службой с результатами выполнения правил.
"messages": [
{
"code": "code_0",
"severity": "INFO",
"message": "WOP must be true"
}
],
"displaySequence": 1,
"lastNonOptional": true,
"firstOptional": true,
"Id": "01t1U000000OEamQAG",
"Name": "Accidental Death",
"Description": "An accidental death benefit rider also known as a double indemnity clause provides a higher death benefit to the beneficiaries of the policy in case the insured dies because of an accident. The death benefit is generally a multiple of the face value of the base coverage.",
"Family": "Individual Life",
"ProductCode": "ADDCOV",
"LineOfBusiness__c": "Individual Health",
"Type__c": "Coverages",
"IsRecommended__c": false,
"PricingSource__c": "premiumADD",
"RecordTypeName__c": "CoverageSpec",
"IsConfigurable__c": true,
"productId": "01t1U000000OEamQAG",
"pciId": "a2w1U0000001G4YQAU",
"selectValidationCriteria": "[{\"expression\":\"WOP.isSelected == true\",\"code\":\"code_0\"}]",
"selectValidationMessage": "[{\"message\":\"WOP must be true\",\"severity\":\"INFO\",\"code\":\"code_0\"}]",
"isOptional": true,
"isSelected": true,
"parentInstanceKey": "Jack Kirkland",
"Price": 358,
"pathFromRoot": "[0].childProducts.records[2].childProducts.records[2]",
"formattedParentInstanceKey": "jack-kirkland",
"parentProductName": "Jack Kirkland",
"originalIndex": 2,
"numberCategories": 18,
"numberAttributes": 18,
"popoverOpen": false,
"isOriginalOptional": true,
"isAddedOptional": true,
"showTypeHeader": true, 