Loading
Страхование
InsProductService: runRules

InsProductService: runRules

Используйте эту службу для выполнения правил по продукту без изменения цены на этот продукт.

Класс: InsProductService

Метод: runRules

Принцип работы

  1. Служба ищет ключ selectedProduct в JSON ввода.

  2. Выполняет правила для узла selectedProduct.

    Какие наборы правил выполняются, зависит от того, каким удаленным параметрам задано значение true.

  3. Возвращает JSON с результатами правил, добавленных в узел selectedProduct.

Удаленные параметры

Параметр

Описание

ruleAttributeSetValues

true или false

По умолчанию — true.

Если значение true, Service выполняет правила значений набора атрибутов.

evalOptionalCoverageRelationship

true или false

По умолчанию — false.

Если этот параметр установлен на true, служба оценивает взаимосвязь дополнительного покрытия относительно доступных правил и обновляет флажок isSelected в соответствующей записи дополнительного покрытия.

runDefaultSelected

true или false

При установке значения true выполняет стандартные правила покрытия для выбранного продукта.

runEligibility

true или false

При установке значения true выполняет правила доступа для выбранного продукта.

Если правила оцениваются как false, служба устанавливает узел isEligible в дополнительном покрытии на false.

runRequiredCoverage

true или false

При установке значения true выполняет дополнительные правила покрытия, обязательные для покрытия.

validateCoverageSelection

true или false

По умолчанию содержит значение «ложь».

Если этот параметр установлен на 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,                                             
 
Загрузка
Salesforce Help | Article