Product Data Model

Products, Product Content, Product Collections, Product Collection Content

Products represent a grouping of similar productVariants. Products have a one-to-many relationship with Product Content which allows for greater flexibility in the context of internationalization and personalization.

Last, Products can be grouped to create Product Collections. Product Collections have a one-to-many relationship with Product Collection Content.

More details for each object can be found within the schema introspection of the Storefront GraphQL API.

Product

availableForSale: Boolean
[source] Specifies if at least one product variant is available for sale

content: [ProductContent]
[source] Localized content for the product.

createdAt: Int
[source] The Unix timestamp in seconds when the product was created.

indexedAt: Int
[sys] Timestamp of when Nacelle last indexed this entry.

metafields: [Metafield!]!
[source] List of metafields associated with the product

nacelleEntryId: ID!
[sys] The Nacelle ID of the entry.

productType: String
[source] The categorization for a product is often used for search and filtering.

sourceEntryId: ID!
[source] The ID for the product from its system of origin (i.e. Shopify).

sourceId: ID!
[source] The ID for the system of origin.

tags: [String!]!
[source] List of tags that have been associated to the product.

updatedAt: Int
[source] The Unix timestamp in seconds when the product was last modified.

variants: [Variant!]!
[source] List of variants for the product.

vendor: String
[source] Vendor name for the product.

Product content

createdAt: Int
[source] The Unix timestamp in seconds when the product content was created.

description: String
[source] The description for a product.

featuredMedia: Media
[source] The primary media for a product.

fields: JSON
[source] Custom fields from a dynamic CMS source.

handle: String
[sys] Reference to product by handle.

indexedAt: Int
[sys] Timestamp of when Nacelle last indexed this entry.

locale: String
[source] The locale of product content to be presented. [IETF language tag] (ie. en-US)

media: [Media!]!
[source] List of media for a product

metafields: [Metafield!]!
[source] List of metafields associated with the product content.

nacelleEntryId: ID!
[sys] The Nacelle ID of the entry.

options: [ProductOption!]!
[source] List of product options.

productEntryId: ID
[sys] Reference to product by Nacelle ID.

published: Boolean
[source] Specifies if the product content has been published.

seo: SEO
[source] SEO fields for a product

sourceEntryId: ID!
[source] The ID for the product content from its system of origin (i.e. Shopify).

sourceId: ID!
[source] The ID for the system of origin.

title: String
[source] The title for a product.

updatedAt: Int
[source] The Unix timestamp in seconds when the product content was last modified.

Product collections

content: [CollectionContent]
[source] Localized content associated with the product collection.

createdAt: Int
[source] The Unix timestamp in seconds when the product collection was created.

indexedAt: Int
[sys] Timestamp of when Nacelle last indexed this entry.

metafields: [Metafield!]!
[source] List of metafields associated with the product collection.

nacelleEntryId: ID!
[sys] The Nacelle ID of the entry.

productConnection
first: Int
after: String
: ProductConnection!
[source] List of products entries with Relay-style pagination

sourceEntryId: ID!
[source] The ID for the content from its system of origin (i.e. Shopify).

sourceId: ID!
[source] The ID for the system of origin.

tags: [String!]!
[source] List of tags that have been associated to the collection.

updatedAt: Int
[source] The Unix timestamp in seconds when the product collection was last modified.

Collection content

collectionEntryId: ID!
[sys] Reference to collection by Nacelle ID.

createdAt: Int
[source] The Unix timestamp in seconds when the collection content was created.

description: String
[source] The description for a collection.

featuredMedia: Media
[source] The primary media for a collection.

fields: JSON
[source] Custom fields from a dynamic CMS source.

handle: String
[sys] Reference to collection by handle.

indexedAt: Int
[sys] Timestamp of when Nacelle last indexed this entry.

locale: String
[source] The locale of product collection to be presented. [IETF language tag] (ie. en-US)

metafields: [Metafield!]!
[source] List of metafields associated with the product collection.

nacelleEntryId: ID!
[sys] The Nacelle ID of the entry.

published: Boolean
[source] Specifies if the collection content has been published.

seo: SEO
[source] SEO fields for a collection

sourceEntryId: ID!
[source] The ID for the content from its system of origin (i.e. Shopify).

sourceId: ID!
[source] The ID for the system of origin.

title: String
[source] The title for a collection.

updatedAt: Int
[source] The Unix timestamp in seconds when the collection content was last modified.