Você está aqui:
InsProductService:repriceProduct
Use esse serviço para precificar um produto usando o procedimento de classificação anexado a esse produto. Esse serviço geralmente é chamado quando um usuário seleciona um produto e personaliza sua cobertura.
Método: repriceProduct
O serviço pega um objeto de produto em seu JSON de entrada e retorna o produto com a precificação total e o valor total seguro. Ele também retorna o JSON de resultado completo do procedimento de classificação.
Esse serviço funciona para uma ou mais partes seguradas (pessoas cobertas pelo produto da apólice) e um ou mais itens segurados (vários carros em uma apólice automática, por exemplo).
Esse serviço não executa as regras opcionais Elegibilidade, Obrigatório e Padrão ao modificar uma cotação.
Como funciona
-
O serviço pesquisa o JSON de entrada para a chave de produto selecionada e recupera seu valor. Esse objeto contém um objeto de produto.
-
Usando os dados do produto para pesquisar no Salesforce, o serviço localiza o produto e recupera o procedimento de classificação.
-
O serviço classifica o produto com a estrutura JSON do produto.
-
O serviço retorna os objetos do produto com preço total e valor total seguro. O JSON de saída inclui o JSON de resultado analisado do procedimento de classificação como o valor de
CalculatedPriceData. O serviço também define preço etotalSumInsuredse as fórmulas forem definidas no produto.
Opções remotas
Opção |
Descrição |
|---|---|
|
Quando a Por exemplo, uma cotação ou apólice de seguro automático tem vários motoristas anexados a cada automóvel segurado. O seguro auto tem um |
|
Defina essa opção como Omita essa opção para produtos que não atendem a todos esses critérios. Para formatar |
|
ou %OmniScriptDataElement% O padrão é a data de hoje. |
|
Se essa opção = |
|
O nome do Mapeador de dados do OmniStudio que esse serviço usa para recuperar informações de apólice (ativos). Se estiver usando o Salesforce FSC, especifique essa opção ou |
|
O nome da classe personalizada que esse serviço usa para recuperar informações de apólice (ativos). Se estiver usando o Salesforce FSC, especifique essa opção ou |
|
Uma string de pares de chave/valor separados por vírgula que o serviço passa para dentro e para fora do procedimento de cálculo. Esses pares de chave/valor são incluídos no objeto de produto de saída dentro do objeto Somente as chaves de entrada usadas pelo procedimento de cálculo têm um valor nos resultados. |
|
Padrão para Inclui todos os resultados do procedimento de cálculo na chave de |
|
Defina como |
|
Opcional
Defina como Se você usar o Salesforce FSC e definir essa opção como |
|
Lista estratificada de IDs Usado em conjunto com a opção de Calcula apenas os impostos e tarifas associados às jurisdições fornecidas. |
taxAndFeeEffectiveDate
|
A data efetiva que esse serviço usa para calcular impostos e tarifas. Essa opção é separada da opção de Se um valor for fornecido, o serviço usará esse valor. Se um valor não for fornecido e o JSON do produto não for uma política, o serviço usará como padrão a data de hoje. Se o valor não for fornecido e o JSON do produto for uma apólice, o serviço usará a data efetiva da versão da apólice original. |
withTaxFeeRounding
|
Opcional Se verdadeiro, os valores de taxa e imposto calculados são arredondados para duas casas decimais usando o método de arredondamento para metade. A O valor padrão é false. |
JSON de entrada
O InsProductService: repriceProduct procura um objeto de produto na chave selectedProduct em seu JSON de entrada. Esse objeto contém as entradas necessárias para o procedimento de classificação, conforme mapeado nos atributos do produto, incluindo suas especificações de cobertura associadas, especificações de item segurado, especificações de parte segurada e especificações de fato de classificação. Esse objeto pode ser criado por outros serviços, como getRatedProducts. Inclui o produto raiz, os produtos filho e os produtos netos. O serviço analisa a estrutura do produto e passa dados para o conjunto de expressões ou procedimento de cálculo. Se os atributos mapeados para classificação não estiverem incluídos no objeto, o serviço usará os padrões definidos pelo administrador do produto.
Esse serviço também procura uma chave de userInputs no JSON de entrada, para que possa encontrar todos os fatores de classificação que não estão incluídos no nó selectedProduct. Use o formato de userInputs apropriado dependendo da definição do produto e da configuração de classificação. O serviço aceita apenas um tipo de formato de userInputs por vez.
JSON de saída
O serviço retorna a mesma estrutura JSON do nó selectedProduct com informações de precificação atualizadas. Consulte Modelo de estrutura JSON do produto para obter detalhes sobre o conteúdo e a estrutura deste objeto.
Se os serviços de impostos e taxas forem usados, a saída JSON será mantida no registro JSON, semelhante à maneira como o getRatedProducts grava no JSON.
Para cada produto, o JSON de saída do cálculo do procedimento de classificação é somado ao produto com a chave de CaculatedPriceData. Se a fórmula de precificação for definida no produto, o valor de price será definido como o valor calculado. Se a fórmula total do seguro for definida no produto, o valor de TotalInsured será definido como o valor calculado.
A estrutura em CalculatedPriceData inclui suporte de instância. As métricas de preço são agrupadas no nível da instância.
O JSON de saída inclui um nó priceDiff no nível raiz que soma os preços no nível da instância. Também inclui o campo totalPremiumForTermDiff no nível raiz. Esse valor é a diferença entre o prêmio total original para prazo e a soma entre o prêmio total para prazo da nova versão da apólice e o prêmio atualizado para prazo da versão antiga da apólice.
Neste exemplo, a fórmula de precificação é definida no produto, mas a fórmula de seguro total não é. O serviço adiciona a CalculatedPriceData aos resultados do procedimento de classificação. O serviço calcula o preço com base na fórmula. A fórmula total do seguro não é definida no produto e não aparece nos dados (nem 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": {
...
}- Um procedimento de classificação por produto para repriceProduct
FormatarInsProductService:repriceProduct userInputspara produtos que usam um único procedimento de classificação por produto raiz. - Vários procedimentos de classificação por produto ou várias especificações em qualquer nível para repriceProduct
FormateInsProductService:repriceProduct userInputspara produtos que usam vários procedimentos de classificação na hierarquia de produtos ou várias especificações filho em qualquer nível da hierarquia.

