Commerce Foundation Product CommerceQuery
This query retrieves a specific product and its related items. You can use this operation to retrieve a specific product (by ID), or multiple products by using the search criteria Where clause.
Syntax
var queryProduct = new CommerceQuery<CommerceEntity>("Product");
Parameters
A model search supports the following properties:
Property |
Description |
---|---|
Id |
This is the ID of the product to find. This is a mandatory search property. |
CatalogId |
This is the name of the catalog or virtual catalog from where to locate the product. This is a mandatory search property. |
Operation Sequence Components
Operation Sequence Component |
Description |
---|---|
CatalogEntityDiscountsProcessor |
Retrieves the simple discount definitions that are related to the selected products. |
ProductAncestorCategoryProcessor |
Loads the ancestor categories for the product loaded in the ProductLoader. |
ProductBaseCatelogRelationshipProcessor |
Loads the base catalog(s) for the product loaded in the ProductLoader. |
ProductCanonicalCategoryProcessor |
Loads the canonical categories for the product loaded in the ProductLoader. |
ProductCatelogRelationshipProcessor |
If configured as commerceServerRelationshipName="CrossSell" internalRelationshipName="CrossSells", loads the CrossSell products for the product loaded in the ProductLoader. If configured as commerceServerRelationshipName="UpSell" internalRelationshipName="UpSells", loads the UpSell products for the product loaded in the ProductLoader. |
ProductCommerceServerRelationshipProcessor |
Loads the Commerce Server Relationships for the product loaded in the ProductLoader. |
ProductInventoryItemsProcessor |
Retrieves the inventory stock-keeping unit (SKU) for this product loaded in the ProductLoader if an inventory resource exists, and if a SKU is specified for this product. Evaluates each requested inventory catalog. |
ProductLoader |
Retrieves the product from Commerce Server by using the search criteria. |
ProductParentCategoryProcessor |
Loads the parent categories for the product loaded in the ProductLoader. |
ProductPrimaryCategoryProcessor |
Loads the primary parent category for the product loaded in the ProductLoader. |
ProductRelatedCategoryProcessor |
Loads the related categories for the product loaded in the ProductLoader. |
ProductRelatedProductProcessor |
Loads the related products for the product loaded in the ProductLoader. |
Related Operations
Related Operation |
Description |
---|---|
CommerceQueryRelatedItem<Catalog> (BaseCatalog) |
Retrieves the containing catalog's base catalog for this product if the containing catalog is a virtual catalog. Does not support any search criterion. Model search only. |
CommerceQueryRelatedItem<Catalog> (Catalog) |
Retrieves the containing catalog. Does not support any search criterion. Model search only. |
CommerceQueryRelatedItem<Category> (PrimaryParentCategory) |
Retrieves this product's primary parent catalog if one is specified. Does not support any search criterion. Model search only. |
CommerceQueryRelatedItem<Category> (AncestorCategories) |
Retrieves the ancestor categories for the category. Does not support any search criterion. |
CommerceQueryRelatedItem<Category> (CanonicalCategories) |
Retrieves the canonical categories for the category. Does not support any search criterion. |
CommerceQueryRelatedItem<HierarchicalCatalogEntity> (CrossSells) |
Retrieves the cross sell item's categories for the category (which can be categories or products). Does not support any search criterion. |
CommerceQueryRelatedItem<Category> (ParentCategories) |
Retrieves the parent categories for the category. Does not support any search criterion. |
CommerceQueryRelatedItem<Category> (RelatedCategories) |
Retrieves the related categories for the category. Does not support any search criterion. |
CommerceQueryRelatedItem<Product> (RelatedProducts) |
Retrieves the related products for the category. Does not support any search criterion. |
CommerceQueryRelatedItem<Variant> (Variants) |
Retrieves the child's variants. Supports SearchCriteria.FirstItemIndex, SearchCriteria.NumberOfItemsToReturn, SearchCriteria.ReturnTotalItemCount, and SearchCriteria.WhereClause. |
CommerceQueryRelatedItem<InventoryItem> (InventoryItems) |
Retrieve this product's inventory information. This supports the ModelSearch criteria mechanism only. Supports the following search model properties:
The same relationship also applies to variants. When specified in the RelatedOperations list of the variant relationship, the InventoryItem is returned for all returned variants. |
CommerceQueryRelatedItem<DiscountDefinition> (DiscountDefintions) or CommerceQueryRelatedItem<DiscountDefinition, ModelSearch<DiscountFilter>> (DiscountDefinitions) |
Retrieves the DiscountDefinition objects that are related to the selected products. Supports the CommerceModelSearch criteria mechanism only. When a CommerceModelSearch<DisountDefinition> is specified, this is equivalent to a CommerceModelSearch<DiscountFilter> with the following properties set:
PropertyValue
ContextName<discounts>
FilterOnAwardTrue
FilterOnConditionTrue
IncludeDiscountsWithEligibilityRequirementsTrue
IncludeDiscountsWithPromoCodesFalse
IncludeInactiveDiscountsFalse
Note If ModelSearch<DiscountDefinition> is used, the search model must contain no properties, otherwise an exception will be thrown. |
Return Value
If no products are found, Microsoft Multi-Channel Commerce Foundation returns a count of 0 (zero) in the response, rather than throwing an exception.
Exceptions
Microsoft Multi-Channel Commerce Foundation can throw the following exception during this operation:
- FaultException<GeneralOperationFault>
Remarks
The UserUILocal specified in the RequestContext is used to determine the language in which localizable product properties will be returned. If the system does not support the language in the RequestContext, the system will use the default language for the queried categories.