Product
Represents an individual item for sale in the storefront.
type Product implements Node, ObjectWithMetadata {
id: ID!
publicationDate: Date
description: String!
descriptionHtml: String!
externalId: String
externalSource: String
seller: Seller
seoTitle: String
seoDescription: String
productType: ProductType
name: String!
slug: String!
category: Category
currency: String!
updatedAt: DateTime
createdAt: DateTime!
chargeTaxes: Boolean!
weight: Weight
availableForPurchase: Date
visibleInListings: Boolean!
defaultVariant: ProductVariant
overridePrice: Boolean!
overrideCurrency: Boolean!
status: ProductStatus!
subStatus: ProductSubStatus!
isPriceOverrideAllowed: Boolean!
isShippingRequired: Boolean!
isDigital: Boolean!
productSource: ProductProductSource!
allowSellerVariants: Boolean!
privateMetadata: [MetadataItem!]!
metadata: [MetadataItem!]!
thumbnail(
size: Int
): Image
pricing: ProductPricingInfo
isAvailable: Boolean
minimalVariantPrice: Money
taxType: TaxType
attributes: [SelectedAttribute!]!
variantAttributes: [Attribute!]
customFields: [SelectedAttribute!]!
purchaseCost: MoneyRange
margin: Margin
imageById(
id: ID
): ProductImage
variants: [ProductVariant!]
images: [ProductImage!]
countableImages(
before: String
after: String
first: Int
last: Int
): ProductImageCountableConnection
videos: [ProductVideo!]
countableVideos(
before: String
after: String
first: Int
last: Int
): ProductVideoCountableConnection
collections: [Collection!]
isAvailableForPurchase: Boolean
sortOrder: Int
isPublished: Boolean!
warehousesStats: [WarehouseStats!]
actions: [ProductAction!]
documents: [Document!]!
sales: [Sale!]!
saleMessages: [String!]
vouchers: [Voucher!]!
productStatusLogs: [ProductStatusLog!]
dimensions: ProductDimensions
hasVariantOptions: Boolean!
warnings: [WarningMessageItem!]!
hasWarnings: Boolean
webhookHistory(
before: String
after: String
first: Int
last: Int
): ShopifyWebhookTransactionCountableConnection
}
Fields
Product.id ● ID! non-null scalar
The ID of the object
Product.publicationDate ● Date scalar
Product.description ● String! non-null scalar
Product.descriptionHtml ● String! non-null scalar
Product.externalId ● String scalar
Product.externalSource ● String scalar
Product.seller ● Seller object
Product.seoTitle ● String scalar
Product.seoDescription ● String scalar
Product.productType ● ProductType object
Product.name ● String! non-null scalar
Product.slug ● String! non-null scalar
Product.category ● Category object
Product.currency ● String! non-null scalar
Product.updatedAt ● DateTime scalar
Product.createdAt ● DateTime! non-null scalar
Product.chargeTaxes ● Boolean! non-null scalar
Product.weight ● Weight object
Product.availableForPurchase ● Date scalar
Product.visibleInListings ● Boolean! non-null scalar
Product.defaultVariant ● ProductVariant object
Product.overridePrice ● Boolean! non-null scalar
Product.overrideCurrency ● Boolean! non-null scalar
Product.status ● ProductStatus! non-null enum
Product.subStatus ● ProductSubStatus! non-null enum
Product.isPriceOverrideAllowed ● Boolean! non-null scalar
indicates whether we allow overriding the unit_price of variants in checkout and draft order lines
Product.isShippingRequired ● Boolean! non-null scalar
Product.isDigital ● Boolean! non-null scalar
Product.productSource ● ProductProductSource! non-null enum
Product.allowSellerVariants ● Boolean! non-null scalar
When enabled, other sellers can create their own variants on this product (cross-sell). Requires marketplace-level enable_master_products to be True.
Product.privateMetadata ● [MetadataItem!]! non-null object
List of private metadata items.Requires proper staff permissions to access.
Product.metadata ● [MetadataItem!]! non-null object
List of public metadata items. Can be accessed without permissions.
Product.thumbnail ● Image object
The main thumbnail for a product.
Product.thumbnail.size ● Int scalar
Size of thumbnail.
Product.pricing ● ProductPricingInfo object
Lists the storefront product's pricing, the current price and discounts, only meant for displaying.
Product.isAvailable ● Boolean scalar
Whether the product is in stock and visible or not.
Product.minimalVariantPrice ● Money object
The price of the cheapest variant (including discounts).
Product.taxType ● TaxType object
A type of tax. Assigned by enabled tax gateway
Product.attributes ● [SelectedAttribute!]! non-null object
List of attributes assigned to this product.
Product.variantAttributes ● [Attribute!] list object
Variant attributes of a product.
Product.customFields ● [SelectedAttribute!]! non-null object
List of custom fields assigned to this product.
Product.purchaseCost ● MoneyRange object
Product.margin ● Margin object
Product.imageById ● ProductImage object
Get a single product image by ID.
Product.imageById.id ● ID scalar
ID of a product image.
Product.variants ● [ProductVariant!] list object
List of variants for the product.
Product.images ● [ProductImage!] list object
List of images for the product. With enabled strict_product_image_handling- shows only images that are owned by product owner
Product.countableImages ● ProductImageCountableConnection object
Countable edges of images for the product
Product.countableImages.before ● String scalar
Return the elements in the list that come before the specified cursor.
Product.countableImages.after ● String scalar
Return the elements in the list that come after the specified cursor.
Product.countableImages.first ● Int scalar
Return the first n elements from the list.
Product.countableImages.last ● Int scalar
Return the last n elements from the list.
Product.videos ● [ProductVideo!] list object
List of videos for the product.
Product.countableVideos ● ProductVideoCountableConnection object
Countable edges of videos for the product
Product.countableVideos.before ● String scalar
Return the elements in the list that come before the specified cursor.
Product.countableVideos.after ● String scalar
Return the elements in the list that come after the specified cursor.
Product.countableVideos.first ● Int scalar
Return the first n elements from the list.
Product.countableVideos.last ● Int scalar
Return the last n elements from the list.
Product.collections ● [Collection!] list object
List of collections for the product.
Product.isAvailableForPurchase ● Boolean scalar
Whether the product is available for purchase.
Product.sortOrder ● Int scalar
Product sort order in the specific collection. Make sense only as a part of the parent 'collection(s)' queries.
Product.isPublished ● Boolean! non-null scalar
Whether the product is published.
Product.warehousesStats ● [WarehouseStats!] list object
Product stock stats combining all variants in all warehouses. Requires MANAGE_PRODUCTS permission.
Product.actions ● [ProductAction!] list enum
List of actions that can be performed based on the current state of the product.
Product.documents ● [Document!]! non-null object
List of documents associated with the product.
Product.sales ● [Sale!]! non-null object
List of sales associated with the product.
Product.saleMessages ● [String!] list scalar
List of sale messages for the storefront.
Product.vouchers ● [Voucher!]! non-null object
List of vouchers associated with the product.
Product.productStatusLogs ● [ProductStatusLog!] list object
List of logs for product status changes.
Product.dimensions ● ProductDimensions object
Product dimensions.
Product.hasVariantOptions ● Boolean! non-null scalar
Whether this product allows creating variants.
Product.warnings ● [WarningMessageItem!]! non-null object
List of warnings for this product that needs to be resolved for publishing.
Product.hasWarnings ● Boolean scalar
Displays whether the product has warnings or not.
Product.webhookHistory ● ShopifyWebhookTransactionCountableConnection object
Shopify webhook events related to this product
Product.webhookHistory.before ● String scalar
Return the elements in the list that come before the specified cursor.
Product.webhookHistory.after ● String scalar
Return the elements in the list that come after the specified cursor.
Product.webhookHistory.first ● Int scalar
Return the first n elements from the list.
Product.webhookHistory.last ● Int scalar
Return the last n elements from the list.
Interfaces
Node interface
An object with an ID
ObjectWithMetadata interface
Returned By
product query
Member Of
AttributeAssign object ● AttributeUnassign object ● MenuItem object ● ProductBulkCreate object ● ProductCountableEdge object ● ProductCreate object ● ProductDelete object ● ProductImageBulkCreate object ● ProductImageCreate object ● ProductImageDelete object ● ProductImageReorder object ● ProductImageUpdate object ● ProductReorderVariants object ● ProductSetAvailabilityForPurchase object ● ProductUpdate object ● ProductVariant object ● ProductVariantReportType object ● ProductVariantSetDefault object ● ProductVideoBulkCreate object ● ProductVideoCreate object ● ProductVideoDelete object ● ProductVideoReorder object ● ProductVideoUpdate object ● WishlistItem object
Implemented By
CustomFieldInstance union ● DocumentTargetInstance union