Collection
A Collection is a group of products, what may often be referred to as a "Category Page" of some variety. In reality, a collection is far more flexible and can be used to represent any product grouping, and the collectionType can help differentiate between them.
type Collection {
collectionId: ID!
collectionType: String!
content: CollectionContent
contentItemIds: [ID!]
contentItems: [CollectionContentItem]
createdAt: Date!
demandHqId: ID!
description: String
descriptionOrExcerpt(
numberOfCharacters: Int
): String
featuredProductIds: [ID]
primaryImageUrl: String
primaryImageUrlWithFallback(
height: Int
width: Int
): String
products(
after: String
before: String
first: Int
last: Int
manufacturer: [StringFilterInput]
msrp: [FloatRangeFilterInput]
numberOfTermAggregations: ProductNumberOfTermAggregationsInput
price: [FloatRangeFilterInput]
productIds: [ID]
query: String
slugs: [String]
sortOrder: [ProductSortInput]
standardizedColor: [ProductStandardizedColorFilterInput]
status: DemandEntityStatusFilterInput
storefrontIds: IDFilterInput
tagPrefixes: [StringFilterInput]
tags: [StringFilterInput]
vendor: StringFilterInput
): ProductConnectionWithSearch!
publishedAt: Date
rules: CollectionRules
secondaryImageUrl: String
seoDescription: String
seoTitle: String
slug: String!
status: DemandEntityStatus!
storefrontIds: [ID]
subtitle: String
tags: CollectionTags
taxonomyBranches(
after: String
before: String
first: Int
last: Int
taxonomyTree: String!
): TaxonomyBranchConnection!
tertiaryImageUrl: String
title: String!
updatedAt: Date!
updatedBy: ID!
}
Fields
Collection.collectionId
● ID!
non-null scalar
Collection.collectionType
● String!
non-null scalar
Any string to declare a category of this collection, can be used to filter collections, limit 128 characters.
Collection.content
● CollectionContent
object
Get the content of the collection.
Collection.contentItemIds
● [ID!]
list scalar
The ContentItemIds of the Content Items that are associated with this collection.
Collection.contentItems
● [CollectionContentItem]
list object
Get the content items of the collection.
Collection.createdAt
● Date!
non-null scalar
Collection.demandHqId
● ID!
non-null scalar
Collection.description
● String
scalar
A short description of the collection, limit 1000 characters.
Collection.descriptionOrExcerpt
● String
scalar
Get the description if it exists, or fallback to the excerpt of content for the collection.
Collection.descriptionOrExcerpt.numberOfCharacters
●Int
scalarThe number of characters to return, defaults to 200.
Collection.featuredProductIds
● [ID]
list scalar
This can be used to pin certain products to the top of a collection when using certain sorts. Max number of products is 20.
Collection.primaryImageUrl
● String
scalar
A primary image url for this collection, can be generated from a Collection ContentItem.
Collection.primaryImageUrlWithFallback
● String
scalar
Returns the primary image URL if exists, otherwise attempts to construct an image url from the first (featured) image of the page. If the primary image URL is a CDN URL, it can be passed width and height properties to return a resized image.
Collection.primaryImageUrlWithFallback.height
●Int
scalarThe height of the image to return in pixels.
Collection.primaryImageUrlWithFallback.width
● Int
scalar
The width of the image to return in pixels.
Collection.products
● ProductConnectionWithSearch!
non-null object
Paginate through products in a collection.
Requires the product/read scope.
Collection.products.after
●String
scalarReturns the elements in the list that come after the specified cursor.
Collection.products.before
● String
scalar
Returns the elements in the list that come before the specified cursor.
Collection.products.first
● Int
scalar
Returns the first n elements from the list.
Collection.products.last
● Int
scalar
Returns the last n elements from the list.
Collection.products.manufacturer
● [StringFilterInput]
list input
Optionally filter by manufacturer.
Collection.products.msrp
● [FloatRangeFilterInput]
list input
Optionally filter by msrp.
Collection.products.numberOfTermAggregations
● ProductNumberOfTermAggregationsInput
input
The number of results to return for each term aggregation. Defaults to 0 for each.
Collection.products.price
● [FloatRangeFilterInput]
list input
Optionally filter by price.
Collection.products.productIds
● [ID]
list scalar
Filter Products to a set of productIds
Collection.products.query
● String
scalar
Query products for certain terms. Searches several fields, including product.tags, product.title, product.vendor, productLocales.description, productLocales.featureBullets, variant.barcode, variant.mpn, variant.sku
Collection.products.slugs
● [String]
list scalar
Filter Products to a set of slugs
Collection.products.sortOrder
● [ProductSortInput]
list input
Sort Products by a series of fields and directions, defaults to CREATED_AT/ASC.
Collection.products.standardizedColor
● [ProductStandardizedColorFilterInput]
list input
Optionally filter by standardized color.
Collection.products.status
● DemandEntityStatusFilterInput
input
Filter Products using Status.
Collection.products.storefrontIds
● IDFilterInput
input
Optionally filter by storefrontIds.
Collection.products.tagPrefixes
● [StringFilterInput]
list input
Filter Products using Tag Prefixes (starts with).
Collection.products.tags
● [StringFilterInput]
list input
Filter Products using Tags.
Collection.products.vendor
● StringFilterInput
input
Optionally filter by vendor.
Collection.publishedAt
● Date
scalar
ISO format date when the collection was published. Note that ensuing updates with status set to PUBLISHED will republish and re-set this date.
Collection.rules
● CollectionRules
object
A map of rules to determine whether a Product should be part of this Collection.
Collection.secondaryImageUrl
● String
scalar
A secondary image url for this collection, often a logo or related item.
Collection.seoDescription
● String
scalar
Description specific for SEO purposes, limit 170 characters.
Collection.seoTitle
● String
scalar
Title specific for SEO purposes, limit 256 characters.
Collection.slug
● String!
non-null scalar
Slug for the URL for this collection. Limit 128 characters.
Collection.status
● DemandEntityStatus!
non-null enum
The status of the collection, can be DRAFT or PUBLISHED.
Collection.storefrontIds
● [ID]
list scalar
Which storefronts should have access to this collection?
Collection.subtitle
● String
scalar
The subtitle of the collection, limit 256 characters.
Collection.tags
● CollectionTags
object
Get the tags of the collection.
Collection.taxonomyBranches
● TaxonomyBranchConnection!
non-null object
List TaxonomyBranches for a Collection. This is very typically only a single collection unless there is an unusual use case.
Requires the user to have the taxonomyBranch/read permission on the associated DemandHq.
Collection.taxonomyBranches.after
●String
scalarReturns the elements in the list that come after the specified cursor.
Collection.taxonomyBranches.before
● String
scalar
Returns the elements in the list that come before the specified cursor.
Collection.taxonomyBranches.first
● Int
scalar
Returns the first n elements from the list.
Collection.taxonomyBranches.last
● Int
scalar
Returns the last n elements from the list.
Collection.taxonomyBranches.taxonomyTree
● String!
non-null scalar
Collection.tertiaryImageUrl
● String
scalar
A tertiary image url for this collection, not often used.
Collection.title
● String!
non-null scalar
The title of the collection, limit 256 characters.
Collection.updatedAt
● Date!
non-null scalar
Collection.updatedBy
● ID!
non-null scalar
Returned by
collection
query ● createCollection
mutation ● createCollectionImageFromUrl
mutation ● updateCollection
mutation
Member of
CollectionConnectionWithSearch
object ● CollectionEdge
object ● CollectionImageFromFileResponse
object ● DemandHq
object ● TaxonomyBranch
object