Broadleaf Microservices
  • v1.0.0-latest-prod

Browse Types

ActivePromotionCodes

Property Type Description

sharedCodes?

Array<string>

A list of shared codes.

trackingIds?

Array<string>

A list of any tracking ids.

AdvancedTag

A "tag" represents a unique purchasing attribute for a product such "new", "on sale", "fairtrade", etc. Tags may also be configured as tags with a rich text message and some controls for how or where they should be displayed on the storefront. By default, tags are facetable and can be configured to be searchable.

Property Type Description

id

string

A unique system identifier.

name

string

A friendly identifier for the tag. Can be used as a search term on the storefront if #searchableByName is true. This will also be displayed as the facet value.

badgeMessage?

string

Message to display on a storefront such "New" or "Fairtrade" as a badge. This should support rich text (HTML) as well as plain text.

badgeAsset?

Asset

An asset that should be displayed for this tag.

activeStartDate

string

Start of when this tag should be active.

activeEndDate?

string

End when this tag is not longer active. Unset indicates that it is always active.

searchableByName?

boolean

Whether storefront users can find products (or other entities) with this tag by its #name.

position

DefaultTagDisplayPosition | string

Defines the position over a display component this tag should be displayed such as the "top-left" of a Product’s image on a list or details page. If multiple tags have the same position, then their relative order on a product or their #priority will determine which is displayed.

type

DefaultTagType | string

Defines the type of this tag such as "key feature" or "discount". This allows categorizing tags to enhance user’s ability to prioritize related tags such as only showing one "discount" tag even if a product has several.

priority?

number

Priority of this tag relative to other tags that may share the same #position or #type. This provides a way to pick on tag over another when there is a conflict. This could be overridden in the context of a specific product depending on the ProductTag#getSorting().

Asset

extends EntityAsset

Property Type Description

id

string

The unique identifier for the Category Asset reference.

parent

string

The id for the owner of the asset.

primary

boolean

Whether this asset is marked as the primary for the category.

AttributeChoice

Property Type Description

attributeName

string

The order or item attribute that this choice is stored in when the user adds to their cart.

type

string

A hint to the frontend of how to display the customer-facing input.

required?

boolean

Whether the user is required to fill out this option in order to add the product to their cart. This is always validated on cart add.

validationStrategy?

string

The strategy used to determine <i>when</when> this product option is validated.

validationType?

string

How the validation should be performed.

validationRule?

string

The regex expression that should execute against the user’s value.

errorMessage?

string

In case of a validation failure, this is the message that should be shown to customers.

errorCode?

string

In case of a validation failure, this is the error code that should be shown to customers.

allowedValues?

Array<AttributeChoiceValue>

structured input to fill out their option

AttributeChoiceValue

Property Type Description

id?

string

The primary identifier.

label

string

string What the customer sees for display.

value

string

The value stored as an item attribute or cart attribute based on what the user selects.

displayOrder?

number

How this value displays in the context of all other values within a single

Author

Represents an author of content.

Property Type Description

id

string

Id of the author user.

name

string

Name of the author user.

username

string

Username of the author user.

Property Type Description

label

string

The display label.

uri?

string

The URI it targets.

BrowseClientCallOptions

extends ClientCallOptions

The BrowseClient supports additional call configuration properties to support providing price and price info context information to decorate requests with X-Price-Context and X-Price-Info-Context headers for pricing.

Property Type Description

contentContext?

ContentContext

Provide any context for resolving content items.

Tip
Browse SDK 1.7.0

priceContext?

PriceContext

Provide any price specific context for the request.

priceInfoContext?

PriceInfoContext

Provide any pre-fetched price list information for the request.

BrowseEntityRequest

Represents request parameters for resolving some browse entity when only URIs are known, not what type of entity. The response could contain products, content items, or a category.

Property Type Description

uris

Array<string>

One or more URIs identifying one or more Products or Categories to be fetched. The list of URIs should only apply to one entity type, i.e., they should all be product URIs or else they should all be category URIs, not a mix of both. <p> <blockquote>Note: In the case of a category matching, only one category may be returned.</blockquote>

pageRequest?

NarrowedPageRequest

Pagination parameters that can be used to filter content items or category products as appropriate. This only matters if the matching entities are content items or a category. In the case of a category, this is applied to the category’s products.

hydrateCategoryProductsFromSearch?

boolean

If the browse entity resolves to a category, this flag indicates that the category’s products should be hydrated from Search Services rather than Catalog.

This is only used in Catalog Browse Service and not passed downstream as a parameter.

Tip
Browse SDK 1.7.0

hydrateCategoryProductsOntoContentItems?

boolean

If any content items reference categories, this flag indicates that the categories' products should be hydrated.

This is only used in Catalog Browse Service and not passed downstream as a parameter.

Tip
Browse SDK 1.7.0

hydrateCategoryChoiceProducts?

boolean

Whether to hydrate category products onto Categories belonging to ItemChoice ProductOptions if the entity is a product. Default is true.

Tip
Browse SDK 1.7.0

hydrateProductAssets?

boolean

Whether to hydrate non-primary product assets onto the Product response if the entity is a product. Default is true.

Tip
Browse SDK 1.7.0

hydrateRelatedProductCharacteristics?

boolean

Whether to hydrate the Characteristics for the main requested products' related products if the entity is a product. The main requested products' characteristics are always hydrated. Default is false.

Tip
Browse SDK 1.7.0

hydrateProducts?

boolean

Whether to include category products in the response if the entity is a category. Default is true.

Tip
Browse SDK 1.7.0

[key: string]

unknown

Any additional custom attributes included on this product.

BrowseEntityResponse

Represents the response to BrowseEntityRequest. The response could contain products, content items, or a category. However, it will not contain a mix of those entities, only a single entity type.

Property Type Description

products?

Array<Product>

Products matching the requested uris.

category?

Category

Category matching the requested uri.

contentItems?

Array<ContentItem>

Content items matching the requested uris.

paginatedContentItems?

UntotalledPage<ContentItem, NarrowedPageable>

A page of matching content items if a page request was included in the BrowseEntityRequest.

urisForMissingEntities

Array<string>

List of requested uris that did not match an entity.

itemNamesNotFound

Record<string, string>

Any requested ContentItem names that did not match active content.

itemIdsNotFound

Record<string, string>

Any requested ContentItem ids that did not match active content.

hasResults

boolean

Whether any type of results are present.

BrowsePricingTargetRequest

Property Type Description

targetsMap

Record<string, Array<PriceableTargetRef>>

BrowseRequestHeaderType (Enum)

Name Value Description

PRICE_CONTEXT

'X-Price-Context'

PRICE_INFO_CONTEXT

'X-Price-Info-Context'

CONTENT_CONTEXT

'X-Content-Context'

BulkCategoryFetchParams

Wrapper around multiple CategoryFetchParams.

Tip
Browse SDK 1.7.0
Property Type Description

requests

Array< Omit<CategoryFetchParams, 'hydrateCategoryProductsFromSearch'> >

Requests for the desired Categories.

BulkContentResolverRequest

Represents a bulk request to retrieve a list of ContentItems from a commerce-facing context.

Property Type Description

contentResolverRequests

Array<ContentResolverRequest>

The list of requests to get content items from

BulkContentResolverResponse

Represents a response to fetch bulk CMS content to retrieve for a commerce-facing context.

Property Type Description

contentResolverResponseToId

Record<string, ContentResolverResponse>

Map ContentResolverResponse for each ContentResolverRequest mapped by request ID.

requestIdsNotFound

Array<string>

Any request IDs not returned in the corresponding ContentResolverResponse

Category

Property Type Description

id

string

The primary identifier.

externalId?

string

The external identifier for this category.

url

string

SEO-friendly URL to identify this category.

name

string

The name of this category.

description?

string

HTML-formatted description of the category.

activeStartDate

string

The date after which it becomes active.

activeEndDate?

string

The date after which it becomes inactive.

attributes?

Record<string, unknown>

Key-value map of additional un-typed attributes.

breadcrumbs?

Array<Breadcrumb>

The list of breadcrumbs.

displayTemplate?

string

Defines the display template to be used.

metaTitle?

string

Used for SEO data in the <title> tag

metaDescription?

string

Used for SEO data in the <meta description=""> tag

parentCategory?

CategoryRef

This category’s parent category.

productMembershipType?

string

Determines how this category defines membership of its products.

productMembershipRule?

string

The rule string used to check if a related product is a member of this category. Only applies to rule-based membership type.

productMembershipLocale?

string

The override locale used for the product membership rule

assets?

Array<CategoryAsset>

The set of assets associated with this category.

products?

Page<Product>

A page of products associated with this category. This is populated by default, but the request to retrieve the category may specify to hydrate products from Search instead of Catalog—in which case #searchResponse is used.

searchResponse?

SearchResponse<Product>

When the request indicates that products should be retrieved from Search instead of Catalog, then this field is used instead of #products.

promotionalProducts?

PromotionalProducts

A map containing a categories promotional products.

showInSiteMap?

boolean

This controls whether a category should be visible on the frontend display.

taxCode?

string

The tax code for all products in this category.

CategoryAsset

extends Asset

Property Type Description

categoryId

string

The owning category’s id.

SearchPageRequest

Extends PageRequestParams.

Tip
Also see CategoryCallOptions
Property Type Description

hydrateFully?

boolean

Whether to hydrate the full Product details onto the search results. Use cautiously since this results in a much larger payload.

assetFilters?

string

When hydrating assets onto search results, this defines any RSQL filters to be applied when querying for them.

Ignored when hydrateFully is true.

tagFilters?

string

When hydrating tags onto search results, this defines any RSQL filters to be applied when querying for them.

Ignored when hydrateFully is true.

CategoryCallOptions

extends BrowseClientCallOptions, PageableClientCallOptions

Property Type Description

pageRequest?

NarrowedPageRequest

Pagination parameters that can be used to filter content items or category products as appropriate. This only matters if the matching entities are content items or a category. In the case of a category, this is applied to the category’s products.

searchPageRequest?

SearchPageRequest

Alternative to #pageRequest when using search to hydrate products instead of catalog.

CategoryFetchParams

Property Type Description

url?

string

The URL of the category to retrieve

id?

string

The ID of the category to retrieve

name?

string

The name of the category to retrieve

hydrateProducts?

boolean

Whether to include category products in the response. Default is true.

Tip
Browse SDK 1.7.0

hydrateCategoryProductsFromSearch?

boolean

This flag indicates that the category’s products should be hydrated from Search Services rather than Catalog.

This is only used in Catalog Browse Service and not passed downstream as a parameter.

Tip
Browse SDK 1.7.0

CategoryList

Response from a bulk category details request.

Tip
Browse SDK 1.7.0
Property Type Description

categories

Array<Category>

All Categories and their details.

categoryIdsForMissingEntities

Array<string>

Set of requested IDs for which no category was found.

categoryUrisForMissingEntities

Array<string>

Set of requested URLs for which no category was found.

CategoryListParams

Property Type Description

urls?

Array<string>

The list of URLs for the categories to retrieve

ids?

Array<string>

The list of IDs for the categories to retrieve

names?

Array<string>

The list of names for the categories to retrieve

hydrateProducts?

boolean

Whether to include category products in the response. Default is true.

Tip
Browse SDK 1.7.0

hydrateCategoryProductsFromSearch?

boolean

This flag indicates that the category’s products should be hydrated from Search Services rather than Catalog. Default is false.

This is only used in Catalog Browse Service and not passed downstream as a parameter.

Tip
Browse SDK 1.7.0

CategoryRef

Property Type Description

id

string

The primary identifier.

name

string

The name of the category.

url?

string

The URL of the category.

Characteristic

Represents a reusable characteristic common to a type of Product.

Tip
Browse Client 1.7.0
Property Type Description

id

string

Business ID of the characteristic.

name

string

Name of the characteristic. Used for display.

fieldName

string

Internal field name of the characteristic.

description?

string

Description of the characteristic. Can be HTML.

startDate?

string

The date this characteristics begins to be active.

endDate?

string

The date this characteristic stops being active.

valueType

CharacteristicValueTypes | string

Type of data used for the values.

configurable

boolean

Whether the characteristic value should be selected by a customer.

unique

boolean

Whether the characteristic value must be unique.

targetableInRuleBuilders

boolean

Whether the characteristic can be targeted by other systems in rules, e.g., Offers and Content display rules. This is useful when determining which characteristics to include in requests to those services to keep payload sizes and rule-evaluation performance acceptable.

targetableForPricing

boolean

Determines whether this characteristic is used to drive pricing (not offers), e.g., the device with color gold is limited edition so if selected the price increases. This is useful when determining which characteristics to include in requests to relevant services to keep payload sizes and price target filtering performance acceptable.

minCardinality

number

The minimum number of this characteristic that can be associated with a product.

maxCardinality

number

The maximum number of this characteristic that can be associated with a product.

extensible

boolean

Whether this characteristic can be extended.

value?

Array<CharacteristicValue>

The value(s) for this characteristic. Optional.

shared

boolean

Whether this characteristic can be shared with more than one product type.

displayOrder?

number

Display order relative to other characteristics.

validationType?

string

How and if the value for this characteristic should be validated. User for user-generated values.

validationRule?

string

The rule used to validate the value if any, e.g., a regular expression.

errorMessage?

string

The message to display if the validation fails.

CharacteristicValue<V>

Represents a value for a Characteristic.

Tip
Browse Client 1.7.0
Property Type Description

id

string

Identifier used for tracking purposes, primarily related to keeping track of which translations belong to which value in the list.

default

boolean

Whether this value is the default selected.

rangeInterval?

string

An indicator that specifies the inclusion or exclusion of the valueFrom and valueTo attributes. If applicable, possible values are "open", "closed", "closedBottom" and "closedTop".

rangeStep?

number

The distance between valid values in a range, e.g., 1 would indicate each discrete value is separated by 1 from its neighbors, 1, 2, 3.

unitOfMeasure?

string

Units used by the value.

startDate?

string

Date when this value begins to be active.

endDate?

string

Date after which this value is no longer active.

value?

V

The value.

valueFrom

string

Lower bound for the value.

valueTo

string

Upper bound for the value.

valueType

CharacteristicValueTypes | string

The type of this value, e.g., enum, string, etc..

displayOrder?

number

The order this value should display in.

CharacteristicValueTypes (Enum)

Name Value Description

STRING

'STRING'

STRING_LIST

'STRING_LIST'

HTML

'HTML'

ENUM

'ENUM'

DECIMAL

'DECIMAL'

DATE

'DATE'

BOOLEAN

'BOOLEAN'

VARIANT_OPTION

'VARIANT_OPTION'

ContentClientCallOptions

extends ClientCallOptions

Property Type Description

contentContext?

ContentContext

Provide Content Context to filter result

hydrateCategoryProducts?

boolean

If any content items reference categories, this flag indicates that the categories' products should be hydrated.

Tip
Content SDK 1.7.0

ContentContext

Property Type Description

locale?

string

The locale used in the context.

priceContext?

PriceContext

Pricing context information that is used when hydrating products for any content items that reference them.

Tip
Content SDK 1.7.0

attributes?

Record<string, unknown>

Additional, unspecified attributes.

[key: string]

unknown

ContentField

Represents the definition of a FieldData. This includes its type and other metadata.

Property Type Description

id

string

Id of the field.

name

string

The unique name of the field.

type

DefaultContentFieldType | string

The type of this content field such as STRING or HTML.

referenceType?

DefaultContentFieldReferenceType | string

When the type is REFERENCE, this field holds the type of entity this field links to such as PRODUCT or CONTENT.

allowedModels

Array<string>

When the referenceType is CONTENT, this field holds allowed content models. If empty, allows all.

collection

boolean

Whether this field represents a collections

required

boolean

Whether the related FieldData requires a value.

helpText?

string

Help text to display on the field (appears as a ? icon by the field that can be hovered over).

hint?

string

Hint text to display below the field in the admin (appears beneath the field, always visible).

displayOrder?

number

The display order of this field in relation to other fields.

attributes

Record<string, string>

Additional attributes needed to further define this field.

ContentItem

Represents some content that should be displayed on the associated application.

Property Type Description

id

string

The item’s ID.

name

string

A unique name for the item.

model

Partial<ContentModel>

The content model for this content. Typically this only holds the model’s id and name and not the entire projection.

uri?

string

SEO-friendly URI to identify this content item. This will be appended to the parent ContentModel’s uri and used if the model is addressableByUri.

fields

Record<string, FieldData>

The individual field data for this content

activeStartDate

string

Defines the beginning time for which this content item is active.

activeEndDate?

string

Defines the ending time for which this content item is active.

author

Author

Information on the user who created this item.

ContentModel

Property Type Description

id

string

Id of the model.

name

string

The unique name of this model.

addressableByUri

boolean

Whether all of this model can be retrieved by navigating to #uri from a storefront app. For example, navigating to /blogs would result in all Content Items using the "Blog" model being fetching. Moreover, those content items would have their own URIs that would be appended to the model’s, e.g., /:ContentModel.uri/:ContentItem.uri.

uri?

string

SEO-friendly URI to retrieve ContentItems of this model.

fields

Array<ContentField>

The list of fields that make up this content model.

ContentResolverRequest

Property Type Description

contentZoneName?

string

Name of the ContentZone to retrieve ContentItems for.

<p> If present, all other request attributes will be ignored.

itemNames?

Array<string>

Names of ContentItems to retrieve.

<p> If uri, itemIds, modelId, or modelName are present, then this will be ignored.

itemIds?

Array<string>

Ids of ContentItems to retrieve.

<p> If uri, modelId, or modelName are present, then this will be ignored. If this is present, then itemNames will be ignored.

modelName?

string

Name of a ContentModel all of whose ContentItems to retrieve.

<p> If present, itemIds and itemNames will be ignored will be ignored. If uri or modelId are present, then this will be ignored.

modelId?

string

Id of a ContentModel all of whose ContentItems to retrieve.

<p> If present, modelId, itemIds, and itemNames will be ignored will be ignored. If uri is present, then this will be ignored.

pageRequest?

NarrowedPageRequest

Pagination options to use on the result set. If not provided, a list of all results will be returned instead.

uri?

string

URI of either a ContentModel all of whose ContentItems should be retrieved or else that of a single ContentItem. In the latter case, the parent ContentModel’s uri should be appended in the request.

hydrateCategoryProducts?

boolean

If any content items reference categories, this flag indicates that the categories' products should be hydrated.

This is only used in Catalog Browse Service and not passed downstream as a parameter.

Tip
Content SDK 1.7.0

[key: string]

unknown

Any additional params.

ContentResolverResponse

Property Type Description

results

Array<ContentItem>

Unpaginated list of results. Only present if no pagination params were present in the request.

paginatedResults?

UntotalledPage<ContentItem, NarrowedPageable>

Paginated results. Only present if pagination params were present in the request.

namesNotFound

Array<string>

Any requested names that did not match active content.

idsNotFound

Array<string>

Any requested ids that did not match active content.

hasResults

boolean

Whether any results are present.

CustomerContext

Property Type Description

customerId?

string

The customer’s id.

accountId?

string

The account id associated with this context.

customerSegmentIds?

Array<string>

Any customer segment ids associated with this context.

DataDrivenEnum

Property Type Description

id

string

The unique identifier for the Data Driven Enum reference.

associatedCategoryExists

boolean

Whether an associated category exists for this data driven enum value.

type

string

The type of data driven enum (i.e. "BRAND").

value

string

The value of data driven enum (i.e. "SOME_BRAND").

displayValue

string

The display value of data driven enum (i.e. "Some Brand").

DataDrivenEnumFetchParams

Property Type Description

id?

string

The ID of the data driven enum to retrieve.

checkIfAssociatedCategoryExist?

boolean

Whether the request should also check if an associated category exists for this data driven enum value.

DataDrivenEnumListParams

Property Type Description

dataDrivenEnumIds?

Array<string>

The list of IDs for the data driven enums to retrieve.

checkIfAssociatedCategoryExist?

boolean

Whether the request should also check if an associated category exists for this data driven enum value.

DataDrivenEnumListResponse

Property Type Description

dataDrivenEnums

Array<DataDrivenEnum>

The list of data driven enums that were retrieved.

dataDrivenEnumIdsForMissingEntities?

Array<string>

Data driven enum ids that weren’t found from the request.

DefaultAttributeChoiceType (Enum)

The type of the attribute for an AttributeChoice.

Name Value Description

COLOR

'COLOR'

DECIMAL

'DECIMAL'

INTEGER

'INTEGER'

TEXT_AREA

'LARGE_TEXT'

DATE

'DATE'

TEXT

'TEXT'

SIZE

'SIZE'

SELECT

'SELECT'

BOOLEAN

'BOOLEAN'

DefaultContentFieldReferenceType (Enum)

Default reference types available for ContentFields.

Name Value Description

CONTENT

'CONTENT'

CATEGORY

'CATEGORY'

PRODUCT

'PRODUCT'

DefaultContentFieldType (Enum)

Default types of a ContentField.

Name Value Description

STRING

'STRING'

HTML

'HTML'

DERIVED_URL

'DERIVED_URL'

LONG

'LONG'

DATE

'DATE'

ASSET_DROPZONE

'ASSET_DROPZONE'

BOOLEAN

'BOOLEAN'

REFERENCE

'REFERENCE'

DefaultIncludedProductType (Enum)

The default types supported for IncludedProducts.

Name Value Description

PRODUCT

'PRODUCT'

VARIANT

'VARIANT'

DefaultItemChoiceSelectionType (Enum)

The selection types for ItemChoice.

Name Value Description

CHOOSE_ONE

'CHOOSE_ONE'

CHOOSE_MULTIPLE

'CHOOSE_MULTIPLE'

DefaultItemChoiceTargetType (Enum)

The target types for ItemChoice.

Name Value Description

SPECIFIC_PRODUCT

'SPECIFIC_PRODUCT'

The item choice is a specific Product.

SPECIFIC_VARIANT

'SPECIFIC_VARIANT'

The item choice a specific Variant.

SPECIFIC_PRODUCTS

'SPECIFIC_PRODUCTS'

The item choice is among Products from a predetermined list.

SPECIFIC_VARIANTS

'SPECIFIC_VARIANTS'

The item choice is among Variants from a predetermined list.

CATEGORY

'CATEGORY'

The item choice is among Products within a Category. Used as a convenience over specifying an explicit set of products with #SPECIFIC_PRODUCTS and a SpecificItemChoice.

DefaultPriceListPriceSources (Enum)

Represents where a price is coming from within a price list.

Name Value Description

BLC_PRICE_LIST_PRICE_DATA

'BLC_PRICE_LIST_PRICE_DATA'

Represents that this price comes from the Price Data that is explicitly added to the Price List.

BLC_PRICE_LIST_FORMULA

'BLC_PRICE_LIST_FORMULA'

Represents that this price comes from the Price List’s formula, e.g. multiplier, percentage, addition, etc.

EXTERNAL

'EXTERNAL'

Represents that this price comes from an external source.

DefaultProductOptionType (Enum)

The type for a ProductOption.

Name Value Description

CART_ATTRIBUTE

'CART_ATTRIBUTE'

The user input flow into a global cart-level attribute when added to cart. If there was already an entry for this attribute, it is overridden with the latest value.

CART_ITEM_ATTRIBUTE

'CART_ITEM_ATTRIBUTE'

The user value is intended to flow into an item attribute once this item is added to the cart.

ITEM_CHOICE

'ITEM_CHOICE'

Allows the user to select an additional item that is added to their cart

VARIANT_DISTINGUISHING

'VARIANT_DISTINGUISHING'

Values selected by the customer will help distinguish a specific variant directly on this Product that should be added to the cart. Example would be to set up t-shirts with colors and sizes. This is similar to ITEM_ATTRIBUTE in that the values the user selected are stored in the item attributes.

DefaultProductType (Enum)

Name Value Description

STANDARD

'STANDARD'

Denotes a simple product which has no variants or complex configuration such as a Hot Sauce. Standard products may be added to the cart on their own or they may have add-ons that get added with them.

VARIANT_BASED

'VARIANT_BASED'

Denotes a configurable product that has Variants determined by ProductOptions like color and size for a T-Shirt. It is the Variants which are added to the cart after the user selects the options.

MERCHANDISING_PRODUCT

'MERCHANDISING_PRODUCT'

Denotes a complex, configurable product that acts as a container for other Products or Variants that may be fixed or configurable. This is primarily a bundling concept. The price will be derived from the bundled items and be a range if the customer can select a varying number of the bundled items (e.g., can choose 1 or more of an item).

BUNDLE

'BUNDLE'

Denotes that the product is meant to represent a simple bundle of other products, with each bundle item represented as an IncludedProduct. The bundle has a set price that is prorated down to the included items proportionally to their original prices when viewed in an OMS. This looks like a single item to the customer when in the cart, but will be broken down in the OMS.

SELECTOR

'SELECTOR'

Denotes that the product is meant to represent a landing page that shows a selection of other products the customer can choose from. It acts somewhat like a category in that it is only for grouping other products and cannot itself be added to a cart.

This could be used as a landing page for different subscription levels for the same or similar services or products like for magazines.

DefaultTagDisplayPosition (Enum)

Defines the default positions a AdvancedTag is displayed on a component such as a Product’s image.

Name Value Description

TOP_LEFT

'TOP_LEFT'

TOP_RIGHT

'TOP_RIGHT'

TOP_CENTER

'TOP_CENTER'

TOP_JUSTIFIED

'TOP_JUSTIFIED'

CENTER_LEFT

'CENTER_LEFT'

CENTER_RIGHT

'CENTER_RIGHT'

CENTER

'CENTER'

CENTER_JUSTIFIED

'CENTER_JUSTIFIED'

BOTTOM_LEFT

'BOTTOM_LEFT'

BOTTOM_RIGHT

'BOTTOM_RIGHT'

BOTTOM_CENTER

'BOTTOM_CENTER'

BOTTOM_JUSTIFIED

'BOTTOM_JUSTIFIED'

NONE

'NONE'

Means that the tag will not be displayed anywhere.

DefaultTagType (Enum)

Defines the type of a AdvancedTag. This helps categorize them along with the DefaultTagDisplayPosition (Enum) to allow prioritizing related kinds of tags. For example, this could allow a user to only display one "discount" tag even if multiple apply. <p> The default types are suggestions and ideas. No concrete logic is tied to them by default. User’s should feel free to define their own types that suit their business needs.

Name Value Description

GENERIC

'GENERIC'

Means that a tag is uncategorized.

FEATURE

'FEATURE'

Means that a tag signifies a key feature of an item such as being "Fairtrade". This is distinguished form #ATTRIBUTE insofar as a feature is intrinsic to the item rather than subjective or mutable.

ATTRIBUTE

'ATTRIBUTE'

Means that a tag signifies an important attribute of an item such as "New", "Staff Pick", "Seller’s Choice". This is distinguished from #FEATURE insofar as an attribute is subjective (staff pick) or mutable (new).

DISCOUNT

'DISCOUNT'

Means that a tag signifies a discount such as "On Sale", "20% Off", "Clearance", etc.

Dimensions

Property Type Description

width

number

The width.

height

number

The height.

depth

number

The depth.

units

string

The unit of measure.

EnhancedLineItem

Property Type Description

lineNumber?

string

The line number for the item.

standardPrice

MonetaryAmount

The line item’s standard price.

salePrice?

MonetaryAmount

The line item’s sale price.

quantity

number

The quantity of the line item.

discountable

boolean

Whether this line item is discountable.

isSubscription

boolean

Whether this line item is a subscription.

attributes

Record<string, unknown>

Any additional attributes associated with this line item.

Facet

Property Type Description

label?

string

The label for the facet.

name

string

The name of the facet.

displayOrder?

number

The facet’s display order.

multiSelect?

boolean

Whether the facet accepts multiple options.

ranged?

boolean

Does the facet have ranges.

ranges?

Array<FacetRange>

The facet ranges.

facetRule?

string

The facet rule.

FacetRange

Property Type Description

label?

string

The label for the facet range.

displayOrder?

number

The display order for the facet range.

minValue?

string

The minimum value of the range.

maxValue?

string

The maximum value for the range.

FacetResponse

Property Type Description

facet

Facet

The search facet.

values

Array<FacetValue>

The list of values associated to the facet.

FacetValue

Property Type Description

value?

string

The actual value for the facet.

ranged?

boolean

Whether the value is ranged

minValue?

string

The minimum value.

maxValue?

string

The maximum value.

quantity?

number

The number of products associated with the value.

active?

boolean

Whether the value is active.

FieldData

Represents the field data for fields on a ContentItem as defined by a ContentModel (see also ContentField).

Property Type Description

id

string

Id of the field.

contentItem

Partial<ContentItem>

The parent ContentItem. Usually this just contains the item’s ID and not the full projection.

name

string

The name of the field.

value

unknown

The value of the field.

Filter

Standard search filters matching configured field facets.

Property Type Description

name

string

The name of the property to filter on, e.g. "color","price", etc.

values?

Array<string>

The values of the filter. For example, if name is "color", this could be "red", "black", "blue".

ranges?

Array<FacetRange>

The ranged values of this filter. This will contain pairs of minimum and maximum values to create ranges to filter on. Cannot be used in combination with filter values.

FulfillmentFlatRateValue

Property Type Description

value

MonetaryAmount

The value of the flat rate.

FutureStockSummary

Summary of future stock information.

Property Type Description

futureStockType

FutureStockType | string

The type of future stock that is configured for this SKU inventory. See FutureStockType (Enum) for reference.

expectedFutureRestockDate

string

The expected date for the configured future stock to be made available.

quantityAvailable?

number

The current quantity available for the future stock.

FutureStockType (Enum)

The enumerated type for future stock.

Name Value Description

PREORDER

'Pre-Order'

Stock that hasn’t been released yet, but can be reserved in advance.

BACKORDER

'Backorder'

Stock that has been released, but is depleted until a new shipment arrives.

IncludedProduct

Property Type Description

asset

Asset

The asset for this included product. Intended to override the asset normally shown for the item.

displayOrder

number

Defines the display position of this included product in relation to other included products.

label

string

Label to display for the item. This overrides the item’s name.

quantity

number

Fixed quantity of the item that is included with the parent product.

pricingKey

string

Unique pricing key for this particular included item.

Deprecated: The price should be on the parent product and will be prorated down to each bundled item when added to cart.

pricingModel

string

Describes whether this item’s pricing will be added to its parent or if it is included in the parent product’s price.

Deprecated: The price is always included in the parent.

priceInfo

PriceInfo

Summary of the pricing information related to the included item.

product

Product

The specified product if the type is "PRODUCT".

type

string

Defines the type of the item: usually a Product or Variant. see DefaultIncludedProductType

variant

Variant

The specified varoamt if the type is "VARIANT".

variantParentProductId

string

This field contains the id of the parent product of the specified #variant if the #type is VARIANT. May be used for looking up the originating parent product rather than the bundle.

ItemChoice

Property Type Description

choiceKey

string

The key used during the validation of cart item’s configuration to relate this ItemChoice to one of the cart item’s dependent items.

pricingKey

string

System-wide unique identifier to configure specific pricing for the choice.

targetType

string

Identifies the type of items that a customer can choose from, whether specific products, specific variants, or products from a specific category.

selectionType

string

Describes restrictions placed on the customer’s ability to select items from the targeted set. Generally, this is a restriction on how many choices can be selected for a single add-to-cart request and, potentially, how quantity is distributed among multiple selected choices.

maximumQuantity?

number

The maximum amount of this item that a customer can purchase at a time. If null, this would allow a customer to specify their own quantity for how many of these items they can add to the cart.

minimumQuantity?

number

The minimum amount of the item that a customer must purchase.

defaultProductInCategory?

Product

The default product that can be used when driving customer selections if the targetType is "CATEGORY".

defaultProduct?

Product

The default product that can be used when driving customer selections if the targetType is "PRODUCT".

defaultVariant?

Variant

The default variant that can be used when driving customer selections if the targetType is "VARIANT".

category?

ItemChoiceCategory

The ItemChoiceCategory which the choice will be chosen from by the customer if the targetType is "CATEGORY".

specificChoices?

Array<SpecificItemChoice>

Holds the manually-curated options that the customer can choose from.

specificItemChoice?

SpecificItemChoice

A specific item choice for when the targetType is SPECIFIC_PRODUCT or SPECIFIC_VARIANT.

priceInfo?

PriceInfo

Summary of the pricing information related to the choice.

pricingModel

string

How to treat the pricing for this choice in terms of its parent product, included or an additional cost.

attributes?

Record<string, unknown>

Map holding any additional attributes passed in the request not matching any defined properties.

ItemChoiceCategory

Property Type Description

id

string

The ID of the category.

products

UntotalledPage<Product, NarrowedPageable>

A page of products from the category to choose from.

ItemMarketingMessageRequest

Property Type Description

item

EnhancedLineItem

The line item to find marketing messages for.

locationType

MarketingMessageLocationType

The location type to retrieve messages for.

locale

string

The locale for the current request.

customerContext?

CustomerContext

The customer context to retrieve messages for.

codes?

ActivePromotionCodes

Any promotion codes currently in use.

MarketingMessage

Property Type Description

id

string

The unique id for the marketing message.

offerId

string

Id of the parent Offer.

text

string

The actual text of the message to display.

priority

number

The display order for multiple marketing messages

targetType

MarketingMessageTargetType

Determines whether this message should appear only next to its offer’s targets or qualifiers or next to both.

locationType

MarketingMessageLocationType

Determines in what locations this message can appear, whether on product detail, browse, search, or cart pages or everywhere.

locale

string

The Locale to which this message is applicable.

activeStartDate

string

Defines the beginning time for which this message is active

activeEndDate

string

Defines the ending time for which this message is active

MarketingMessageLocationType (Enum)

Name Value Description

PRODUCT_DETAIL

'PRODUCT_DETAIL'

Means that the marketing message should appear next to applicable items on product detail pages only.

BROWSE

'BROWSE'

Means that the marketing message should appear on browse (list) pages only, typically in the header of the page.

BROWSE_ITEM

'BROWSE_ITEM'

Means that the marketing message should appear next to applicable items on browse (list) pages only.

CART

'CART'

Means that the marketing message should appear on the cart page, typically in the header of the page.

CART_ITEM

'CART_ITEM'

Means that the marketing message should appear next to applicable items on the cart page only.

MarketingMessageRequest

Property Type Description

productIds

Array<string>

The ids for all products to retrieve marketing messages for

categoryId?

string

The current category’s id

cartSubtotal?

MonetaryAmount

The subtotal of the customer’s cart

cartProductIds?

Array<string>

The ids of any products currently in the customer’s cart

customerContext?

CustomerContext

The customer context information that should be used in determiningwhich offers apply

appliedOfferIds?

Array<string>

A list of currently applied offer ids

maxMessageCount?

number

The maximum number of messages for each location and location / product combination

MarketingMessageResponse

Property Type Description

cartMessages

Array<MarketingMessage>

Messages that should be displayed on the cart page’s header

browseMessages

Array<MarketingMessage>

Messages that should be displayed on the product list page headers

cartItemMessages

Record<string, Array<MarketingMessage>>

Messages that should be displayed on individual cart items

browseItemMessages

Record<string, Array<MarketingMessage>>

Messages that should be displayed on individual product items shown during browse

productDetailMessages

Record<string, Array<MarketingMessage>>

Messages that should be display on product detail pages

MarketingMessages

Property Type Description

messages

Array<MarketingMessage>

MarketingMessageTargetType (Enum)

Name Value Description

TARGETS

'TARGETS'

Indicates that an offer’s marketing message should be displayed with items TARGETED by the offer.

QUALIFIERS

'QUALIFIERS'

Indicates that an offer’s marketing message should be displayed with items that QUALIFY an order or other items for the offer.

EITHER

'EITHER'

Indicates that the offer’s marketing message should be display on both TARGETS and QUALIFIERS.

PageableClientCallOptions

extends ClientCallOptions

Property Type Description

page?

number | string

The page number.

size?

number | string

The size of the page.

sort?

string

Any sorting params to apply to the response.

direction?

'ASC' | 'DESC'

The direction to sort by.

cq?

string

RSQL filter/s to apply to the page contents

PriceableTargetRef

Property Type Description

targetId

string

The unique identifier for the priceable target

targetType?

string

The type of the priceable target (i.e. "SKU")

priceableFields?

Record<string, MonetaryAmount | number>

The fields to price

attributes?

Record<string, unknown>

Any additional attributes

termDurationLength?

number

The length of the terms, e.g., if this is 36 and termDurationType is MONTHS, then the price should be charged for 36 months.

Tip
Browse SDK 1.7.0

termDurationType?

string

The type of term duration, whether days, weeks, months, etc.

Tip
Browse SDK 1.7.0

characteristics?

Record<string, string>

Gets the characteristics of the target, e.g., capacity:128GB. This indicates that the caller wants a specific price targeting these characteristics not just a base or default price for the target item. This is useful when the target is a flattened Product with no variations but still has configurable options that could drive pricing.

Tip
Browse SDK 1.7.0

PriceContext

Property Type Description

locale?

string

The locale for the request.

currency?

string

The currency for the request.

attributes?

Record<string, unknown>

Any additional attributes

PriceInfo

Represents pricing information for a priceable entity like a Product or Variant. This includes the type of price (sale, standard, contract), the source price list, recurring and usage prices, and details for other candidate prices that were not used.

Property Type Description

target

PriceableTargetRef

The target that the price is for.

price

MonetaryAmount

Determined best price for a target.

priceType

string

The type of whether salePrice, standardPrice, contractPrice, etc.

priceTypeDetails

Record<string, PriceTypeDetail>

Map of each type of price to each corresponding PriceTypeDetail, which contains the best overall price for that type.

recurringPrice?

RecurringPriceDetail

The recurring price for the target, if applicable.

Tip
Browse SDK 1.7.0

usagePrice?

UsagePriceDetail

The usage price for the target, if applicable.

Tip
Browse SDK 1.7.0

priceListId?

string

The ID of the source price list.

priceListPriceSource?

DefaultPriceListPriceSources | string

If this price is from a price list, this field indicates the source of the price within the price list, e.g. price list formula, price list price data, etc.

[key: string]

unknown

PriceInfoContext

Property Type Description

priceLists?

Array<PriceListRef>

The list of Price Lists.

priceableTargets?

Array<PriceableTargetRef>

The list of Pricable Targets

skipDetails?

boolean

Whether the details should be hydrated on the response.

PriceListRef

Property Type Description

id

string

The unique identifier for the Price List

PriceTypeDetail

Aggregation of price details for a specific priceable field provided by a priceable target, e.g., the best prices for each of a Product’s cost, standard price, and sale price. This is useful when wanting to show strikethrough pricing.

Property Type Description

bestPrice

MonetaryAmount

The determined best price value for this type of price from amongst all the candidates.

type

string

The corresponding type of the price: salePrice, standardPrice, contractPrice, etc.

bestRecurringPriceDetail?

RecurringPriceDetail

The recurring price for the target, if applicable.

Tip
Browse SDK 1.7.0

bestUsagePriceDetail?

UsagePriceDetail

The usage price for the target, if applicable.

Tip
Browse SDK 1.7.0

priceListId?

string

The ID of the source price list.

[key: string]

unknown

Product

Property Type Description

id

string

The primary identifier.

active?

boolean

Whether or not it is active.

activeStartDate?

string

The date after which it becomes active.

advancedTags?

Array<ProductTag>

A list of tags sorted based on the sort position of the ProductTag for the Product with AdvancedTag#getPriority() used to break ties.

assets?

Array<ProductAsset>

The set of assets associated with it.

availabilitySummary?

SkuInventoryAvailabilitySummary

Summary of inventory availability.

attributes?

Record<string, unknown>

Key-value map of additional un-typed attributes.

availableOnline?

boolean

Whether or not it is available for purchase online.

breadcrumbs?

Array<Breadcrumb>

The list of breadcrumbs.

currency?

string

The currency of the pricing data.

description?

string

The description field with rich HTML markup.

dimension?

Dimensions

The product’s dimensions.

weight?

Weight

The product’s weight.

discountable?

boolean

Whether or not discounts may apply to it.

eligibleForPickup?

boolean

Whether or not it is eligible for pickup at a location.

fulfillmentFlatRates?

Record<string, FulfillmentFlatRateValue>

Flat rates by fulfillment type used for simple fulfillment calculations.

includedProducts?

Array<IncludedProduct>

A set of included products used for product bundle types.

individuallySold?

boolean

Whether or not it is sold individually. If false, typically only sold as either an add-on or part of a bundle.

inventoryCheckStrategy?

string

The strategy used when checking inventory for it.

inventoryReservationStrategy?

string

The strategy used when reserving inventory for it.

inventoryType?

string

The inventory type for it. Usually whether it is physical or digital.

keywords?

Array<string>

Keyword strings associated with it.

merchandisingProduct?

boolean

This product is not sold itself, but is a sort of container for subordinate items.

Deprecated: use productType instead

merchandisingContext?

string

The merchandising context of the product to signify where this item is added from. This field is intended to be used for products with type DefaultProductType#SELECTOR, which allows for the possibility of targeting the items within the selector product for discounts.

metaDescription?

string

The meta description to put in meta tags for SEO purposes.

metaTitle?

string

The meta title to put in meta tags for SEO purposes.

mergingType?

string

Determines how it should merge with other similar items when it gets added to a cart.

minimumThreshold?

number

The minimum count of this product that must be added in a cart.

maximumThreshold?

number

The maximum count of this product that must be added in a cart.

name

string

The name of this product.

onSale?

boolean

Whether or not it is on sale.

online?

boolean

Whether or not this product should be visible at all in the store.

options?

Array<ProductOption>

Drives additional information that the customer should enter when purchasing this product. This can be in the form of additional variations, additional items that can be bundled with this product or simply more information that the customer needs to enter about what they are purchasing (like a personalized message).

parentCategories?

Array<CategoryRef>

The set of categories this product is part of.

price?

MonetaryAmount

The simple price for this product.

priceInfo?

PriceInfo

The price information for this product.

primaryAsset?

ProductAsset

The primary asset for this product.

productOption?

SearchableProductOption

If a product option is search, the the products that use it will be index multiple times, once for each option value. Example: If a product has a color option with values red, black, silver, and this option is marked searchable, then the product will be indexed three times, once for each color. The resulting product payload when fetched from Search will include the specific option value it was indexed with such as:

{
  optionLabel: 'Red',
  optionName: 'color',
  optionValue: 'red
}

promotionalProducts?

PromotionalProducts

A collection of products related to this product and grouped by the promotional type.

productType?

DefaultProductType

The type of product. see DefaultProductType

businessType?

string

An additional type related to business definitions rather than system. Used to link new fields, field metadata overrides, or characteristics to products that share them.

reviewsSummary?

ReviewsSummary

Summary of review information.

searchable?

boolean

Whether or not this product is searchable.

sku?

string

The SKU code for this product.

tags?

Array<string>

A list of simple labels used to categorize the product

uri?

string

The URI for this product.

variants?

Array<Variant>

The set of variants for this product.

vendorRef?

string

Soft reference to the vendor associated with this catalog. This value can be null, in which case, no vendor is associated.

displayTemplate?

string

Defines the display template. The display template can be used to help create a unique key that drives the presentation layer destination for this category. For example, if using Spring MVC with Thymeleaf, this could be a path to a Thymeleaf template. If using a frontend view technology like React, this could point to a specific React component.

characteristics?

Record<string, ProductCharacteristic>

The Characteristic values associated with this product instance.

Tip
Browse SDK 1.7.0

parentCharacteristics?

Record<string, Characteristic>

Map of the [Characteristics] referenced by the ProductCharacteristics where the key is the characteristic’s fieldName. This is used instead of hydrating directly onto each ProductCharacteristic to reduce duplication and payload size.

Tip
Browse SDK 1.7.0

brand?

DataDrivenEnum

Product Brand or Make.

merchandisingType?

DataDrivenEnum

Product merchandising type. This can be arbitrary business values to provide another way to categorize products.

targetDemographic?

DataDrivenEnum

Product target demographic.

terms?

ProductTerm[]

Any terms associated with this product.

Tip
Browse SDK 1.7.0

[key: string]

unknown

Any additional custom attributes included on this product.

ProductAsset

extends Asset

Property Type Description

productId

string

The owning product’s id.

ProductCharacteristic

Links a Characteristic to a Product and specifies the actual value or values of that Characteristic for the specific Product as opposed to others of the same Business Type.

Property Type Description

characteristic

Characteristic

The referenced Characteristic. Useful for getting meta-info like display name and order.

fieldName

string

Internal field name of the characteristic.

fieldType

CharacteristicValueTypes | string

Type of data used for the values.

value

Array<unknown>

The actual value or values of the Characteristic for a particular Product.

ProductFetchParams

Property Type Description

id?

string

The id for the product to retrieve.

url?

string

The url for the product to retrieve.

hydrateCategoryChoiceProducts?

boolean

Whether to hydrate category products onto Categories belonging to ItemChoice ProductOptions. Default is true.

Tip
Browse SDK 1.7.0

hydrateProductAssets?

boolean

Whether to hydrate non-primary product assets onto the Product response. Default is true.

Tip
Browse SDK 1.7.0

hydrateRelatedProductCharacteristics?

boolean

Whether to hydrate the Characteristics for the main requested products' related products. The main requested products' characteristics are always hydrated. Default is false.

Tip
Browse SDK 1.7.0

[key: string]

unknown

Any additional custom attributes included on this product.

ProductListFetchParams

Property Type Description

productIds?

Array<string>

The list product IDs to fetch.

productUris?

Array<string>

The list of product URLs to fetch.

hydrateCategoryChoiceProducts?

boolean

Whether to hydrate category products onto Categories belonging to ItemChoice ProductOptions.

Tip
Browse SDK 1.7.0

hydrateProductAssets?

boolean

Whether to hydrate non-primary product assets onto the Product response.

Tip
Browse SDK 1.7.0

hydrateRelatedProductCharacteristics?

boolean

Whether to hydrate the Characteristics for the main requested products' related products. The main requested products' characteristics are always hydrated.

Tip
Browse SDK 1.7.0

[key: string]

unknown

Any additional custom attributes included on this product.

ProductListResponse

Property Type Description

productIdsForMissingEntities?

Array<string>

Product ids that weren’t found from the request.

productUrisForMissingEntities?

Array<string>

Product Uris that weren’t found from the request.

products

Array<Product>

The list of products that were retrieved.

ProductOption

Property Type Description

id

string

The primary identifier.

templateContextId?

string

If this option came from an option template, this allows data synchronization if the template is updated.

addedByReference

boolean

Denotes whether this option was added from an option template by reference rather than being embedded on the Product.

label

string

The label shown to customers when displaying this option.

type

string

Controls both how the customer should be inputting values to fill out this option as well as storage of where the value will go once added to the cart.

displayOrder?

number

The ordering of this option in relation to other options on the page.

itemChoice?

ItemChoice

Drives customer selection of an additional item to add to their cart.

attributeChoice?

AttributeChoice

Configuration for customer-driven values that flow into an attribute

ProductTag

This defines the relationship between a Product and AdvancedTag. A product can have multiple ProductTags and determine relative priority via ordering them in the admin. This relationship will also be used during indexing to hydrate the tags for a product to enable faceting, searching, and boosting.

Property Type Description

id

string

A unique system identifier.

productId

string

ID of the parent Product.

tag

AdvancedTag

The AdvancedTag to associate with the #product.

activeStartDate

string

Start of when this tag should be active.

activeEndDate?

string

End when this tag is not longer active. Unset indicates that it is always active.

ProductTerm

Represents the available terms for a Product that impact pricing options. Should match term fields on a PriceInfo#recurringPrice.

Tip
Browse SDK 1.7.0
Property Type Description

name?

string

A display name for the term

durationLength?

number

Time interval (number of seconds, minutes, hours, etc.)

durationType?

string

The type of time interval (seconds, minutes, hours, etc.)

default?

boolean

Whether this term is the default term for the product

PromotionalProducts

Property Type Description

FEATURED

Array<PromotionalProductSummary>

Featured promotional products.

CROSS_SALE

Array<PromotionalProductSummary>

Cross-sale promotional products.

UP_SALE

Array<PromotionalProductSummary>

Up-sale promotional products.

[key: string]

Array<PromotionalProductSummary>

Other promotional products as defined by the user.

PromotionalProductSummary

Property Type Description

id

string

The primary identifier for this relationship.

promotionMessage?

string

The promotion message for this relation.

relatedProduct

Product

The product to promote.

sorted

boolean

Whether this promotional product is sorted

type

'FEATURED' | 'CROSS_SALE' | 'UP_SALE'

the type of relation between the category and the related product

RatingCountAndPercentage

Property Type Description

rating

number

The rating value that we are counting.

ratingCount

number

The total count of the rating value.

ratingPercentage

number

The occurrence of this rating value from the total amount of ratings.

RatingDetail

Property Type Description

id

string

The ID of this rating

rating

number

The rating of this review

customerId?

string

The database ID of the user who authored this rating. Nullable

customerName?

string

The customer name

initialReviewDate

string

The initial rating date

editedDate?

string

If edited, the date this review was edited

reviewTitle?

string

The title of this review

originalReview?

string

The original review. This is what is displayed on the review page

editedReview?

string

If edited, the text of the edited review

reviewStatus

RatingDetailStatus

The status of this review, e.g. APPROVED, REJECTED. See RatingDetailStatus (Enum)

approveOrRejectUser?

string

The admin who approved or rejected this rating.

approveOrRejectDate?

string

The date that this review was approved or rejected

ratingSummary?

RatingSummary

The rating summary. By default, only the summary ID is populated.

rejectReason?

string

The reason for review rejection. Optional.

verifiedPurchase?

boolean

Indicated if this review is from a verified purchase

attributes?

Record<string, unknown>

Map to capture any additional data

RatingDetailStatus (Enum)

Default reference types available for RatingDetail. Used to indicate the status of a rating.

Name Value Description

NOT_NEEDED

'NOT_NEEDED'

The rating is counted in the rating summary and does not need to undergo approval/rejection process.

PENDING

'PENDING'

The rating is awaiting an approval or rejection from the admin.

APPROVED

'APPROVED'

The rating has been approved and should be counted in the rating summary, as well as displayed on the product detail page.

REJECTED

'REJECTED'

The rating has been rejected and should not be counted in the rating summary or displayed on the product detail page.

RatingRequest

Property Type Description

rating

number

The rating of this review.

customerId?

string

The database ID of the user who authored this rating. Nullable

customerName?

string

The customer name

reviewTitle?

string

The title of this review

review?

string

The text of the review.

ratingTargetId

string

The id of the product or variant that is the subject of this rating.

parentTargetId?

string

If a Variant is being rated, this is the id of the parent product to the variant. Null if this rating is for a product.

ratingTargetType?

string

The rating target type, such as PRODUCT or VARIANT.

RatingSummary

Property Type Description

id

string

The ID of this rating summary

ratingSummary?

RatingSummary

The parent rating summary. For example, if this is a variant, this points to the RatingSummary of the parent product. Nullable.

ratingTargetType

string

The rating target type, such as PRODUCT or VARIANT. See RatingTargetType (Enum)

ratingTargetId

string

The id of the rating target. For example the product or variant ID.

parentTargetId?

string

The parent target ID. For example, if the target type is a Variant, this would be the product’s ID. Optional.

numberOfRatings

number

The total number of ratings for this target. This includes both approved and pending ratings.

numberOfApprovedRatings

number

The total number of approved ratings for this target. Used to calculate the average rating. Includes ratings with APPROVED or NOT_NEEDED status.

ratingTotal

number

The total numerical value of all approved ratings for this summary. This is the sum of all approved ratings and is used to calculate the average rating. Includes ratings with APPROVED or NOT_NEEDED status.

attributes?

Record<string, unknown>

Map to capture any additional data

RatingTargetType (Enum)

Default reference types available for RatingSummary and RatingRequest. Used to indicate what target type the rating is for.

Name Value Description

PRODUCT

'PRODUCT'

The rating is for a product.

VARIANT

'VARIANT'

The rating is for a variant of a product. (Ex. A t-shirt may have different colors and sizes — each color and/or size may be considered a Variant of that t-shirt product.)

RecurringPriceDetail

Represents details for a recurring price, e.g., a subscription price, including information about the billing period and any terms.

Tip
Browse SDK 1.7.0
Property Type Description

price

MonetaryAmount

Determined best price for a target.

periodFrequency

number

The frequency with which the recurring price should be charged.

periodType

string

The type of period, whether days, weeks, months, etc.

periodLimit

number

The number of periods that the price should be charged.

termDurationLength

number

The length of the terms, e.g., if this is 36 and termDurationType is MONTHS, then the price should be charged for 36 months.

termDurationType

string

The type of term duration, whether days, weeks, months, etc.

ReviewsSummary

Property Type Description

numberOfReviews?

number

The number of reviews

rating?

number

The current rating.

ratingUnit?

string

The rating unit.

SearchableProductOption

Property Type Description

optionLabel

string

Display label for the option like "Red" for value red or option color

optionName

string

Name of the product option such as color

optionValue

string

Specific value of the product option such as red

SearchParams

extends PageRequestParams

Property Type Description

filters?

Array<Filter>

The list of standard search filters to apply.

ruleFilters?

RuleFilter

The RSQL filters to apply.

categoryProductMembershipFilters?

RuleFilter

The rule-based RSQL filters used to check if a related product is a member of the specified category. Only applies when the category’s product membership type is RULE_BASED.

query?

string

The query to search for.

hydrateFully?

boolean

Whether to hydrate the full Product details onto the search results. Use cautiously since this results in a much larger payload.

assetFilters?

string

When hydrating assets onto search results, this defines any RSQL filters to be applied when querying for them.

Ignored when hydrateFully is true.

tagFilters?

string

When hydrating tags onto search results, this defines any RSQL filters to be applied when querying for them.

Ignored when hydrateFully is true.

SearchRedirect

Property Type Description

redirectType?

string

The redirect type.

redirectUri

string

The URI to redirect to.

SearchRedirectResponse

Property Type Description

redirect?

SearchRedirect

The search redirect.

SearchResponse<T>

extends Page<T>

Property Type Description

facets?

Array<FacetResponse>

The search facets associated with the response.

sorts?

Array<SortResponse>

The sorting parameters associated to the response.

correctedQuery?

boolean

If no results were found and a different query was executed than the original, this is set to true.

spellcheckResult?

SpellcheckResult

Set if spellcheck returned any results. Contains the original query and any potential suggestions.

SearchSuggestionsRequest

Property Type Description

query

string

The query to use for suggestions.

name

string

The type ahead configuration name.

filters?

Array<Filter>

The list of standard search filters to apply.

ruleFilters?

RuleFilter

The RSQL filters to apply.

SearchSuggestionsResponse

Property Type Description

suggestions?

Record<string, unknown>

The suggestions returned by the search service.

[key: string]

unknown

Any additional custom attributes included on this product.

SkuInventoryAvailabilitySummary

Summary of inventory availability.

Property Type Description

available

boolean

Whether or not this SKU has inventory available.

inventoryLocationId?

string

The ID of the inventory location for this inventory record.

skuRef

SkuRef

A soft reference to the SKU for which this inventory is managed.

vendorRef?

string

Soft reference to the vendor associated with this sku inventory. This value can be null, in which case, no vendor is associated.

futureStockSummary?

FutureStockSummary

Summary of future stock information for this sku, if applicable.

SkuRef

Provides a representation of a SKU reference. All attributes are optional, but at least one must be populated. By default the "skuCode" is used as the reference.

Property Type Description

skuCode?

string

The default identifier that Broadleaf uses for accessing SkuInventory.

externalId?

string

External system reference to a unique SKU.

upc?

string

Holds UPC, or Universal Product Code, if applicable.

ean?

string

Holds EAN, or European Article Number, if applicable.

gtin?

string

GTIN (Global Trade Item Number)

skuName?

string

Optional field to store a human readable name for the SKU.

SortOption

Property Type Description

label?

string

The label for the sort option.

name

string

The name of the sort option.

displayOrder?

string

The display order of the sort option.

SortResponse

Property Type Description

sortOption

SortOption

The sort option.

active?

boolean

WHether the sort option is active.

descending?

boolean

Wheather the sort is ascending or descending.

SpecificItemChoice

Property Type Description

pricingKey

string

System-wide unique identifier to configure specific pricing for the choice.

pricingModel

string

How to treat the pricing for this choice in terms of its parent product, included or an additional cost.

type

string

Whether this item holds a product or a variant that the customer can select from

product?

Product

The product for this choice

variant?

Variant

The variant for this choice

priceInfo

PriceInfo

Summary of the pricing information related to the choice.

attributes?

Record<string, unknown>

Map holding any additional attributes passed in the request not matching any defined properties.

variantPricing?

Record<string, VariantPrice>

Additional override price information if a specific variant is selected.

SpellcheckResult

Property Type Description

originalQuery

string

The original search query.

suggestedQueries

Array<SuggestedQuery>

The suggested queries as result of the spellcheck.

SuggestedQuery

Property Type Description

query

string

The suggested query to replace the original query.

hits

number

The number of hits for the suggested query.

UsagePriceDetail

Represents details for a usage price, e.g., price per minute, including the unit of measure.

Tip
Browse SDK 1.7.0
Property Type Description

price

MonetaryAmount

The price to charge for usage.

amount

number

The amount of units to charge for, e.g., charge $2 for every 1 GB used.

units

string

The units (e.g., minutes, texts, GB) defining what is getting used against which to charge the amount.

Variant

Property Type Description

id

string

The primary identifier.

active?

boolean

Whether or not it is active.

activeStartDate?

string

The date after which it becomes active.

activeEndDate?

string

The date after which it becomes inactive.

attributes?

Record<string, unknown>

Key-value map of additional un-typed attributes.

cost?

MonetaryAmount

Can be used in display or as apart of more complex pricing algorithms.

defaultPrice

MonetaryAmount

The default price that should be used if there is not a salePrice set.

description?

string

The description field with rich HTML markup.

dimension?

Dimensions

The dimensions of this variant.

discountable?

boolean

Whether or not discounts may apply to it.

fulfillmentFlatRates?

Record<string, FulfillmentFlatRateValue>

Flat rates by fulfillment type used for simple fulfillment calculations.

inventoryCheckStrategy?

string

The strategy used when checking inventory for it.

inventoryReservationStrategy?

string

The strategy used when reserving inventory for it.

minimumThreshold?

number

The minimum count of this product that must be added in a cart.

maximumThreshold?

number

The maximum count of this product that must be added in a cart.

availabilitySummary?

SkuInventoryAvailabilitySummary

Summary of inventory availability.

name?

string

The name of this variant.

onSale?

boolean

Whether or not it is on sale.

online?

boolean

Whether or not this product should be visible at all in the store.

optionValues?

Record<string, string>

Helper to make this particular variant uniquely identifiable across multiple variants for the same product.

priceInfo?

PriceInfo

The price information for this product.

primaryAsset?

ProductAsset

The primary asset for this product.

productId

string

The link to the product that this variant is a part of.

promotionalProducts?

PromotionalProducts

A collection of products related to this product and grouped by the promotional type.

reviewsSummary?

ReviewsSummary

Summary of review information.

searchable?

boolean

Whether or not this product is searchable.

sku?

string

The SKU code for this product.

salePrice?

MonetaryAmount

Indicates that this product is on sale.

taxCode?

string

The tax code for this variant.

upc?

string

Universal product code that defines this particular variant of the product.

uri?

string

The URI for this product.

weight?

Weight

The weight of this variant.

[key: string]

unknown

Any additional custom attributes included on this product.

VariantPrice

Property Type Description

overridePrice

MonetaryAmount

The price for the override.

priceInfo

PriceInfo

Summary of the pricing information related to the override.

pricingKey

string

The pricing key for this price.

variantId

string

The id of the Variant this price applies to.

Weight

Property Type Description

weight

number

The weight.

units

string

The unit of measure.