Attribute-Based Configuration helps you customize the product configuration on your cart on the basis of the selection of product attributes. The attributes define characteristics or the desired features of the product. The attribute configuration may or may not affect the price of the product. Each attribute value selection ensures that the rest of the attributes get filtered based on selected attributes and the result set is narrowed.

The Attribute Rules and Attribute Value Matrix feature settings are stored under Configuration Management using "Category": "cpq", and "Name": "<EnableAttributeMatrix or EnableAttributeRule>" and they are set to true by default. Use the PUT /api/config-management/v1/configurations API to enable or disable the feature setting. For more information on how to set up and manage Attribute Rules and Attribute Rule Actions using REST APIs, see Catalog Setup APIs.

Attribute Rules

You can execute the Attribute rules on the template for standalone products and bundles with attributes. This enables you to select the right configuration.

You can use one or more of the following Attribute Rules: 

  • Attribute Rules for Standalone products with attributes

  • Attribute Rules for Bundle level attributes

  • Attribute Rules for Bundle Option level attributes

The scope types for Attribute-Based Configuration Rules are:

  • Product Family
  • Product Group
  • Product
  • Criteria

The action types (constraint type) for Attribute-Based Configuration Rules are:

Action TypeData Type SupportedDescription
Allow
  • Picklist
  • Multi-picklist
To restrict the visibility of values on the target field.
Default
  • Number
  • Text
  • Picklist
  • Multi-picklist
To add a default value on the target attribute.
HiddenTo hide the target attribute.
DisabledTo make the target attribute a read-only field.
RequiredTo make the target attribute a required field.
ResetTo auto-populate a default value on the target attribute if the field is left blank.

Attribute Value Matrix

You can execute the Attribute Matrix-based constraint rules on the template for Standalone products and bundles with attributes. This enables you to select the right configuration.

For example, ABC IT Company, a leading laptop manufacturer, wants to use attributes to drive the product selection of their users. A laptop has five attributes: Color, HDD, RAM, Screen Size, and Fingerprint Reader. The following table describes the products and its attributes. 

Product

A-560

A-560m

A-440

A-440m

A-320

A-320m

ColorBlackBlackWhiteWhiteBlackWhite
HDD1 TB2 TB500 MB500 MB1 TB1 TB
RAM81648816
Screen Size14 HD14 HD1515 HD1414 HD
Fingerprint ReaderYesYesYesYesNoYes

After you create an attribute value matrix, when the user selects Black from the Color picklist menu, the HDD picklist menu will contain only 1 TB and 2 TB as options. RAM picklist menu will contain 8 and 16 as options. Screen Size will contain 14 and 14 HD as options. The Fingerprint Reader picklist menu will contain Yes and No as options.

You can use one or more of the following Attribute Value Matrix criteria: 

  • Attribute Value Matrix for Standalone product with attributes
  • Attribute Value Matrix for Bundle level attributes
  • Attribute Value Matrix for Bundle Option level attributes
The scope type for Attribute Value Matrix is:
  • Product Family
  • Product Group
  • Product
The application type for Attribute Value Matrix is:
  • Default: Sets the default value of an attribute when criteria are met and the user selects the attributes
  • Constraint: Restricts picklist, Multi-picklist values of attributes based on the matrix
  • ForceSet: Sets single or multiple values of the attributes based on the matrix