IBaseProduct
Base interface for all product types in the system.
Defines common properties shared across products and clusters. This interface provides a unified structure for product-related data while allowing for type-specific implementations.
interface IBaseProduct {
uuid: ID!
id: Int!
type: ProductClass!
sku: String!
language: String @deprecated
hidden: YesNo!
priority: Int
categoryId: Int!
categoryIds: [Int!]!
defaultLanguage: String!
names(language: String): [LocalizedString!]!
descriptions(language: String): [LocalizedString!]!
shortDescriptions(language: String): [LocalizedString!]!
slugs(language: String): [LocalizedString!]!
shortNames(language: String): [LocalizedString!]!
metadataTitles: [LocalizedString!]!
metadataDescriptions: [LocalizedString!]!
metadataKeywords: [LocalizedString!]!
metadataCanonicalUrls: [LocalizedString!]!
sources: [Source!]!
createdAt: DateTime!
lastModifiedAt: DateTime!
class: ProductClass! @deprecated
}
Fields
IBaseProduct.uuid ● ID! non-null scalar
Globally unique identifier for the product or cluster.
IBaseProduct.id ● Int! non-null scalar
Numeric identifier retained for compatibility with legacy integrations.
IBaseProduct.type ● ProductClass! non-null enum
Discriminator that distinguishes between a product and a cluster within the shared catalogue.
IBaseProduct.sku ● String! non-null scalar
Stock keeping unit. Uniquely identifies a product within the catalogue.
IBaseProduct.hidden ● YesNo! non-null enum
Whether the product is hidden from public display
IBaseProduct.priority ● Int scalar
Priority for sorting and display
IBaseProduct.categoryId ● Int! non-null scalar
Default category ID
IBaseProduct.categoryIds ● [Int!]! non-null scalar
All category IDs this base product belongs to
IBaseProduct.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.
IBaseProduct.names ● [LocalizedString!]! non-null object
Localized names shown to end users in catalog and search surfaces. The catalogue's default language must be present.
IBaseProduct.names.language ● String scalar
IBaseProduct.descriptions ● [LocalizedString!]! non-null object
Localized long-form descriptions shown on product detail surfaces.
IBaseProduct.descriptions.language ● String scalar
IBaseProduct.shortDescriptions ● [LocalizedString!]! non-null object
Localized short descriptions surfaced in listings and tiles.
IBaseProduct.shortDescriptions.language ● String scalar
IBaseProduct.slugs ● [LocalizedString!]! non-null object
URL-friendly identifiers, one per language, used in human-readable links.
IBaseProduct.slugs.language ● String scalar
IBaseProduct.shortNames ● [LocalizedString!]! non-null object
Localized short labels shown when the full name is too long.
IBaseProduct.shortNames.language ● String scalar
IBaseProduct.metadataTitles ● [LocalizedString!]! non-null object
Localized titles surfaced in search engine result pages.
IBaseProduct.metadataDescriptions ● [LocalizedString!]! non-null object
Localized descriptive snippets surfaced in search engine result pages.
IBaseProduct.metadataKeywords ● [LocalizedString!]! non-null object
Localized keyword lists used by search engines, supplied as comma-separated values.
IBaseProduct.metadataCanonicalUrls ● [LocalizedString!]! non-null object
Localized canonical URLs that search engines should treat as the authoritative location.
IBaseProduct.sources ● [Source!]! non-null object
Source/SourceId combinations for external system lookup
IBaseProduct.createdAt ● DateTime! non-null scalar
Timestamp marking when the record was created, in UTC ISO 8601 format.
IBaseProduct.lastModifiedAt ● DateTime! non-null scalar
Timestamp marking the last modification of the record, in UTC ISO 8601 format.
Show deprecated
Member Of
BaseProductCategoryRelationship object ● Crossupsell object ● ProductsResponse object ● SparePart object