Você está aqui:
InsProductAsyncRatingService:fetchProductsPrice
Use esse serviço para buscar resultados de classificação assíncronos.
Classe: InsProductAsyncRatingService
Método: fetchProductsPrice
Esse serviço foi criado para casos de uso de cotação de grupo grande de benefícios do grupo.
Como funciona
- Esse serviço pega o ID de uma solicitação de classificação de seguro como entrada.
- O serviço consulta a solicitação de classificação armazenada e recupera informações, incluindo status, IDs de produto classificado, opções de classificação, entradas de classificação e saídas de classificação.Nota Os preços para produtos classificados são fornecidos pelo serviço apenas se a solicitação de classificação tiver um status de Concluído ou Classificado.
- O serviço calcula os preços totais para cada produto raiz com base nas saídas de classificação.
- Se a opção
includeProductJsonestiver definida comofalse, será retornado um mapa de preços para todos os produtos classificados. Se a opçãoincludeProductJsonestiver definida comotrue, um JSON de produto será retornado.
Contribuições
| Entrada | Descrição |
|---|---|
requestId
|
Obrigatório. O ID da solicitação de classificação de seguro. Esse ID é gerado quando o processo de classificação assíncrona começa. |
Opções remotas
| Opção | Descrição |
|---|---|
includeMemberPrices
|
Indica se os preços no nível do membro devem ser incluídos na saída. O valor padrão é |
includeProductJson
|
Indica se o JSON do produto deve ser incluído na resposta. O valor-padrão é Quando essa opção é |
includeRawCalculationResult
|
Indica se o resultado bruto do cálculo deve ser incluído na resposta. O valor-padrão é Essa opção é válida apenas quando |
JSON de entrada
Aqui está o JSON de entrada de exemplo:
{
"requestId": "8zkRO000000004D",
}JSON de opções
Aqui está o JSON de opções de amostra:
{
"includeProductJson": false,
"includeRawCalculationResult": false,
"includeMemberPrices": false
}JSON de saída
Aqui está o JSON de saída de exemplo:
{
"productPriceMap": {
"parsedCalcData": {
"01t8c00000PLIiEAAX": {
"01t8c00000PLIiEAAX": {
"MedicalCalcMatrixAgeBased__QuotePremium":1020.0
}
},
"01t8c00000P49yeAAB":{
"01t8c00000P49yeAAB": {
"DentalPremiumCalcMatrixAgeBased__QuotePremium":325.0
}
}
}
},
"Status":"Completed"
}JSON de saída com JSON de produto
Aqui está o JSON de saída de exemplo com o JSON do produto:
{
"result": {
"totalSize": 2,
"records": [
{
"nameResult": {
"childProducts": {},
"attributeCategories": {}
},
"fields": {
"Price": 325.0,
"currencySymbol": "$",
"currencyCode": "USD",
"productId": "01t8c00000P49yeAAB",
"ParentClassCode__c": null,
"ParentClassId__c": null,
"TotalInsuredFormula__c": null,
"Term__c": null,
"PricingFormula__c": "aggTotalPrem",
"IsConfigurable__c": true,
"RecordTypeName__c": "Product",
"PricingSource__c": null,
"ImageId__c": null,
"Tier__c": null,
"IsRecommended__c": false,
"RateBandId__c": null,
"SubType__c": null,
"Type__c": null,
"MarketSegment__c": null,
"LineOfBusiness__c": "Group Benefits",
"ProductCode": "dentalPremium",
"Family": null,
"Description": null,
"Name": "dentalPremium",
"Id": "01t8c00000P49yeAAB",
"CalculatedPriceData": {
"aggTotalPrem": 325.0,
"DentalPremiumCalcMatrixAgeBased__QuotePremium": 325.0
}
},
"displaySequence": -1
},
{
"nameResult": {
"childProducts": {},
"attributeCategories": {}
},
"fields": {
"Price": 1020.0,
"currencySymbol": "$",
"currencyCode": "USD",
"productId": "01t8c00000PLIiEAAX",
"ParentClassCode__c": null,
"ParentClassId__c": null,
"TotalInsuredFormula__c": null,
"Term__c": null,
"PricingFormula__c": "aggTotalPrem",
"IsConfigurable__c": true,
"RecordTypeName__c": "Product",
"PricingSource__c": null,
"ImageId__c": null,
"Tier__c": null,
"IsRecommended__c": false,
"RateBandId__c": null,
"SubType__c": null,
"Type__c": "Medical",
"MarketSegment__c": null,
"LineOfBusiness__c": "Group Benefits",
"ProductCode": "MEDICAL",
"Family": null,
"Description": null,
"Name": "Medical",
"Id": "01t8c00000PLIiEAAX",
"CalculatedPriceData": {
"aggTotalPrem": 325.0,
"MedicalCalcMatrixAgeBased__QuotePremium": 325.0
}
},
"displaySequence": -1
}
]
},
"Status": "Completed"
}
