123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556 |
- # Copyright © Magento, Inc. All rights reserved.
- # See COPYING.txt for license details.
- type Query {
- products (
- search: String @doc(description: "Performs a full-text search using the specified key words."),
- filter: ProductFilterInput @doc(description: "Identifies which product attributes to search for and return."),
- pageSize: Int = 20 @doc(description: "Specifies the maximum number of results to return at once. This attribute is optional."),
- currentPage: Int = 1 @doc(description: "Specifies which page of results to return. The default value is 1."),
- sort: ProductSortInput @doc(description: "Specifies which attribute to sort on, and whether to return the results in ascending or descending order.")
- ): Products
- @resolver(class: "Magento\\CatalogGraphQl\\Model\\Resolver\\Products") @doc(description: "The products query searches for products that match the criteria specified in the search and filter attributes")
- category (
- id: Int @doc(description: "Id of the category")
- ): CategoryTree
- @resolver(class: "Magento\\CatalogGraphQl\\Model\\Resolver\\CategoryTree")
- }
- enum CurrencyEnum @doc(description: "The list of available currency codes") {
- AFN
- ALL
- AZN
- DZD
- AOA
- ARS
- AMD
- AWG
- AUD
- BSD
- BHD
- BDT
- BBD
- BYR
- BZD
- BMD
- BTN
- BOB
- BAM
- BWP
- BRL
- GBP
- BND
- BGN
- BUK
- BIF
- KHR
- CAD
- CVE
- CZK
- KYD
- GQE
- CLP
- CNY
- COP
- KMF
- CDF
- CRC
- HRK
- CUP
- DKK
- DJF
- DOP
- XCD
- EGP
- SVC
- ERN
- EEK
- ETB
- EUR
- FKP
- FJD
- GMD
- GEK
- GEL
- GHS
- GIP
- GTQ
- GNF
- GYD
- HTG
- HNL
- HKD
- HUF
- ISK
- INR
- IDR
- IRR
- IQD
- ILS
- JMD
- JPY
- JOD
- KZT
- KES
- KWD
- KGS
- LAK
- LVL
- LBP
- LSL
- LRD
- LYD
- LTL
- MOP
- MKD
- MGA
- MWK
- MYR
- MVR
- LSM
- MRO
- MUR
- MXN
- MDL
- MNT
- MAD
- MZN
- MMK
- NAD
- NPR
- ANG
- YTL
- NZD
- NIC
- NGN
- KPW
- NOK
- OMR
- PKR
- PAB
- PGK
- PYG
- PEN
- PHP
- PLN
- QAR
- RHD
- RON
- RUB
- RWF
- SHP
- STD
- SAR
- RSD
- SCR
- SLL
- SGD
- SKK
- SBD
- SOS
- ZAR
- KRW
- LKR
- SDG
- SRD
- SZL
- SEK
- CHF
- SYP
- TWD
- TJS
- TZS
- THB
- TOP
- TTD
- TND
- TMM
- USD
- UGX
- UAH
- AED
- UYU
- UZS
- VUV
- VEB
- VEF
- VND
- CHE
- CHW
- XOF
- WST
- YER
- ZMK
- ZWD
- TRY
- AZM
- ROL
- TRL
- XPF
- }
- type Price @doc(description: "The Price object defines the price of a product as well as any tax-related adjustments.") {
- amount: Money @doc(description: "The price of a product plus a three-letter currency code")
- adjustments: [PriceAdjustment] @doc(description: "An array that provides information about tax, weee, or weee_tax adjustments")
- }
- type PriceAdjustment @doc(description: "The PricedAdjustment object defines the amount of money to apply as an adjustment, the type of adjustment to apply, and whether the item is included or excluded from the adjustment.") {
- amount: Money @doc(description: "The amount of the price adjustment and its currency code")
- code: PriceAdjustmentCodesEnum @doc(description: "Indicates whether the adjustment involves tax, weee, or weee_tax")
- description: PriceAdjustmentDescriptionEnum @doc(description: "Indicates whether the entity described by the code attribute is included or excluded from the adjustment")
- }
- enum PriceAdjustmentCodesEnum @doc(description: "Note: This enumeration contains values defined in modules other than the Catalog module.") {
- }
- enum PriceAdjustmentDescriptionEnum @doc(description: "This enumeration states whether a price adjustment is included or excluded.") {
- INCLUDED
- EXCLUDED
- }
- enum PriceTypeEnum @doc(description: "This enumeration the price type.") {
- FIXED
- PERCENT
- DYNAMIC
- }
- type Money @doc(description: "A Money object defines a monetary value, including a numeric value and a currency code.") {
- value: Float @doc(description: "A number expressing a monetary value")
- currency: CurrencyEnum @doc(description: "A three-letter currency code, such as USD or EUR")
- }
- type ProductPrices @doc(description: "The ProductPrices object contains the regular price of an item, as well as its minimum and maximum prices. Only composite products, which include bundle, configurable, and grouped products, can contain a minimum and maximum price.") {
- minimalPrice: Price @doc(description: "The lowest possible final price for all the options defined within a composite product. If you are specifying a price range, this would be the from value.")
- maximalPrice: Price @doc(description: "The highest possible final price for all the options defined within a composite product. If you are specifying a price range, this would be the to value.")
- regularPrice: Price @doc(description: "The base price of a product.")
- }
- type ProductLinks implements ProductLinksInterface @doc(description: "ProductLinks is an implementation of ProductLinksInterface.") {
- }
- interface ProductLinksInterface @typeResolver(class: "Magento\\CatalogGraphQl\\Model\\ProductLinkTypeResolverComposite") @doc(description:"ProductLinks contains information about linked products, including the link type and product type of each item.") {
- sku: String @doc(description: "The identifier of the linked product")
- link_type: String @doc(description: "One of related, associated, upsell, or crosssell")
- linked_product_sku: String @doc(description: "The SKU of the linked product")
- linked_product_type: String @doc(description: "The type of linked product (simple, virtual, bundle, downloadable, grouped, configurable)")
- position: Int @doc(description: "The position within the list of product links")
- }
- type ProductTierPrices @doc(description: "The ProductTierPrices object defines a tier price, which is a quantity discount offered to a specific customer group.") {
- customer_group_id: String @doc(description: "The ID of the customer group")
- qty: Float @doc(description: "The number of items that must be purchased to qualify for tier pricing")
- value: Float @doc(description: "The price of the fixed price item")
- percentage_value: Float @doc(description: "The percentage discount of the item")
- website_id: Float @doc(description: "The ID assigned to the website")
- }
- interface ProductInterface @typeResolver(class: "Magento\\CatalogGraphQl\\Model\\ProductInterfaceTypeResolverComposite") @doc(description: "The ProductInterface contains attributes that are common to all types of products. Note that descriptions may not be available for custom and EAV attributes.") {
- id: Int @doc(description: "The ID number assigned to the product") @resolver(class: "Magento\\CatalogGraphQl\\Model\\Resolver\\Product\\EntityIdToId")
- name: String @doc(description: "The product name. Customers use this name to identify the product.")
- sku: String @doc(description: "A number or code assigned to a product to identify the product, options, price, and manufacturer")
- description: ComplexTextValue @doc(description: "Detailed information about the product. The value can include simple HTML tags.") @resolver(class: "\\Magento\\CatalogGraphQl\\Model\\Resolver\\Product\\ProductComplexTextAttribute")
- short_description: ComplexTextValue @doc(description: "A short description of the product. Its use depends on the theme.") @resolver(class: "\\Magento\\CatalogGraphQl\\Model\\Resolver\\Product\\ProductComplexTextAttribute")
- special_price: Float @doc(description: "The discounted price of the product")
- special_from_date: String @doc(description: "The beginning date that a product has a special price")
- special_to_date: String @doc(description: "The end date that a product has a special price")
- attribute_set_id: Int @doc(description: "The attribute set assigned to the product")
- meta_title: String @doc(description: "A string that is displayed in the title bar and tab of the browser and in search results lists")
- meta_keyword: String @doc(description: "A comma-separated list of keywords that are visible only to search engines")
- meta_description: String @doc(description: "A brief overview of the product for search results listings, maximum 255 characters")
- image: ProductImage @doc(description: "The relative path to the main image on the product page") @resolver(class: "Magento\\CatalogGraphQl\\Model\\Resolver\\Product\\ProductImage")
- small_image: ProductImage @doc(description: "The relative path to the small image, which is used on catalog pages") @resolver(class: "Magento\\CatalogGraphQl\\Model\\Resolver\\Product\\ProductImage")
- thumbnail: ProductImage @doc(description: "The relative path to the product's thumbnail image") @resolver(class: "Magento\\CatalogGraphQl\\Model\\Resolver\\Product\\ProductImage")
- new_from_date: String @doc(description: "The beginning date for new product listings, and determines if the product is featured as a new product") @resolver(class: "Magento\\CatalogGraphQl\\Model\\Resolver\\Product\\NewFromTo")
- new_to_date: String @doc(description: "The end date for new product listings") @resolver(class: "Magento\\CatalogGraphQl\\Model\\Resolver\\Product\\NewFromTo")
- tier_price: Float @doc(description: "The price when tier pricing is in effect and the items purchased threshold has been reached")
- options_container: String @doc(description: "If the product has multiple options, determines where they appear on the product page")
- created_at: String @doc(description: "Timestamp indicating when the product was created")
- updated_at: String @doc(description: "Timestamp indicating when the product was updated")
- country_of_manufacture: String @doc(description: "The product's country of origin")
- type_id: String @doc(description: "One of simple, virtual, bundle, downloadable, grouped, or configurable")
- websites: [Website] @doc(description: "An array of websites in which the product is available") @resolver(class: "Magento\\CatalogGraphQl\\Model\\Resolver\\Product\\Websites")
- product_links: [ProductLinksInterface] @doc(description: "An array of ProductLinks objects") @resolver(class: "Magento\\CatalogGraphQl\\Model\\Resolver\\Product\\ProductLinks")
- media_gallery_entries: [MediaGalleryEntry] @doc(description: "An array of MediaGalleryEntry objects") @resolver(class: "Magento\\CatalogGraphQl\\Model\\Resolver\\Product\\MediaGalleryEntries")
- tier_prices: [ProductTierPrices] @doc(description: "An array of ProductTierPrices objects") @resolver(class: "Magento\\CatalogGraphQl\\Model\\Resolver\\Product\\TierPrices")
- price: ProductPrices @doc(description: "A ProductPrices object, indicating the price of an item") @resolver(class: "Magento\\CatalogGraphQl\\Model\\Resolver\\Product\\Price")
- gift_message_available: String @doc(description: "Indicates whether a gift message is available")
- manufacturer: Int @doc(description: "A number representing the product's manufacturer")
- categories: [CategoryInterface] @doc(description: "The categories assigned to a product") @resolver(class: "Magento\\CatalogGraphQl\\Model\\Resolver\\Categories")
- canonical_url: String @doc(description: "Canonical URL") @resolver(class: "Magento\\CatalogGraphQl\\Model\\Resolver\\Product\\CanonicalUrl")
- }
- interface PhysicalProductInterface @typeResolver(class: "Magento\\CatalogGraphQl\\Model\\ProductInterfaceTypeResolverComposite") @doc(description: "PhysicalProductInterface contains attributes specific to tangible products") {
- weight: Float @doc(description: "The weight of the item, in units defined by the store")
- }
- type CustomizableAreaOption implements CustomizableOptionInterface @doc(description: "CustomizableAreaOption contains information about a text area that is defined as part of a customizable option") {
- value: CustomizableAreaValue @doc(description: "An object that defines a text area")
- product_sku: String @doc(description: "The Stock Keeping Unit of the base product")
- }
- type CustomizableAreaValue @doc(description: "CustomizableAreaValue defines the price and sku of a product whose page contains a customized text area") {
- price: Float @doc(description: "The price assigned to this option")
- price_type: PriceTypeEnum @doc(description: "FIXED, PERCENT, or DYNAMIC")
- sku: String @doc(description: "The Stock Keeping Unit for this option")
- max_characters: Int @doc(description: "The maximum number of characters that can be entered for this customizable option")
- }
- type CategoryTree implements CategoryInterface @doc(description: "Category Tree implementation") {
- children: [CategoryTree] @doc(description: "Child categories tree") @resolve(class: "Magento\\CatalogGraphQl\\Model\\Resolver\\CategoryTree")
- }
- type CustomizableDateOption implements CustomizableOptionInterface @doc(description: "CustomizableDateOption contains information about a date picker that is defined as part of a customizable option") {
- value: CustomizableDateValue @doc(description: "An object that defines a date field in a customizable option.")
- product_sku: String @doc(description: "The Stock Keeping Unit of the base product")
- }
- type CustomizableDateValue @doc(description: "CustomizableDateValue defines the price and sku of a product whose page contains a customized date picker") {
- price: Float @doc(description: "The price assigned to this option")
- price_type: PriceTypeEnum @doc(description: "FIXED, PERCENT, or DYNAMIC")
- sku: String @doc(description: "The Stock Keeping Unit for this option")
- }
- type CustomizableDropDownOption implements CustomizableOptionInterface @doc(description: "CustomizableDropDownOption contains information about a drop down menu that is defined as part of a customizable option") {
- value: [CustomizableDropDownValue] @doc(description: "An array that defines the set of options for a drop down menu")
- }
- type CustomizableDropDownValue @doc(description: "CustomizableDropDownValue defines the price and sku of a product whose page contains a customized drop down menu") {
- option_type_id: Int @doc(description: "The ID assigned to the value")
- price: Float @doc(description: "The price assigned to this option")
- price_type: PriceTypeEnum @doc(description: "FIXED, PERCENT, or DYNAMIC")
- sku: String @doc(description: "The Stock Keeping Unit for this option")
- title: String @doc(description: "The display name for this option")
- sort_order: Int @doc(description: "The order in which the option is displayed")
- }
- type CustomizableFieldOption implements CustomizableOptionInterface @doc(description: "CustomizableFieldOption contains information about a text field that is defined as part of a customizable option") {
- value: CustomizableFieldValue @doc(description: "An object that defines a text field")
- product_sku: String @doc(description: "The Stock Keeping Unit of the base product")
- }
- type CustomizableFieldValue @doc(description: "CustomizableFieldValue defines the price and sku of a product whose page contains a customized text field") {
- price: Float @doc(description: "The price of the custom value")
- price_type: PriceTypeEnum @doc(description: "FIXED, PERCENT, or DYNAMIC")
- sku: String @doc(description: "The Stock Keeping Unit for this option")
- max_characters: Int @doc(description: "The maximum number of characters that can be entered for this customizable option")
- }
- type CustomizableFileOption implements CustomizableOptionInterface @doc(description: "CustomizableFileOption contains information about a file picker that is defined as part of a customizable option") {
- value: CustomizableFileValue @doc(description: "An object that defines a file value")
- product_sku: String @doc(description: "The Stock Keeping Unit of the base product")
- }
- type CustomizableFileValue @doc(description: "CustomizableFileValue defines the price and sku of a product whose page contains a customized file picker") {
- price: Float @doc(description: "The price assigned to this option")
- price_type: PriceTypeEnum @doc(description: "FIXED, PERCENT, or DYNAMIC")
- sku: String @doc(description: "The Stock Keeping Unit for this option")
- file_extension: String @doc(description: "The file extension to accept")
- image_size_x: Int @doc(description: "The maximum width of an image")
- image_size_y: Int @doc(description: "The maximum height of an image")
- }
- type ProductImage @doc(description: "Product image information. Contains image relative path, URL and label") {
- url: String @resolver(class: "Magento\\CatalogGraphQl\\Model\\Resolver\\Product\\ProductImage\\Url")
- label: String @resolver(class: "Magento\\CatalogGraphQl\\Model\\Resolver\\Product\\ProductImage\\Label")
- }
- interface CustomizableOptionInterface @typeResolver(class: "Magento\\CatalogGraphQl\\Model\\CustomizableOptionTypeResolver") @doc(description: "The CustomizableOptionInterface contains basic information about a customizable option. It can be implemented by several types of configurable options.") {
- title: String @doc(description: "The display name for this option")
- required: Boolean @doc(description: "Indicates whether the option is required")
- sort_order: Int @doc(description: "The order in which the option is displayed")
- option_id: Int @doc(description: "Option ID")
- }
- interface CustomizableProductInterface @typeResolver(class: "Magento\\CatalogGraphQl\\Model\\ProductInterfaceTypeResolverComposite") @doc(description: "CustomizableProductInterface contains information about customizable product options.") {
- options: [CustomizableOptionInterface] @doc(description: "An array of options for a customizable product") @resolver(class: "Magento\\CatalogGraphQl\\Model\\Resolver\\Product\\Options")
- }
- interface CategoryInterface @typeResolver(class: "Magento\\CatalogGraphQl\\Model\\CategoryInterfaceTypeResolver") @doc(description: "CategoryInterface contains the full set of attributes that can be returned in a category search") {
- id: Int @doc(description: "An ID that uniquely identifies the category")
- description: String @doc(description: "An optional description of the category") @resolver(class: "\\Magento\\CatalogGraphQl\\Model\\Resolver\\Category\\CategoryHtmlAttribute")
- name: String @doc(description: "The display name of the category")
- path: String @doc(description: "Category Path")
- path_in_store: String @doc(description: "Category path in store")
- url_key: String @doc(description: "The url key assigned to the category")
- url_path: String @doc(description: "The url path assigned to the category")
- position: Int @doc(description: "The position of the category relative to other categories at the same level in tree")
- level: Int @doc(description: "Indicates the depth of the category within the tree")
- created_at: String @doc(description: "Timestamp indicating when the category was created")
- updated_at: String @doc(description: "Timestamp indicating when the category was updated")
- product_count: Int @doc(description: "The number of products in the category") @resolver(class: "Magento\\CatalogGraphQl\\Model\\Resolver\\Category\\ProductsCount")
- default_sort_by: String @doc(description: "The attribute to use for sorting")
- products(
- pageSize: Int = 20 @doc(description: "Specifies the maximum number of results to return at once. This attribute is optional."),
- currentPage: Int = 1 @doc(description: "Specifies which page of results to return. The default value is 1."),
- sort: ProductSortInput @doc(description: "Specifies which attribute to sort on, and whether to return the results in ascending or descending order.")
- ): CategoryProducts @doc(description: "The list of products assigned to the category") @resolver(class: "Magento\\CatalogGraphQl\\Model\\Resolver\\Category\\Products")
- breadcrumbs: [Breadcrumb] @doc(description: "Breadcrumbs, parent categories info") @resolver(class: "Magento\\CatalogGraphQl\\Model\\Resolver\\Category\\Breadcrumbs")
- }
- type Breadcrumb @doc(description: "Breadcrumb item"){
- category_id: Int @doc(description: "Category ID")
- category_name: String @doc(description: "Category name")
- category_level: Int @doc(description: "Category level")
- category_url_key: String @doc(description: "Category URL key")
- }
- type CustomizableRadioOption implements CustomizableOptionInterface @doc(description: "CustomizableRadioOption contains information about a set of radio buttons that are defined as part of a customizable option") {
- value: [CustomizableRadioValue] @doc(description: "An array that defines a set of radio buttons")
- }
- type CustomizableRadioValue @doc(description: "CustomizableRadioValue defines the price and sku of a product whose page contains a customized set of radio buttons") {
- option_type_id: Int @doc(description: "The ID assigned to the value")
- price: Float @doc(description: "The price assigned to this option")
- price_type: PriceTypeEnum @doc(description: "FIXED, PERCENT, or DYNAMIC")
- sku: String @doc(description: "The Stock Keeping Unit for this option")
- title: String @doc(description: "The display name for this option")
- sort_order: Int @doc(description: "The order in which the radio button is displayed")
- }
- type VirtualProduct implements ProductInterface, CustomizableProductInterface @doc(description: "A virtual product is non-tangible product that does not require shipping and is not kept in inventory") {
- }
- type SimpleProduct implements ProductInterface, PhysicalProductInterface, CustomizableProductInterface @doc(description: "A simple product is tangible and are usually sold as single units or in fixed quantities")
- {
- }
- type Products @doc(description: "The Products object is the top-level object returned in a product search") {
- items: [ProductInterface] @doc(description: "An array of products that match the specified search criteria")
- page_info: SearchResultPageInfo @doc(description: "An object that includes the page_info and currentPage values specified in the query")
- total_count: Int @doc(description: "The number of products returned")
- filters: [LayerFilter] @resolver(class: "Magento\\CatalogGraphQl\\Model\\Resolver\\LayerFilters") @doc(description: "Layered navigation filters array")
- sort_fields: SortFields @doc(description: "An object that includes the default sort field and all available sort fields") @resolver(class: "Magento\\CatalogGraphQl\\Model\\Resolver\\Category\\SortFields")
- }
- type CategoryProducts @doc(description: "The category products object returned in the Category query") {
- items: [ProductInterface] @doc(description: "An array of products that are assigned to the category")
- page_info: SearchResultPageInfo @doc(description: "An object that includes the page_info and currentPage values specified in the query")
- total_count: Int @doc(description: "The number of products returned")
- }
- input ProductFilterInput @doc(description: "ProductFilterInput defines the filters to be used in the search. A filter contains at least one attribute, a comparison operator, and the value that is being searched for.") {
- name: FilterTypeInput @doc(description: "The product name. Customers use this name to identify the product.")
- sku: FilterTypeInput @doc(description: "A number or code assigned to a product to identify the product, options, price, and manufacturer")
- description: FilterTypeInput @doc(description: "Detailed information about the product. The value can include simple HTML tags.")
- short_description: FilterTypeInput @doc(description: "A short description of the product. Its use depends on the theme.")
- price: FilterTypeInput @doc(description: "The price of an item")
- special_price: FilterTypeInput @doc(description: "The discounted price of the product")
- special_from_date: FilterTypeInput @doc(description: "The beginning date that a product has a special price")
- special_to_date: FilterTypeInput @doc(description: "The end date that a product has a special price")
- weight: FilterTypeInput @doc(description: "The weight of the item, in units defined by the store")
- manufacturer: FilterTypeInput @doc(description: "A number representing the product's manufacturer")
- meta_title: FilterTypeInput @doc(description: "A string that is displayed in the title bar and tab of the browser and in search results lists")
- meta_keyword: FilterTypeInput @doc(description: "A comma-separated list of keywords that are visible only to search engines")
- meta_description: FilterTypeInput @doc(description: "A brief overview of the product for search results listings, maximum 255 characters")
- image: FilterTypeInput @doc(description: "The relative path to the main image on the product page")
- small_image: FilterTypeInput @doc(description: "The relative path to the small image, which is used on catalog pages")
- thumbnail: FilterTypeInput @doc(description: "The relative path to the product's thumbnail image")
- tier_price: FilterTypeInput @doc(description: "The price when tier pricing is in effect and the items purchased threshold has been reached")
- news_from_date: FilterTypeInput @doc(description: "The beginning date for new product listings, and determines if the product is featured as a new product")
- news_to_date: FilterTypeInput @doc(description: "The end date for new product listings")
- custom_layout_update: FilterTypeInput @doc(description: "XML code that is applied as a layout update to the product page")
- min_price: FilterTypeInput @doc(description:"The numeric minimal price of the product. Do not include the currency code.")
- max_price: FilterTypeInput @doc(description:"The numeric maximal price of the product. Do not include the currency code.")
- special_price: FilterTypeInput @doc(description:"The numeric special price of the product. Do not include the currency code.")
- category_id: FilterTypeInput @doc(description: "Category ID the product belongs to")
- options_container: FilterTypeInput @doc(description: "If the product has multiple options, determines where they appear on the product page")
- required_options: FilterTypeInput @doc(description: "Indicates whether the product has required options")
- has_options: FilterTypeInput @doc(description: "Indicates whether additional attributes have been created for the product")
- image_label: FilterTypeInput @doc(description: "The label assigned to a product image")
- small_image_label: FilterTypeInput @doc(description: "The label assigned to a product's small image")
- thumbnail_label: FilterTypeInput @doc(description: "The label assigned to a product's thumbnail image")
- created_at: FilterTypeInput @doc(description: "Timestamp indicating when the product was created")
- updated_at: FilterTypeInput @doc(description: "Timestamp indicating when the product was updated")
- country_of_manufacture: FilterTypeInput @doc(description: "The product's country of origin")
- custom_layout: FilterTypeInput @doc(description: "The name of a custom layout")
- gift_message_available: FilterTypeInput @doc(description: "Indicates whether a gift message is available")
- or: ProductFilterInput @doc(description: "The keyword required to perform a logical OR comparison")
- }
- type ProductMediaGalleryEntriesContent @doc(description: "ProductMediaGalleryEntriesContent contains an image in base64 format and basic information about the image") {
- base64_encoded_data: String @doc(description: "The image in base64 format")
- type: String @doc(description: "The MIME type of the file, such as image/png")
- name: String @doc(description: "The file name of the image")
- }
- type ProductMediaGalleryEntriesVideoContent @doc(description: "ProductMediaGalleryEntriesVideoContent contains a link to a video file and basic information about the video") {
- media_type: String @doc(description: "Must be external-video")
- video_provider: String @doc(description: "Describes the video source")
- video_url: String @doc(description: "The URL to the video")
- video_title: String @doc(description: "The title of the video")
- video_description: String @doc(description: "A description of the video")
- video_metadata: String @doc(description: "Optional data about the video")
- }
- input ProductSortInput @doc(description: "ProductSortInput specifies the attribute to use for sorting search results and indicates whether the results are sorted in ascending or descending order") {
- name: SortEnum @doc(description: "The product name. Customers use this name to identify the product.")
- sku: SortEnum @doc(description: "A number or code assigned to a product to identify the product, options, price, and manufacturer")
- description: SortEnum @doc(description: "Detailed information about the product. The value can include simple HTML tags.")
- short_description: SortEnum @doc(description: "A short description of the product. Its use depends on the theme.")
- price: SortEnum @doc(description: "The price of the item")
- special_price: SortEnum @doc(description: "The discounted price of the product")
- special_from_date: SortEnum @doc(description: "The beginning date that a product has a special price")
- special_to_date: SortEnum @doc(description: "The end date that a product has a special price")
- weight: SortEnum @doc(description: "The weight of the item, in units defined by the store")
- manufacturer: SortEnum @doc(description: "A number representing the product's manufacturer")
- meta_title: SortEnum @doc(description: "A string that is displayed in the title bar and tab of the browser and in search results lists")
- meta_keyword: SortEnum @doc(description: "A comma-separated list of keywords that are visible only to search engines")
- meta_description: SortEnum @doc(description: "A brief overview of the product for search results listings, maximum 255 characters")
- image: SortEnum @doc(description: "The relative path to the main image on the product page")
- small_image: SortEnum @doc(description: "The relative path to the small image, which is used on catalog pages")
- thumbnail: SortEnum @doc(description: "The relative path to the product's thumbnail image")
- tier_price: SortEnum @doc(description: "The price when tier pricing is in effect and the items purchased threshold has been reached")
- news_from_date: SortEnum @doc(description: "The beginning date for new product listings, and determines if the product is featured as a new product")
- news_to_date: SortEnum @doc(description: "The end date for new product listings")
- custom_layout_update: SortEnum @doc(description: "XML code that is applied as a layout update to the product page")
- options_container: SortEnum @doc(description: "If the product has multiple options, determines where they appear on the product page")
- required_options: SortEnum @doc(description: "Indicates whether the product has required options")
- has_options: SortEnum @doc(description: "Indicates whether additional attributes have been created for the product")
- image_label: SortEnum @doc(description: "The label assigned to a product image")
- small_image_label: SortEnum @doc(description: "The label assigned to a product's small image")
- thumbnail_label: SortEnum @doc(description: "The label assigned to a product's thumbnail image")
- created_at: SortEnum @doc(description: "Timestamp indicating when the product was created")
- updated_at: SortEnum @doc(description: "Timestamp indicating when the product was updated")
- country_of_manufacture: SortEnum @doc(description: "The product's country of origin")
- custom_layout: SortEnum @doc(description: "The name of a custom layout")
- gift_message_available: SortEnum @doc(description: "Indicates whether a gift message is available")
- }
- type MediaGalleryEntry @doc(description: "MediaGalleryEntry defines characteristics about images and videos associated with a specific product") {
- id: Int @doc(description: "The identifier assigned to the object")
- media_type: String @doc(description: "image or video")
- label: String @doc(description: "The alt text displayed on the UI when the user points to the image")
- position: Int @doc(description: "The media item's position after it has been sorted")
- disabled: Boolean @doc(description: "Whether the image is hidden from vie")
- types: [String] @doc(description: "Array of image types. It can have the following values: image, small_image, thumbnail")
- file: String @doc(description: "The path of the image on the server")
- content: ProductMediaGalleryEntriesContent @doc(description: "Contains a ProductMediaGalleryEntriesContent object")
- video_content: ProductMediaGalleryEntriesVideoContent @doc(description: "Contains a ProductMediaGalleryEntriesVideoContent object")
- }
- type LayerFilter {
- name: String @doc(description: "Layered navigation filter name")
- request_var: String @doc(description: "Request variable name for filter query")
- filter_items_count: Int @doc(description: "Count of filter items in filter group")
- filter_items: [LayerFilterItemInterface] @doc(description: "Array of filter items")
- }
- interface LayerFilterItemInterface @typeResolver(class: "Magento\\CatalogGraphQl\\Model\\LayerFilterItemTypeResolverComposite") {
- label: String @doc(description: "Filter label")
- value_string: String @doc(description: "Value for filter request variable to be used in query")
- items_count: Int @doc(description: "Count of items by filter")
- }
- type LayerFilterItem implements LayerFilterItemInterface {
- }
- type SortField {
- value: String @doc(description: "Attribute code of sort field")
- label: String @doc(description: "Label of sort field")
- }
- type SortFields @doc(description: "SortFields contains a default value for sort fields and all available sort fields") {
- default: String @doc(description: "Default value of sort fields")
- options: [SortField] @doc(description: "Available sort fields")
- }
|