Você está aqui:
InsProductService: runRules
Use esse serviço para executar regras em um produto sem redefinir o preço desse produto.
Método: runRules
Como funciona
-
O serviço pesquisa o JSON de entrada para a chave
selectedProduct. -
Executa as regras no nó
selectedProduct.O conjunto de regras executado depende das opções remotas definidas como true.
-
Retorna o JSON com os resultados das regras adicionadas ao nó
selectedProduct.
Opções remotas
Opção |
Descrição |
|---|---|
|
Padrão para Se verdadeiro, o serviço executa as regras de valor do conjunto de atributos. |
|
Padrão para Quando essa opção é definida como |
|
Quando definido como verdadeiro, executa regras de cobertura padrão selecionadas para o produto selecionado. |
|
Quando definido como verdadeiro, executa regras de elegibilidade para o produto selecionado. Se as regras forem avaliadas como |
|
Quando definido como verdadeiro, executa as regras de cobertura opcionais necessárias. |
|
O padrão é falso. Quando essa opção é definida como O serviço adicionará um nó de mensagem ao registro de cobertura opcional afetado se a regra for avaliada como falsa. |
JSON de entrada
Esse serviço procura um objeto de produto na chave selectedProduct em seu JSON de entrada. Esse objeto pode ser criado por outros serviços, como getRatedProducts. Inclui o produto raiz, os produtos filho e os produtos netos.
Este exemplo contém apenas um nó de entrada antes que o serviço execute as regras.
"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
Como alternativa, você pode definir uma transformação do Mapeador de dados do OmniStudio que mapeia os dados passados para o JSON de entrada para o formato de que o serviço precisa. O JSON de saída deste Data Mapper é o nó de selectedProducts exigido pela runRules. Ao adicionar esse serviço a um OmniScript, defina preTransformBundle para o nome do Data Mapper para que o serviço use o Data Mapper.
JSON de saída
O serviço retorna a mesma estrutura JSON do nó selectedProduct com os resultados da execução das regras. Consulte Modelo de estrutura JSON do produto para obter detalhes sobre o conteúdo e a estrutura deste objeto.
Este exemplo contém apenas um nó de saída após o serviço executar as regras com os resultados da execução das regras.
"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, 
