product.graphql 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
  1. # The details of a specific product category within the Shopify product taxonomy.
  2. type ProductCategory {
  3. # The product taxonomy node associated with the product category.
  4. productTaxonomyNode: ProductTaxonomyNode
  5. }
  6. # Properties used by customers to select a product variant.
  7. # Products can have multiple options, like different sizes or colors.
  8. type SelectedOption {
  9. # The product option’s name.
  10. name: String!
  11. # The product option’s value.
  12. value: String!
  13. }
  14. # The price of a product variant in a specific country.
  15. # Prices vary between countries.
  16. type ProductVariantContextualPricing {
  17. # The final compare-at price after all adjustments are applied.
  18. compareAtPrice: MoneyV2
  19. # The final price after all adjustments are applied.
  20. price: MoneyV2!
  21. }
  22. # The context data that determines the pricing of a variant.
  23. input ContextualPricingContext {
  24. # The country code used to fetch country-specific prices.
  25. country: CountryCode
  26. # The CompanyLocation ID used to fetch company location specific prices.
  27. companyLocationId: ID
  28. }
  29. # The set of rules that are used to determine which products are included in the collection.
  30. type CollectionRuleSet {
  31. # Whether products must match any or all of the rules to be included in the collection.
  32. # If true, then products must match at least one of the rules to be included in the collection.
  33. # If false, then products must match all of the rules to be included in the collection.
  34. appliedDisjunctively: Boolean!
  35. # The rules used to assign products to the collection.
  36. rules: [CollectionRule!]!
  37. }
  38. # The set of rules that are used to determine which products are included in the collection.
  39. type CollectionRule {
  40. # Whether products must match any or all of the rules to be included in the collection.
  41. # If true, then products must match at least one of the rules to be included in the collection.
  42. # If false, then products must match all of the rules to be included in the collection.
  43. appliedDisjunctively: Boolean!
  44. # The rules used to assign products to the collection.
  45. rules: [CollectionRule!]!
  46. }
  47. # The price of a product in a specific country.
  48. # Prices vary between countries.
  49. type ProductContextualPricing {
  50. # The pricing of the variant with the highest price in the given context.
  51. maxVariantPricing: ProductVariantContextualPricing
  52. # The pricing of the variant with the lowest price in the given context.
  53. minVariantPricing: ProductVariantContextualPricing
  54. # The price range of the product with prices formatted as decimals.
  55. priceRange: ProductPriceRangeV2!
  56. }
  57. # The price range of the product.
  58. type ProductPriceRangeV2 {
  59. # The highest variant's price.
  60. maxVariantPrice: MoneyV2!
  61. # The lowest variant's price.
  62. minVariantPrice: MoneyV2!
  63. }
  64. # Represents a Shopify product taxonomy node.
  65. type ProductTaxonomyNode implements Node {
  66. # The full name of the product taxonomy node.
  67. # For example, Animals & Pet Supplies > Pet Supplies > Dog Supplies > Dog Beds.
  68. fullName: String!
  69. # The ID of the product taxonomy node.
  70. id: ID!
  71. # Whether the node is a leaf node.
  72. isLeaf: Boolean!
  73. # Whether the node is a root node.
  74. isRoot: Boolean!
  75. # The name of the product taxonomy node. For example, Dog Beds.
  76. name: String!
  77. }
  78. # An auto-generated type for paginating through multiple InventoryLevels.
  79. type InventoryLevelConnection {
  80. # A list of edges.
  81. edges: [InventoryLevelEdge!]!
  82. # A list of the nodes contained in InventoryLevelEdge.
  83. nodes: [InventoryLevel!]!
  84. # Information to aid in pagination.
  85. pageInfo: PageInfo!
  86. }
  87. # An auto-generated type which holds one InventoryLevel and a cursor during pagination.
  88. type InventoryLevelEdge {
  89. # A cursor for use in pagination.
  90. cursor: String!
  91. # The item at the end of InventoryLevelEdge.
  92. node: InventoryLevel!
  93. }
  94. # An auto-generated type for paginating through multiple Products.
  95. type ProductConnection {
  96. # A list of edges.
  97. edges: [ProductEdge!]!
  98. # A list of the nodes contained in ProductEdge.
  99. nodes: [Product!]!
  100. # Information to aid in pagination.
  101. pageInfo: PageInfo!
  102. }
  103. # An auto-generated type which holds one Product and a cursor during pagination.
  104. type ProductEdge {
  105. # A cursor for use in pagination.
  106. cursor: String!
  107. # The item at the end of ProductEdge.
  108. node: Product!
  109. }
  110. # An auto-generated type for paginating through multiple Collections.
  111. type CollectionConnection {
  112. # A list of edges.
  113. edges: [CollectionEdge!]!
  114. # A list of the nodes contained in CollectionEdge.
  115. nodes: [Collection!]!
  116. # Information to aid in pagination.
  117. pageInfo: PageInfo!
  118. }
  119. # An auto-generated type which holds one Collection and a cursor during pagination.
  120. type CollectionEdge {
  121. # A cursor for use in pagination.
  122. cursor: String!
  123. # The item at the end of CollectionEdge.
  124. node: Collection!
  125. }
  126. # An auto-generated type for paginating through multiple ProductVariants.
  127. type ProductVariantConnection {
  128. # A list of edges.
  129. edges: [ProductVariantEdge!]!
  130. # A list of the nodes contained in ProductVariantEdge.
  131. nodes: [ProductVariant!]!
  132. # Information to aid in pagination.
  133. pageInfo: PageInfo!
  134. }
  135. # An auto-generated type which holds one ProductVariant and a cursor during pagination.
  136. type ProductVariantEdge {
  137. # A cursor for use in pagination.
  138. cursor: String!
  139. # The item at the end of ProductVariantEdge.
  140. node: ProductVariant!
  141. }
  142. # An auto-generated type for paginating through multiple SavedSearches.
  143. type SavedSearchConnection {
  144. # A list of edges.
  145. edges: [SavedSearchEdge!]!
  146. # A list of the nodes contained in SavedSearchEdge.
  147. nodes: [SavedSearch!]!
  148. # Information to aid in pagination.
  149. pageInfo: PageInfo!
  150. }
  151. # An auto-generated type which holds one SavedSearch and a cursor during pagination.
  152. type SavedSearchEdge {
  153. # A cursor for use in pagination.
  154. cursor: String!
  155. # The item at the end of SavedSearchEdge.
  156. node: SavedSearch!
  157. }
  158. # An auto-generated type for paginating through multiple Images.
  159. type ImageConnection {
  160. # A list of edges.
  161. edges: [ImageEdge!]!
  162. # A list of the nodes contained in ImageEdge.
  163. nodes: [Image!]!
  164. # Information to aid in pagination.
  165. pageInfo: PageInfo!
  166. }
  167. # An auto-generated type which holds one Image and a cursor during pagination.
  168. type ImageEdge {
  169. # A cursor for use in pagination.
  170. cursor: String!
  171. # The item at the end of ImageEdge.
  172. node: Image!
  173. }
  174. # An auto-generated type for paginating through multiple Media.
  175. type MediaConnection {
  176. # A list of edges.
  177. edges: [MediaEdge!]!
  178. # A list of the nodes contained in MediaEdge.
  179. nodes: [Media!]!
  180. # Information to aid in pagination.
  181. pageInfo: PageInfo!
  182. }
  183. # An auto-generated type which holds one Media and a cursor during pagination.
  184. type MediaEdge {
  185. # A cursor for use in pagination.
  186. cursor: String!
  187. # The item at the end of MediaEdge.
  188. node: Media!
  189. }