Loading
Seguro
InsProductService:getRatedProducts

InsProductService:getRatedProducts

Utilice este servicio para obtener una matriz de uno o más productos, con precios utilizando procedimientos de valoración adjuntos a esos productos. Este servicio también incluye funciones adicionales como cálculos de impuestos y comisiones, filtrado y optimización de desempeño.

Clase: InsProductService

Método: getRatedProducts

Para utilizar este servicio, pásele el conjunto de entradas que el procedimiento de valoración necesita para asignar precios a productos. El servicio devuelve una matriz filtrada de productos y un JSON de resultado desde el procedimiento de valoración.

Funcionamiento

  1. El servicio busca en Salesforce para recuperar un conjunto de productos activos que entran en las fechas de inicio y finalización efectivas. Consulte effectiveDate a continuación para obtener más información.

    Como parte de la consulta, los servicios utilizan los criterios pasados en la opción de filtro para obtener un conjunto inicial de productos. Los datos extraídos de Salesforce incluyen las reglas de aptitud y el procedimiento de valoración del producto, las especificaciones del artículo asegurado, las especificaciones de la parte asegurada, las especificaciones de cobertura, las especificaciones de hechos de valoración y todos sus atributos.

  2. Evalúa cada producto en el conjunto inicial basándose en sus reglas de aptitud, reduciendo aún más el conjunto de productos.

  3. Busca en el JSON de entrada la clave de userInputs y recupera el valor de la clave. userInputs es el conjunto de datos de entrada que el procedimiento de valoración utiliza para obtener el precio del producto. El servicio evalúa este objeto basándose en las asignaciones de entrada de valoración de productos para crear el JSON de entrada necesario para el procedimiento de valoración.

    Usted aplica un formato diferente a los userInputs dependiendo de la definición del producto y la configuración de la valoración. Para evitar errores, filtre los productos que utilizan el mismo tipo de formato de userInputs.

  4. Puntúa cada producto en el conjunto creado en el paso 2. Llama al procedimiento de valoración asociado del producto con el JSON de entrada del paso 3.

  5. Devuelve una matriz de objetos de productos con el precio total de cada producto y la suma asegurada total.

    Cada objeto de producto devuelto también incluye el JSON de salida del procedimiento de valoración como el valor de CalculatedPriceData. El servicio también establece price y totalSumInsured si las fórmulas están establecidas en el producto.

    Recuerde que:

    • Si se configura un único atributo con una regla de atributo Establecer valor y una regla de atributo Establecer valor predeterminado, getRatedProducts aplica únicamente la regla de atributo Establecer valor predeterminado.

    • Como mejor práctica, cuando configura expresiones de reglas de atributos, no haga referencia a valores de atributos en estructuras de nivel inferior.

Opciones remotas

Opciones de valoración

Opción

Descripción

aggByKey

PRODUCT.instanceKey

Cuando se establece la aggByKey, su valor se incluye en la aggregationResult del procedimiento de cálculo, si la aggregationResult no está vacía. (El aggregationResult se rellena habitualmente cuando un procedimiento de cálculo tiene pasos de agregación configurados).

Por ejemplo, una póliza de seguros de auto que tiene varios conductores asegurados para varios autos requiere que se pasen los aggByKey al procedimiento de cálculo.

alwaysCreateInstance

Establezca esta opción en true para productos con múltiples especificaciones secundarias en un nivel concreto de la jerarquía, sin especificaciones de nietos y solo un procedimiento de valoración en el nivel raíz.

Omita esta opción para productos que no cumplen todos estos criterios.

Para dar formato a userInputs para este tipo de producto, consulte Un procedimiento de valoración por producto para getRatedProducts.

includeInputKeys

Una cadena de claves de entrada separadas por comas para incluir en el objeto de producto de salida, dentro del objeto CalculatedPriceData.

Solo las teclas de entrada utilizadas por el procedimiento de cálculo tienen un valor en los resultados.

rateType

Age o Composite

Utilice esta opción para la valoración de grupos pequeños.

searchText

PartOfAProductName

Si se utiliza esta opción, el servicio solo obtiene productos con nombres que contienen el valor que proporcionó.

sortBy

productField1, productField2.

Ordena los productos que obtiene el servicio en el orden que especifica.

Puede utilizar DESC con esta opción para ordenar productos en orden descendente. Puede especificar el primer elemento desde el que descender. Si no especifica un lugar para empezar, DESC toma como valor predeterminado el orden alfabético.

Si no especifica un valor para esta opción, el servicio ordena los productos devueltos por nombre en orden alfabético ascendente.

Opciones de filtro

Opción

Descripción

attributeFilters

Un mapa de attributeCode y valores

Devuelve únicamente productos que cumplen los valores de atributo proporcionados en el filtro.

effectiveDate

“YYYY-MM-DD HH:MM:SS” o %OmniScriptDataElement%

Toma como valor predeterminado la fecha de hoy.

Servicio extrae productos con una effectiveDate entre EffectiveDate__c y EndDate__c y IsActive.

El servicio también utiliza el effectiveDate para seleccionar la versión correcta del procedimiento de cálculo utilizado para calificar el producto.

filters

Product2FieldName:Value

Product2FieldName:%ElementName%

Utilice el nombre de API con un punto seguido de un valor o una variable. Por ejemplo, en un OmniScript, una variable puede ser un nombre de un elemento, como una lista de selección de entrada.

Separe múltiples parámetros de filtro con comas:

ProductCode:Value,ProductCode:%ElementName%

Los filtros pueden incluir cualquier campo en el objeto Product2.

includeFilterAttrValues

true o false

Toma como valor predeterminado false.

En el JSON de salida, junto con la matriz de productos, esto agrega el objeto filterAttrValues. Este objeto contiene los atributos de producto raíz marcados como filtrables, con la posible lista de valores. Esta lista se utiliza por algunas plantillas de la interfaz de usuario para filtrar grandes conjuntos de productos.

Los atributos de productos secundarios no están incluidos.

whereClause

Ingrese cualquier instrucción SOQL válida de Salesforce como el valor para esta opción.

Utilice esto cuando necesite este servicio para buscar campos de lista de selección múltiple al buscar productos.

Por ejemplo, la declaración vlocity_ins_marketsegment_c includes ('Small Group') selecciona productos que tienen Segmentos de mercado “Grupo pequeño” y más o no más segmentos de mercado en la lista de selección múltiple.

Importante
Importante

Elimine cualquier referencia a los campos de la whereClause de su clave de filtro.

Por ejemplo, si tiene vlocity_ins_marketsegment_c:Small Group en el filtro y un whereClause que contiene una referencia al mismo campo, colisionarán y entrarán en conflicto, produciendo resultados impredecibles.

Opciones de optimización

Opción

Descripción

includeOptionalCovSelectFlag

true o false

Toma como valor predeterminado false.

Establezca esta opción en true para que el servicio evalúe reglas de cobertura opcionales antes de pasar entradas de valoración a procedimientos de cálculo.

Si los productos no utilizan coberturas opcionales, utilice la configuración predeterminada de false. Obtener y agregar datos de cobertura opcionales a la entrada de valoración requiere procesamiento adicional y puede ralentizar este servicio.

includeRawCalculationResult

true o false

Toma como valor predeterminado false.

Incluye todos los resultados del procedimiento de cálculo en la clave de RawPriceData.

isBatchMode

true o false

Cuando se establece en true, el servicio devuelve un JSON de producto simplificado que no incluye categorías de atributos, pero incluye reglas y valores seleccionados por atributos.

Cuando se establece en false, el servicio devuelve el JSON del producto completo.

Esta opción es útil cuando no hay ninguna interfaz de usuario consumiendo los resultados del servicio. Por ejemplo, si está ejecutando un procedimiento de integración en modo por lotes que contiene este servicio.

mergeList

true o false

Toma como valor predeterminado false.

Optimiza las llamadas de puntuaje agrupando llamadas de procedimientos de puntuaje por productos utilizando el mismo procedimiento de puntuaje. Realiza una llamada de valoración con una matriz de objetos de entrada.

Esto es útil al extraer una gran lista de productos. Múltiples llamadas de valoración pueden alcanzar límites de SQL. La arquitectura del procedimiento de valoración está optimizada para gestionar una matriz de objetos de entrada y minimizar el número de consultas SQL necesarias.

omitChildren

true o false

Establezca esta opción en true solo si también establece omitRating en true. Esto devuelve productos sin precios.

omitRating

true o false

Si es verdadero, el servicio devuelve productos sin precios.

productClasses

“ProductClassName1,ProductClassName2”

Lista separada por comas de nombres de clases de productos. Limita la lista de productos a estas clases de productos.

rootPricingOnly

true o false

Toma como valor predeterminado false.

Esta opción mejora el desempeño reduciendo los tamaños de pila.

Si el procedimiento de valoración que está utilizando se define únicamente en el nivel de producto raíz, puede establecer esta opción en true para mejorar el desempeño.

Opciones de reglas

Opción

Descripción

evalOptionalCoverageRelationship

true o falseSi se establece en true, el servicio ejecuta reglas de relación de cobertura opcionales.

omitEligibility

true o false

Toma como valor predeterminado false.

Cuando se establece en true, el servicio no consulta productos aptos.

En su lugar, debe proporcionar un Id. de producto de lista bajo la products clave en el mapa de entrada o el mapa de opciones. Tanto una lista de Id. de productos como una cadena de Id. de productos separados por comas son valores aceptables para products.

ruleAttributeSetValues

true o false

Cuando se establece en false, el servicio no ejecuta reglas de valores de conjuntos de atributos.

Cuando se establece en true, el servicio ejecuta las reglas de valor de conjunto de atributos.

validateCoverageSelection

true o false

Establezca en true si tiene reglas de validación que necesita para ejecutar el servicio.

Opciones de función complementaria

Opción

Descripción

calculateTaxesAndFees

Opcional

true o false

Cuando se establece en true, calcula los impuestos y las comisiones del producto de destino.

includeFullProductJson

true o false

Esta opción controla la presencia de nodos nietos adicionales en respuesta a la API basándose en el JSON de entrada. Cuando se establece en true, hay dos cambios en el JSON de salida:

  • Si el tipo de nieto es Parte asegurada, el nodo JSON principal contiene dos nodos secundarios adicionales; parte principal y otras partes. Estos dos nuevos nodos se rellenan basándose en si el isPrimary indicador está establecido para el nodo nieto.

  • Si el tipo de nieto es Elemento asegurado, estos dos nodos (parte principal y otras partes) no están presentes en la API de respuesta. Los nietos contenidos en el JSON de entrada están vinculados al nodo principal correcto en el JSON de salida de la API.

Para la retrocompatibilidad, el valor predeterminado es false.

jurisdictionIds

Tipo: Lista restringida de identificadores

Se utiliza junto con la opción calculateTaxesAndFees.

Calcula solo esos impuestos y comisiones asociados con las jurisdicciones proporcionadas.

taxAndFeeEffectiveDate

La fecha efectiva que este servicio utiliza para calcular impuestos y comisiones. Esta opción está separada de la opción de effectiveDate utilizada para asignar precios al producto.

Si se proporciona un valor, el servicio utiliza ese valor.

Si no se proporciona un valor y el JSON del producto no es una política, el servicio toma como valor predeterminado la fecha actual.

withTaxFeeRounding

Opcional

Si es verdadero, los importes de impuestos y comisiones calculados se redondean a dos decimales utilizando el método de redondeo medio par. La withTaxFeeRounding solo es efectiva cuando la opción de calculateTaxesAndFees también es verdadera. Si es falso, el redondeo está desactivado.

El valor predeterminado es false.

Opciones de interfaz de usuario

Opción

Descripción

lastRecordId

Especifica el último Id. de producto que el servicio extrajo en la interfaz de usuario.

Utilice esta opción con la opción pageSize.

pageSize

Determine cuántos productos devuelve el servicio a la interfaz de usuario en una llamada.

JSON de entrada

InsProductService: getRatedProducts busca una clave de userInputs en el JSON de entrada. Utilice el formato de userInputs apropiado dependiendo de la definición del producto y la configuración de la valoración. El servicio solo acepta un tipo de formato userInputs a la vez.

JSON de salida

El servicio devuelve una matriz de uno o más objetos de producto. Consulte el Modelo de estructura JSON de producto para obtener más información acerca de este objeto.

Cualquier userInputs asignado desde el JSON de entrada se agrega al objeto de producto como la clave de userValues de la instancia única del atributo al que se asignó.

Para cada producto, el JSON de salida del cálculo del procedimiento de valoración se agrega al producto con la clave de CalculatedPriceData. Si la fórmula de precios está establecida en el producto, el valor de Price se establecerá en su valor calculado. Si la fórmula asegurada total está establecida en el producto, el valor de TotalInsured se establece en su valor calculado.

En este ejemplo, la fórmula de precios se establece en el producto, pero la fórmula asegurada total no. El CalculatedPriceData se agrega a los resultados del procedimiento de valoración, luego el precio se calcula basándose en la fórmula. La fórmula asegurada total no aparece en los datos, ni tampoco TotalInsured.

{
  "totalSize": 2,
  "records": [{
      "displaySequence": -1,
      "CalculatedPriceData": {
        "ID": "1",
        "basePremium": 719,
        "premGenlLiab": "356"
      },
      "Id": "01t6A000000FshIQAS",
      "Name": "Economy Business",
      "Family": "Commercial Lines",
      "ProductCode": "bop-ECON",
      "LineOfBusiness__c": "Property & Casualty",
      "Type__c": "BusinessOwners",
      "IsRecommended__c": false,
      "RecordTypeName__c": "Product",
      "IsConfigurable__c": true,
      "PricingFormula__c": "basePremium + premGenlLiab",
      "Term__c": "Annual",
      "productId": "01t6A000000FshIQAS",
      "Price": 1075,
      "childProducts": {
        ...
      },
      "attributeCategories": {
        ...
      }
    },
    {
      ...
    }
  }

filterAttrValues Key

La opción includeFilterAttrValues coloca la matriz de productos en un nodo de ratedProducts y agrega un resultado de filterAttrValues junto.

{
  "result": {
    "filterAttrValues": {
      "covType": {
        "listOfValues": [
          "Superior",
          "Economy"
        ],
        "valueDataType": "Text",
        "attributeName": "Type",
        "categoryName": "Policy Terms"
      },
      "covDeductible": {
        "listOfValues": [
          "1000",
          "250"
        ],
        "valueDataType": "Currency",
        "attributeName": "Deductible",
        "categoryName": "Policy Terms"
      }
    },
    "ratedProducts": {
      "totalSize": 2,
      "records": [{
          "displaySequence": -1,
          "CalculatedPriceData": {
            "ID": "1",
            "basePremium": 719,
            "premGenlLiab": "356"
          },
          "Id": "01t6A000000FshIQAS",
          "Name": "Economy Business",
          "Family": "Commercial Lines",
          "ProductCode": "bop-ECON",
          ...,
          "Price": 1075,
          "childProducts": {
            ...
          },
          "attributeCategories": {
            ...
          }
        },
        {
          ...
        }
      }
    }
  }

Cada atributo filtrable se agrega al objeto con la clave establecida en el código de atributo. El valor de cada atributo de filtro es un objeto que contiene lo siguiente:

Clave

Valor

attributeName

El nombre del atributo.

categoryName

El nombre de la categoría.

listOfValues

La lista de posibles valores del producto en la matriz.

valueDataType

El tipo de datos del atributo, como Texto o Divisa.

Impuestos y tasas

Si los impuestos y las comisiones utilizan el servicio, los impuestos y las comisiones calculados aparecen en un registro JSON de tres formas distintas:

  1. Si el registro calculó impuestos y comisiones, se almacenan como una lista en el campo taxesAndFees.

    {
      "taxesAndFees": [{
        "Id": 1,
        "calculatedAmount": 10,
        "Type__c": "Tax"
      }, {
        "Id": 2,
        "calculatedAmount": 15,
        "Type__c": "Fee"
      }]
    }
  2. Si el registro calculó impuestos para sí mismo o sus secundarios, la suma de los impuestos calculados para sí mismo y sus secundarios se almacena en el campo taxAmount.

    {  "taxAmount”: 25 // 10 from self, 15 from children}
  3. Si el registro calculó comisiones sobre sí mismo o sus secundarios, la suma de las comisiones calculadas sobre sí mismo y sus secundarios se almacena en el campo feeAmount.

    {  "feeAmount”: 30 // 15 from self, 15 from children}

Un resultado JSON de muestra, con impuestos y tarifas en los registros secundarios así como la raíz, tendrá un aspecto similar a este:

{
  "Id": 1,
  "productName": "Product",
  "taxesAndFees": [{
    "Id": 1,
    "calculatedAmount": 10,
    "Type__c": "Tax"
  }, {
    "Id": 2,
    "calculatedAmount": 15,
    "Type__c": "Fee"
  }],
  "taxAmount": 25
  "feeAmount": 30
  "childProducts": {
    "records": [{
      "Id": 2,
      "productName": "Insured Item",
      "taxesAndFees": [{
        "Id": 3,
        "calculatedAmount": 15,
        "Type__c": "Tax"
      }],
      "taxAmount": 15
    }, {
      "Id": 3,
      "productName": "Coverage",
      "taxesAndFees": [{
        "Id": 4,
        "calculatedAmount": 15,
        "Type__c": "Fee"
      }],
      "feeAmount": 15
    }]
  }
}

Clasificación por estrellas

Puede utilizar la entrada attributeFilters para filtrar productos basándose en puntuajes, creados como atributos por un modelador de productos.

 
Cargando
Salesforce Help | Article