@vtex/faststore 0.0.7 → 0.0.10

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 (498) hide show
  1. package/CHANGELOG.md +102 -0
  2. package/dist/actions.json +194 -1
  3. package/dist/catalog.json +3449 -1612
  4. package/dist/cli/index.d.ts +512 -63
  5. package/dist/cli/index.js +2098 -686
  6. package/dist/cli/index.js.map +1 -1
  7. package/dist/cli/server-runtime.js +44 -24
  8. package/dist/cli/server-runtime.js.map +1 -1
  9. package/dist/client.d.ts +5 -1
  10. package/dist/client.js +5 -1
  11. package/dist/components.d.ts +42 -10
  12. package/dist/components.js +47 -15
  13. package/dist/content-types.json +823 -0
  14. package/dist/core/dist/define-component.d.ts +12 -2
  15. package/dist/docs/account-access-gate.md +4 -4
  16. package/dist/docs/account-address-book.md +519 -0
  17. package/dist/docs/account-entry-point.md +5 -5
  18. package/dist/docs/account-menu.md +7 -7
  19. package/dist/docs/account-saved-cards.md +301 -0
  20. package/dist/docs/alert-dialog.md +2 -2
  21. package/dist/docs/billing-address.md +17 -9
  22. package/dist/docs/binding-switcher.md +154 -0
  23. package/dist/docs/card-entry.md +38 -7
  24. package/dist/docs/card-summary.md +175 -0
  25. package/dist/docs/cardholder-document.md +16 -14
  26. package/dist/docs/cart-destination.md +238 -0
  27. package/dist/docs/cart-item.md +22 -4
  28. package/dist/docs/cart-totalizer.md +1 -1
  29. package/dist/docs/cart.md +126 -19
  30. package/dist/docs/client-profile-fieldset.md +7 -5
  31. package/dist/docs/copy-text.md +84 -0
  32. package/dist/docs/document-field.md +8 -8
  33. package/dist/docs/footer-link-group.md +2 -2
  34. package/dist/docs/footer-social.md +1 -1
  35. package/dist/docs/free-shipping-progress.md +13 -9
  36. package/dist/docs/header-root.md +1 -1
  37. package/dist/docs/incentives.md +4 -4
  38. package/dist/docs/logo.md +6 -6
  39. package/dist/docs/my-account-profile.md +4 -4
  40. package/dist/docs/navigation-link-list.md +2 -2
  41. package/dist/docs/navigation-link.md +3 -3
  42. package/dist/docs/order-cancel.md +52 -0
  43. package/dist/docs/order-delivery-address.md +63 -0
  44. package/dist/docs/order-delivery-group.md +83 -0
  45. package/dist/docs/order-details-back.md +41 -0
  46. package/dist/docs/order-details-header.md +48 -0
  47. package/dist/docs/order-list-row.md +46 -0
  48. package/dist/docs/order-list-search.md +101 -0
  49. package/dist/docs/order-list-views.md +97 -0
  50. package/dist/docs/order-list.md +94 -0
  51. package/dist/docs/order-payment.md +94 -0
  52. package/dist/docs/order-placed-date.md +49 -0
  53. package/dist/docs/order-placed-payment-summary.md +13 -15
  54. package/dist/docs/order-placed.md +225 -0
  55. package/dist/docs/order-progress.md +88 -0
  56. package/dist/docs/order-status-badge.md +91 -0
  57. package/dist/docs/order-summary.md +53 -0
  58. package/dist/docs/payment-method-badges.md +16 -5
  59. package/dist/docs/payment-methods.md +1 -1
  60. package/dist/docs/place-order.md +13 -9
  61. package/dist/docs/product-information.md +2 -2
  62. package/dist/docs/product-shelf.md +7 -0
  63. package/dist/docs/saved-cards.md +2 -2
  64. package/dist/docs/select.md +22 -10
  65. package/dist/docs/session.md +1 -1
  66. package/dist/docs/shipping-address.md +1 -1
  67. package/dist/docs/sign-in-redirect.md +7 -7
  68. package/dist/docs/toast.md +35 -13
  69. package/dist/index.d.ts +7 -2
  70. package/dist/index.js +2 -1
  71. package/dist/internal/client.d.ts +9 -1
  72. package/dist/internal/client.js +10 -2
  73. package/dist/internal/server.d.ts +8 -2
  74. package/dist/internal/server.js +8 -2
  75. package/dist/matter/account-access-gate/account-access-gate.d.ts +2 -1
  76. package/dist/matter/account-access-gate/account-access-gate.js +19 -16
  77. package/dist/matter/account-access-gate/account-access-gate.js.map +1 -1
  78. package/dist/matter/account-address-book/account-address-book-delete.d.ts +60 -0
  79. package/dist/matter/account-address-book/account-address-book-delete.js +184 -0
  80. package/dist/matter/account-address-book/account-address-book-delete.js.map +1 -0
  81. package/dist/matter/account-address-book/account-address-book-deliverability.d.ts +19 -0
  82. package/dist/matter/account-address-book/account-address-book-deliverability.js +50 -0
  83. package/dist/matter/account-address-book/account-address-book-deliverability.js.map +1 -0
  84. package/dist/matter/account-address-book/account-address-book-form-parts.d.ts +42 -0
  85. package/dist/matter/account-address-book/account-address-book-form-parts.js +146 -0
  86. package/dist/matter/account-address-book/account-address-book-form-parts.js.map +1 -0
  87. package/dist/matter/account-address-book/account-address-book-profile-notice.d.ts +25 -0
  88. package/dist/matter/account-address-book/account-address-book-profile-notice.js +72 -0
  89. package/dist/matter/account-address-book/account-address-book-profile-notice.js.map +1 -0
  90. package/dist/matter/account-address-book/account-address-book.d.ts +120 -0
  91. package/dist/matter/account-address-book/account-address-book.js +469 -0
  92. package/dist/matter/account-address-book/account-address-book.js.map +1 -0
  93. package/dist/matter/account-address-book/account-address-country-switch.js +59 -0
  94. package/dist/matter/account-address-book/account-address-country-switch.js.map +1 -0
  95. package/dist/matter/account-address-book/account-address-country.d.ts +36 -0
  96. package/dist/matter/account-address-book/account-address-country.js +151 -0
  97. package/dist/matter/account-address-book/account-address-country.js.map +1 -0
  98. package/dist/matter/account-address-book/account-address-first-line.js +11 -0
  99. package/dist/matter/account-address-book/account-address-first-line.js.map +1 -0
  100. package/dist/matter/account-address-book/account-address-form-context.d.ts +55 -0
  101. package/dist/matter/account-address-book/account-address-form-context.js +14 -0
  102. package/dist/matter/account-address-book/account-address-form-context.js.map +1 -0
  103. package/dist/matter/account-address-book/account-address-form.d.ts +85 -0
  104. package/dist/matter/account-address-book/account-address-form.js +946 -0
  105. package/dist/matter/account-address-book/account-address-form.js.map +1 -0
  106. package/dist/matter/account-address-book/account-address-postal-autofill.js +189 -0
  107. package/dist/matter/account-address-book/account-address-postal-autofill.js.map +1 -0
  108. package/dist/matter/account-address-book/account-address-record.d.ts +26 -0
  109. package/dist/matter/account-address-book/account-address-record.js +138 -0
  110. package/dist/matter/account-address-book/account-address-record.js.map +1 -0
  111. package/dist/matter/account-entry-point/account-entry-point.js +11 -11
  112. package/dist/matter/account-entry-point/account-entry-point.js.map +1 -1
  113. package/dist/matter/account-menu/account-menu.d.ts +7 -3
  114. package/dist/matter/account-menu/account-menu.js +69 -28
  115. package/dist/matter/account-menu/account-menu.js.map +1 -1
  116. package/dist/matter/account-saved-cards/account-saved-cards.d.ts +383 -0
  117. package/dist/matter/account-saved-cards/account-saved-cards.js +956 -0
  118. package/dist/matter/account-saved-cards/account-saved-cards.js.map +1 -0
  119. package/dist/matter/billing-address/billing-address.d.ts +30 -17
  120. package/dist/matter/billing-address/billing-address.js +128 -33
  121. package/dist/matter/billing-address/billing-address.js.map +1 -1
  122. package/dist/matter/breadcrumb/breadcrumb.js +2 -2
  123. package/dist/matter/breadcrumb/breadcrumb.js.map +1 -1
  124. package/dist/matter/card-entry/card-capture.js +4 -3
  125. package/dist/matter/card-entry/card-capture.js.map +1 -1
  126. package/dist/matter/card-entry/card-entry.d.ts +5 -3
  127. package/dist/matter/card-entry/card-entry.js +77 -27
  128. package/dist/matter/card-entry/card-entry.js.map +1 -1
  129. package/dist/matter/cardholder-document/cardholder-document.d.ts +10 -9
  130. package/dist/matter/cardholder-document/cardholder-document.js +36 -16
  131. package/dist/matter/cardholder-document/cardholder-document.js.map +1 -1
  132. package/dist/matter/cart/cart-namespace.d.ts +5 -1
  133. package/dist/matter/cart/cart-namespace.js +5 -1
  134. package/dist/matter/cart/cart-namespace.js.map +1 -1
  135. package/dist/matter/cart/cart.d.ts +41 -6
  136. package/dist/matter/cart/cart.js +267 -54
  137. package/dist/matter/cart/cart.js.map +1 -1
  138. package/dist/matter/cart-destination/cart-destination.d.ts +222 -0
  139. package/dist/matter/cart-destination/cart-destination.js +613 -0
  140. package/dist/matter/cart-destination/cart-destination.js.map +1 -0
  141. package/dist/matter/cart-item/cart-item.d.ts +4 -2
  142. package/dist/matter/cart-item/cart-item.js +76 -17
  143. package/dist/matter/cart-item/cart-item.js.map +1 -1
  144. package/dist/matter/cart-totalizer/cart-totalizer.js +3 -2
  145. package/dist/matter/cart-totalizer/cart-totalizer.js.map +1 -1
  146. package/dist/matter/client-preferences/client-preferences-fieldset.js +1 -1
  147. package/dist/matter/client-profile-form/client-profile-fieldset.js +8 -5
  148. package/dist/matter/client-profile-form/client-profile-fieldset.js.map +1 -1
  149. package/dist/matter/free-shipping-progress/free-shipping-progress.d.ts +6 -3
  150. package/dist/matter/free-shipping-progress/free-shipping-progress.js +76 -33
  151. package/dist/matter/free-shipping-progress/free-shipping-progress.js.map +1 -1
  152. package/dist/matter/identity-edit/identity-edit.js +3 -3
  153. package/dist/matter/identity-edit/identity-edit.js.map +1 -1
  154. package/dist/matter/identity-summary/identity-summary.js +2 -2
  155. package/dist/matter/identity-summary/identity-summary.js.map +1 -1
  156. package/dist/matter/my-account-profile/my-account-profile.d.ts +3 -3
  157. package/dist/matter/my-account-profile/my-account-profile.js +4 -4
  158. package/dist/matter/my-account-profile/my-account-profile.js.map +1 -1
  159. package/dist/matter/order-cancel/order-cancel.d.ts +110 -0
  160. package/dist/matter/order-cancel/order-cancel.js +344 -0
  161. package/dist/matter/order-cancel/order-cancel.js.map +1 -0
  162. package/dist/matter/order-delivery-address/order-delivery-address.d.ts +73 -0
  163. package/dist/matter/order-delivery-address/order-delivery-address.js +172 -0
  164. package/dist/matter/order-delivery-address/order-delivery-address.js.map +1 -0
  165. package/dist/matter/order-delivery-group/order-delivery-group.d.ts +128 -0
  166. package/dist/matter/order-delivery-group/order-delivery-group.js +408 -0
  167. package/dist/matter/order-delivery-group/order-delivery-group.js.map +1 -0
  168. package/dist/matter/order-details-header/order-details-header.d.ts +104 -0
  169. package/dist/matter/order-details-header/order-details-header.js +190 -0
  170. package/dist/matter/order-details-header/order-details-header.js.map +1 -0
  171. package/dist/matter/order-list/customer-orders-filter.d.ts +12 -0
  172. package/dist/matter/order-list/customer-orders-filter.js +30 -0
  173. package/dist/matter/order-list/customer-orders-filter.js.map +1 -0
  174. package/dist/matter/order-list/order-list.d.ts +121 -0
  175. package/dist/matter/order-list/order-list.js +395 -0
  176. package/dist/matter/order-list/order-list.js.map +1 -0
  177. package/dist/matter/order-list-row/order-list-row.d.ts +44 -0
  178. package/dist/matter/order-list-row/order-list-row.js +127 -0
  179. package/dist/matter/order-list-row/order-list-row.js.map +1 -0
  180. package/dist/matter/order-list-search/order-list-search.d.ts +72 -0
  181. package/dist/matter/order-list-search/order-list-search.js +296 -0
  182. package/dist/matter/order-list-search/order-list-search.js.map +1 -0
  183. package/dist/matter/order-list-views/order-list-views.d.ts +65 -0
  184. package/dist/matter/order-list-views/order-list-views.js +154 -0
  185. package/dist/matter/order-list-views/order-list-views.js.map +1 -0
  186. package/dist/matter/order-payment/order-payment.d.ts +83 -0
  187. package/dist/matter/order-payment/order-payment.js +258 -0
  188. package/dist/matter/order-payment/order-payment.js.map +1 -0
  189. package/dist/matter/order-placed/order-placed-deliveries.d.ts +145 -0
  190. package/dist/matter/order-placed/order-placed-deliveries.js +380 -0
  191. package/dist/matter/order-placed/order-placed-deliveries.js.map +1 -0
  192. package/dist/matter/order-placed/order-placed.d.ts +122 -0
  193. package/dist/matter/order-placed/order-placed.js +452 -0
  194. package/dist/matter/order-placed/order-placed.js.map +1 -0
  195. package/dist/matter/order-placed-date/order-placed-date.d.ts +45 -0
  196. package/dist/matter/order-placed-date/order-placed-date.js +92 -0
  197. package/dist/matter/order-placed-date/order-placed-date.js.map +1 -0
  198. package/dist/matter/order-placed-payment-summary/order-placed-payment-summary.d.ts +5 -8
  199. package/dist/matter/order-placed-payment-summary/order-placed-payment-summary.js +29 -81
  200. package/dist/matter/order-placed-payment-summary/order-placed-payment-summary.js.map +1 -1
  201. package/dist/matter/order-progress/order-progress.d.ts +85 -0
  202. package/dist/matter/order-progress/order-progress.js +203 -0
  203. package/dist/matter/order-progress/order-progress.js.map +1 -0
  204. package/dist/matter/order-summary/order-summary.d.ts +81 -0
  205. package/dist/matter/order-summary/order-summary.js +192 -0
  206. package/dist/matter/order-summary/order-summary.js.map +1 -0
  207. package/dist/matter/payment/cardholder-document-rule.d.ts +35 -0
  208. package/dist/matter/payment/cardholder-document-rule.js +35 -0
  209. package/dist/matter/payment/cardholder-document-rule.js.map +1 -0
  210. package/dist/matter/payment/payment-card-capture.js +38 -23
  211. package/dist/matter/payment/payment-card-capture.js.map +1 -1
  212. package/dist/matter/payment/payment-controller.js +11 -0
  213. package/dist/matter/payment/payment-controller.js.map +1 -1
  214. package/dist/matter/payment/payment-method-badges.js +4 -2
  215. package/dist/matter/payment/payment-method-badges.js.map +1 -1
  216. package/dist/matter/payment/payment.js +11 -0
  217. package/dist/matter/payment/payment.js.map +1 -1
  218. package/dist/matter/payment/use-payment-method-selection.d.ts +39 -0
  219. package/dist/matter/payment/use-payment-method-selection.js +30 -2
  220. package/dist/matter/payment/use-payment-method-selection.js.map +1 -1
  221. package/dist/matter/payment/use-payment-submit-gate.d.ts +16 -2
  222. package/dist/matter/payment/use-payment-submit-gate.js +42 -14
  223. package/dist/matter/payment/use-payment-submit-gate.js.map +1 -1
  224. package/dist/matter/place-order/place-order.d.ts +12 -7
  225. package/dist/matter/place-order/place-order.js +126 -103
  226. package/dist/matter/place-order/place-order.js.map +1 -1
  227. package/dist/matter/pricing/pricing.js +5 -5
  228. package/dist/matter/pricing/pricing.js.map +1 -1
  229. package/dist/matter/product-shelf/product-shelf.d.ts +7 -0
  230. package/dist/matter/product-shelf/product-shelf.js +115 -1
  231. package/dist/matter/product-shelf/product-shelf.js.map +1 -1
  232. package/dist/matter/region/region.js +1 -1
  233. package/dist/matter/saved-cards/saved-cards.js +26 -15
  234. package/dist/matter/saved-cards/saved-cards.js.map +1 -1
  235. package/dist/matter/session/session.js +2 -2
  236. package/dist/matter/session/session.js.map +1 -1
  237. package/dist/matter/shipping-address/country-descriptors.d.ts +1 -0
  238. package/dist/matter/shipping-address/country-descriptors.js +23 -1
  239. package/dist/matter/shipping-address/country-descriptors.js.map +1 -1
  240. package/dist/matter/shipping-address/shipping-address.js +62 -14
  241. package/dist/matter/shipping-address/shipping-address.js.map +1 -1
  242. package/dist/matter/shipping-simulator/shipping-simulator.d.ts +2 -2
  243. package/dist/matter/shipping-simulator/shipping-simulator.js +6 -2
  244. package/dist/matter/shipping-simulator/shipping-simulator.js.map +1 -1
  245. package/dist/matter/sign-in-redirect/sign-in-redirect.js +48 -10
  246. package/dist/matter/sign-in-redirect/sign-in-redirect.js.map +1 -1
  247. package/dist/matter/variant-selector/variant-selector.js +2 -2
  248. package/dist/matter/variant-selector/variant-selector.js.map +1 -1
  249. package/dist/particles/address-summary/address-summary.js +2 -2
  250. package/dist/particles/address-summary/address-summary.js.map +1 -1
  251. package/dist/particles/alert-dialog/alert-dialog.d.ts +5 -1
  252. package/dist/particles/alert-dialog/alert-dialog.js +5 -2
  253. package/dist/particles/alert-dialog/alert-dialog.js.map +1 -1
  254. package/dist/particles/binding-switcher/binding-switcher.d.ts +38 -0
  255. package/dist/particles/binding-switcher/binding-switcher.js +183 -0
  256. package/dist/particles/binding-switcher/binding-switcher.js.map +1 -0
  257. package/dist/particles/card-summary/card-network.d.ts +17 -0
  258. package/dist/particles/card-summary/card-network.js +25 -0
  259. package/dist/particles/card-summary/card-network.js.map +1 -0
  260. package/dist/particles/card-summary/card-summary.d.ts +83 -0
  261. package/dist/particles/card-summary/card-summary.js +188 -0
  262. package/dist/particles/card-summary/card-summary.js.map +1 -0
  263. package/dist/particles/copy-text/copy-text.d.ts +28 -0
  264. package/dist/particles/copy-text/copy-text.js +140 -0
  265. package/dist/particles/copy-text/copy-text.js.map +1 -0
  266. package/dist/particles/document-field/document-field.d.ts +34 -5
  267. package/dist/particles/document-field/document-field.js +115 -19
  268. package/dist/particles/document-field/document-field.js.map +1 -1
  269. package/dist/particles/field/field.js +1 -1
  270. package/dist/particles/field/field.js.map +1 -1
  271. package/dist/particles/footer-link-group/footer-link-group.d.ts +6 -2
  272. package/dist/particles/footer-link-group/footer-link-group.js +18 -7
  273. package/dist/particles/footer-link-group/footer-link-group.js.map +1 -1
  274. package/dist/particles/footer-social/footer-social.d.ts +1 -1
  275. package/dist/particles/footer-social/footer-social.js +1 -1
  276. package/dist/particles/footer-social/footer-social.js.map +1 -1
  277. package/dist/particles/incentives/incentives.d.ts +7 -3
  278. package/dist/particles/incentives/incentives.js +8 -3
  279. package/dist/particles/incentives/incentives.js.map +1 -1
  280. package/dist/particles/logo/logo.d.ts +3 -2
  281. package/dist/particles/logo/logo.js +20 -8
  282. package/dist/particles/logo/logo.js.map +1 -1
  283. package/dist/particles/navigation-link/navigation-link.d.ts +2 -3
  284. package/dist/particles/navigation-link/navigation-link.js +4 -4
  285. package/dist/particles/navigation-link/navigation-link.js.map +1 -1
  286. package/dist/particles/navigation-link-list/navigation-link-list.d.ts +6 -2
  287. package/dist/particles/navigation-link-list/navigation-link-list.js +18 -7
  288. package/dist/particles/navigation-link-list/navigation-link-list.js.map +1 -1
  289. package/dist/particles/order-details-back/order-details-back.d.ts +28 -0
  290. package/dist/particles/order-details-back/order-details-back.js +52 -0
  291. package/dist/particles/order-details-back/order-details-back.js.map +1 -0
  292. package/dist/particles/order-status-badge/order-status-badge.d.ts +19 -0
  293. package/dist/particles/order-status-badge/order-status-badge.js +50 -0
  294. package/dist/particles/order-status-badge/order-status-badge.js.map +1 -0
  295. package/dist/particles/payment-methods/payment-methods.d.ts +1 -1
  296. package/dist/particles/payment-methods/payment-methods.js +1 -1
  297. package/dist/particles/payment-methods/payment-methods.js.map +1 -1
  298. package/dist/particles/phone-field/phone-field.js +2 -2
  299. package/dist/particles/phone-field/phone-field.js.map +1 -1
  300. package/dist/particles/select/select.js +6 -6
  301. package/dist/particles/select/select.js.map +1 -1
  302. package/dist/particles/toast/toast.d.ts +21 -7
  303. package/dist/particles/toast/toast.js +76 -8
  304. package/dist/particles/toast/toast.js.map +1 -1
  305. package/dist/schema.graphql +1376 -126
  306. package/dist/sdk/actions/address-action-provider.d.ts +16 -0
  307. package/dist/sdk/actions/address-action-provider.js +20 -0
  308. package/dist/sdk/actions/address-action-provider.js.map +1 -0
  309. package/dist/sdk/actions/analytics-action-provider.js +1 -1
  310. package/dist/sdk/actions/index.d.ts +5 -1
  311. package/dist/sdk/actions/index.js +5 -1
  312. package/dist/sdk/actions/locale-action-provider.d.ts +16 -0
  313. package/dist/sdk/actions/locale-action-provider.js +20 -0
  314. package/dist/sdk/actions/locale-action-provider.js.map +1 -0
  315. package/dist/sdk/actions/order-action-provider.d.ts +12 -0
  316. package/dist/sdk/actions/order-action-provider.js +16 -0
  317. package/dist/sdk/actions/order-action-provider.js.map +1 -0
  318. package/dist/sdk/actions/saved-card-action-provider.d.ts +12 -0
  319. package/dist/sdk/actions/saved-card-action-provider.js +16 -0
  320. package/dist/sdk/actions/saved-card-action-provider.js.map +1 -0
  321. package/dist/sdk/actions/types.d.ts +10 -2
  322. package/dist/sdk/address/address-fields.js +38 -0
  323. package/dist/sdk/address/address-fields.js.map +1 -0
  324. package/dist/sdk/address/checkout-readiness.js +17 -0
  325. package/dist/sdk/address/checkout-readiness.js.map +1 -0
  326. package/dist/sdk/address/constants.js +60 -0
  327. package/dist/sdk/address/constants.js.map +1 -0
  328. package/dist/sdk/address/country-display.js +19 -0
  329. package/dist/sdk/address/country-display.js.map +1 -0
  330. package/dist/sdk/address/country-rules.js +30 -0
  331. package/dist/sdk/address/country-rules.js.map +1 -0
  332. package/dist/sdk/address/format-address.js +18 -0
  333. package/dist/sdk/address/format-address.js.map +1 -0
  334. package/dist/sdk/address/iso-countries.js +262 -0
  335. package/dist/sdk/address/iso-countries.js.map +1 -0
  336. package/dist/sdk/address/layouts.js +56 -0
  337. package/dist/sdk/address/layouts.js.map +1 -0
  338. package/dist/sdk/address/messages.js +97 -0
  339. package/dist/sdk/address/messages.js.map +1 -0
  340. package/dist/sdk/address/operations.d.ts +54 -0
  341. package/dist/sdk/address/operations.js +83 -0
  342. package/dist/sdk/address/operations.js.map +1 -0
  343. package/dist/sdk/address/postal-code-lookup-operations.js +23 -0
  344. package/dist/sdk/address/postal-code-lookup-operations.js.map +1 -0
  345. package/dist/sdk/address/postal-code.js +11 -0
  346. package/dist/sdk/address/postal-code.js.map +1 -0
  347. package/dist/sdk/address/schema.js +14 -0
  348. package/dist/sdk/address/schema.js.map +1 -0
  349. package/dist/sdk/address/server-fields.js +25 -0
  350. package/dist/sdk/address/server-fields.js.map +1 -0
  351. package/dist/sdk/address/switch-country.js +57 -0
  352. package/dist/sdk/address/switch-country.js.map +1 -0
  353. package/dist/sdk/address/types.d.ts +26 -0
  354. package/dist/sdk/address/use-address-actions.d.ts +29 -0
  355. package/dist/sdk/address/use-address-actions.js +247 -0
  356. package/dist/sdk/address/use-address-actions.js.map +1 -0
  357. package/dist/sdk/address/use-address-by-postal-code.js +57 -0
  358. package/dist/sdk/address/use-address-by-postal-code.js.map +1 -0
  359. package/dist/sdk/address/validate-address.js +62 -0
  360. package/dist/sdk/address/validate-address.js.map +1 -0
  361. package/dist/sdk/cache/storefront-cache.js +30 -4
  362. package/dist/sdk/cache/storefront-cache.js.map +1 -1
  363. package/dist/sdk/cart/operations.d.ts +2 -1
  364. package/dist/sdk/cart/operations.js +55 -1
  365. package/dist/sdk/cart/operations.js.map +1 -1
  366. package/dist/sdk/cart/optimistic.d.ts +30 -7
  367. package/dist/sdk/cart/optimistic.js +78 -41
  368. package/dist/sdk/cart/optimistic.js.map +1 -1
  369. package/dist/sdk/cart/use-cart-actions.d.ts +7 -0
  370. package/dist/sdk/cart/use-cart-actions.js +61 -15
  371. package/dist/sdk/cart/use-cart-actions.js.map +1 -1
  372. package/dist/sdk/cart/use-cart-sync-sales-channel.js +70 -0
  373. package/dist/sdk/cart/use-cart-sync-sales-channel.js.map +1 -0
  374. package/dist/sdk/client/fetch-page-data.d.ts +11 -0
  375. package/dist/sdk/client/fetch-page-data.js +12 -1
  376. package/dist/sdk/client/fetch-page-data.js.map +1 -1
  377. package/dist/sdk/content/create-content-runtime.js +1 -8
  378. package/dist/sdk/content/create-content-runtime.js.map +1 -1
  379. package/dist/sdk/data/failed-fields.js +23 -0
  380. package/dist/sdk/data/failed-fields.js.map +1 -0
  381. package/dist/sdk/data/index.js +2 -2
  382. package/dist/sdk/data/page-reactive-data-root.d.ts +45 -7
  383. package/dist/sdk/data/page-reactive-data-root.js +88 -12
  384. package/dist/sdk/data/page-reactive-data-root.js.map +1 -1
  385. package/dist/sdk/data/reactive-list-item-data-provider.js +2 -2
  386. package/dist/sdk/generated/fragment-types.js +2 -0
  387. package/dist/sdk/generated/fragment-types.js.map +1 -1
  388. package/dist/sdk/generated/gql.js +17 -11
  389. package/dist/sdk/generated/gql.js.map +1 -1
  390. package/dist/sdk/generated/graphql.d.ts +185 -46
  391. package/dist/sdk/generated/graphql.js +2587 -155
  392. package/dist/sdk/generated/graphql.js.map +1 -1
  393. package/dist/sdk/i18n/messages/en-US.js +157 -1
  394. package/dist/sdk/i18n/messages/en-US.json +157 -1
  395. package/dist/sdk/i18n/messages/en-US.json.d.ts +156 -0
  396. package/dist/sdk/i18n/messages/es-ES.js +157 -1
  397. package/dist/sdk/i18n/messages/es-ES.json +157 -1
  398. package/dist/sdk/i18n/messages/pt-BR.js +157 -1
  399. package/dist/sdk/i18n/messages/pt-BR.json +157 -1
  400. package/dist/sdk/i18n/provider.js +1 -1
  401. package/dist/sdk/i18n/provider.js.map +1 -1
  402. package/dist/sdk/locale/binding-switch-provider.d.ts +13 -0
  403. package/dist/sdk/locale/binding-switch-provider.js +20 -0
  404. package/dist/sdk/locale/binding-switch-provider.js.map +1 -0
  405. package/dist/sdk/locale/use-locale-actions.d.ts +16 -0
  406. package/dist/sdk/locale/use-locale-actions.js +70 -0
  407. package/dist/sdk/locale/use-locale-actions.js.map +1 -0
  408. package/dist/sdk/navigation/binding-switch.d.ts +39 -0
  409. package/dist/sdk/navigation/binding-switch.js +129 -0
  410. package/dist/sdk/navigation/binding-switch.js.map +1 -0
  411. package/dist/sdk/navigation/current-page.js +30 -0
  412. package/dist/sdk/navigation/current-page.js.map +1 -0
  413. package/dist/sdk/navigation/decode-route-params.d.ts +11 -0
  414. package/dist/sdk/navigation/decode-route-params.js +32 -0
  415. package/dist/sdk/navigation/decode-route-params.js.map +1 -0
  416. package/dist/sdk/navigation/not-found-log.d.ts +28 -0
  417. package/dist/sdk/navigation/not-found-log.js +133 -0
  418. package/dist/sdk/navigation/not-found-log.js.map +1 -0
  419. package/dist/sdk/navigation/path.js +25 -0
  420. package/dist/sdk/navigation/path.js.map +1 -0
  421. package/dist/sdk/navigation/redirect.d.ts +11 -0
  422. package/dist/sdk/navigation/redirect.js +22 -0
  423. package/dist/sdk/navigation/redirect.js.map +1 -0
  424. package/dist/sdk/navigation/report.js +70 -0
  425. package/dist/sdk/navigation/report.js.map +1 -0
  426. package/dist/sdk/navigation/resolve-storefront-href.d.ts +12 -0
  427. package/dist/sdk/navigation/resolve-storefront-href.js +214 -0
  428. package/dist/sdk/navigation/resolve-storefront-href.js.map +1 -0
  429. package/dist/sdk/navigation/route-identity-provider.d.ts +11 -0
  430. package/dist/sdk/navigation/route-identity-provider.js +20 -0
  431. package/dist/sdk/navigation/route-identity-provider.js.map +1 -0
  432. package/dist/sdk/navigation/route-map-provider.d.ts +19 -0
  433. package/dist/sdk/navigation/route-map-provider.js +29 -0
  434. package/dist/sdk/navigation/route-map-provider.js.map +1 -0
  435. package/dist/sdk/navigation/storefront-link.d.ts +16 -0
  436. package/dist/sdk/navigation/storefront-link.js +66 -0
  437. package/dist/sdk/navigation/storefront-link.js.map +1 -0
  438. package/dist/sdk/navigation/types.d.ts +45 -0
  439. package/dist/sdk/navigation/use-storefront-navigation.d.ts +26 -0
  440. package/dist/sdk/navigation/use-storefront-navigation.js +73 -0
  441. package/dist/sdk/navigation/use-storefront-navigation.js.map +1 -0
  442. package/dist/sdk/navigation/use-storefront-route.d.ts +26 -0
  443. package/dist/sdk/navigation/use-storefront-route.js +87 -0
  444. package/dist/sdk/navigation/use-storefront-route.js.map +1 -0
  445. package/dist/sdk/navigation/use-storefront-search-params.d.ts +11 -0
  446. package/dist/sdk/navigation/use-storefront-search-params.js +16 -0
  447. package/dist/sdk/navigation/use-storefront-search-params.js.map +1 -0
  448. package/dist/sdk/orders/completion-badge.d.ts +8 -0
  449. package/dist/sdk/orders/completion-badge.js +47 -0
  450. package/dist/sdk/orders/completion-badge.js.map +1 -0
  451. package/dist/sdk/orders/order-operations.d.ts +19 -0
  452. package/dist/sdk/orders/order-operations.js +21 -0
  453. package/dist/sdk/orders/order-operations.js.map +1 -0
  454. package/dist/sdk/orders/use-order-actions.d.ts +23 -0
  455. package/dist/sdk/orders/use-order-actions.js +62 -0
  456. package/dist/sdk/orders/use-order-actions.js.map +1 -0
  457. package/dist/sdk/payment/gateway-origin.js +26 -13
  458. package/dist/sdk/payment/gateway-origin.js.map +1 -1
  459. package/dist/sdk/payment/gateway.d.ts +14 -2
  460. package/dist/sdk/payment/gateway.js +32 -14
  461. package/dist/sdk/payment/gateway.js.map +1 -1
  462. package/dist/sdk/payment/operations.js +11 -0
  463. package/dist/sdk/payment/operations.js.map +1 -1
  464. package/dist/sdk/payment/submission-registry.d.ts +2 -1
  465. package/dist/sdk/payment/submission-registry.js +12 -8
  466. package/dist/sdk/payment/submission-registry.js.map +1 -1
  467. package/dist/sdk/payment/use-payment-actions.d.ts +5 -3
  468. package/dist/sdk/payment/use-payment-actions.js +5 -2
  469. package/dist/sdk/payment/use-payment-actions.js.map +1 -1
  470. package/dist/sdk/payment/use-place-order.d.ts +6 -3
  471. package/dist/sdk/payment/use-place-order.js +333 -143
  472. package/dist/sdk/payment/use-place-order.js.map +1 -1
  473. package/dist/sdk/saved-cards/operations.d.ts +16 -0
  474. package/dist/sdk/saved-cards/operations.js +41 -0
  475. package/dist/sdk/saved-cards/operations.js.map +1 -0
  476. package/dist/sdk/saved-cards/use-saved-card-actions.d.ts +26 -0
  477. package/dist/sdk/saved-cards/use-saved-card-actions.js +86 -0
  478. package/dist/sdk/saved-cards/use-saved-card-actions.js.map +1 -0
  479. package/dist/sdk/seo/page-alternates.d.ts +57 -0
  480. package/dist/sdk/seo/page-alternates.js +127 -0
  481. package/dist/sdk/seo/page-alternates.js.map +1 -0
  482. package/dist/sdk/shipping/shipping-operations.d.ts +1 -1
  483. package/dist/sdk/shipping/shipping-operations.js +13 -0
  484. package/dist/sdk/shipping/shipping-operations.js.map +1 -1
  485. package/dist/sdk/state/cart.d.ts +9 -2
  486. package/dist/sdk/state/cart.js +9 -2
  487. package/dist/sdk/state/cart.js.map +1 -1
  488. package/dist/utils/own-value.js +19 -0
  489. package/dist/utils/own-value.js.map +1 -0
  490. package/dist/utils/safe-href.d.ts +4 -4
  491. package/dist/utils/safe-href.js +31 -22
  492. package/dist/utils/safe-href.js.map +1 -1
  493. package/package.json +5 -1
  494. package/skills/storefront-asset/SKILL.md +111 -0
  495. package/skills/storefront-asset/references/api-side.md +153 -0
  496. package/skills/storefront-asset/references/findings.md +40 -0
  497. package/skills/storefront-asset/references/ui-side.md +94 -0
  498. package/src/styles/tailwind.css +28 -2
@@ -403,6 +403,27 @@ extend type Query {
403
403
  ): Order
404
404
  }
405
405
 
406
+ extend type Query {
407
+ """
408
+ The fields a postal code resolves to. Needs no cart and no shopper. Null when
409
+ the platform does not know the code. A lookup that could not run is an error,
410
+ never null. A malformed argument is a BAD_USER_INPUT error and reaches no
411
+ upstream.
412
+ """
413
+ addressByPostalCode(
414
+ """
415
+ ISO 3166-1 alpha-3 code, such as `BRA`. Case and surrounding spaces are
416
+ ignored.
417
+ """
418
+ country: String!
419
+ """
420
+ The postal code, masked or not: letters, digits, spaces, and hyphens, up to
421
+ 20 characters.
422
+ """
423
+ postalCode: String!
424
+ ): PostalCodeAddress
425
+ }
426
+
406
427
  extend type Query {
407
428
  """Which authentication methods this account enables."""
408
429
  sessionAuthProviders: SessionAuthProviders!
@@ -427,6 +448,89 @@ extend type Query {
427
448
  nothing yet.
428
449
  """
429
450
  customerProfile: CustomerProfile
451
+ """
452
+ The signed-in shopper's saved addresses, in the order the profile returns
453
+ them. Takes no id: the identity comes from the session. Empty when the shopper
454
+ has none. Throws UNAUTHORIZED or UPSTREAM_ERROR (ADR-00007).
455
+ """
456
+ customerAddresses: [CustomerAddress!]!
457
+ """
458
+ The signed-in shopper's address book. Takes no id: the identity comes from the
459
+ session. Throws UNAUTHORIZED, or UPSTREAM_ERROR when `addresses` is selected
460
+ (ADR-00007).
461
+ """
462
+ customerAddressBook: CustomerAddressBook!
463
+ """
464
+ One of the signed-in shopper's saved addresses. Null when the id is malformed,
465
+ names another entity type, or is not one of this shopper's addresses; these
466
+ cases are indistinguishable.
467
+ """
468
+ customerAddress(
469
+ """The CustomerAddress global id, as returned by `customerAddresses`."""
470
+ id: ID!
471
+ ): CustomerAddress
472
+ }
473
+
474
+ extend type Query {
475
+ """
476
+ The countries the store ships to. Takes no arguments and needs no cart or
477
+ shopper. Null when the platform could not be read, with the reason in
478
+ `errors`; a consumer then knows no shipping country rather than none.
479
+ """
480
+ shippingCountries: ShippingCountries
481
+ }
482
+
483
+ extend type Query {
484
+ """
485
+ Read one order owned by the signed-in shopper. A missing or foreign order returns null.
486
+ """
487
+ customerOrder(
488
+ """Shopper-facing order number, or the global Node id of a CustomerOrder."""
489
+ id: ID!
490
+ ): CustomerOrder @cacheControl(maxAge: 0, scope: PRIVATE)
491
+ """One page of the signed-in shopper's orders."""
492
+ customerOrders(
493
+ """Page size. Must be 25."""
494
+ first: Int!
495
+ """Opaque resume cursor issued by this field."""
496
+ after: Cursor
497
+ """Not supported. The list is read forward from the route."""
498
+ last: Int
499
+ """Not supported. The list is read forward from the route."""
500
+ before: Cursor
501
+ """View, text, and placed-date range."""
502
+ filter: CustomerOrdersFilterInput
503
+ ): CustomerOrdersConnection! @cacheControl(maxAge: 0, scope: PRIVATE)
504
+ }
505
+
506
+ extend type Query {
507
+ """
508
+ The signed-in shopper's own saved cards. Takes no id — the identity comes from
509
+ the session. Resolves to the shopper's entity, with an empty list when no card
510
+ is saved. Null only when the read fails, alongside an UNAUTHORIZED,
511
+ UPSTREAM_ERROR, or UPSTREAM_TIMEOUT error at this path (ADR-00007), so the
512
+ failure does not null the rest of the operation.
513
+ """
514
+ customerSavedCards: CustomerSavedCards
515
+ }
516
+
517
+ extend type Query {
518
+ """
519
+ The credit-card networks the store accepts on the request's sales channel,
520
+ with their validation rules, for adding a saved card. Requires a signed-in
521
+ shopper. Null when the read fails, alongside an UNAUTHORIZED, UPSTREAM_ERROR,
522
+ UPSTREAM_TIMEOUT, or NO_CARD_NETWORKS error at this path (ADR-00007).
523
+ NO_CARD_NETWORKS means the store accepts no credit-card network on this
524
+ sales channel; the list is never empty.
525
+ """
526
+ savedCardNetworks: [CardNetworkRule!]
527
+ """
528
+ The signed-in shopper's saved addresses a new card can be billed to, in the
529
+ platform's order. Takes no id. Empty when none is saved. Null only when the
530
+ read fails, alongside an UNAUTHORIZED, UPSTREAM_ERROR, or UPSTREAM_TIMEOUT
531
+ error at this path.
532
+ """
533
+ customerSavedCardBillingAddresses: [CardBillingAddress!]
430
534
  }
431
535
 
432
536
  """
@@ -452,14 +556,14 @@ extend type Mutation {
452
556
  """Item details to add."""
453
557
  input: CartItemAddInput!
454
558
  ): CartItemAddPayload!
455
- """Remove an item from the cart entirely (sets quantity to 0)."""
559
+ """Remove a line from the cart entirely (sets quantity to 0)."""
456
560
  cartItemRemove(
457
561
  """Item to remove."""
458
562
  input: CartItemRemoveInput!
459
563
  ): CartItemRemovePayload!
460
564
  """
461
565
  Remove multiple items from the cart in a single upstream write (each line's
462
- quantity is set to 0). Tolerant: variants absent from the cart are skipped.
566
+ quantity is set to 0). Tolerant: lines absent from the cart are skipped.
463
567
  """
464
568
  cartItemsRemove(
465
569
  """Items to remove."""
@@ -503,6 +607,15 @@ extend type Mutation {
503
607
  context and is never created.
504
608
  """
505
609
  cartValidate: CartValidatePayload!
610
+ """
611
+ Move the active cart onto the request's sales channel, then reconcile its locale. Takes no
612
+ arguments: the cart is resolved from the request context and is never created. An empty cart, or
613
+ a cart already on the active channel, does not send `sc`. Otherwise one POST to `items/update`
614
+ with `sc` re-sends every item's index and current quantity, so Checkout reprocesses that order
615
+ form and drops lines the destination cannot sell. An upstream failure is reported in `userErrors`
616
+ and does not throw.
617
+ """
618
+ cartSalesChannelSync: CartSalesChannelSyncPayload!
506
619
  }
507
620
 
508
621
  extend type Mutation {
@@ -627,6 +740,58 @@ extend type Mutation {
627
740
  """The fields to write. Provide only what the shopper edited."""
628
741
  input: CustomerProfileUpdateInput!
629
742
  ): CustomerProfileUpdatePayload!
743
+ """
744
+ Save a new address for the signed-in shopper. The store must ship to the country, and the
745
+ country's rules must accept the fields. Refusals come back as `userErrors`.
746
+ """
747
+ customerAddressCreate(
748
+ """The address to save."""
749
+ input: CustomerAddressCreateInput!
750
+ ): CustomerAddressCreatePayload!
751
+ """
752
+ Change one of the signed-in shopper's saved addresses. The merged address is validated
753
+ against its stored country. Refusals come back as `userErrors`.
754
+ """
755
+ customerAddressUpdate(
756
+ """The CustomerAddress global id, as returned by `customerAddresses`."""
757
+ id: ID!
758
+ """The fields to change. Provide only what the shopper edited."""
759
+ input: CustomerAddressUpdateInput!
760
+ ): CustomerAddressUpdatePayload!
761
+ """
762
+ Remove one of the signed-in shopper's saved addresses. An address that is already gone
763
+ counts as removed.
764
+ """
765
+ customerAddressDelete(
766
+ """The CustomerAddress global id, as returned by `customerAddresses`."""
767
+ id: ID!
768
+ ): CustomerAddressDeletePayload!
769
+ }
770
+
771
+ extend type Mutation {
772
+ """
773
+ Request the cancellation of one order owned by the signed-in shopper. Checkout
774
+ records the request and OMS applies it afterwards, so the returned order can
775
+ still show the previous status.
776
+ """
777
+ customerOrderCancel(
778
+ """Shopper-facing order number."""
779
+ id: ID!
780
+ """The optional reason."""
781
+ input: CustomerOrderCancelInput!
782
+ ): CustomerOrderCancelPayload!
783
+ }
784
+
785
+ extend type Mutation {
786
+ """
787
+ Removes one of the signed-in shopper's saved cards, by the id the
788
+ customerSavedCards read returned. Returns the refreshed list on success.
789
+ Throws UNAUTHORIZED / UPSTREAM_ERROR / UPSTREAM_TIMEOUT (ADR-00007).
790
+ """
791
+ customerSavedCardRemove(
792
+ """The card's id, as customerSavedCards returned it."""
793
+ id: ID!
794
+ ): CustomerSavedCardRemovePayload!
630
795
  }
631
796
 
632
797
  """
@@ -1690,10 +1855,10 @@ type Cart implements Node @cacheControl(maxAge: 0, scope: PRIVATE) {
1690
1855
  freeShippingProgress: FreeShippingProgress
1691
1856
  """
1692
1857
  Non-null when the cart belongs to a different sales channel than the request's active context. The
1693
- cart is left exactly as it was: nothing here reprices it or removes an item. Converging it is a
1694
- write, and the first write that carries the active channel makes Checkout reprocess the same
1695
- orderForm — prices, promotions, coupons and logistics are recomputed and items not sellable in the
1696
- destination channel are removed by Checkout, while orderFormId, attachments and addresses survive.
1858
+ cart is left exactly as it was: nothing here reprices it or removes an item. Converging it is the
1859
+ `cartSalesChannelSync` write, and that write makes Checkout reprocess the same orderForm — prices,
1860
+ promotions, coupons and logistics are recomputed and items not sellable in the destination channel
1861
+ are removed by Checkout, while orderFormId, attachments and addresses survive.
1697
1862
  """
1698
1863
  salesChannelMismatch: CartSalesChannelMismatch
1699
1864
  }
@@ -1893,8 +2058,9 @@ own children (nested assemblies).
1893
2058
  """
1894
2059
  type CartItemComposition {
1895
2060
  """
1896
- Cart-scoped identifier for this child line (same opaque encoding as
1897
- CartItem.id). Cache key only; not independently mutable.
2061
+ Identifier for this child line, scoped to the cart's order form or to the
2062
+ order's group (same opaque encoding as CartItem.id). Cache key only; not
2063
+ independently mutable.
1898
2064
  """
1899
2065
  id: ID!
1900
2066
  """Display name as recorded on the order line."""
@@ -2097,30 +2263,32 @@ input CartItemAddInput {
2097
2263
  seller: ID = "U2VsbGVyOjE="
2098
2264
  }
2099
2265
 
2100
- """Input for removing an item from a cart."""
2266
+ """Input for removing a line from a cart."""
2101
2267
  input CartItemRemoveInput {
2102
- """The variant's global Node ID to remove."""
2103
- variantId: ID!
2268
+ """The line to remove: its `CartItem.lineId`."""
2269
+ lineId: String!
2104
2270
  }
2105
2271
 
2106
- """Input for removing multiple items from a cart in one call."""
2272
+ """Input for removing multiple lines from a cart in one call."""
2107
2273
  input CartItemsRemoveInput {
2108
- """The variants' global Node IDs to remove. Duplicates are collapsed."""
2109
- variantIds: [ID!]!
2274
+ """
2275
+ The lines to remove: their `CartItem.lineId` values. Duplicates are collapsed.
2276
+ """
2277
+ lineIds: [String!]!
2110
2278
  }
2111
2279
 
2112
- """Input for increasing the quantity of a cart item."""
2280
+ """Input for increasing the quantity of a cart line."""
2113
2281
  input CartItemQuantityIncreaseInput {
2114
- """The variant's global Node ID whose quantity to increase."""
2115
- variantId: ID!
2282
+ """The line whose quantity to increase: its `CartItem.lineId`."""
2283
+ lineId: String!
2116
2284
  """Amount to add to the current quantity. Defaults to 1."""
2117
2285
  quantityToAdd: Int = 1
2118
2286
  }
2119
2287
 
2120
- """Input for decreasing the quantity of a cart item."""
2288
+ """Input for decreasing the quantity of a cart line."""
2121
2289
  input CartItemQuantityDecreaseInput {
2122
- """The variant's global Node ID whose quantity to decrease."""
2123
- variantId: ID!
2290
+ """The line whose quantity to decrease: its `CartItem.lineId`."""
2291
+ lineId: String!
2124
2292
  """Amount to subtract from the current quantity. Defaults to 1."""
2125
2293
  quantityToRemove: Int = 1
2126
2294
  }
@@ -2155,26 +2323,24 @@ enum CartItemAddErrorCode {
2155
2323
  enum CartItemRemoveErrorCode {
2156
2324
  """No cart context was provided (x-order-form-id header/cookie)."""
2157
2325
  MISSING_CART_CONTEXT
2158
- """The specified variant was not found in the cart."""
2326
+ """The specified line was not found in the cart."""
2159
2327
  ITEM_NOT_FOUND
2160
2328
  """The cart was not found."""
2161
2329
  CART_NOT_FOUND
2162
- """The provided variant ID is not a valid Variant Node ID."""
2163
- INVALID_VARIANT_ID
2330
+ """The upstream checkout API returned an unusable response."""
2331
+ UPSTREAM_ERROR
2164
2332
  }
2165
2333
 
2166
2334
  """Error codes for cart items batch remove operations."""
2167
2335
  enum CartItemsRemoveErrorCode {
2168
2336
  """No cart context was provided (x-order-form-id header/cookie)."""
2169
2337
  MISSING_CART_CONTEXT
2170
- """None of the specified variants were found in the cart."""
2338
+ """None of the specified lines were found in the cart."""
2171
2339
  ITEM_NOT_FOUND
2172
2340
  """The cart was not found."""
2173
2341
  CART_NOT_FOUND
2174
- """A provided variant ID is not a valid Variant Node ID."""
2175
- INVALID_VARIANT_ID
2176
- """The input contained no variant IDs."""
2177
- NO_VARIANT_IDS_PROVIDED
2342
+ """The input contained no line IDs."""
2343
+ NO_LINE_IDS_PROVIDED
2178
2344
  """The upstream checkout API returned an unusable response."""
2179
2345
  UPSTREAM_ERROR
2180
2346
  }
@@ -2185,12 +2351,12 @@ enum CartItemQuantityIncreaseErrorCode {
2185
2351
  MISSING_CART_CONTEXT
2186
2352
  """The quantity must be a positive integer."""
2187
2353
  INVALID_QUANTITY
2188
- """The specified variant was not found in the cart."""
2354
+ """The specified line was not found in the cart."""
2189
2355
  ITEM_NOT_FOUND
2190
2356
  """The cart was not found."""
2191
2357
  CART_NOT_FOUND
2192
- """The provided variant ID is not a valid Variant Node ID."""
2193
- INVALID_VARIANT_ID
2358
+ """The upstream checkout API returned an unusable response."""
2359
+ UPSTREAM_ERROR
2194
2360
  }
2195
2361
 
2196
2362
  """Error codes for cart item quantity decrease operations."""
@@ -2199,12 +2365,12 @@ enum CartItemQuantityDecreaseErrorCode {
2199
2365
  MISSING_CART_CONTEXT
2200
2366
  """The quantity must be a positive integer."""
2201
2367
  INVALID_QUANTITY
2202
- """The specified variant was not found in the cart."""
2368
+ """The specified line was not found in the cart."""
2203
2369
  ITEM_NOT_FOUND
2204
2370
  """The cart was not found."""
2205
2371
  CART_NOT_FOUND
2206
- """The provided variant ID is not a valid Variant Node ID."""
2207
- INVALID_VARIANT_ID
2372
+ """The upstream checkout API returned an unusable response."""
2373
+ UPSTREAM_ERROR
2208
2374
  }
2209
2375
 
2210
2376
  """A domain error returned from a cart item add mutation."""
@@ -2297,6 +2463,11 @@ enum CartCouponApplyErrorCode {
2297
2463
  COUPON_NOT_FOUND
2298
2464
  """The coupon code has expired."""
2299
2465
  COUPON_EXPIRED
2466
+ """
2467
+ The code was rejected while another coupon was applied, and the applied coupons were kept. The
2468
+ platform does not say whether the code is unknown or cannot be combined with them.
2469
+ """
2470
+ COUPON_NOT_COMBINED
2300
2471
  }
2301
2472
 
2302
2473
  """Error codes for cart coupon remove operations."""
@@ -2373,6 +2544,44 @@ type CartValidatePayload {
2373
2544
  userErrors: [CartValidateError!]!
2374
2545
  }
2375
2546
 
2547
+ """Error codes for moving a cart onto the active sales channel."""
2548
+ enum CartSalesChannelSyncErrorCode {
2549
+ """No cart context was provided (x-order-form-id header/cookie)."""
2550
+ MISSING_CART_CONTEXT
2551
+ """The cart was not found."""
2552
+ CART_NOT_FOUND
2553
+ """
2554
+ The upstream checkout API could not be reached or returned an unusable response.
2555
+ """
2556
+ UPSTREAM_ERROR
2557
+ }
2558
+
2559
+ """A domain error returned from the cartSalesChannelSync mutation."""
2560
+ type CartSalesChannelSyncError {
2561
+ """Machine-readable error code."""
2562
+ code: CartSalesChannelSyncErrorCode!
2563
+ """Human-readable error message."""
2564
+ message: String!
2565
+ }
2566
+
2567
+ """
2568
+ Payload returned by the cartSalesChannelSync mutation.
2569
+
2570
+ The cart comes from the request context and is never created. An empty cart, or a cart already on
2571
+ the active sales channel, does not send `sc`. Otherwise one POST to `items/update` with `sc`
2572
+ re-sends every item's index and current quantity, so Checkout reprocesses that order form and drops
2573
+ lines the destination cannot sell, and then the locale is reconciled. An upstream failure is
2574
+ reported in `userErrors` and does not throw.
2575
+ """
2576
+ type CartSalesChannelSyncPayload {
2577
+ """
2578
+ The cart after the channel move and locale reconciliation, or null if errors occurred.
2579
+ """
2580
+ cart: Cart
2581
+ """Domain errors that occurred during the operation."""
2582
+ userErrors: [CartSalesChannelSyncError!]!
2583
+ }
2584
+
2376
2585
  """The delivery channel for a shipping option."""
2377
2586
  enum DeliveryChannel {
2378
2587
  """Home delivery."""
@@ -2492,6 +2701,10 @@ enum ShippingSimulateErrorCode {
2492
2701
  No active cart in context: the cartShippingSimulation query requires an x-order-form-id and never mints a cart.
2493
2702
  """
2494
2703
  MISSING_CART_CONTEXT
2704
+ """
2705
+ The country is not an ISO 3166-1 alpha-3 code (three capital letters). Refused before any upstream call.
2706
+ """
2707
+ INVALID_COUNTRY_CODE
2495
2708
  }
2496
2709
 
2497
2710
  """A domain error returned from the shippingSimulation query."""
@@ -2764,8 +2977,10 @@ input ShippingAddressUpdateInput {
2764
2977
  Saved address reference. Present when the shopper picked (and possibly edited) a saved address.
2765
2978
  """
2766
2979
  savedAddressId: ID
2767
- """Recipient name for the delivery address."""
2768
- recipientName: String!
2980
+ """
2981
+ Recipient name for the delivery address. Omit it for a destination-only write: the cart keeps its current recipient name. A blank string is rejected with MISSING_RECIPIENT_NAME.
2982
+ """
2983
+ recipientName: String
2769
2984
  """Postal code for the delivery address."""
2770
2985
  postalCode: String!
2771
2986
  """ISO 3166-1 alpha-3 country code (e.g. "BRA")."""
@@ -2798,6 +3013,10 @@ enum ShippingAddressUpdateErrorCode {
2798
3013
  INVALID_POSTAL_CODE
2799
3014
  """The address is invalid."""
2800
3015
  INVALID_ADDRESS
3016
+ """
3017
+ The country is not an ISO 3166-1 alpha-3 code (three capital letters). Refused before any upstream call.
3018
+ """
3019
+ INVALID_COUNTRY_CODE
2801
3020
  }
2802
3021
 
2803
3022
  """A domain error returned from a shipping address update mutation."""
@@ -2905,6 +3124,46 @@ type Payment implements Node @cacheControl(maxAge: 0, scope: PRIVATE) {
2905
3124
  Not sensitive — a BIN identifies an issuer range, never a card.
2906
3125
  """
2907
3126
  selectedBin: String
3127
+ """
3128
+ The store's country as an ISO 3166-1 alpha-3 code (e.g. "BRA"), read from the order form's
3129
+ store preferences. Null when the order form carries none or the value is not three capital
3130
+ letters. It is not limited to the countries in `countries`: a store in another country gets its
3131
+ own code and no table entry, and the API never substitutes another country's entry.
3132
+ """
3133
+ storeCountryCode: String
3134
+ """
3135
+ The countries the payment data supports and, per country, the cardholder document types it
3136
+ accepts. A fixed table, identical in every response and independent of the cart. Order: USA,
3137
+ BRA, CAN, MEX. Select the entry whose countryCode equals storeCountryCode.
3138
+ """
3139
+ countries: [PaymentCountry!]!
3140
+ }
3141
+
3142
+ """
3143
+ A country the payment data supports, with the cardholder document types it accepts. A
3144
+ non-normalized value object read directly off Payment.countries.
3145
+ """
3146
+ type PaymentCountry {
3147
+ """ISO 3166-1 alpha-3 country code (e.g. "BRA")."""
3148
+ countryCode: String!
3149
+ """
3150
+ The document types a cardholder of this country can give. Masks and validation rules are not
3151
+ carried: the client keys them on the document type.
3152
+ """
3153
+ documents: [PaymentCountryDocument!]!
3154
+ }
3155
+
3156
+ """
3157
+ One cardholder document type of a PaymentCountry, with whether it is shown and whether it is
3158
+ required. Values follow @vtex/country-forms 1.2.0 for an individual person.
3159
+ """
3160
+ type PaymentCountryDocument {
3161
+ """Document type id, lowercase (e.g. "cpf", "ssn", "sin", "rfc")."""
3162
+ type: String!
3163
+ """Whether the document field should be shown for this country."""
3164
+ displayable: Boolean!
3165
+ """Whether the document is required for this country."""
3166
+ required: Boolean!
2908
3167
  }
2909
3168
 
2910
3169
  """
@@ -2969,11 +3228,11 @@ type PaymentMethodValidator {
2969
3228
  """
2970
3229
  Whether a cardholder document field is displayable for this method. Distinct from documentRequired.
2971
3230
  """
2972
- documentDisplayable: Boolean!
3231
+ documentDisplayable: Boolean! @deprecated(reason: "The document type, mask and country come from Payment.countries. Storefront clients still read this flag as the merchant's per-method gate until a per-method replacement exists.")
2973
3232
  """
2974
3233
  Whether the displayed cardholder document is required. Distinct from documentDisplayable — a document can be shown without being mandatory.
2975
3234
  """
2976
- documentRequired: Boolean!
3235
+ documentRequired: Boolean! @deprecated(reason: "The document type, mask and country come from Payment.countries. Storefront clients still read this flag as the merchant's per-method gate until a per-method replacement exists.")
2977
3236
  }
2978
3237
 
2979
3238
  """
@@ -3215,6 +3474,10 @@ enum PaymentBillingAddressUpdateErrorCode {
3215
3474
  CART_NOT_FOUND
3216
3475
  """sameAsDelivery is false but postalCode or country was omitted."""
3217
3476
  MISSING_BILLING_ADDRESS_FIELDS
3477
+ """
3478
+ The country is not an ISO 3166-1 alpha-3 code (three capital letters). Refused before any upstream call.
3479
+ """
3480
+ INVALID_COUNTRY_CODE
3218
3481
  }
3219
3482
 
3220
3483
  """A domain error returned from the paymentBillingAddressUpdate mutation."""
@@ -3291,13 +3554,11 @@ type PaymentStartTransactionPayload {
3291
3554
  merchantName: String
3292
3555
  """
3293
3556
  Origin of the payment gateway this transaction must be paid at, e.g.
3294
- "https://mystore.vtexpayments.com.br" — the base the browser's
3295
- direct-to-gateway send-payments POST appends its own path to. Origin only:
3296
- VTEX's own receiver path is the split-payment endpoint, not the
3297
- per-transaction one. Always an https origin inside vtexpayments.com.br: an
3298
- upstream receiver URI that is neither is rejected in favour of the
3299
- account-derived origin, since this field decides where card data is sent.
3300
- Null if errors occurred.
3557
+ "https://mystore.vtexvault.com" — the base the browser's direct-to-gateway
3558
+ send-payments POST appends its own path to. Always `https://{account}.vtexvault.com`,
3559
+ derived from the request's account alone: no upstream field and no caller-supplied
3560
+ value is an input, since this field decides where card data is sent. Null when the
3561
+ account is not a single DNS label, and if errors occurred.
3301
3562
  """
3302
3563
  gatewayUrl: String
3303
3564
  """
@@ -3336,6 +3597,11 @@ succeeded.
3336
3597
  input PaymentGatewayCallbackInput {
3337
3598
  """The order group returned by paymentStartTransaction."""
3338
3599
  orderGroup: String!
3600
+ """
3601
+ The resume flag. False (the default) on the first pass; true when the shopper
3602
+ returns from the bank's challenge page, so the callback accepts the challenge.
3603
+ """
3604
+ acceptChallenges: Boolean = false
3339
3605
  }
3340
3606
 
3341
3607
  """
@@ -3350,7 +3616,7 @@ enum PaymentGatewayCallbackErrorCode {
3350
3616
  """
3351
3617
  MISSING_TRANSACTION_COOKIES
3352
3618
  """
3353
- VTEX requires a redirect or out-of-band flow to complete this payment. Phase 2; not supported in v1.
3619
+ VTEX answered 428: the payment needs a challenge step. When `redirectUrl` is set the shopper must be sent there; when it is null the challenge uses a mechanism this API does not hand over (for example a payment app).
3354
3620
  """
3355
3621
  REDIRECT_REQUIRED
3356
3622
  }
@@ -3369,6 +3635,10 @@ type PaymentGatewayCallbackPayload {
3369
3635
  The finalized order group, echoed back on success. Null if errors occurred.
3370
3636
  """
3371
3637
  orderId: String
3638
+ """
3639
+ The bank's challenge page; set only when VTEX answered 428 with a usable http(s) URL.
3640
+ """
3641
+ redirectUrl: String
3372
3642
  """Domain errors that occurred during the operation."""
3373
3643
  userErrors: [PaymentGatewayCallbackError!]!
3374
3644
  }
@@ -3385,8 +3655,9 @@ type OrderInstallment @cacheControl(maxAge: 0, scope: PRIVATE) {
3385
3655
  """Number of installments the order was charged in. 1 = single payment."""
3386
3656
  count: Int!
3387
3657
  """
3388
- Total charged across all installments, including any interest. Null when the
3389
- settled record carries no amount, or no currency to denominate it in.
3658
+ Total charged across all installments, including any interest, in the
3659
+ order's currency, or the request's when no seller order carries one, as the
3660
+ order's other amounts are. Null when the settled record carries no amount.
3390
3661
  """
3391
3662
  total: Money
3392
3663
  }
@@ -3403,115 +3674,364 @@ type Order implements Node @cacheControl(maxAge: 0, scope: PRIVATE) {
3403
3674
  """
3404
3675
  id: ID!
3405
3676
  """
3406
- Card network / payment-system display name (e.g. "Visa", or a non-card
3407
- method's own name such as "Boleto Bancário"). Null when the settled order
3408
- carries no payment record to project one from.
3677
+ The purchase's payment outcome, shared by its seller orders. The banner shows this one. UNKNOWN when
3678
+ the seller orders disagree.
3679
+ """
3680
+ status: OrderStatus!
3681
+ """
3682
+ The distinct payments of the purchase, each counted once across its seller orders. They follow the
3683
+ seller orders sorted by order id, and within a transaction the order the order system lists them
3684
+ in, which this API does not change. Empty when the order carries no payment.
3685
+ """
3686
+ payments: [OrderPayment!]!
3687
+ """
3688
+ Card network / payment-system display name of the first payment (e.g. "Visa", or a non-card
3689
+ method's own name such as "Boleto Bancário"). Kept for the payment recap; prefer payments. Null
3690
+ when the settled order carries no payment record to project one from.
3409
3691
  """
3410
3692
  network: String
3411
3693
  """
3412
- Last four digits of the card used, when the payment method was a card.
3694
+ Last four digits of the card used by the first payment, when the payment method was a card.
3413
3695
  Present for both a saved and a freshly-entered card — unlike Payment (T1),
3414
- where last four is a saved-card-only field. Null for a non-card method or
3415
- when no payment record exists to project one from.
3696
+ where last four is a saved-card-only field. Kept for the payment recap; prefer payments. Null for
3697
+ a non-card method or when no payment record exists to project one from.
3416
3698
  """
3417
3699
  lastFourDigits: String
3700
+ """Always null: the order system sends no card label."""
3701
+ label: String @deprecated(reason: "The order system sends no card label; always null.")
3418
3702
  """
3419
- Shopper-assigned custom label for the saved card used, when one was set.
3420
- Null for a freshly-entered (unsaved) card, a non-card method, or when no
3421
- payment record exists to project one from (see specs/order-read-model.md,
3422
- Decision 5).
3703
+ The installment plan of the first payment. Kept for the payment recap; prefer payments. Null when
3704
+ the settled record reports none.
3423
3705
  """
3424
- label: String
3706
+ installment: OrderInstallment
3425
3707
  """
3426
- The installment plan this order was charged in. Null when the settled record
3427
- reports none.
3708
+ Who bought, as the order recorded them at placement, not the live profile. Masked (e.g.
3709
+ "A*** S***") when personalDataVisible is false. Null when the order carries no profile.
3428
3710
  """
3429
- installment: OrderInstallment
3711
+ customer: OrderCustomer
3712
+ """
3713
+ Whether the order system returned the order's personal data unmasked: the customer, and the
3714
+ addresses, invoice and payment details it masks under the same verdict. False means masked, and is
3715
+ also the answer when the order system does not say.
3716
+ """
3717
+ personalDataVisible: Boolean!
3718
+ """
3719
+ The order group: the reference the shopper reads and support resolves. One per purchase, however
3720
+ many sellers.
3721
+ """
3722
+ reference: String!
3723
+ """
3724
+ When the purchase was placed: the earliest creation date across its seller orders. Null when none
3725
+ carries one.
3726
+ """
3727
+ placedAt: DateTime
3728
+ """
3729
+ What the purchase costs: the sum of its seller orders' totals. Null when a seller order has none.
3730
+ """
3731
+ total: Money
3732
+ """
3733
+ The purchase's money lines: each line summed across seller orders, keyed on (id, name).
3734
+ """
3735
+ totals: [CartTotalizer!]!
3736
+ """
3737
+ The purchase split by seller, one entry per seller order, sorted by orderId.
3738
+ """
3739
+ sellerOrders: [SellerOrder!]!
3740
+ """
3741
+ Every item of the purchase grouped by shipping method, channel and relative estimate, across
3742
+ sellers; SmartCheckout uses the same key within each seller order.
3743
+ """
3744
+ deliveries: [OrderDelivery!]!
3430
3745
  }
3431
3746
 
3432
3747
  """
3433
- The authentication methods an account enables, read before rendering a sign-in form.
3748
+ Items that arrive together: the same shipping method, channel and relative estimate.
3434
3749
  """
3435
- type SessionAuthProviders {
3436
- """Whether classic email and password sign-in is enabled."""
3437
- passwordAuthentication: Boolean!
3438
- """Whether email access-code (passwordless) sign-in is enabled."""
3439
- accessKeyAuthentication: Boolean!
3750
+ type OrderDelivery @cacheControl(maxAge: 0, scope: PRIVATE) {
3751
+ """Encoded from the grouping key and its scope, the order group."""
3752
+ id: ID!
3753
+ """
3754
+ The shipping method, as the shopper chose it: its name, channel and relative estimate. Its price
3755
+ is one line's; use price. Null when the order system omits the method or its estimate is
3756
+ unreadable.
3757
+ """
3758
+ shippingOption: OrderShippingOption
3759
+ """
3760
+ The group's dated promise: its latest line's, so it covers every item. Null when no line carries a
3761
+ date.
3762
+ """
3763
+ estimatedDate: DateTime
3764
+ """
3765
+ What the group's shipping cost: the sum of its lines' shipping prices. A line without a readable
3766
+ method adds zero, so with shippingOption null this zero is unknown, never free shipping.
3767
+ """
3768
+ price: Money!
3769
+ """
3770
+ What the group's shipping would have cost without discounts: the sum of its lines' list prices,
3771
+ read as price is.
3772
+ """
3773
+ listPrice: Money!
3774
+ """
3775
+ Where the group ships: its first line's address. The address is not part of the grouping key: the
3776
+ cart delivers to one address, so a group's lines share it. Each line's own is on
3777
+ items.deliveryAddress. Masked under personalDataVisible.
3778
+ """
3779
+ address: Address
3780
+ """
3781
+ The pickup point's name: its first line's. Null unless the group is picked up.
3782
+ """
3783
+ pickupPointName: String
3784
+ """The number of items in the group."""
3785
+ itemCount: Int!
3786
+ """The group's items, in the order of the seller orders."""
3787
+ items: [OrderItem!]!
3440
3788
  }
3441
3789
 
3442
3790
  """
3443
- A typed, expected failure of a login attempt. Distinct from the top-level
3444
- UNAUTHORIZED gate: this is a domain outcome (the request was understood, the
3445
- business rejected it), never an infrastructure failure.
3791
+ The shipping method the shopper chose, as the order recorded it. Read from the order, never from the
3792
+ cart.
3446
3793
  """
3447
- type SessionError {
3448
- """Machine-readable error code for the login-attempt failure."""
3449
- code: SessionErrorCode!
3450
- """Human-readable message describing the failure."""
3451
- message: String!
3452
- }
3453
-
3454
- """The set of login-attempt failure codes a session mutation can return."""
3455
- enum SessionErrorCode {
3456
- """Email or password was not accepted by VTEX ID."""
3457
- INVALID_CREDENTIALS
3458
- """The access code was wrong or expired."""
3459
- INVALID_ACCESS_CODE
3460
- """Too many access codes were requested for this email."""
3461
- ACCESS_CODE_SEND_LIMIT
3462
- """The user is blocked by VTEX ID."""
3463
- BLOCKED
3794
+ type OrderShippingOption @cacheControl(maxAge: 0, scope: PRIVATE) {
3795
+ """Encoded from the order group, the line's uniqueId and the SLA id."""
3796
+ id: ID!
3464
3797
  """
3465
- BFF-side guard: the request lacked the auth context it needed (e.g. a missing
3466
- authenticationToken). Not a VTEX outcome.
3798
+ The method's name, e.g. Motoboy. The SLA id when the order system sends no name.
3467
3799
  """
3468
- MISSING_AUTH_CONTEXT
3800
+ name: String!
3801
+ """Delivery channel: home delivery or pickup."""
3802
+ channel: DeliveryChannel!
3803
+ """The method's relative estimate, e.g. 7 business days."""
3804
+ shippingEstimate: ShippingEstimate!
3805
+ """What this line's shipping cost. Zero when free shipping applies."""
3806
+ price: Money!
3807
+ """What this line's shipping would have cost without discounts."""
3808
+ listPrice: Money!
3469
3809
  }
3470
3810
 
3471
3811
  """
3472
- The login / logout result, projected from the one refreshed order form. session,
3473
- cart, clientProfile and clientPreferences are normalized Relay Nodes (keyed on
3474
- the orderFormId) so Apollo merges them into the cache and the client updates
3475
- reactively with no refetch.
3812
+ The payment outcome of a settled order (PRD UQ-2), mapped from the order's Checkout workflow state.
3476
3813
  """
3477
- type SessionLoginPayload {
3478
- """The session after the attempt; loggedIn is true only on success."""
3479
- session: Session!
3480
- """The cart projected from the refreshed order form."""
3481
- cart: Cart!
3814
+ enum OrderStatus {
3815
+ """The payment was approved, or the order has moved past approval."""
3816
+ APPROVED
3817
+ """The payment is not decided yet, under anti-fraud review included."""
3818
+ PENDING
3819
+ """The payment was denied, or the order was cancelled."""
3820
+ DENIED
3821
+ """A state the page does not classify. It asserts no outcome."""
3822
+ UNKNOWN
3823
+ }
3824
+
3825
+ """One payment of a settled purchase. No id: it lives inside its Order."""
3826
+ type OrderPayment @cacheControl(maxAge: 0, scope: PRIVATE) {
3482
3827
  """
3483
- The client profile projected from the refreshed order form; the entity always
3484
- resolves, its fields are null when unset.
3828
+ Card network / payment-system display name, e.g. "Visa". Null when the order system sends none.
3485
3829
  """
3486
- clientProfile: ClientProfile!
3830
+ network: String
3487
3831
  """
3488
- The client preferences projected from the refreshed order form; the entity
3489
- always resolves, its fields are null when unset.
3832
+ Last four digits of the card, when the payment method was a card. Never the card number.
3490
3833
  """
3491
- clientPreferences: ClientPreferences!
3492
- """Typed login-attempt failures. Empty on success."""
3493
- userErrors: [SessionError!]!
3494
- }
3495
-
3496
- """The result of requesting an email access code."""
3497
- type SessionRequestAccessCodePayload {
3834
+ lastFourDigits: String
3498
3835
  """
3499
- Opaque token to hand back to sessionValidateAccessCode. Null when the request
3500
- failed.
3836
+ The installment plan of this payment. Null when the settled record reports none.
3501
3837
  """
3502
- authenticationToken: String
3503
- """Typed request failures. Empty on success."""
3504
- userErrors: [SessionError!]!
3505
- }
3506
-
3507
- """Credentials for a classic email + password sign-in."""
3508
- input SessionPasswordLoginInput {
3509
- """The shopper's email address."""
3510
- email: String!
3838
+ installment: OrderInstallment
3511
3839
  """
3512
- The shopper's password. Proxied to VTEX ID over TLS, never logged or persisted.
3840
+ What this payment charged, in full: never one instalment. Null only if the order system omits it,
3841
+ which it does not today.
3513
3842
  """
3514
- password: String!
3843
+ value: Money
3844
+ }
3845
+
3846
+ """One seller's part of a purchase: its own seller, totals and items."""
3847
+ type SellerOrder @cacheControl(maxAge: 0, scope: PRIVATE) {
3848
+ """Encoded from orderId."""
3849
+ id: ID!
3850
+ """The seller order's number, e.g. 1667094470146-01."""
3851
+ orderId: String!
3852
+ """
3853
+ The seller fulfilling this order. Null only when neither sellers nor any readable item names one.
3854
+ """
3855
+ seller: CartSellerRef
3856
+ """
3857
+ What this seller order costs. Null when the order system does not send it.
3858
+ """
3859
+ total: Money
3860
+ """This seller order's money lines. The cart's own totalizer type."""
3861
+ totals: [CartTotalizer!]!
3862
+ """
3863
+ Every line of this seller order. Children of a composition nest under their parent.
3864
+ """
3865
+ items: [OrderItem!]!
3866
+ }
3867
+
3868
+ """
3869
+ One purchased line of a settled order. The fields mean what they mean on CartItem.
3870
+ """
3871
+ type OrderItem @cacheControl(maxAge: 0, scope: PRIVATE) {
3872
+ """Encoded from the order group and the line's uniqueId."""
3873
+ id: ID!
3874
+ """
3875
+ The SKU as the cart shows it: name, image, seller, availability and variation.
3876
+ """
3877
+ variant: CartVariant!
3878
+ """
3879
+ The product the SKU belongs to: title, detail URL, categories and brand.
3880
+ """
3881
+ product: CartProduct!
3882
+ """How many units were bought."""
3883
+ quantity: Int!
3884
+ """The unit price at placement, before discounts."""
3885
+ price: Money!
3886
+ """Zero when the line had no list price."""
3887
+ listPrice: Money!
3888
+ """The unit price the shopper paid."""
3889
+ sellingPrice: Money!
3890
+ """The line's own total, as the cart computes it."""
3891
+ ownTotal: Money!
3892
+ """The line's own total plus its compositions'."""
3893
+ total: Money!
3894
+ """Whether the line is a gift."""
3895
+ gift: Boolean!
3896
+ """The featured promotions that discounted this line."""
3897
+ discounts: [CartItemDiscount!]!
3898
+ """The values the shopper entered for the line's input assemblies."""
3899
+ customizations: [CartItemCustomization!]!
3900
+ """The add-on services and bundle children nested under this line."""
3901
+ compositions: [CartItemComposition!]!
3902
+ """
3903
+ The shipping method the shopper chose for this line. Null when the order system omits it or its
3904
+ estimate is unreadable.
3905
+ """
3906
+ selectedShippingOption: OrderShippingOption
3907
+ """
3908
+ Where this line ships: the delivery address, or the pickup point's. Masked under
3909
+ personalDataVisible.
3910
+ """
3911
+ deliveryAddress: Address
3912
+ """
3913
+ The pickup point's name, e.g. "RJ - Botafogo Praia Shopping". Null unless the line is picked up.
3914
+ """
3915
+ pickupPointName: String
3916
+ """The dated promise. Null when the order system has not set one."""
3917
+ estimatedDeliveryDate: DateTime
3918
+ }
3919
+
3920
+ """
3921
+ The customer of a settled order, as the order recorded them at placement. The same fields as
3922
+ ClientProfile, which is the live order form's profile.
3923
+ """
3924
+ type OrderCustomer @cacheControl(maxAge: 0, scope: PRIVATE) {
3925
+ """Email address."""
3926
+ email: String
3927
+ """First name."""
3928
+ firstName: String
3929
+ """Last name."""
3930
+ lastName: String
3931
+ """Phone number."""
3932
+ phone: String
3933
+ """Identity document number."""
3934
+ document: String
3935
+ }
3936
+
3937
+ """
3938
+ The address fields a postal code resolves to. Each is null when the platform
3939
+ left it blank.
3940
+ """
3941
+ type PostalCodeAddress @cacheControl(maxAge: 0, scope: PRIVATE) {
3942
+ """The city, as the platform names it."""
3943
+ city: String
3944
+ """The state or region, as the platform codes it (`SP`, `NY`)."""
3945
+ state: String
3946
+ """The street. Null where the platform resolves codes to an area only."""
3947
+ street: String
3948
+ """The neighborhood. Null where the platform resolves none."""
3949
+ neighborhood: String
3950
+ }
3951
+
3952
+ """
3953
+ The authentication methods an account enables, read before rendering a sign-in form.
3954
+ """
3955
+ type SessionAuthProviders {
3956
+ """Whether classic email and password sign-in is enabled."""
3957
+ passwordAuthentication: Boolean!
3958
+ """Whether email access-code (passwordless) sign-in is enabled."""
3959
+ accessKeyAuthentication: Boolean!
3960
+ }
3961
+
3962
+ """
3963
+ A typed, expected failure of a login attempt. Distinct from the top-level
3964
+ UNAUTHORIZED gate: this is a domain outcome (the request was understood, the
3965
+ business rejected it), never an infrastructure failure.
3966
+ """
3967
+ type SessionError {
3968
+ """Machine-readable error code for the login-attempt failure."""
3969
+ code: SessionErrorCode!
3970
+ """Human-readable message describing the failure."""
3971
+ message: String!
3972
+ }
3973
+
3974
+ """The set of login-attempt failure codes a session mutation can return."""
3975
+ enum SessionErrorCode {
3976
+ """Email or password was not accepted by VTEX ID."""
3977
+ INVALID_CREDENTIALS
3978
+ """The access code was wrong or expired."""
3979
+ INVALID_ACCESS_CODE
3980
+ """Too many access codes were requested for this email."""
3981
+ ACCESS_CODE_SEND_LIMIT
3982
+ """The user is blocked by VTEX ID."""
3983
+ BLOCKED
3984
+ """
3985
+ BFF-side guard: the request lacked the auth context it needed (e.g. a missing
3986
+ authenticationToken). Not a VTEX outcome.
3987
+ """
3988
+ MISSING_AUTH_CONTEXT
3989
+ }
3990
+
3991
+ """
3992
+ The login / logout result, projected from the one refreshed order form. session,
3993
+ cart, clientProfile and clientPreferences are normalized Relay Nodes (keyed on
3994
+ the orderFormId) so Apollo merges them into the cache and the client updates
3995
+ reactively with no refetch.
3996
+ """
3997
+ type SessionLoginPayload {
3998
+ """The session after the attempt; loggedIn is true only on success."""
3999
+ session: Session!
4000
+ """The cart projected from the refreshed order form."""
4001
+ cart: Cart!
4002
+ """
4003
+ The client profile projected from the refreshed order form; the entity always
4004
+ resolves, its fields are null when unset.
4005
+ """
4006
+ clientProfile: ClientProfile!
4007
+ """
4008
+ The client preferences projected from the refreshed order form; the entity
4009
+ always resolves, its fields are null when unset.
4010
+ """
4011
+ clientPreferences: ClientPreferences!
4012
+ """Typed login-attempt failures. Empty on success."""
4013
+ userErrors: [SessionError!]!
4014
+ }
4015
+
4016
+ """The result of requesting an email access code."""
4017
+ type SessionRequestAccessCodePayload {
4018
+ """
4019
+ Opaque token to hand back to sessionValidateAccessCode. Null when the request
4020
+ failed.
4021
+ """
4022
+ authenticationToken: String
4023
+ """Typed request failures. Empty on success."""
4024
+ userErrors: [SessionError!]!
4025
+ }
4026
+
4027
+ """Credentials for a classic email + password sign-in."""
4028
+ input SessionPasswordLoginInput {
4029
+ """The shopper's email address."""
4030
+ email: String!
4031
+ """
4032
+ The shopper's password. Proxied to VTEX ID over TLS, never logged or persisted.
4033
+ """
4034
+ password: String!
3515
4035
  }
3516
4036
 
3517
4037
  """The email to send an access code to."""
@@ -3597,7 +4117,7 @@ type CustomerProfile @cacheControl(maxAge: 0, scope: PRIVATE) {
3597
4117
  """
3598
4118
  Stable identity for cache normalization. Not a Relay Node ID: the profile is
3599
4119
  session-scoped shopper state, derived from the session and never addressable
3600
- by a global id (no id argument, no Query.node entry — IDOR-safe).
4120
+ by a global id (no id argument, no CustomerProfile entry in Query.node).
3601
4121
  """
3602
4122
  id: ID!
3603
4123
  """Given name. Null when unset."""
@@ -3689,3 +4209,733 @@ type CustomerProfileUpdatePayload {
3689
4209
  """Typed, expected write failures. Empty on success."""
3690
4210
  userErrors: [CustomerProfileError!]!
3691
4211
  }
4212
+
4213
+ """
4214
+ An address the shopper saved to their account. Read from the shopper's own
4215
+ profile, never through a cart. Every field it shares with checkout's Address is
4216
+ spelled the same way.
4217
+ """
4218
+ type CustomerAddress implements Node @cacheControl(maxAge: 0, scope: PRIVATE) {
4219
+ """
4220
+ Global id. Resolves through Query.node only inside the signed-in shopper's own
4221
+ addresses; any other id resolves to null.
4222
+ """
4223
+ id: ID!
4224
+ """
4225
+ ISO 3166-1 alpha-3 country code, as stored. Null when the stored address has
4226
+ none, as an address another system wrote can; it is listed so the shopper can
4227
+ still see and remove it.
4228
+ """
4229
+ country: String
4230
+ """Who receives deliveries at this address. Null when unset."""
4231
+ recipientName: String
4232
+ """Street name. Null when unset."""
4233
+ street: String
4234
+ """Street number. Null when unset."""
4235
+ number: String
4236
+ """Additional address detail (apartment, suite, etc.). Null when unset."""
4237
+ complement: String
4238
+ """Neighborhood or district. Null when unset."""
4239
+ neighborhood: String
4240
+ """City. Null when unset."""
4241
+ city: String
4242
+ """State or province code. Null when unset."""
4243
+ state: String
4244
+ """Postal code, as stored. Null when unset."""
4245
+ postalCode: String
4246
+ """A landmark that helps find the address. Null when unset."""
4247
+ reference: String
4248
+ }
4249
+
4250
+ """
4251
+ The signed-in shopper's saved addresses, held in one object so a client can cache
4252
+ and subscribe to the list. It takes no argument and reads only the shopper's own
4253
+ list. Not resolvable through Query.node.
4254
+ """
4255
+ type CustomerAddressBook @cacheControl(maxAge: 0, scope: PRIVATE) {
4256
+ """
4257
+ Stable identity for cache normalization, the same for every request of the
4258
+ shopper. Not a Relay Node ID.
4259
+ """
4260
+ id: ID!
4261
+ """
4262
+ Every saved address, the same list `customerAddresses` returns. Empty when the
4263
+ shopper has none.
4264
+ """
4265
+ addresses: [CustomerAddress!]!
4266
+ }
4267
+
4268
+ """
4269
+ A new saved address. `country` is required; every other field is optional to the
4270
+ schema, and the country's rules say which ones it needs. A field that is omitted,
4271
+ `null`, or an empty string is not written.
4272
+ """
4273
+ input CustomerAddressCreateInput {
4274
+ """
4275
+ ISO 3166-1 alpha-3 country code. The store must ship to it. Trimmed and upper-cased.
4276
+ """
4277
+ country: String!
4278
+ """Who receives deliveries at this address."""
4279
+ recipientName: String
4280
+ """Street name."""
4281
+ street: String
4282
+ """Street number."""
4283
+ number: String
4284
+ """Additional address detail (apartment, suite, etc.)."""
4285
+ complement: String
4286
+ """Neighborhood or district."""
4287
+ neighborhood: String
4288
+ """City."""
4289
+ city: String
4290
+ """State or province code."""
4291
+ state: String
4292
+ """Postal code. Stored in the country's masked form once it is valid."""
4293
+ postalCode: String
4294
+ """A landmark that helps find the address."""
4295
+ reference: String
4296
+ }
4297
+
4298
+ """
4299
+ Changes to a saved address. Omit a field, or send `null`, to keep it; send an empty
4300
+ string to erase it. The country cannot change.
4301
+ """
4302
+ input CustomerAddressUpdateInput {
4303
+ """
4304
+ Who receives deliveries at this address. Omit to leave unchanged; empty string to erase.
4305
+ """
4306
+ recipientName: String
4307
+ """Street name. Omit to leave unchanged; empty string to erase."""
4308
+ street: String
4309
+ """Street number. Omit to leave unchanged; empty string to erase."""
4310
+ number: String
4311
+ """
4312
+ Additional address detail (apartment, suite, etc.). Omit to leave unchanged; empty string to erase.
4313
+ """
4314
+ complement: String
4315
+ """
4316
+ Neighborhood or district. Omit to leave unchanged; empty string to erase.
4317
+ """
4318
+ neighborhood: String
4319
+ """City. Omit to leave unchanged; empty string to erase."""
4320
+ city: String
4321
+ """
4322
+ State or province code. Omit to leave unchanged; empty string to erase.
4323
+ """
4324
+ state: String
4325
+ """
4326
+ Postal code. Omit to leave unchanged; empty string to erase. Stored in the country's masked form once it is valid.
4327
+ """
4328
+ postalCode: String
4329
+ """
4330
+ A landmark that helps find the address. Omit to leave unchanged; empty string to erase.
4331
+ """
4332
+ reference: String
4333
+ }
4334
+
4335
+ """
4336
+ A typed, expected failure of an address write, or of the lookup that precedes it.
4337
+ """
4338
+ type CustomerAddressError {
4339
+ """Machine-readable code for the failure."""
4340
+ code: CustomerAddressErrorCode!
4341
+ """
4342
+ A safe, fixed message. Never echoes a submitted value, an id, or a key.
4343
+ """
4344
+ message: String!
4345
+ """
4346
+ The field the failure is about. Null when it is about the address as a whole.
4347
+ """
4348
+ field: CustomerAddressField
4349
+ }
4350
+
4351
+ """The set of expected, typed address-write failure codes."""
4352
+ enum CustomerAddressErrorCode {
4353
+ """
4354
+ The id is malformed, names another entity type, or is not one of the shopper's saved
4355
+ addresses. These cases are indistinguishable.
4356
+ """
4357
+ NOT_FOUND
4358
+ """The country's rules require this field and it is empty."""
4359
+ MISSING_REQUIRED_FIELD
4360
+ """
4361
+ The value is not accepted: a bad format, a value outside the country's options, a value
4362
+ that is too long, or a country that is not three letters. With no field, the profile
4363
+ service refused the address and does not say why.
4364
+ """
4365
+ INVALID_VALUE
4366
+ """The store does not ship to the country."""
4367
+ UNSUPPORTED_COUNTRY
4368
+ }
4369
+
4370
+ """The address field a failure is about."""
4371
+ enum CustomerAddressField {
4372
+ """The `country` field."""
4373
+ COUNTRY
4374
+ """The `recipientName` field."""
4375
+ RECIPIENT_NAME
4376
+ """The `street` field."""
4377
+ STREET
4378
+ """The `number` field."""
4379
+ NUMBER
4380
+ """The `complement` field."""
4381
+ COMPLEMENT
4382
+ """The `neighborhood` field."""
4383
+ NEIGHBORHOOD
4384
+ """The `city` field."""
4385
+ CITY
4386
+ """The `state` field."""
4387
+ STATE
4388
+ """The `postalCode` field."""
4389
+ POSTAL_CODE
4390
+ """The `reference` field."""
4391
+ REFERENCE
4392
+ }
4393
+
4394
+ """The result of creating a saved address."""
4395
+ type CustomerAddressCreatePayload {
4396
+ """The address as written. Null when `userErrors` is not empty."""
4397
+ customerAddress: CustomerAddress
4398
+ """Typed, expected failures, one per refused field. Empty on success."""
4399
+ userErrors: [CustomerAddressError!]!
4400
+ }
4401
+
4402
+ """The result of updating a saved address."""
4403
+ type CustomerAddressUpdatePayload {
4404
+ """
4405
+ The address as written, or as stored when the input provided no field. Null when
4406
+ `userErrors` is not empty.
4407
+ """
4408
+ customerAddress: CustomerAddress
4409
+ """Typed, expected failures, one per refused field. Empty on success."""
4410
+ userErrors: [CustomerAddressError!]!
4411
+ }
4412
+
4413
+ """The result of deleting a saved address."""
4414
+ type CustomerAddressDeletePayload {
4415
+ """
4416
+ The id of the deleted address, to evict it from a client cache. Null when `userErrors`
4417
+ is not empty.
4418
+ """
4419
+ deletedCustomerAddressId: ID
4420
+ """Typed, expected failures. Empty on success."""
4421
+ userErrors: [CustomerAddressError!]!
4422
+ }
4423
+
4424
+ """
4425
+ The countries the store ships to, read from the platform's freight
4426
+ configuration. Store-level and identical for every shopper.
4427
+ """
4428
+ type ShippingCountries @cacheControl(maxAge: 3600, scope: PUBLIC) {
4429
+ """
4430
+ ISO 3166-1 alpha-3 codes, upper-case, without duplicates, in the order the
4431
+ platform lists them. Never empty: when the freight configuration declares no
4432
+ country, this holds the sales channel's country and `source` says so.
4433
+ """
4434
+ countries: [String!]!
4435
+ """
4436
+ Where `countries` came from. A consumer that judges an address against the
4437
+ list must not do so when this is `SALES_CHANNEL_FALLBACK`.
4438
+ """
4439
+ source: ShippingCountriesSource!
4440
+ }
4441
+
4442
+ """The origin of a shipping-country list."""
4443
+ enum ShippingCountriesSource {
4444
+ """The store's freight configuration declares these countries."""
4445
+ PLATFORM
4446
+ """
4447
+ The freight configuration declares none, so the list is the sales channel's
4448
+ country alone. It is a guess, not a declared delivery area.
4449
+ """
4450
+ SALES_CHANNEL_FALLBACK
4451
+ }
4452
+
4453
+ """A placed order owned by the signed-in shopper."""
4454
+ type CustomerOrder implements Node @cacheControl(maxAge: 0, scope: PRIVATE) {
4455
+ """Global Node id. Refetch it with `node` or `customerOrder`."""
4456
+ id: ID!
4457
+ """
4458
+ Shopper-facing order number. The same value the list carries as its `id`.
4459
+ """
4460
+ orderNumber: String!
4461
+ """Raw OMS status code."""
4462
+ status: String!
4463
+ """Whether OMS currently permits whole-order cancellation."""
4464
+ allowCancellation: Boolean!
4465
+ """Timestamp when the order was placed."""
4466
+ placedAt: DateTime
4467
+ """Grand total recorded on the order."""
4468
+ total: Money!
4469
+ """Itemized totals recorded on the order."""
4470
+ totals: [CustomerOrderTotal!]!
4471
+ """Product lines recorded on the order."""
4472
+ items: [CustomerOrderItem!]!
4473
+ """Product lines grouped by their selected delivery option."""
4474
+ deliveryOptions: [CustomerOrderDeliveryOption!]!
4475
+ """Payments recorded on active and historical transactions."""
4476
+ payments: [CustomerOrderPayment!]!
4477
+ """Whether every package has a recorded delivery confirmation."""
4478
+ isAllDelivered: Boolean
4479
+ """Earliest estimated delivery timestamp."""
4480
+ shippingEstimatedDateMin: DateTime
4481
+ """Latest estimated delivery timestamp."""
4482
+ shippingEstimatedDateMax: DateTime
4483
+ """Timestamp when the order was invoiced."""
4484
+ invoiceDate: DateTime
4485
+ """
4486
+ Order delivery channel. The order-level value when OMS supplies it, otherwise
4487
+ the channel every logistics entry agrees on. Null when those entries differ.
4488
+ """
4489
+ selectedDeliveryChannel: String
4490
+ """
4491
+ Completion resolved once for this order, with the inputs the single-order payload carries. The list also passes courierStatusFinished, which this payload does not.
4492
+ """
4493
+ completion: CustomerOrderCompletion!
4494
+ """The progress stage this order is in."""
4495
+ progress: CustomerOrderProgress!
4496
+ }
4497
+
4498
+ """
4499
+ One of the four progress stages a shopper sees. Approval is not a stage.
4500
+ """
4501
+ enum CustomerOrderProgressStage {
4502
+ """The order was placed and payment has not started."""
4503
+ PLACED
4504
+ """Payment is pending, awaiting authorization, or denied."""
4505
+ PAYMENT
4506
+ """Payment was approved and the order is being prepared."""
4507
+ PROCESSING
4508
+ """The order was invoiced and is on its way or ready for pickup."""
4509
+ SHIPPING
4510
+ }
4511
+
4512
+ """Progress stage resolved once for one order."""
4513
+ type CustomerOrderProgress {
4514
+ """The stage the order is in. A cancelled order stays on PAYMENT."""
4515
+ stage: CustomerOrderProgressStage!
4516
+ """True when payment was denied or the order was cancelled."""
4517
+ paymentFailed: Boolean!
4518
+ """True when the order is cancelled or a cancellation was requested."""
4519
+ cancelled: Boolean!
4520
+ }
4521
+
4522
+ """One total line recorded on a placed order."""
4523
+ type CustomerOrderTotal {
4524
+ """Stable total category code."""
4525
+ id: String!
4526
+ """Upstream total name."""
4527
+ name: String!
4528
+ """Monetary value of this total line."""
4529
+ value: Money!
4530
+ }
4531
+
4532
+ """One product line recorded on a placed order."""
4533
+ type CustomerOrderItem {
4534
+ """Stable line identifier within the order."""
4535
+ id: ID!
4536
+ """Product name recorded at purchase time."""
4537
+ name: String!
4538
+ """Purchased quantity."""
4539
+ quantity: Int!
4540
+ """Product image recorded at purchase time."""
4541
+ image: Image
4542
+ """Base unit price recorded on the line."""
4543
+ price: Money
4544
+ """Unit list price recorded on the line."""
4545
+ listPrice: Money
4546
+ """Effective unit selling price recorded on the line."""
4547
+ sellingPrice: Money
4548
+ """
4549
+ Line total from the recorded selling price and quantity. Null when that price is absent.
4550
+ """
4551
+ total: Money
4552
+ """
4553
+ Tax recorded on the line. Null when OMS omitted it. A recorded zero is kept.
4554
+ """
4555
+ tax: Money
4556
+ """Custom values recorded on the line."""
4557
+ customFields: [CustomerOrderItemCustomField!]!
4558
+ }
4559
+
4560
+ """A custom value recorded on an order line."""
4561
+ type CustomerOrderItemCustomField {
4562
+ """Custom field name."""
4563
+ name: String!
4564
+ """Custom field value as recorded on the order."""
4565
+ value: String!
4566
+ }
4567
+
4568
+ """Products that share one selected delivery option."""
4569
+ type CustomerOrderDeliveryOption {
4570
+ """Selected service-level agreement name."""
4571
+ selectedSla: String
4572
+ """Address identifier recorded by OMS."""
4573
+ addressId: String
4574
+ """Delivery or pickup channel."""
4575
+ deliveryChannel: String
4576
+ """Estimated delivery timestamp for this option."""
4577
+ shippingEstimateDate: DateTime
4578
+ """Historical address recorded on the order."""
4579
+ address: CustomerOrderAddress
4580
+ """Product lines assigned to this option."""
4581
+ items: [CustomerOrderItem!]!
4582
+ }
4583
+
4584
+ """Historical delivery address recorded on an order."""
4585
+ type CustomerOrderAddress {
4586
+ """Recipient name."""
4587
+ receiverName: String
4588
+ """Postal code."""
4589
+ postalCode: String
4590
+ """City."""
4591
+ city: String
4592
+ """State or region."""
4593
+ state: String
4594
+ """ISO country code."""
4595
+ country: String
4596
+ """Street."""
4597
+ street: String
4598
+ """Street number."""
4599
+ number: String
4600
+ """Neighborhood."""
4601
+ neighborhood: String
4602
+ """Address complement."""
4603
+ complement: String
4604
+ """Address reference."""
4605
+ reference: String
4606
+ }
4607
+
4608
+ """One payment recorded on a placed order."""
4609
+ type CustomerOrderPayment {
4610
+ """Shopper-facing payment method name."""
4611
+ methodName: String
4612
+ """
4613
+ Last four digits recorded on the payment. Null when OMS omitted them or sent a blank.
4614
+ """
4615
+ lastDigits: String
4616
+ """Amount charged through this payment."""
4617
+ amount: Money!
4618
+ """Number of installments."""
4619
+ installments: Int
4620
+ """Gift-card redemption code when this payment used one."""
4621
+ redemptionCode: String
4622
+ """Bank-invoice number already recorded on the payment."""
4623
+ bankInvoiceNumber: String
4624
+ """Existing bank-invoice print URL."""
4625
+ bankInvoicePrintUrl: URI
4626
+ }
4627
+
4628
+ """Which slice of the shopper's orders to read."""
4629
+ enum CustomerOrdersView {
4630
+ """Every order in the narrowed route result."""
4631
+ ALL
4632
+ """Orders the completion rule places in ongoing."""
4633
+ ONGOING
4634
+ """Orders the completion rule places in completed."""
4635
+ COMPLETED
4636
+ """Orders the completion rule places in cancelled."""
4637
+ CANCELLED
4638
+ }
4639
+
4640
+ """The view resolved for one list order."""
4641
+ enum CustomerOrderCompletionView {
4642
+ """The order is still open."""
4643
+ ONGOING
4644
+ """The order has reached the shopper, or the shipment window has passed."""
4645
+ COMPLETED
4646
+ """The cancellation has finished."""
4647
+ CANCELLED
4648
+ }
4649
+
4650
+ """Label id for the catalogue. The catalogue owns the sentence."""
4651
+ enum CustomerOrderCompletionLabel {
4652
+ """A finished cancellation."""
4653
+ CANCELLED
4654
+ """A cancellation that was requested and has not finished."""
4655
+ CANCELLATION_REQUESTED
4656
+ """An order that is not yet shipped."""
4657
+ IN_PROGRESS
4658
+ """Delivery was confirmed."""
4659
+ DELIVERED
4660
+ """Shipped, or completed from the estimate or the invoice period."""
4661
+ SHIPPED
4662
+ """Ready for the shopper to collect."""
4663
+ READY_FOR_PICKUP
4664
+ """Pickup collection was confirmed."""
4665
+ COLLECTED
4666
+ }
4667
+
4668
+ """View and label resolved once for one list order."""
4669
+ type CustomerOrderCompletion {
4670
+ """The view this order belongs to."""
4671
+ view: CustomerOrderCompletionView!
4672
+ """The catalogue label id."""
4673
+ label: CustomerOrderCompletionLabel!
4674
+ }
4675
+
4676
+ """One order on the shopper's list. The detail document is CustomerOrder."""
4677
+ type CustomerOrderListItem {
4678
+ """Shopper-facing order number. Pass this value to customerOrder."""
4679
+ id: ID!
4680
+ """Raw OMS status code. Empty when the list entry omits it."""
4681
+ status: String!
4682
+ """When the order was placed."""
4683
+ placedAt: DateTime
4684
+ """
4685
+ Grand total. Null when the list entry omits the value or the currency code.
4686
+ """
4687
+ total: Money
4688
+ """Sum of line quantities. Null when the list entry omits it."""
4689
+ itemCount: Int
4690
+ """Completion resolved once for this order."""
4691
+ completion: CustomerOrderCompletion!
4692
+ """Whether every package has a recorded delivery confirmation."""
4693
+ isAllDelivered: Boolean
4694
+ """Earliest estimated delivery timestamp."""
4695
+ shippingEstimatedDateMin: DateTime
4696
+ """Latest estimated delivery timestamp."""
4697
+ shippingEstimatedDateMax: DateTime
4698
+ """Timestamp when the order was invoiced."""
4699
+ invoiceDate: DateTime
4700
+ """Delivery channel when the list entry carries it."""
4701
+ selectedDeliveryChannel: String
4702
+ }
4703
+
4704
+ """An edge in the shopper's order list."""
4705
+ type CustomerOrderListItemEdge {
4706
+ """Resume cursor for the order after this one."""
4707
+ cursor: Cursor!
4708
+ """The list order."""
4709
+ node: CustomerOrderListItem!
4710
+ }
4711
+
4712
+ """One page of the signed-in shopper's orders."""
4713
+ type CustomerOrdersConnection {
4714
+ """Orders on this page."""
4715
+ edges: [CustomerOrderListItemEdge!]!
4716
+ """Cursors for the page."""
4717
+ pageInfo: PageInfo!
4718
+ """Route total for ALL. Classified count so far for a filtered view."""
4719
+ totalCount: Int!
4720
+ """True only when a filtered walk stopped at 20 upstream pages."""
4721
+ totalIncomplete: Boolean!
4722
+ }
4723
+
4724
+ """Criteria applied before the page is returned."""
4725
+ input CustomerOrdersFilterInput {
4726
+ """View to return. Defaults to every order."""
4727
+ view: CustomerOrdersView = ALL
4728
+ """Free-text term sent to the order route."""
4729
+ text: String
4730
+ """Inclusive start of the placed-date range, as an instant."""
4731
+ placedFrom: DateTime
4732
+ """Inclusive end of the placed-date range, as an instant."""
4733
+ placedTo: DateTime
4734
+ }
4735
+
4736
+ """What the shopper submits with a whole-order cancellation."""
4737
+ input CustomerOrderCancelInput {
4738
+ """Optional reason the merchant keeps. Trimmed; at most 500 characters."""
4739
+ reason: String
4740
+ }
4741
+
4742
+ """The set of expected, typed cancellation failure codes."""
4743
+ enum CustomerOrderCancelErrorCode {
4744
+ """
4745
+ Checkout refused the cancellation. The order is past the point where the shopper
4746
+ can cancel it, or a cancellation was already requested.
4747
+ """
4748
+ ORDER_NOT_CANCELLABLE
4749
+ """
4750
+ No order the signed-in shopper can see has this id. A missing id and someone
4751
+ else's id are not distinguished.
4752
+ """
4753
+ NOT_FOUND
4754
+ }
4755
+
4756
+ """A typed, expected failure of a cancellation."""
4757
+ type CustomerOrderCancelError {
4758
+ """Machine-readable code for the failure."""
4759
+ code: CustomerOrderCancelErrorCode!
4760
+ """A fixed message. Never echoes the upstream response."""
4761
+ message: String!
4762
+ }
4763
+
4764
+ """The result of a cancellation request."""
4765
+ type CustomerOrderCancelPayload {
4766
+ """
4767
+ The order re-read after checkout accepted the request. Null on a user error, and
4768
+ null when the re-read failed after an accepted request.
4769
+ """
4770
+ customerOrder: CustomerOrder
4771
+ """Typed, expected failures. Empty on success."""
4772
+ userErrors: [CustomerOrderCancelError!]!
4773
+ }
4774
+
4775
+ """
4776
+ The signed-in shopper's saved cards, read from their persistent checkout
4777
+ profile. Never cart-scoped.
4778
+ """
4779
+ type CustomerSavedCards @cacheControl(maxAge: 0, scope: PRIVATE) {
4780
+ """
4781
+ Stable identity for cache normalization. Not a Relay Node ID: derived from the
4782
+ session, with no id argument and no Query.node entry.
4783
+ """
4784
+ id: ID!
4785
+ """
4786
+ Every card the shopper saved, in the platform's order, including expired and
4787
+ unusable ones. Empty when none is saved.
4788
+ """
4789
+ cards: [CustomerSavedCard!]!
4790
+ }
4791
+
4792
+ """
4793
+ One of the shopper's saved cards, as the account sees it. Distinct from the
4794
+ cart-scoped SavedCard. Never carries a card number beyond its last four digits,
4795
+ a BIN, or a security code.
4796
+ """
4797
+ type CustomerSavedCard @cacheControl(maxAge: 0, scope: PRIVATE) {
4798
+ """Opaque, stable cache key. Not a Relay Node ID."""
4799
+ id: ID!
4800
+ """The card network the card belongs to."""
4801
+ network: CardNetwork!
4802
+ """
4803
+ The card number's last four digits. Empty when the platform's record has none.
4804
+ """
4805
+ lastDigits: String!
4806
+ """When the card expires. Null when the platform's record has no date."""
4807
+ expiry: CardExpiry
4808
+ """
4809
+ Whether the card can still be used, derived once here so the UI never re-derives it.
4810
+ """
4811
+ status: CustomerSavedCardStatus!
4812
+ }
4813
+
4814
+ """A card network, such as Visa or Mastercard."""
4815
+ type CardNetwork {
4816
+ """
4817
+ The platform's payment-system id for the network. Empty when the record has none.
4818
+ """
4819
+ id: String!
4820
+ """
4821
+ Display name of the network (e.g. "Visa"). Falls back to the id when the record has no name.
4822
+ """
4823
+ name: String!
4824
+ }
4825
+
4826
+ """A card's expiry month and year."""
4827
+ type CardExpiry {
4828
+ """Expiry month, from 1 to 12."""
4829
+ month: Int!
4830
+ """Four-digit expiry year."""
4831
+ year: Int!
4832
+ }
4833
+
4834
+ """Whether a saved card can still be used."""
4835
+ enum CustomerSavedCardStatus {
4836
+ """The card has not expired and the platform reports nothing against it."""
4837
+ USABLE
4838
+ """
4839
+ The card's expiry date has passed. Wins over any other platform report.
4840
+ """
4841
+ EXPIRED
4842
+ """The card has not expired, but the platform reports it cannot be used."""
4843
+ UNUSABLE
4844
+ }
4845
+
4846
+ """
4847
+ A card network the store accepts on the request's sales channel, with the
4848
+ rules card entry validates a card by. Read from the store's payment systems,
4849
+ never from a cart.
4850
+ """
4851
+ type CardNetworkRule @cacheControl(maxAge: 0, scope: PRIVATE) {
4852
+ """
4853
+ The network. Its id is the platform's payment-system id, the same id a saved
4854
+ card's network carries.
4855
+ """
4856
+ network: CardNetwork!
4857
+ """
4858
+ Pattern a full card number of this network matches. Null when the store sets none.
4859
+ """
4860
+ numberRegex: String
4861
+ """
4862
+ Display mask for the card number, with 9 standing for a digit. Null when the store sets none.
4863
+ """
4864
+ numberMask: String
4865
+ """Pattern the security code matches. Null when the store sets none."""
4866
+ securityCodeRegex: String
4867
+ """Display mask for the security code. Null when the store sets none."""
4868
+ securityCodeMask: String
4869
+ """Whether the card asks for a security code."""
4870
+ securityCodeRequired: Boolean!
4871
+ """Whether the card asks for an expiry date."""
4872
+ expirationRequired: Boolean!
4873
+ """Whether the card asks for the holder's name."""
4874
+ holderNameRequired: Boolean!
4875
+ """Whether a cardholder document is required for this network."""
4876
+ requiresDocument: Boolean!
4877
+ """
4878
+ Whether a cardholder document field is shown for this network. Distinct from requiresDocument.
4879
+ """
4880
+ displayDocument: Boolean!
4881
+ }
4882
+
4883
+ """
4884
+ One of the signed-in shopper's saved addresses a new card can be billed to.
4885
+ """
4886
+ type CardBillingAddress @cacheControl(maxAge: 0, scope: PRIVATE) {
4887
+ """Opaque, stable cache key. Not a Relay Node ID."""
4888
+ id: ID!
4889
+ """
4890
+ Name of the person the address belongs to. Null when the platform's record has none.
4891
+ """
4892
+ receiverName: String
4893
+ """Street name. Null when the platform's record has none."""
4894
+ street: String
4895
+ """Street number. Null when the platform's record has none."""
4896
+ number: String
4897
+ """
4898
+ Complement, such as an apartment. Null when the platform's record has none.
4899
+ """
4900
+ complement: String
4901
+ """Neighborhood. Null when the platform's record has none."""
4902
+ neighborhood: String
4903
+ """City. Null when the platform's record has none."""
4904
+ city: String
4905
+ """State or province. Null when the platform's record has none."""
4906
+ state: String
4907
+ """Postal code. Null when the platform's record has none."""
4908
+ postalCode: String
4909
+ """
4910
+ Country of the address, as the platform stores it (ISO 3166-1 alpha-3).
4911
+ """
4912
+ country: String!
4913
+ }
4914
+
4915
+ """Payload returned by customerSavedCardRemove."""
4916
+ type CustomerSavedCardRemovePayload {
4917
+ """
4918
+ The shopper's saved cards after the removal. Null when userErrors is non-empty.
4919
+ """
4920
+ customerSavedCards: CustomerSavedCards
4921
+ """Domain errors that stopped the removal. Empty on success."""
4922
+ userErrors: [CustomerSavedCardRemoveError!]!
4923
+ }
4924
+
4925
+ """A domain error returned by customerSavedCardRemove."""
4926
+ type CustomerSavedCardRemoveError {
4927
+ """Machine-readable error code."""
4928
+ code: CustomerSavedCardRemoveErrorCode!
4929
+ """Human-readable error message."""
4930
+ message: String!
4931
+ }
4932
+
4933
+ """Why a saved card was not removed."""
4934
+ enum CustomerSavedCardRemoveErrorCode {
4935
+ """The id names no saved card of the signed-in shopper."""
4936
+ CARD_NOT_FOUND
4937
+ """
4938
+ The platform refused the removal, or the card is still listed after it.
4939
+ """
4940
+ REMOVAL_REFUSED
4941
+ }