@faststore/core 2.2.78 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (252) hide show
  1. package/.babelrc.js +12 -0
  2. package/.next/BUILD_ID +1 -1
  3. package/.next/build-manifest.json +89 -89
  4. package/.next/cache/.tsbuildinfo +1 -1
  5. package/.next/cache/config.json +3 -3
  6. package/.next/cache/eslint/.cache_1gneedd +1 -1
  7. package/.next/cache/webpack/client-production/0.pack +0 -0
  8. package/.next/cache/webpack/client-production/index.pack +0 -0
  9. package/.next/cache/webpack/server-production/0.pack +0 -0
  10. package/.next/cache/webpack/server-production/index.pack +0 -0
  11. package/.next/images-manifest.json +1 -1
  12. package/.next/next-minimal-server.js.nft.json +1 -0
  13. package/.next/next-server.js.nft.json +1 -1
  14. package/.next/prerender-manifest.js +1 -0
  15. package/.next/prerender-manifest.json +1 -1
  16. package/.next/react-loadable-manifest.json +17 -17
  17. package/.next/required-server-files.json +1 -1
  18. package/.next/routes-manifest.json +1 -1
  19. package/.next/server/chunks/119.js +1 -0
  20. package/.next/server/chunks/12.js +1 -0
  21. package/.next/server/chunks/187.js +1 -0
  22. package/.next/server/chunks/202.js +1 -0
  23. package/.next/server/chunks/24.js +1 -0
  24. package/.next/server/chunks/242.js +1 -0
  25. package/.next/server/chunks/247.js +1 -0
  26. package/.next/server/chunks/344.js +1 -0
  27. package/.next/server/chunks/404.js +1 -434
  28. package/.next/server/chunks/414.js +1 -0
  29. package/.next/server/chunks/484.js +1 -0
  30. package/.next/server/chunks/493.js +1 -0
  31. package/.next/server/chunks/498.js +1 -0
  32. package/.next/server/chunks/540.js +1 -0
  33. package/.next/server/chunks/57.js +1 -434
  34. package/.next/server/chunks/624.js +1 -0
  35. package/.next/server/chunks/640.js +6 -0
  36. package/.next/server/chunks/646.js +279 -0
  37. package/.next/server/chunks/659.js +9 -0
  38. package/.next/server/chunks/679.js +1 -0
  39. package/.next/server/chunks/693.js +1 -58
  40. package/.next/server/chunks/694.js +1 -0
  41. package/.next/server/chunks/779.js +1 -58
  42. package/.next/server/chunks/82.js +8 -0
  43. package/.next/server/chunks/857.js +1 -0
  44. package/.next/server/chunks/859.js +4 -957
  45. package/.next/server/chunks/881.js +1 -0
  46. package/.next/server/chunks/917.js +1 -0
  47. package/.next/server/chunks/936.js +1 -0
  48. package/.next/server/chunks/96.js +1 -0
  49. package/.next/server/chunks/997.js +1 -0
  50. package/.next/server/functions-config-manifest.json +1 -0
  51. package/.next/server/middleware-build-manifest.js +1 -1
  52. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  53. package/.next/server/next-font-manifest.js +1 -0
  54. package/.next/server/next-font-manifest.json +1 -0
  55. package/.next/server/pages/404.js +1 -391
  56. package/.next/server/pages/404.js.nft.json +1 -1
  57. package/.next/server/pages/500.js +1 -395
  58. package/.next/server/pages/500.js.nft.json +1 -1
  59. package/.next/server/pages/[...slug].js +1 -1071
  60. package/.next/server/pages/[...slug].js.nft.json +1 -1
  61. package/.next/server/pages/[slug]/p.js +1 -2315
  62. package/.next/server/pages/[slug]/p.js.nft.json +1 -1
  63. package/.next/server/pages/_app.js +1 -301
  64. package/.next/server/pages/_app.js.nft.json +1 -1
  65. package/.next/server/pages/_document.js +1 -363
  66. package/.next/server/pages/_document.js.nft.json +1 -1
  67. package/.next/server/pages/_error.js +1 -164
  68. package/.next/server/pages/_error.js.nft.json +1 -1
  69. package/.next/server/pages/account.js +1 -370
  70. package/.next/server/pages/account.js.nft.json +1 -1
  71. package/.next/server/pages/api/graphql.js +1 -3085
  72. package/.next/server/pages/api/graphql.js.nft.json +1 -1
  73. package/.next/server/pages/api/health/live.js +1 -31
  74. package/.next/server/pages/api/health/live.js.nft.json +1 -1
  75. package/.next/server/pages/api/health/ready.js +1 -31
  76. package/.next/server/pages/api/health/ready.js.nft.json +1 -1
  77. package/.next/server/pages/api/preview.js +1 -137
  78. package/.next/server/pages/api/preview.js.nft.json +1 -1
  79. package/.next/server/pages/checkout.js +1 -370
  80. package/.next/server/pages/checkout.js.nft.json +1 -1
  81. package/.next/server/pages/en-US/404.html +2 -2
  82. package/.next/server/pages/en-US/404.json +1 -1
  83. package/.next/server/pages/en-US/500.html +2 -2
  84. package/.next/server/pages/en-US/500.json +1 -1
  85. package/.next/server/pages/en-US/account.html +2 -2
  86. package/.next/server/pages/en-US/checkout.html +2 -2
  87. package/.next/server/pages/en-US/login.html +2 -2
  88. package/.next/server/pages/en-US/login.json +1 -1
  89. package/.next/server/pages/en-US/s.html +2 -2
  90. package/.next/server/pages/en-US.html +4 -4
  91. package/.next/server/pages/en-US.json +1 -1
  92. package/.next/server/pages/index.js +1 -439
  93. package/.next/server/pages/index.js.nft.json +1 -1
  94. package/.next/server/pages/login.js +1 -382
  95. package/.next/server/pages/login.js.nft.json +1 -1
  96. package/.next/server/pages/s.js +1 -554
  97. package/.next/server/pages/s.js.nft.json +1 -1
  98. package/.next/server/pages-manifest.json +1 -18
  99. package/.next/server/webpack-api-runtime.js +1 -229
  100. package/.next/server/webpack-runtime.js +1 -229
  101. package/.next/static/HohWS5v_0biRSlLJu0K2W/_buildManifest.js +1 -0
  102. package/.next/static/chunks/104-d42a7ff6c8b8dd89.js +1 -0
  103. package/.next/static/chunks/161-b39fe2f79ff7bc85.js +1 -0
  104. package/.next/static/chunks/202.c7d8a71173edecfb.js +1 -0
  105. package/.next/static/chunks/217.01bc0ad07edd6f1b.js +1 -0
  106. package/.next/static/chunks/247.52b3924429a474c6.js +1 -0
  107. package/.next/static/chunks/484.b82b73b1d8c37e02.js +1 -0
  108. package/.next/static/chunks/540.6c62d2536d42a1e0.js +1 -0
  109. package/.next/static/chunks/575-853fb8b1ba4ce8c4.js +14 -0
  110. package/.next/static/chunks/624.d3de62b4562a33f3.js +1 -0
  111. package/.next/static/chunks/629-b7b5ef6f15ecba9d.js +1 -0
  112. package/.next/static/chunks/65.da22595d53beae76.js +1 -0
  113. package/.next/static/chunks/758.b53ee01b506973e0.js +1 -0
  114. package/.next/static/chunks/857.d2299cfe995af21d.js +1 -0
  115. package/.next/static/chunks/framework-8e279965036b6169.js +33 -0
  116. package/.next/static/chunks/main-6f63f6746cc029db.js +1 -0
  117. package/.next/static/chunks/pages/404-1334d11ab8467b3d.js +1 -0
  118. package/.next/static/chunks/pages/500-449c5bd51f98423f.js +1 -0
  119. package/.next/static/chunks/pages/[...slug]-7c8ec664c28eca52.js +1 -0
  120. package/.next/static/chunks/pages/[slug]/p-a4f7d7c00fdf4157.js +1 -0
  121. package/.next/static/chunks/pages/_app-6516d0c2c7e0e686.js +68 -0
  122. package/.next/static/chunks/pages/_error-fbf331a03642b495.js +1 -0
  123. package/.next/static/chunks/pages/account-dbc5c028225cd1ac.js +1 -0
  124. package/.next/static/chunks/pages/checkout-29ae2c37eaf172e1.js +1 -0
  125. package/.next/static/chunks/pages/index-00798cca3b47590d.js +1 -0
  126. package/.next/static/chunks/pages/login-c4d2c856008df5ac.js +1 -0
  127. package/.next/static/chunks/pages/s-dacaed02ad104d73.js +1 -0
  128. package/.next/static/chunks/webpack-1c08d77cfe1b8585.js +1 -0
  129. package/.next/static/css/{021de9c7b050d301.css → 0d45c82d8887a269.css} +1 -1
  130. package/.next/static/css/{e772e7786bb4dee9.css → 211c7542af66d8b4.css} +1 -1
  131. package/.next/static/css/{df588bb98c0b0ca6.css → 2980acad3f8e1028.css} +1 -1
  132. package/.next/static/css/{510895065f32ed2f.css → 4c4d90eb8cb1d2b7.css} +1 -1
  133. package/.next/static/css/{938781cdc945862e.css → 821a5219786be653.css} +1 -1
  134. package/.next/static/css/{def381bf7c69fa2e.css → 96e3fddf695d6aa9.css} +1 -1
  135. package/.next/static/css/{6a7fdc5a21fbead5.css → b9d9ba1b04f3160d.css} +1 -1
  136. package/.next/static/css/{9558da13053ac066.css → cff9aafa16fccc9c.css} +1 -1
  137. package/.next/static/css/{7e897ebb936fac09.css → d586715f4f707df4.css} +1 -1
  138. package/.next/static/css/{cb7d1fcea42fab9c.css → e32410b31c666cb2.css} +1 -1
  139. package/.next/trace +91 -82
  140. package/.turbo/turbo-build.log +37 -42
  141. package/.turbo/turbo-lint.log +0 -3
  142. package/.turbo/turbo-test.log +10 -10
  143. package/@generated/gql.ts +196 -0
  144. package/@generated/{graphql/index.ts → graphql.ts} +718 -252
  145. package/@generated/index.ts +1 -0
  146. package/@generated/persisted-documents.json +13 -0
  147. package/api/index.ts +1 -1
  148. package/cms/faststore/content-types.json +18 -0
  149. package/cms/faststore/sections.json +73 -0
  150. package/codegen.ts +61 -0
  151. package/index.ts +1 -0
  152. package/jest.config.js +9 -1
  153. package/next.config.js +2 -0
  154. package/package.json +14 -10
  155. package/src/components/product/ProductCard/ProductCard.tsx +4 -4
  156. package/src/components/search/Filter/Filter.tsx +4 -3
  157. package/src/components/sections/EmptyState/DefaultComponents.ts +5 -0
  158. package/src/components/sections/EmptyState/EmptyState.tsx +91 -8
  159. package/src/components/sections/EmptyState/OverriddenDefaultEmptyState.ts +15 -0
  160. package/src/components/sections/ProductDetails/ProductDetails.tsx +6 -6
  161. package/src/components/ui/Image/Image.tsx +1 -1
  162. package/src/customizations/src/fragments/ClientManyProducts.ts +3 -3
  163. package/src/customizations/src/fragments/ClientProduct.ts +3 -3
  164. package/src/customizations/src/fragments/ClientProductGallery.ts +3 -3
  165. package/src/customizations/src/fragments/ClientSearchSuggestions.ts +3 -3
  166. package/src/customizations/src/fragments/ClientShippingSimulation.ts +3 -3
  167. package/src/customizations/src/fragments/ClientTopSearchSuggestions.ts +3 -3
  168. package/src/customizations/src/fragments/ServerCollectionPage.ts +3 -3
  169. package/src/customizations/src/fragments/ServerProduct.ts +3 -3
  170. package/src/pages/404.tsx +32 -30
  171. package/src/pages/500.tsx +32 -34
  172. package/src/pages/[...slug].tsx +4 -4
  173. package/src/pages/[slug]/p.tsx +7 -7
  174. package/src/pages/api/graphql.ts +10 -4
  175. package/src/pages/login.tsx +31 -8
  176. package/src/sdk/cart/index.ts +3 -3
  177. package/src/sdk/graphql/prefetchQuery.ts +4 -3
  178. package/src/sdk/graphql/request.ts +67 -8
  179. package/src/sdk/graphql/useLazyQuery.ts +4 -3
  180. package/src/sdk/graphql/useQuery.ts +7 -3
  181. package/src/sdk/newsletter/useNewsletter.ts +4 -4
  182. package/src/sdk/product/usePageProductsQuery.ts +3 -3
  183. package/src/sdk/product/useProductGalleryQuery.ts +10 -8
  184. package/src/sdk/product/useProductQuery.ts +3 -3
  185. package/src/sdk/product/useProductsPrefetch.ts +5 -3
  186. package/src/sdk/product/useProductsQuery.ts +3 -4
  187. package/src/sdk/search/useSuggestions.ts +3 -3
  188. package/src/sdk/search/useTopSearch.ts +3 -4
  189. package/src/sdk/session/index.ts +4 -4
  190. package/src/sdk/shipping/index.ts +3 -3
  191. package/src/server/generator/schema.ts +1 -1
  192. package/src/server/index.ts +11 -6
  193. package/src/typings/overrides.ts +3 -2
  194. package/test/server/index.test.ts +6 -1
  195. package/.babelrc +0 -4
  196. package/.next/cache/next-server.js.nft.json +0 -1
  197. package/.next/server/chunks/117.js +0 -427
  198. package/.next/server/chunks/177.js +0 -125
  199. package/.next/server/chunks/183.js +0 -122
  200. package/.next/server/chunks/184.js +0 -61
  201. package/.next/server/chunks/289.js +0 -243
  202. package/.next/server/chunks/312.js +0 -676
  203. package/.next/server/chunks/350.js +0 -2898
  204. package/.next/server/chunks/386.js +0 -200
  205. package/.next/server/chunks/574.js +0 -145
  206. package/.next/server/chunks/576.js +0 -122
  207. package/.next/server/chunks/585.js +0 -639
  208. package/.next/server/chunks/632.js +0 -514
  209. package/.next/server/chunks/661.js +0 -1451
  210. package/.next/server/chunks/676.js +0 -32
  211. package/.next/server/chunks/719.js +0 -84
  212. package/.next/server/chunks/74.js +0 -4152
  213. package/.next/server/chunks/825.js +0 -4074
  214. package/.next/server/chunks/854.js +0 -72
  215. package/.next/server/chunks/863.js +0 -111
  216. package/.next/server/chunks/898.js +0 -711
  217. package/.next/server/chunks/903.js +0 -1926
  218. package/.next/server/chunks/98.js +0 -163
  219. package/.next/server/chunks/988.js +0 -211
  220. package/.next/static/JJRI44e-3F3WVhD-DxmO2/_buildManifest.js +0 -1
  221. package/.next/static/chunks/223-cb77217cce52d45c.js +0 -1
  222. package/.next/static/chunks/251.11f5198fc8bef3a4.js +0 -1
  223. package/.next/static/chunks/386.d01e0db26c523f0f.js +0 -1
  224. package/.next/static/chunks/397-0d3aada1012cd78b.js +0 -1
  225. package/.next/static/chunks/574.70612be06fd1365f.js +0 -1
  226. package/.next/static/chunks/585.6561778b7763b79e.js +0 -1
  227. package/.next/static/chunks/651.7142f31ce1e052b3.js +0 -1
  228. package/.next/static/chunks/675-479a97aecebead97.js +0 -1
  229. package/.next/static/chunks/741.52f7fb873418346f.js +0 -1
  230. package/.next/static/chunks/800.5d92de2974baf641.js +0 -1
  231. package/.next/static/chunks/881-57643fb90f59e576.js +0 -1
  232. package/.next/static/chunks/98.40c7e17d9de4eb8f.js +0 -1
  233. package/.next/static/chunks/988.afda042dd9ba11d1.js +0 -1
  234. package/.next/static/chunks/framework-dfd14d7ce6600b03.js +0 -1
  235. package/.next/static/chunks/main-e4e873ee741162eb.js +0 -1
  236. package/.next/static/chunks/pages/404-e106cb9a78182f5f.js +0 -1
  237. package/.next/static/chunks/pages/500-d28aa4a8ce88bddd.js +0 -1
  238. package/.next/static/chunks/pages/[...slug]-c4abcc133f85d9d0.js +0 -1
  239. package/.next/static/chunks/pages/[slug]/p-4a75b11857b82b5c.js +0 -1
  240. package/.next/static/chunks/pages/_app-30b9666307e4b3b1.js +0 -1
  241. package/.next/static/chunks/pages/_error-319451dea77827a6.js +0 -1
  242. package/.next/static/chunks/pages/account-bf9c88a9cac80d8a.js +0 -1
  243. package/.next/static/chunks/pages/checkout-6ca76c1e88a28ac4.js +0 -1
  244. package/.next/static/chunks/pages/index-629ba146ae5f0ecf.js +0 -1
  245. package/.next/static/chunks/pages/login-d2af0de13ea75848.js +0 -1
  246. package/.next/static/chunks/pages/s-d729254b91430d1c.js +0 -1
  247. package/.next/static/chunks/webpack-54ce04ec11860b0b.js +0 -1
  248. package/@generated/graphql/persisted.json +0 -13
  249. package/codegen.yml +0 -23
  250. package/src/components/sections/EmptyState/Overrides.tsx +0 -14
  251. package/.next/static/{JJRI44e-3F3WVhD-DxmO2 → HohWS5v_0biRSlLJu0K2W}/_ssgManifest.js +0 -0
  252. package/@generated/{graphql/schema.graphql → schema.graphql} +508 -508
@@ -5,220 +5,6 @@ schema {
5
5
 
6
6
  directive @cacheControl(sMaxAge: Int, staleWhileRevalidate: Int, scope: String) on FIELD_DEFINITION
7
7
 
8
- """Each product edge contains a `node`, with product information, and a `cursor`, that can be used as a reference for pagination."""
9
- type StoreProductEdge {
10
- """Each product node contains the information of a product returned by the query."""
11
- node: StoreProduct!
12
- """Product cursor. Used as pagination reference."""
13
- cursor: String!
14
- }
15
-
16
- """Product connections, including pagination information and products returned by the query."""
17
- type StoreProductConnection {
18
- """Product pagination information."""
19
- pageInfo: StorePageInfo!
20
- """Array with product connection edges, each containing a product and a corresponding cursor."""
21
- edges: [StoreProductEdge!]!
22
- }
23
-
24
- """Each collection edge contains a `node`, with product collection information, and a `cursor`, that can be used as a reference for pagination."""
25
- type StoreCollectionEdge {
26
- """Each collection node contains the information of a product collection returned by the query."""
27
- node: StoreCollection!
28
- """Collection cursor. Used as pagination reference."""
29
- cursor: String!
30
- }
31
-
32
- """Collection connections, including pagination information and collections returned by the query."""
33
- type StoreCollectionConnection {
34
- """Collection pagination information."""
35
- pageInfo: StorePageInfo!
36
- """Array with collection connection page edges, each containing a collection and a corresponding cursor.."""
37
- edges: [StoreCollectionEdge!]!
38
- }
39
-
40
- """Product search results sorting options."""
41
- enum StoreSort {
42
- """Sort by price, from highest to lowest."""
43
- price_desc
44
- """Sort by price, from lowest to highest."""
45
- price_asc
46
- """Sort by orders, from highest to lowest."""
47
- orders_desc
48
- """Sort by name, in reverse alphabetical order."""
49
- name_desc
50
- """Sort by name, in alphabetical order."""
51
- name_asc
52
- """Sort by release date, from highest to lowest."""
53
- release_desc
54
- """Sort by discount value, from highest to lowest."""
55
- discount_desc
56
- """Sort by product score, from highest to lowest."""
57
- score_desc
58
- }
59
-
60
- """Selected search facet input."""
61
- input IStoreSelectedFacet {
62
- """Selected search facet key."""
63
- key: String!
64
- """Selected search facet value."""
65
- value: String!
66
- }
67
-
68
- """Search facet type."""
69
- enum StoreFacetType {
70
- """Indicates boolean search facet."""
71
- BOOLEAN
72
- """Indicates range type search facet."""
73
- RANGE
74
- }
75
-
76
- """Suggestion term."""
77
- type StoreSuggestionTerm {
78
- """The term."""
79
- value: String!
80
- """Its occurrences count."""
81
- count: Int!
82
- }
83
-
84
- """Suggestions information."""
85
- type StoreSuggestions {
86
- """Array with suggestion terms."""
87
- terms: [StoreSuggestionTerm!]!
88
- """Array with suggestion products' information."""
89
- products: [StoreProduct!]!
90
- }
91
-
92
- """Search result."""
93
- type SearchMetadata {
94
- """Indicates if the search term was misspelled."""
95
- isTermMisspelled: Boolean!
96
- """Logical operator used to run the search."""
97
- logicalOperator: String!
98
- }
99
-
100
- """Search result."""
101
- type StoreSearchResult {
102
- """Search result products."""
103
- products: StoreProductConnection!
104
- """Array of search result facets."""
105
- facets: [StoreFacet!]!
106
- """Search result suggestions."""
107
- suggestions: StoreSuggestions!
108
- """Search result metadata. Additional data can be used to send analytics events."""
109
- metadata: SearchMetadata
110
- }
111
-
112
- input IGeoCoordinates {
113
- """The latitude of the geographic coordinates."""
114
- latitude: Float!
115
- """The longitude of the geographic coordinates."""
116
- longitude: Float!
117
- }
118
-
119
- type Query {
120
- """Returns the details of a product based on the specified locator."""
121
- product(
122
- """An array of selected search facets."""
123
- locator: [IStoreSelectedFacet!]!
124
- ): StoreProduct! @cacheControl(scope: "public", sMaxAge: 120, staleWhileRevalidate: 3600)
125
- """Returns the details of a collection based on the collection slug."""
126
- collection(
127
- """Collection slug."""
128
- slug: String!
129
- ): StoreCollection! @cacheControl(scope: "public", sMaxAge: 120, staleWhileRevalidate: 3600)
130
- """Returns the result of a product, facet, or suggestion search."""
131
- search(
132
- """Search pagination argument, indicating how many results should be returned from the complete result list."""
133
- first: Int!
134
- """Search pagination argument, indicating the cursor corresponding with the item after which the results should be fetched."""
135
- after: String
136
- """Search results sorting mode."""
137
- sort: StoreSort = score_desc
138
- """Search term."""
139
- term: String = ""
140
- """Array of selected search facets."""
141
- selectedFacets: [IStoreSelectedFacet!]
142
- ): StoreSearchResult! @cacheControl(scope: "public", sMaxAge: 120, staleWhileRevalidate: 3600)
143
- """Returns information about all products."""
144
- allProducts(
145
- """Product pagination argument, indicating how many items should be returned from the complete result list."""
146
- first: Int!
147
- """Product pagination argument, indicating the cursor corresponding with the item after which the items should be fetched."""
148
- after: String
149
- ): StoreProductConnection! @cacheControl(scope: "public", sMaxAge: 120, staleWhileRevalidate: 3600)
150
- """Returns information about all collections."""
151
- allCollections(
152
- """Collection pagination argument, indicating how many items should be returned from the complete result list."""
153
- first: Int!
154
- """Collection pagination argument, indicating the cursor corresponding with the item after which the items should be fetched."""
155
- after: String
156
- ): StoreCollectionConnection! @cacheControl(scope: "public", sMaxAge: 120, staleWhileRevalidate: 3600)
157
- """Returns information about shipping simulation."""
158
- shipping(
159
- """List of SKU products"""
160
- items: [IShippingItem!]!
161
- """Postal code to freight calculator"""
162
- postalCode: String!
163
- """Country of postal code"""
164
- country: String!
165
- ): ShippingData @cacheControl(scope: "public", sMaxAge: 120, staleWhileRevalidate: 3600)
166
- """Returns if there's a redirect for a search."""
167
- redirect(
168
- """Search term."""
169
- term: String
170
- """Array of selected search facets."""
171
- selectedFacets: [IStoreSelectedFacet!]
172
- ): StoreRedirect
173
- """Returns a list of sellers available for a specific localization."""
174
- sellers(
175
- """Postal code input to calculate sellers"""
176
- postalCode: String
177
- """Geocoordinates input to calculate sellers"""
178
- geoCoordinates: IGeoCoordinates
179
- """Country of localization"""
180
- country: String!
181
- """Sales channel of the navigation"""
182
- salesChannel: String
183
- ): SellersData @cacheControl(scope: "public", sMaxAge: 120, staleWhileRevalidate: 3600)
184
- }
185
-
186
- """
187
- Redirect informations, including url returned by the query.
188
- https://schema.org/Thing
189
- """
190
- type StoreRedirect {
191
- """URL to redirect"""
192
- url: String
193
- }
194
-
195
- """Regionalization with sellers information."""
196
- type SellersData {
197
- """Identification of region."""
198
- id: String
199
- """List of sellers."""
200
- sellers: [SellerInfo]
201
- }
202
-
203
- """Information of sellers."""
204
- type SellerInfo {
205
- """Identification of the seller"""
206
- id: String
207
- """Name of the seller"""
208
- name: String
209
- """Logo of the seller"""
210
- logo: String
211
- }
212
-
213
- type Mutation {
214
- """Checks for changes between the cart presented in the UI and the cart stored in the ecommerce platform. If changes are detected, it returns the cart stored on the platform. Otherwise, it returns `null`."""
215
- validateCart(cart: IStoreCart!, session: IStoreSession): StoreCart
216
- """Updates a web session with the specified values."""
217
- validateSession(session: IStoreSession!, search: String!): StoreSession
218
- """Subscribes a new person to the newsletter list."""
219
- subscribeToNewsletter(data: IPersonNewsletter!): PersonNewsletter
220
- }
221
-
222
8
  """Address information."""
223
9
  type Address {
224
10
  """Address postal code"""
@@ -243,6 +29,34 @@ type Address {
243
29
  geoCoordinates: [Float]
244
30
  }
245
31
 
32
+ """Aggregate offer information, for a given SKU that is available to be fulfilled by multiple sellers."""
33
+ type StoreAggregateOffer {
34
+ """Highest price among all sellers."""
35
+ highPrice: Float!
36
+ """Lowest price among all sellers."""
37
+ lowPrice: Float!
38
+ """Number of sellers selling this SKU."""
39
+ offerCount: Int!
40
+ """ISO code of the currency used for the offer prices."""
41
+ priceCurrency: String!
42
+ """Array with information on each available offer."""
43
+ offers: [StoreOffer!]!
44
+ }
45
+
46
+ """Average rating, based on multiple ratings or reviews."""
47
+ type StoreAggregateRating {
48
+ """Value of the aggregate rating."""
49
+ ratingValue: Float!
50
+ """Total number of ratings."""
51
+ reviewCount: Int!
52
+ }
53
+
54
+ """information about the author of a product review or rating."""
55
+ type StoreAuthor {
56
+ """Author name."""
57
+ name: String!
58
+ }
59
+
246
60
  """Brand of a given product."""
247
61
  type StoreBrand {
248
62
  """Brand name."""
@@ -267,20 +81,42 @@ type StoreBreadcrumbList {
267
81
  numberOfItems: Int!
268
82
  }
269
83
 
270
- """Product collection type. Possible values are `Department`, `Category`, `Brand`, `Cluster`, `SubCategory` or `Collection`."""
271
- enum StoreCollectionType {
272
- """First level of product categorization."""
273
- Department
274
- """Second level of product categorization."""
275
- Category
276
- """Third level of product categorization."""
277
- SubCategory
278
- """Product brand."""
279
- Brand
280
- """Product cluster."""
281
- Cluster
282
- """Product collection."""
283
- Collection
84
+ """Shopping cart message."""
85
+ type StoreCartMessage {
86
+ """Shopping cart message text."""
87
+ text: String!
88
+ """Shopping cart message status, which can be `INFO`, `WARNING` or `ERROR`."""
89
+ status: StoreStatus!
90
+ }
91
+
92
+ """Shopping cart information."""
93
+ type StoreCart {
94
+ """Order information, including `orderNumber` and `acceptedOffer`."""
95
+ order: StoreOrder!
96
+ """List of shopping cart messages."""
97
+ messages: [StoreCartMessage!]!
98
+ }
99
+
100
+ """Shopping cart input."""
101
+ input IStoreCart {
102
+ """Order information, including `orderNumber`, `acceptedOffer` and `shouldSplitItem`."""
103
+ order: IStoreOrder!
104
+ }
105
+
106
+ """Product collection type. Possible values are `Department`, `Category`, `Brand`, `Cluster`, `SubCategory` or `Collection`."""
107
+ enum StoreCollectionType {
108
+ """First level of product categorization."""
109
+ Department
110
+ """Second level of product categorization."""
111
+ Category
112
+ """Third level of product categorization."""
113
+ SubCategory
114
+ """Product brand."""
115
+ Brand
116
+ """Product cluster."""
117
+ Cluster
118
+ """Product collection."""
119
+ Collection
284
120
  }
285
121
 
286
122
  """Product collection facet, used for search."""
@@ -373,6 +209,99 @@ input IStoreImage {
373
209
  alternateName: String!
374
210
  }
375
211
 
212
+ type Mutation {
213
+ """Checks for changes between the cart presented in the UI and the cart stored in the ecommerce platform. If changes are detected, it returns the cart stored on the platform. Otherwise, it returns `null`."""
214
+ validateCart(cart: IStoreCart!, session: IStoreSession): StoreCart
215
+ """Updates a web session with the specified values."""
216
+ validateSession(session: IStoreSession!, search: String!): StoreSession
217
+ """Subscribes a new person to the newsletter list."""
218
+ subscribeToNewsletter(data: IPersonNewsletter!): PersonNewsletter
219
+ }
220
+
221
+ """Newsletter information."""
222
+ type PersonNewsletter {
223
+ """Person's ID in the newsletter list."""
224
+ id: String!
225
+ }
226
+
227
+ """Person data input to the newsletter."""
228
+ input IPersonNewsletter {
229
+ """Person's name."""
230
+ name: String!
231
+ """Person's email."""
232
+ email: String!
233
+ }
234
+
235
+ scalar ObjectOrString
236
+
237
+ """Offer information."""
238
+ type StoreOffer {
239
+ """This is displayed as the "from" price in the context of promotions' price comparison. This may change before it reaches the shelf."""
240
+ listPrice: Float!
241
+ """Computed price before applying coupons, taxes or benefits. This may change before it reaches the shelf."""
242
+ sellingPrice: Float!
243
+ """ISO code of the currency used for the offer prices."""
244
+ priceCurrency: String!
245
+ """Also known as spot price."""
246
+ price: Float!
247
+ """Next date in which price is scheduled to change. If there is no scheduled change, this will be set a year in the future from current time."""
248
+ priceValidUntil: String!
249
+ """Offer item condition."""
250
+ itemCondition: String!
251
+ """Offer item availability."""
252
+ availability: String!
253
+ """Seller responsible for the offer."""
254
+ seller: StoreOrganization!
255
+ """Information on the item being offered."""
256
+ itemOffered: StoreProduct!
257
+ """Number of items offered."""
258
+ quantity: Int!
259
+ }
260
+
261
+ """Offer input."""
262
+ input IStoreOffer {
263
+ """Also known as spot price."""
264
+ price: Float!
265
+ """This is displayed as the "from" price in the context of promotions' price comparison. This may change before it reaches the shelf."""
266
+ listPrice: Float!
267
+ """Seller responsible for the offer."""
268
+ seller: IStoreOrganization!
269
+ """Information on the item being offered."""
270
+ itemOffered: IStoreProduct!
271
+ """Number of items offered."""
272
+ quantity: Int!
273
+ }
274
+
275
+ """Information of a specific order."""
276
+ type StoreOrder {
277
+ """ID of the order in [VTEX order management](https://help.vtex.com/en/tutorial/license-manager-resources-oms--60QcBsvWeum02cFi3GjBzg#)."""
278
+ orderNumber: String!
279
+ """Array with information on each accepted offer."""
280
+ acceptedOffer: [StoreOffer!]!
281
+ }
282
+
283
+ """Order input."""
284
+ input IStoreOrder {
285
+ """ID of the order in [VTEX order management](https://help.vtex.com/en/tutorial/license-manager-resources-oms--60QcBsvWeum02cFi3GjBzg#)."""
286
+ orderNumber: String!
287
+ """Array with information on each accepted offer."""
288
+ acceptedOffer: [IStoreOffer!]!
289
+ """Indicates whether or not items with attachments should be split."""
290
+ shouldSplitItem: Boolean
291
+ }
292
+
293
+ """Organization."""
294
+ type StoreOrganization {
295
+ """Organization ID."""
296
+ identifier: String!
297
+ }
298
+
299
+ """Organization input."""
300
+ input IStoreOrganization {
301
+ """Organization ID."""
302
+ identifier: String!
303
+ }
304
+
376
305
  """Whenever you make a query that allows for pagination, such as `allProducts` or `allCollections`, you can check `StorePageInfo` to learn more about the complete set of items and use it to paginate your queries."""
377
306
  type StorePageInfo {
378
307
  """Indicates whether there is at least one more page with items after the ones returned in the current query."""
@@ -387,6 +316,30 @@ type StorePageInfo {
387
316
  totalCount: Int!
388
317
  }
389
318
 
319
+ """Client profile data."""
320
+ type StorePerson {
321
+ """Client ID."""
322
+ id: String!
323
+ """Client email."""
324
+ email: String!
325
+ """Client first name."""
326
+ givenName: String!
327
+ """Client last name."""
328
+ familyName: String!
329
+ }
330
+
331
+ """Client profile data."""
332
+ input IStorePerson {
333
+ """Client ID."""
334
+ id: String!
335
+ """Client email."""
336
+ email: String!
337
+ """Client first name."""
338
+ givenName: String!
339
+ """Client last name."""
340
+ familyName: String!
341
+ }
342
+
390
343
  """Product information. Products are variants within product groups, equivalent to VTEX [SKUs](https://help.vtex.com/en/tutorial/what-is-an-sku--1K75s4RXAQyOuGUYKMM68u#). For example, you may have a **Shirt** product group with associated products such as **Blue shirt size L**, **Green shirt size XL** and so on."""
391
344
  type StoreProduct {
392
345
  """Meta tag data."""
@@ -435,86 +388,6 @@ input IStoreProduct {
435
388
  additionalProperty: [IStorePropertyValue!]
436
389
  }
437
390
 
438
- """Search Engine Optimization (SEO) tags data."""
439
- type StoreSeo {
440
- """Title tag."""
441
- title: String!
442
- """Title template tag."""
443
- titleTemplate: String!
444
- """Description tag."""
445
- description: String!
446
- """Canonical tag."""
447
- canonical: String!
448
- }
449
-
450
- """Offer information."""
451
- type StoreOffer {
452
- """This is displayed as the "from" price in the context of promotions' price comparison. This may change before it reaches the shelf."""
453
- listPrice: Float!
454
- """Computed price before applying coupons, taxes or benefits. This may change before it reaches the shelf."""
455
- sellingPrice: Float!
456
- """ISO code of the currency used for the offer prices."""
457
- priceCurrency: String!
458
- """Also known as spot price."""
459
- price: Float!
460
- """Next date in which price is scheduled to change. If there is no scheduled change, this will be set a year in the future from current time."""
461
- priceValidUntil: String!
462
- """Offer item condition."""
463
- itemCondition: String!
464
- """Offer item availability."""
465
- availability: String!
466
- """Seller responsible for the offer."""
467
- seller: StoreOrganization!
468
- """Information on the item being offered."""
469
- itemOffered: StoreProduct!
470
- """Number of items offered."""
471
- quantity: Int!
472
- }
473
-
474
- """Offer input."""
475
- input IStoreOffer {
476
- """Also known as spot price."""
477
- price: Float!
478
- """This is displayed as the "from" price in the context of promotions' price comparison. This may change before it reaches the shelf."""
479
- listPrice: Float!
480
- """Seller responsible for the offer."""
481
- seller: IStoreOrganization!
482
- """Information on the item being offered."""
483
- itemOffered: IStoreProduct!
484
- """Number of items offered."""
485
- quantity: Int!
486
- }
487
-
488
- """Average rating, based on multiple ratings or reviews."""
489
- type StoreAggregateRating {
490
- """Value of the aggregate rating."""
491
- ratingValue: Float!
492
- """Total number of ratings."""
493
- reviewCount: Int!
494
- }
495
-
496
- """Information of a given review rating."""
497
- type StoreReviewRating {
498
- """Rating value."""
499
- ratingValue: Float!
500
- """Best rating value."""
501
- bestRating: Float!
502
- }
503
-
504
- """Information of a given review."""
505
- type StoreReview {
506
- """Review rating information."""
507
- reviewRating: StoreReviewRating!
508
- """Review author."""
509
- author: StoreAuthor!
510
- }
511
-
512
- """information about the author of a product review or rating."""
513
- type StoreAuthor {
514
- """Author name."""
515
- name: String!
516
- }
517
-
518
391
  """Product group information. Product groups are catalog entities that may contain variants. They are equivalent to VTEX [Products](https://help.vtex.com/en/tutorial/what-is-a-product--2zrB2gFCHyQokCKKE8kuAw#), whereas each variant is equivalent to a VTEX [SKU](https://help.vtex.com/en/tutorial/what-is-an-sku--1K75s4RXAQyOuGUYKMM68u#). For example, you may have a **Shirt** product group with associated products such as **Blue shirt size L**, **Green shirt size XL** and so on."""
519
392
  type StoreProductGroup {
520
393
  """Array of variants related to product group. Variants are equivalent to VTEX [SKUs](https://help.vtex.com/en/tutorial/what-is-an-sku--1K75s4RXAQyOuGUYKMM68u#)."""
@@ -533,128 +406,262 @@ type StoreProductGroup {
533
406
  skuVariants: SkuVariants
534
407
  }
535
408
 
536
- """Organization."""
537
- type StoreOrganization {
538
- """Organization ID."""
539
- identifier: String!
409
+ """Properties that can be associated with products and products groups."""
410
+ type StorePropertyValue {
411
+ """Property id. This propert changes according to the content of the object."""
412
+ propertyID: String!
413
+ """Property value. May hold a string or the string representation of an object."""
414
+ value: ObjectOrString!
415
+ """Property name."""
416
+ name: String!
417
+ """Specifies the nature of the value"""
418
+ valueReference: String!
540
419
  }
541
420
 
542
- """Organization input."""
543
- input IStoreOrganization {
544
- """Organization ID."""
545
- identifier: String!
421
+ input IStorePropertyValue {
422
+ """Property id. This propert changes according to the content of the object."""
423
+ propertyID: String
424
+ """Property value. May hold a string or the string representation of an object."""
425
+ value: ObjectOrString!
426
+ """Property name."""
427
+ name: String!
428
+ """Specifies the nature of the value"""
429
+ valueReference: String!
546
430
  }
547
431
 
548
- """Aggregate offer information, for a given SKU that is available to be fulfilled by multiple sellers."""
549
- type StoreAggregateOffer {
550
- """Highest price among all sellers."""
551
- highPrice: Float!
552
- """Lowest price among all sellers."""
553
- lowPrice: Float!
554
- """Number of sellers selling this SKU."""
555
- offerCount: Int!
556
- """ISO code of the currency used for the offer prices."""
557
- priceCurrency: String!
558
- """Array with information on each available offer."""
559
- offers: [StoreOffer!]!
432
+ """Each product edge contains a `node`, with product information, and a `cursor`, that can be used as a reference for pagination."""
433
+ type StoreProductEdge {
434
+ """Each product node contains the information of a product returned by the query."""
435
+ node: StoreProduct!
436
+ """Product cursor. Used as pagination reference."""
437
+ cursor: String!
560
438
  }
561
439
 
562
- """Information of a specific order."""
563
- type StoreOrder {
564
- """ID of the order in [VTEX order management](https://help.vtex.com/en/tutorial/license-manager-resources-oms--60QcBsvWeum02cFi3GjBzg#)."""
565
- orderNumber: String!
566
- """Array with information on each accepted offer."""
567
- acceptedOffer: [StoreOffer!]!
440
+ """Product connections, including pagination information and products returned by the query."""
441
+ type StoreProductConnection {
442
+ """Product pagination information."""
443
+ pageInfo: StorePageInfo!
444
+ """Array with product connection edges, each containing a product and a corresponding cursor."""
445
+ edges: [StoreProductEdge!]!
568
446
  }
569
447
 
570
- """Order input."""
571
- input IStoreOrder {
572
- """ID of the order in [VTEX order management](https://help.vtex.com/en/tutorial/license-manager-resources-oms--60QcBsvWeum02cFi3GjBzg#)."""
573
- orderNumber: String!
574
- """Array with information on each accepted offer."""
575
- acceptedOffer: [IStoreOffer!]!
576
- """Indicates whether or not items with attachments should be split."""
577
- shouldSplitItem: Boolean
448
+ """Each collection edge contains a `node`, with product collection information, and a `cursor`, that can be used as a reference for pagination."""
449
+ type StoreCollectionEdge {
450
+ """Each collection node contains the information of a product collection returned by the query."""
451
+ node: StoreCollection!
452
+ """Collection cursor. Used as pagination reference."""
453
+ cursor: String!
578
454
  }
579
455
 
580
- """Shopping cart message."""
581
- type StoreCartMessage {
582
- """Shopping cart message text."""
583
- text: String!
584
- """Shopping cart message status, which can be `INFO`, `WARNING` or `ERROR`."""
585
- status: StoreStatus!
456
+ """Collection connections, including pagination information and collections returned by the query."""
457
+ type StoreCollectionConnection {
458
+ """Collection pagination information."""
459
+ pageInfo: StorePageInfo!
460
+ """Array with collection connection page edges, each containing a collection and a corresponding cursor.."""
461
+ edges: [StoreCollectionEdge!]!
586
462
  }
587
463
 
588
- """Shopping cart information."""
589
- type StoreCart {
590
- """Order information, including `orderNumber` and `acceptedOffer`."""
591
- order: StoreOrder!
592
- """List of shopping cart messages."""
593
- messages: [StoreCartMessage!]!
464
+ """Product search results sorting options."""
465
+ enum StoreSort {
466
+ """Sort by price, from highest to lowest."""
467
+ price_desc
468
+ """Sort by price, from lowest to highest."""
469
+ price_asc
470
+ """Sort by orders, from highest to lowest."""
471
+ orders_desc
472
+ """Sort by name, in reverse alphabetical order."""
473
+ name_desc
474
+ """Sort by name, in alphabetical order."""
475
+ name_asc
476
+ """Sort by release date, from highest to lowest."""
477
+ release_desc
478
+ """Sort by discount value, from highest to lowest."""
479
+ discount_desc
480
+ """Sort by product score, from highest to lowest."""
481
+ score_desc
594
482
  }
595
483
 
596
- """Shopping cart input."""
597
- input IStoreCart {
598
- """Order information, including `orderNumber`, `acceptedOffer` and `shouldSplitItem`."""
599
- order: IStoreOrder!
484
+ """Selected search facet input."""
485
+ input IStoreSelectedFacet {
486
+ """Selected search facet key."""
487
+ key: String!
488
+ """Selected search facet value."""
489
+ value: String!
600
490
  }
601
491
 
602
- """Status used to indicate a message type. For instance, a shopping cart informative or error message."""
603
- enum StoreStatus {
604
- INFO
605
- WARNING
606
- ERROR
492
+ """Search facet type."""
493
+ enum StoreFacetType {
494
+ """Indicates boolean search facet."""
495
+ BOOLEAN
496
+ """Indicates range type search facet."""
497
+ RANGE
607
498
  }
608
499
 
609
- """Properties that can be associated with products and products groups."""
610
- type StorePropertyValue {
611
- """Property id. This propert changes according to the content of the object."""
612
- propertyID: String!
613
- """Property value. May hold a string or the string representation of an object."""
614
- value: ObjectOrString!
615
- """Property name."""
616
- name: String!
617
- """Specifies the nature of the value"""
618
- valueReference: String!
500
+ """Suggestion term."""
501
+ type StoreSuggestionTerm {
502
+ """The term."""
503
+ value: String!
504
+ """Its occurrences count."""
505
+ count: Int!
506
+ }
507
+
508
+ """Suggestions information."""
509
+ type StoreSuggestions {
510
+ """Array with suggestion terms."""
511
+ terms: [StoreSuggestionTerm!]!
512
+ """Array with suggestion products' information."""
513
+ products: [StoreProduct!]!
514
+ }
515
+
516
+ """Search result."""
517
+ type SearchMetadata {
518
+ """Indicates if the search term was misspelled."""
519
+ isTermMisspelled: Boolean!
520
+ """Logical operator used to run the search."""
521
+ logicalOperator: String!
522
+ }
523
+
524
+ """Search result."""
525
+ type StoreSearchResult {
526
+ """Search result products."""
527
+ products: StoreProductConnection!
528
+ """Array of search result facets."""
529
+ facets: [StoreFacet!]!
530
+ """Search result suggestions."""
531
+ suggestions: StoreSuggestions!
532
+ """Search result metadata. Additional data can be used to send analytics events."""
533
+ metadata: SearchMetadata
534
+ }
535
+
536
+ input IGeoCoordinates {
537
+ """The latitude of the geographic coordinates."""
538
+ latitude: Float!
539
+ """The longitude of the geographic coordinates."""
540
+ longitude: Float!
541
+ }
542
+
543
+ type Query {
544
+ """Returns the details of a product based on the specified locator."""
545
+ product(
546
+ """An array of selected search facets."""
547
+ locator: [IStoreSelectedFacet!]!
548
+ ): StoreProduct! @cacheControl(scope: "public", sMaxAge: 120, staleWhileRevalidate: 3600)
549
+ """Returns the details of a collection based on the collection slug."""
550
+ collection(
551
+ """Collection slug."""
552
+ slug: String!
553
+ ): StoreCollection! @cacheControl(scope: "public", sMaxAge: 120, staleWhileRevalidate: 3600)
554
+ """Returns the result of a product, facet, or suggestion search."""
555
+ search(
556
+ """Search pagination argument, indicating how many results should be returned from the complete result list."""
557
+ first: Int!
558
+ """Search pagination argument, indicating the cursor corresponding with the item after which the results should be fetched."""
559
+ after: String
560
+ """Search results sorting mode."""
561
+ sort: StoreSort = score_desc
562
+ """Search term."""
563
+ term: String = ""
564
+ """Array of selected search facets."""
565
+ selectedFacets: [IStoreSelectedFacet!]
566
+ ): StoreSearchResult! @cacheControl(scope: "public", sMaxAge: 120, staleWhileRevalidate: 3600)
567
+ """Returns information about all products."""
568
+ allProducts(
569
+ """Product pagination argument, indicating how many items should be returned from the complete result list."""
570
+ first: Int!
571
+ """Product pagination argument, indicating the cursor corresponding with the item after which the items should be fetched."""
572
+ after: String
573
+ ): StoreProductConnection! @cacheControl(scope: "public", sMaxAge: 120, staleWhileRevalidate: 3600)
574
+ """Returns information about all collections."""
575
+ allCollections(
576
+ """Collection pagination argument, indicating how many items should be returned from the complete result list."""
577
+ first: Int!
578
+ """Collection pagination argument, indicating the cursor corresponding with the item after which the items should be fetched."""
579
+ after: String
580
+ ): StoreCollectionConnection! @cacheControl(scope: "public", sMaxAge: 120, staleWhileRevalidate: 3600)
581
+ """Returns information about shipping simulation."""
582
+ shipping(
583
+ """List of SKU products"""
584
+ items: [IShippingItem!]!
585
+ """Postal code to freight calculator"""
586
+ postalCode: String!
587
+ """Country of postal code"""
588
+ country: String!
589
+ ): ShippingData @cacheControl(scope: "public", sMaxAge: 120, staleWhileRevalidate: 3600)
590
+ """Returns if there's a redirect for a search."""
591
+ redirect(
592
+ """Search term."""
593
+ term: String
594
+ """Array of selected search facets."""
595
+ selectedFacets: [IStoreSelectedFacet!]
596
+ ): StoreRedirect
597
+ """Returns a list of sellers available for a specific localization."""
598
+ sellers(
599
+ """Postal code input to calculate sellers"""
600
+ postalCode: String
601
+ """Geocoordinates input to calculate sellers"""
602
+ geoCoordinates: IGeoCoordinates
603
+ """Country of localization"""
604
+ country: String!
605
+ """Sales channel of the navigation"""
606
+ salesChannel: String
607
+ ): SellersData @cacheControl(scope: "public", sMaxAge: 120, staleWhileRevalidate: 3600)
608
+ }
609
+
610
+ """
611
+ Redirect informations, including url returned by the query.
612
+ https://schema.org/Thing
613
+ """
614
+ type StoreRedirect {
615
+ """URL to redirect"""
616
+ url: String
617
+ }
618
+
619
+ """Regionalization with sellers information."""
620
+ type SellersData {
621
+ """Identification of region."""
622
+ id: String
623
+ """List of sellers."""
624
+ sellers: [SellerInfo]
625
+ }
626
+
627
+ """Information of sellers."""
628
+ type SellerInfo {
629
+ """Identification of the seller"""
630
+ id: String
631
+ """Name of the seller"""
632
+ name: String
633
+ """Logo of the seller"""
634
+ logo: String
619
635
  }
620
636
 
621
- input IStorePropertyValue {
622
- """Property id. This propert changes according to the content of the object."""
623
- propertyID: String
624
- """Property value. May hold a string or the string representation of an object."""
625
- value: ObjectOrString!
626
- """Property name."""
627
- name: String!
628
- """Specifies the nature of the value"""
629
- valueReference: String!
637
+ """Information of a given review rating."""
638
+ type StoreReviewRating {
639
+ """Rating value."""
640
+ ratingValue: Float!
641
+ """Best rating value."""
642
+ bestRating: Float!
630
643
  }
631
644
 
632
- """Client profile data."""
633
- type StorePerson {
634
- """Client ID."""
635
- id: String!
636
- """Client email."""
637
- email: String!
638
- """Client first name."""
639
- givenName: String!
640
- """Client last name."""
641
- familyName: String!
645
+ """Information of a given review."""
646
+ type StoreReview {
647
+ """Review rating information."""
648
+ reviewRating: StoreReviewRating!
649
+ """Review author."""
650
+ author: StoreAuthor!
642
651
  }
643
652
 
644
- """Client profile data."""
645
- input IStorePerson {
646
- """Client ID."""
647
- id: String!
648
- """Client email."""
649
- email: String!
650
- """Client first name."""
651
- givenName: String!
652
- """Client last name."""
653
- familyName: String!
653
+ """Search Engine Optimization (SEO) tags data."""
654
+ type StoreSeo {
655
+ """Title tag."""
656
+ title: String!
657
+ """Title template tag."""
658
+ titleTemplate: String!
659
+ """Description tag."""
660
+ description: String!
661
+ """Canonical tag."""
662
+ canonical: String!
654
663
  }
655
664
 
656
- scalar ObjectOrString
657
-
658
665
  """Currency information."""
659
666
  type StoreCurrency {
660
667
  """Currency code (e.g: USD)."""
@@ -764,110 +771,6 @@ input IStoreSession {
764
771
  person: IStorePerson
765
772
  }
766
773
 
767
- """Newsletter information."""
768
- type PersonNewsletter {
769
- """Person's ID in the newsletter list."""
770
- id: String!
771
- }
772
-
773
- """Person data input to the newsletter."""
774
- input IPersonNewsletter {
775
- """Person's name."""
776
- name: String!
777
- """Person's email."""
778
- email: String!
779
- }
780
-
781
- type SkuVariants {
782
- """SKU property values for the current SKU."""
783
- activeVariations: ActiveVariations
784
- """All available options for each SKU variant property, indexed by their name."""
785
- allVariantsByName: VariantsByName
786
- """
787
- Maps property value combinations to their respective SKU's slug. Enables
788
- us to retrieve the slug for the SKU that matches the currently selected
789
- variations in O(1) time.
790
- If `dominantVariantName` is not present, the first variant will be
791
- considered the dominant one.
792
- """
793
- slugsMap(dominantVariantName: String): SlugsMap
794
- """
795
- Available options for each varying SKU property, taking into account the
796
- `dominantVariantName` property. Returns all available options for the
797
- dominant property, and only options that can be combined with its current
798
- value for other properties.
799
- If `dominantVariantName` is not present, the first variant will be
800
- considered the dominant one.
801
- """
802
- availableVariations(dominantVariantName: String): FormattedVariants
803
- }
804
-
805
- """
806
- Example:
807
-
808
- ```json
809
- {
810
- 'Color-Red-Size-40': 'classic-shoes-37'
811
- }
812
- ```
813
- """
814
- scalar SlugsMap
815
-
816
- """
817
- Example:
818
-
819
- ```json
820
- {
821
- Color: 'Red', Size: '42'
822
- }
823
- ```
824
- """
825
- scalar ActiveVariations
826
-
827
- """
828
- Example:
829
-
830
- ```json
831
- {
832
- Color: [ "Red", "Blue", "Green" ],
833
- Size: [ "40", "41" ]
834
- }
835
- ```
836
- """
837
- scalar VariantsByName
838
-
839
- """
840
- Example:
841
-
842
- ```json
843
- {
844
- Color: [
845
- {
846
- src: "https://storecomponents.vtexassets.com/...",
847
- alt: "...",
848
- label: "...",
849
- value: "..."
850
- },
851
- {
852
- src: "https://storecomponents.vtexassets.com/...",
853
- alt: "...",
854
- label: "...",
855
- value: "..."
856
- }
857
- ],
858
- Size: [
859
- {
860
- src: "https://storecomponents.vtexassets.com/...",
861
- alt: "...",
862
- label: "...",
863
- value: "..."
864
- }
865
- ]
866
- }
867
- ```
868
- """
869
- scalar FormattedVariants
870
-
871
774
  """Shipping Simulation item input."""
872
775
  input IShippingItem {
873
776
  """ShippingItem ID / Sku."""
@@ -1051,3 +954,100 @@ type MessageFields {
1051
954
  """MessageFields sku name."""
1052
955
  skuName: String
1053
956
  }
957
+
958
+ type SkuVariants {
959
+ """SKU property values for the current SKU."""
960
+ activeVariations: ActiveVariations
961
+ """All available options for each SKU variant property, indexed by their name."""
962
+ allVariantsByName: VariantsByName
963
+ """
964
+ Maps property value combinations to their respective SKU's slug. Enables
965
+ us to retrieve the slug for the SKU that matches the currently selected
966
+ variations in O(1) time.
967
+ If `dominantVariantName` is not present, the first variant will be
968
+ considered the dominant one.
969
+ """
970
+ slugsMap(dominantVariantName: String): SlugsMap
971
+ """
972
+ Available options for each varying SKU property, taking into account the
973
+ `dominantVariantName` property. Returns all available options for the
974
+ dominant property, and only options that can be combined with its current
975
+ value for other properties.
976
+ If `dominantVariantName` is not present, the first variant will be
977
+ considered the dominant one.
978
+ """
979
+ availableVariations(dominantVariantName: String): FormattedVariants
980
+ }
981
+
982
+ """
983
+ Example:
984
+
985
+ ```json
986
+ {
987
+ 'Color-Red-Size-40': 'classic-shoes-37'
988
+ }
989
+ ```
990
+ """
991
+ scalar SlugsMap
992
+
993
+ """
994
+ Example:
995
+
996
+ ```json
997
+ {
998
+ Color: 'Red', Size: '42'
999
+ }
1000
+ ```
1001
+ """
1002
+ scalar ActiveVariations
1003
+
1004
+ """
1005
+ Example:
1006
+
1007
+ ```json
1008
+ {
1009
+ Color: [ "Red", "Blue", "Green" ],
1010
+ Size: [ "40", "41" ]
1011
+ }
1012
+ ```
1013
+ """
1014
+ scalar VariantsByName
1015
+
1016
+ """
1017
+ Example:
1018
+
1019
+ ```json
1020
+ {
1021
+ Color: [
1022
+ {
1023
+ src: "https://storecomponents.vtexassets.com/...",
1024
+ alt: "...",
1025
+ label: "...",
1026
+ value: "..."
1027
+ },
1028
+ {
1029
+ src: "https://storecomponents.vtexassets.com/...",
1030
+ alt: "...",
1031
+ label: "...",
1032
+ value: "..."
1033
+ }
1034
+ ],
1035
+ Size: [
1036
+ {
1037
+ src: "https://storecomponents.vtexassets.com/...",
1038
+ alt: "...",
1039
+ label: "...",
1040
+ value: "..."
1041
+ }
1042
+ ]
1043
+ }
1044
+ ```
1045
+ """
1046
+ scalar FormattedVariants
1047
+
1048
+ """Status used to indicate a message type. For instance, a shopping cart informative or error message."""
1049
+ enum StoreStatus {
1050
+ INFO
1051
+ WARNING
1052
+ ERROR
1053
+ }