NavigationMenuConfig

NavigationMenuConfig is the element in the Conversation Web Service request where instructions are specified for how to return refinements and how those refinements should behave. This gives you a lot of control in which information about refinements you would like to retrieve, to build the Guided Navigation experience for the end users. For example, the request can specify whether to compute and return values for all refinements, whether to return a full path of the hierarchical refinements, what should be the maximum number of refinements returned, and whether to retrieve already applied refinements, such as those that were applied implicitly.

The NavigationMenuConfig has the following syntax:
<NavigationMenuConfig 
      Id="?" 
      ExposeAllRefinements="?" 
      ReturnFullPath="false" 
      MaximumRefinementCount="?" 
      IncludeAllExplicitSelections="false" 
      IncludeAllImplicitSelections="false">
   <StateName>?</StateName>
   <RefinementGroupConfig ...>
      ...
   </RefinementGroupConfig>
   <RefinementConfig .../>
</NavigationMenuConfig>
NavigationMenuConfig contains the following parameters:
Attribute Description
Id Required. An identifier for this query configuration.
ExposeAllRefinements Optional. Indicates whether to expose refinements (that is, whether to compute refinement values) for all attributes in the group (the default is false). Setting this to true is equivalent to sending a RefinementConfig with Expose="true" for each standard attribute and managed attribute.
ReturnFullPath Optional. If set to true, each set of refinements will be accompanied with the path to the root for that set of refinements. The default is false.
MaximumRefinementCount Optional. An integer that specifies a maximum limit on the number of refinements returned per standard or managed attribute. The default is 10.
IncludeAllExplicitSelections Optional. Specifies whether to return all explicitly-selected refinements, in addition to returning suggested refinements, (which are always returned, if available). The default is false.
IncludeAllImplicitSelections Optional. Specifies whether to return all implicitly-selected refinements, in addition to returning suggested refinements. The default is false.
StateName Specifies a named state, using these rules:
  • If the request has multiple named states, then the StateName element must reference one (and only one) of the named states.
  • If the request has only one named state, then it is optional as to whether the StateName element is used to reference that named state (as the state will be used in any event in the NavigationMenuConfig).
  • If the request has an unnamed state, then the StateName element cannot be used.
RefinementGroupConfig Returns a list of refinements from attributes included in attribute groups.

The options under this element let you enable the expand/collapse options in the UI for refinements in a group, compute values behind all refinements in a group, and control the behavior of individual attributes in a group.

This element contains the RefinementConfig element. To perform operations on individual attributes in a group, instead of performing operations on all of them (for example, to override settings for an individual attribute), you can use multiple RefinementConfig elements in a RefinementGroupConfig.

Note that you can also include RefinementConfig element into NavigationMenuConfig on its own, without enclosing it in RefinementGroupConfig. This is useful if you have attributes that are not included in groups.

RefinementConfig Controls the behavior of an individual attribute in a NavigationMenuConfig. It specifies which attributes, out of all valid refinements returned with a navigation query, should return actual refinement values, and includes specifications about the order and number of refinement values.

You can omit RefinementConfig in your request if you do not need any of its optional items.