Skip to main content

Product

Product entity with category associations.

Represents a product in the system with its category relationships. Provides access to the main category and all associated categories for comprehensive product organization.

type Product implements IResource, IBaseProduct, IProduct {
id: Int!
productId: Int!
categoryId: Int!
attributes(
input: AttributeResultSearchInput
): AttributeResultResponse
bundles(
taxZone: String = "NL"
): [Bundle!]
category(
hidden: YesNo
): Category
categories(
input: ProductCategorySearchInput
): CategoryResponse
categoryPath(
hidden: YesNo
): [Category!]!
crossupsellsFrom(
input: CrossupsellSearchInput
): CrossupsellsResponse!
crossupsellsTo(
input: CrossupsellSearchInput
): CrossupsellsResponse!
favoriteLists(
input: FavoriteListsSearchInput
): FavoriteListsResponse
inventory: ProductInventory
mediaImages(
search: MediaImageProductSearchInput = [object Object]
): PaginatedMediaImageResponse @deprecated
mediaVideos(
search: MediaVideoProductSearchInput = [object Object]
): PaginatedMediaVideoResponse @deprecated
mediaDocuments(
search: MediaDocumentProductSearchInput = [object Object]
): PaginatedMediaDocumentResponse @deprecated
media: ProductMedia
orderlists(
input: OrderlistSearchInput
): OrderlistsResponse!
price(
input: PriceCalculateProductInput
): ProductPrice
priceData: Price
bulkPrices(
input: UserBulkPriceProductInput = [object Object]
): [ProductPrice!]
language: String
class: ProductClass!
hidden: YesNo!
names(
language: String
): [LocalizedString!]!
descriptions(
language: String
): [LocalizedString!]!
shortDescriptions(
language: String
): [LocalizedString!]!
slugs(
language: String
): [LocalizedString!]!
sku: String!
defaultLanguage: String!
priority: Int
metadataTitles: [LocalizedString!]
metadataDescriptions: [LocalizedString!]
metadataKeywords: [LocalizedString!]
metadataCanonicalUrls: [LocalizedString!]
sources: [Source!]!
shortName: String!
keywords: [LocalizedString!]
customKeywords: [LocalizedString!]
packageDescriptions: [LocalizedString!]
manufacturerCode: String!
eanCode: String!
manufacturer: String!
supplier: String!
supplierCode: String!
status: ProductStatus!
statusExtra: String
barCode: String
turnoverGroup: String
taxonomy: String
priceGroup: String
orderable: YesNo!
returnable: YesNo!
physical: YesNo!
hasBundle: YesNo!
isBundleLeader: YesNo!
package: String!
packageUnit: String!
packageUnitQuantity: String!
minimumQuantity: Float!
unit: Int!
purchaseUnit: Int!
purchaseMinimumQuantity: Int!
economicOrderQuantity: Int!
orderableFrom: DateTime
orderableTo: DateTime
releaseDate: DateTime
createdAt: DateTime!
lastModifiedAt: DateTime!
offers: [ProductOffer!]
containerClass: ProductContainerClass!
clusterId: Int
cluster(
hidden: Boolean
): Cluster
surcharges(
input: SurchargeSearchInput
): [Surcharge!]!
}

Fields

Product.id ● Int! non-null scalar

Resource primary identifier

Product.productId ● Int! non-null scalar

Primary product identifier.

Unique numeric identifier used throughout the system for product references, ordering, and integration with external systems.

Product.categoryId ● Int! non-null scalar

Product.attributes ● AttributeResultResponse object

Lists attributes for this product based on the search input.

Product.attributes.input ● AttributeResultSearchInput input

Product.bundles ● [Bundle!] list object

Product.bundles.taxZone ● String scalar

Product.category ● Category object

Primary category of the product.

The main category that this product belongs to, providing hierarchical organization and navigation context. Filtered by hidden status when specified in query parameters.

Product.category.hidden ● YesNo enum

Filter by category visibility status.

Y = include only if category is hidden, N = include only if category is visible. When omitted, includes category regardless of visibility status.

Product.categories ● CategoryResponse object

All categories the product belongs to.

Paginated response containing all categories associated with this product. Includes categories with full category details and pagination support.

Product.categories.input ● ProductCategorySearchInput input

Search and filter criteria for product categories.

Provides filtering, sorting, and pagination options for the product's associated categories. When omitted, returns all categories with default pagination settings.

Product.categoryPath ● [Category!]! non-null object

Complete category path for the product.

Retrieves the full hierarchical path from the root category to the product's primary category. Returns an ordered array of categories representing the breadcrumb navigation path. Requires authentication for access.

Product.categoryPath.hidden ● YesNo enum

Filter path categories by visibility status.

Y = include only hidden categories in path, N = include only visible categories in path. When omitted, includes all categories in the path regardless of visibility status.

Product.crossupsellsFrom ● CrossupsellsResponse! non-null object

Retrieve all cross-sell and upsell recommendations where this product is the source.

Returns recommendations that are triggered when customers view or interact with this product. These are the products that will be suggested to customers based on this product. Useful for understanding what products are being recommended from this specific product.

Possible errors:

  • CROSSUPSELL_UNKNOWN_ERROR: Failed to search cross-sell/upsell recommendations
  • CROSSUPSELL_CROSS_SERVICE_ERROR: Failed to communicate with external services
Product.crossupsellsFrom.input ● CrossupsellSearchInput input

Additional search criteria to filter the recommendations.

If not provided, returns all recommendations where this product is the source with default pagination settings. Can be used to further filter by recommendation type, target products, date ranges, or apply custom sorting.

Product.crossupsellsTo ● CrossupsellsResponse! non-null object

Retrieve all cross-sell and upsell recommendations where this product is the target.

Returns recommendations where this product is being suggested to customers. These are the source products or clusters that trigger recommendations for this product. Useful for understanding what drives recommendations for this specific product and optimizing its visibility.

Possible errors:

  • CROSSUPSELL_UNKNOWN_ERROR: Failed to search cross-sell/upsell recommendations
  • CROSSUPSELL_CROSS_SERVICE_ERROR: Failed to communicate with external services
Product.crossupsellsTo.input ● CrossupsellSearchInput input

Additional search criteria to filter the recommendations.

If not provided, returns all recommendations where this product is the target with default pagination settings. Can be used to further filter by recommendation type, source products, date ranges, or apply custom sorting.

Product.favoriteLists ● FavoriteListsResponse object

Product.favoriteLists.input ● FavoriteListsSearchInput input

Product.inventory ● ProductInventory object

Product inventory

Product.mediaImages ● PaginatedMediaImageResponse deprecated object

DEPRECATED

Deprecated in favor of media.images

Product media images

Product.mediaImages.search ● MediaImageProductSearchInput input

Product media images search options

Product.mediaVideos ● PaginatedMediaVideoResponse deprecated object

DEPRECATED

Deprecated in favor of media.videos

Product media videos

Product.mediaVideos.search ● MediaVideoProductSearchInput input

Product media videos search options

Product.mediaDocuments ● PaginatedMediaDocumentResponse deprecated object

DEPRECATED

Deprecated in favor of media.documents

Product media documents

Product.mediaDocuments.search ● MediaDocumentProductSearchInput input

Product media documents search options

Product.media ● ProductMedia object

Product media images

Product.orderlists ● OrderlistsResponse! non-null object

Product.orderlists.input ● OrderlistSearchInput input

Product.price ● ProductPrice object

Product.price.input ● PriceCalculateProductInput input

Product.priceData ● Price object

Product.bulkPrices ● [ProductPrice!] list object

Product.bulkPrices.input ● UserBulkPriceProductInput input

Product.language ● String scalar

The requested language for this this resource, default to the products default language. ISO 639-1 format.

Product.class ● ProductClass! non-null enum

The class of the request resource

Product.hidden ● YesNo! non-null enum

The hidden status of this resource.

Product.names ● [LocalizedString!]! non-null object

Product names in multiple languages.

Returns localized product names. Can be filtered by language code to get names for specific locales.

Product.names.language ● String scalar

Language code to filter names.

ISO 639-1 uppercase language code (e.g., 'EN', 'NL', 'DE'). If provided, returns only names for that language.

Product.descriptions ● [LocalizedString!]! non-null object

Product descriptions in multiple languages.

Returns detailed product descriptions for different locales. Can be filtered by language code to get descriptions for specific languages.

Product.descriptions.language ● String scalar

Language code to filter descriptions.

ISO 639-1 uppercase language code (e.g., 'EN', 'NL', 'DE'). If provided, returns only descriptions for that language.

Product.shortDescriptions ● [LocalizedString!]! non-null object

Product short descriptions in multiple languages.

Returns brief product descriptions suitable for listings and summaries. Can be filtered by language code to get short descriptions for specific languages.

Product.shortDescriptions.language ● String scalar

Language code to filter short descriptions.

ISO 639-1 uppercase language code (e.g., 'EN', 'NL', 'DE'). If provided, returns only short descriptions for that language.

Product.slugs ● [LocalizedString!]! non-null object

URL-friendly product identifiers for each language.

Returns SEO-optimized URL segments used in product page URLs. Can be filtered by language code to get slugs for specific locales.

Product.slugs.language ● String scalar

Language code to filter slugs.

ISO 639-1 uppercase language code (e.g., 'EN', 'NL', 'DE'). If provided, returns only slugs for that language.

Product.sku ● String! non-null scalar

Stock Keeping Unit for inventory management.

Unique alphanumeric code used for inventory tracking, order processing, and product identification across all systems and channels.

Product.defaultLanguage ● String! non-null scalar

The default language for this product or cluster, this is the language to fall back too, when there is no translation available in a specific language.

Product.priority ● Int scalar

Product.metadataTitles ● [LocalizedString!] list object

[SEO] Localized Metadata title available in multiple languages

Product.metadataDescriptions ● [LocalizedString!] list object

[SEO] Localized Metadata description available in multiple languages

Product.metadataKeywords ● [LocalizedString!] list object

[SEO] Localized Metadata keywords available in multiple languages

Product.metadataCanonicalUrls ● [LocalizedString!] list object

[SEO] Localized Metadata canonical url available in multiple languages

Product.sources ● [Source!]! non-null object

Product data sources and external system references.

Returns information about external systems and sources that provide data for this product, used for data lineage and integration management.

Product.shortName ● String! non-null scalar

Abbreviated product name.

Concise product identifier used where space is limited.

Product.keywords ● [LocalizedString!] list object

Supplier-provided search keywords.

Additional search terms provided by the supplier to improve product discoverability and search engine optimization.

Product.customKeywords ● [LocalizedString!] list object

Custom search keywords managed via PIM.

Additional search terms added through the Product Information Management system for enhanced search functionality.

Product.packageDescriptions ● [LocalizedString!] list object

Localized packaging information.

Detailed packaging descriptions in multiple languages for customer information and marketing purposes.

Product.manufacturerCode ● String! non-null scalar

Original Equipment Manufacturer (OEM) code.

Manufacturer's own product code used for cross-referencing, warranty claims, and supplier communication.

Product.eanCode ● String! non-null scalar

European Article Number for global identification.

Standardized number used for product identification, inventory management, and point-of-sale systems.

Product.manufacturer ● String! non-null scalar

Product manufacturer information.

Company or brand that produces the product, used for brand filtering, warranty information, and supplier relationships.

Product.supplier ● String! non-null scalar

Primary supplier information.

Company or organization that supplies this product, used for procurement, inventory management, and supplier relationships.

Product.supplierCode ● String! non-null scalar

Supplier's product identification code.

Supplier-specific product code used for ordering, inventory management, and communication with suppliers.

Product.status ● ProductStatus! non-null enum

Current product lifecycle status.

Indicates the product's current state in its lifecycle, affecting availability and visibility.

Product.statusExtra ● String scalar

Additional status classification.

Supplementary status information often linked to custom value sets for specific business requirements and workflows.

Product.barCode ● String scalar

Product barcode for scanning and identification.

Machine-readable code used for inventory management, checkout processes, and automated product identification.

Product.turnoverGroup ● String scalar

Financial classification for reporting.

Groups products for financial reporting and analysis, used in accounting systems and business intelligence.

Product.taxonomy ● String scalar

Product classification hierarchy.

Standardized product categorization system used for organization, reporting, and integration with external systems.

Product.priceGroup ● String scalar

Pricing strategy classification.

Groups products with similar pricing rules and strategies, used by pricing engines for consistent pricing logic.

Product.orderable ● YesNo! non-null enum

Product availability for ordering.

Indicates whether customers can currently place orders for this product through the storefront and ordering systems.

Product.returnable ● YesNo! non-null enum

Product return policy eligibility.

Indicates whether this product can be returned by customers according to the return policy and business rules.

Product.physical ● YesNo! non-null enum

Product type classification for fulfillment.

Indicates whether this is a physical product requiring shipping or a digital product/service like downloads, warranties, or services.

Product.hasBundle ● YesNo! non-null enum

Is this product part of any product bundles.

Product.isBundleLeader ● YesNo! non-null enum

Is this product leader of any product bundle.

Product.package ● String! non-null scalar

Product packaging type classification.

Describes how the product is packaged for sale (e.g., PIECE, BOX, BLISTER), affecting shipping, storage, and display.

Product.packageUnit ● String! non-null scalar

Individual item description within package.

Describes what constitutes one unit within the package (e.g., PIECE, BOX), used for inventory and ordering clarity.

Product.packageUnitQuantity ● String! non-null scalar

Quantity of individual items per package.

Number of individual units contained within one package, used for inventory calculations and customer information.

Product.minimumQuantity ● Float! non-null scalar

Minimum order quantity for customers.

Smallest quantity customers can order, used to enforce business rules and ensure order profitability.

Product.unit ● Int! non-null scalar

Base unit of measure for customer ordering.

Standard unit in which customers can order this product, used for pricing and quantity calculations.

Product.purchaseUnit ● Int! non-null scalar

Unit of measure for supplier ordering.

Unit used when ordering from suppliers, which may differ from customer ordering units for bulk purchasing efficiency.

Product.purchaseMinimumQuantity ● Int! non-null scalar

Minimum order quantity for supplier purchases.

Smallest quantity that can be ordered from suppliers, used for procurement planning and inventory management.

Product.economicOrderQuantity ● Int! non-null scalar

Optimal order quantity for cost efficiency.

Quantity that provides the best balance of ordering costs and inventory holding costs, used for purchasing recommendations.

Product.orderableFrom ● DateTime scalar

Start date for product ordering availability.

Date from which customers can begin placing orders for this product, used for product launches and seasonal availability.

Product.orderableTo ● DateTime scalar

End date for product ordering availability.

Date after which customers can no longer place orders for this product, used for product discontinuation and seasonal restrictions.

Product.releaseDate ● DateTime scalar

Product launch date for availability planning.

Date when the product was or will be officially released to the market, used for launch planning and availability scheduling.

Product.createdAt ● DateTime! non-null scalar

Product record creation timestamp.

Date and time when this product was first added to the system, used for auditing and product lifecycle tracking.

Product.lastModifiedAt ● DateTime! non-null scalar

Product record last modification timestamp.

Date and time when any product information was last updated, used for change tracking and synchronization.

Product.offers ● [ProductOffer!] list object

Available offers for this Product and Customer/Contact. First item in the array should be regarded as the active price

Product.containerClass ● ProductContainerClass! non-null enum

The container class of this product.

Product.clusterId ● Int scalar

The cluster ID of the product's container

Product.cluster ● Cluster object

Product cluster association for grouped products.

Returns the cluster this product belongs to, if it's part of a product cluster. Clusters group related products with configurable options and variants.

Product.cluster.hidden ● Boolean scalar

Include hidden clusters in results.

Boolean flag to control whether hidden clusters should be included in the response. Defaults to excluding hidden clusters.

Product.surcharges ● [Surcharge!]! non-null object

Retrieve all surcharges associated with this product.

Returns a list of surcharges linked to the product with optional filtering capabilities. Used for determining additional fees applicable to the product during pricing calculations.

Possible errors:

  • SURCHARGE_LIST_ERROR: Internal server error during surcharge retrieval
  • SURCHARGE_NOT_FOUND_ERROR: Product has no associated surcharges
Product.surcharges.input ● SurchargeSearchInput input

Optional search criteria for filtering surcharges.

Allows filtering by type, tax codes, activation status, and other criteria. If not provided, returns all surcharges associated with the product.

Interfaces

IResource interface

IBaseProduct interface

Interface for the BaseProduct Type, where both Products and clusters derive from

IProduct interface

Interface for the Product Type

Returned By

clusterProductCreate mutation ● clusterProductUpdate mutation ● product query ● productCreate mutation ● productUpdate mutation

Member Of

BundleItem object ● CartBaseItem object ● CartMainItem object ● Cluster object ● ClusterOption object ● Discount object ● ICartBaseItem interface ● ICluster interface ● IClusterOption interface ● OrderItem object ● TenderMainItem object