Skip to main content

ProductType Object

Represents a type of product. It defines what attributes are available to products of this type.

type ProductType implements Node, ObjectWithMetadata {
id: ID!
privateMetadata: [MetadataItem!]!
privateMetafield(
key: String!
): String
privateMetafields(
keys: [String!]
): Metadata
metadata: [MetadataItem!]!
metafield(
key: String!
): String
metafields(
keys: [String!]
): Metadata
name: String!
slug: String!
hasVariants: Boolean!
isShippingRequired: Boolean!
isDigital: Boolean!
weight: Weight
kind: ProductTypeKindEnum!
products(
channel: String
before: String
after: String
first: Int
last: Int
): ProductCountableConnection @deprecated
taxType: TaxType @deprecated
taxClass: TaxClass
variantAttributes(
variantSelection: VariantAttributeScope
): [Attribute!] @deprecated
assignedVariantAttributes(
variantSelection: VariantAttributeScope
): [AssignedVariantAttribute!]
productAttributes: [Attribute!]
availableAttributes(
filter: AttributeFilterInput
where: AttributeWhereInput
before: String
after: String
first: Int
last: Int
): AttributeCountableConnection
}
Expand ▼

Fields

ProductType.id ● ID! non-null scalar miscellaneous

The ID of the product type.

ProductType.privateMetadata ● [MetadataItem!]! non-null object miscellaneous

List of private metadata items. Requires staff permissions to access.

ProductType.privateMetafield ● String scalar miscellaneous

A single key from private metadata. Requires staff permissions to access.

Tip: Use GraphQL aliases to fetch multiple keys.

ProductType.privateMetafield.key ● String! non-null scalar miscellaneous

ProductType.privateMetafields ● Metadata scalar miscellaneous

Private metadata. Requires staff permissions to access. Use keys to control which fields you want to include. The default is to include everything.

ProductType.privateMetafields.keys ● [String!] list scalar miscellaneous

ProductType.metadata ● [MetadataItem!]! non-null object miscellaneous

List of public metadata items. Can be accessed without permissions.

ProductType.metafield ● String scalar miscellaneous

A single key from public metadata.

Tip: Use GraphQL aliases to fetch multiple keys.

ProductType.metafield.key ● String! non-null scalar miscellaneous

ProductType.metafields ● Metadata scalar miscellaneous

Public metadata. Use keys to control which fields you want to include. The default is to include everything.

ProductType.metafields.keys ● [String!] list scalar miscellaneous

ProductType.name ● String! non-null scalar miscellaneous

Name of the product type.

ProductType.slug ● String! non-null scalar miscellaneous

Slug of the product type.

ProductType.hasVariants ● Boolean! non-null scalar miscellaneous

Whether the product type has variants.

ProductType.isShippingRequired ● Boolean! non-null scalar miscellaneous

Whether shipping is required for this product type.

ProductType.isDigital ● Boolean! non-null scalar miscellaneous

Whether the product type is digital.

ProductType.weight ● Weight object miscellaneous

Weight of the product type.

ProductType.kind ● ProductTypeKindEnum! non-null enum products

The product type kind.

ProductType.products ● ProductCountableConnection deprecated object products

DEPRECATED

This field will be removed in Saleor 4.0. Use the top-level products query with the productTypes filter.

List of products of this type.

ProductType.products.channel ● String scalar miscellaneous

Slug of a channel for which the data should be returned.

ProductType.products.before ● String scalar miscellaneous

Return the elements in the list that come before the specified cursor.

ProductType.products.after ● String scalar miscellaneous

Return the elements in the list that come after the specified cursor.

ProductType.products.first ● Int scalar miscellaneous

Retrieve the first n elements from the list. Note that the system only allows fetching a maximum of 100 objects in a single query.

ProductType.products.last ● Int scalar miscellaneous

Retrieve the last n elements from the list. Note that the system only allows fetching a maximum of 100 objects in a single query.

ProductType.taxType ● TaxType deprecated object taxes

DEPRECATED

This field will be removed in Saleor 4.0. Use taxClass field instead.

A type of tax. Assigned by enabled tax gateway

ProductType.taxClass ● TaxClass object taxes

Tax class assigned to this product type. All products of this product type use this tax class, unless it's overridden in the Product type.

Requires one of the following permissions: AUTHENTICATED_STAFF_USERAUTHENTICATED_APP

ProductType.variantAttributes ● [Attribute!] deprecated list object attributes

DEPRECATED

This field will be removed in Saleor 4.0. Use assignedVariantAttributes instead.

Variant attributes of that product type.

ProductType.variantAttributes.variantSelection ● VariantAttributeScope enum products

Define scope of returned attributes.

ProductType.assignedVariantAttributes ● [AssignedVariantAttribute!] list object attributes

Variant attributes of that product type with attached variant selection.

ProductType.assignedVariantAttributes.variantSelection ● VariantAttributeScope enum products

Define scope of returned attributes.

ProductType.productAttributes ● [Attribute!] list object attributes

Product attributes of that product type.

ProductType.availableAttributes ● AttributeCountableConnection object attributes

List of attributes which can be assigned to this product type.

Requires MANAGE_PRODUCTSpermission.
ProductType.availableAttributes.filter ● AttributeFilterInput input attributes
ProductType.availableAttributes.where ● AttributeWhereInput input attributes
ProductType.availableAttributes.before ● String scalar miscellaneous

Return the elements in the list that come before the specified cursor.

ProductType.availableAttributes.after ● String scalar miscellaneous

Return the elements in the list that come after the specified cursor.

ProductType.availableAttributes.first ● Int scalar miscellaneous

Retrieve the first n elements from the list. Note that the system only allows fetching a maximum of 100 objects in a single query.

ProductType.availableAttributes.last ● Int scalar miscellaneous

Retrieve the last n elements from the list. Note that the system only allows fetching a maximum of 100 objects in a single query.

Interfaces

Node interface miscellaneous

An object with an ID

ObjectWithMetadata interface miscellaneous

Returned By

productType query

Member Of

Product object ● ProductAttributeAssign object ● ProductAttributeAssignmentUpdate object ● ProductAttributeUnassign object ● ProductTypeCountableEdge object ● ProductTypeCreate object ● ProductTypeDelete object ● ProductTypeReorderAttributes object ● ProductTypeUpdate object

Implemented By

_Entity union