Loading
Seguro
InsProductService: runRules

InsProductService: runRules

Utilice este servicio para ejecutar reglas en un producto sin volver a fijar el precio de ese producto.

Clase: InsProductService

Método: runRules

Funcionamiento

  1. El servicio busca en el JSON de entrada la clave de selectedProduct.

  2. Ejecuta las reglas en el nodo selectedProduct.

    Los conjuntos de reglas que se ejecutan dependen de qué opciones remotas están establecidas en true.

  3. Devuelve el JSON con los resultados de las reglas agregadas al nodo selectedProduct.

Opciones remotas

Opción

Descripción

ruleAttributeSetValues

true o false

Toma como valor predeterminado true.

Si es verdadero, el servicio ejecuta las reglas de valor del conjunto de atributos.

evalOptionalCoverageRelationship

true o false

Toma como valor predeterminado false.

Cuando esta opción está establecida como true, el servicio evalúa la relación de cobertura opcional con las reglas disponibles y actualiza el indicador de isSelected en el registro de cobertura opcional afectado.

runDefaultSelected

true o false

Cuando se establece como verdadero, ejecuta reglas de cobertura seleccionadas predeterminadas para el producto seleccionado.

runEligibility

true o false

Cuando se establece como verdadero, ejecuta reglas de aptitud para el producto seleccionado.

Si las reglas se evalúan como false, el servicio establece el nodo isEligible en la cobertura opcional como false.

runRequiredCoverage

true o false

Cuando se establece como verdadero, ejecuta reglas de cobertura requeridas de cobertura opcionales.

validateCoverageSelection

true o false

El valor predeterminado es falso.

Cuando esta opción está establecida como true, el servicio valida la selección de cobertura opcional con las reglas disponibles.

El servicio agrega un nodo de mensaje al registro de cobertura opcional afectado si la regla se evalúa como falsa.

JSON de entrada

Este servicio busca un objeto de producto en la clave de selectedProduct en su JSON de entrada. Este objeto puede ser creado por otros servicios como getRatedProducts. Incluye el producto raíz, los productos secundarios y los productos nietos.

Este ejemplo contiene solo un nodo de entrada antes de que el servicio ejecute las reglas.


"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

De manera alternativa, puede definir una transformación de Asignador de datos de OmniStudio que asigne los datos que se pasaron al JSON de entrada al formato que necesita el servicio. El JSON de salida de este Asignador de datos es el nodo de selectedProducts requerido por runRules. Cuando agrega este servicio a un OmniScript, establezca preTransformBundle en el nombre del Asignador de datos para que el servicio utilice el Asignador de datos.

JSON de salida

El servicio devuelve la misma estructura JSON que en el nodo selectedProduct con los resultados de la ejecución de las reglas. Consulte Modelo de estructura JSON de producto para obtener detalles acerca del contenido y la estructura de este objeto.

Este ejemplo contiene solo un nodo de salida después de que el servicio ejecute las reglas con los resultados de la ejecución de las reglas.

"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,                                             
 
Cargando
Salesforce Help | Article