@doswiftly/storefront-operations 5.5.0 → 6.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/fragments.graphql CHANGED
@@ -20,6 +20,12 @@ fragment UserError on UserError {
20
20
  field
21
21
  }
22
22
 
23
+ fragment CartWarning on CartWarning {
24
+ message
25
+ code
26
+ target
27
+ }
28
+
23
29
  # Base Image — no transform (for logos, favicons, branding assets that are already small)
24
30
  fragment Image on Image {
25
31
  id
@@ -97,19 +103,13 @@ fragment ProductVariant on ProductVariant {
97
103
  title
98
104
  sku
99
105
  price {
100
- ...PriceMoney
101
- }
102
- originalPrice {
103
106
  ...Money
104
107
  }
105
108
  compareAtPrice {
106
- ...PriceMoney
107
- }
108
- originalCompareAtPrice {
109
109
  ...Money
110
110
  }
111
- available
112
- quantityAvailable
111
+ isAvailable
112
+ availableStock
113
113
  image {
114
114
  ...ImageThumbnail
115
115
  }
@@ -117,8 +117,11 @@ fragment ProductVariant on ProductVariant {
117
117
  ...SelectedOption
118
118
  }
119
119
  barcode
120
- weight
121
- position
120
+ weight {
121
+ value
122
+ unit
123
+ }
124
+ sortOrder
122
125
  }
123
126
 
124
127
  # Minimal product data for listing views (cards, grids, search results).
@@ -128,8 +131,8 @@ fragment ProductCard on Product {
128
131
  handle
129
132
  title
130
133
  vendor
131
- productType
132
- availableForSale
134
+ category
135
+ isAvailable
133
136
  averageRating
134
137
  reviewCount
135
138
  tags
@@ -138,18 +141,18 @@ fragment ProductCard on Product {
138
141
  }
139
142
  priceRange {
140
143
  minVariantPrice {
141
- ...Price
144
+ ...Money
142
145
  }
143
146
  maxVariantPrice {
144
- ...Price
147
+ ...Money
145
148
  }
146
149
  }
147
150
  compareAtPriceRange {
148
151
  minVariantPrice {
149
- ...Price
152
+ ...Money
150
153
  }
151
154
  maxVariantPrice {
152
- ...Price
155
+ ...Money
153
156
  }
154
157
  }
155
158
  }
@@ -159,25 +162,9 @@ fragment ProductBase on Product {
159
162
  ...ProductCard
160
163
  description
161
164
  descriptionHtml
162
- originalPriceRange {
163
- minVariantPrice {
164
- ...Money
165
- }
166
- maxVariantPrice {
167
- ...Money
168
- }
169
- }
170
- originalCompareAtPriceRange {
171
- minVariantPrice {
172
- ...Money
173
- }
174
- maxVariantPrice {
175
- ...Money
176
- }
177
- }
178
- totalInventory
165
+ stockTotal
179
166
  type
180
- collectRecipientInfo
167
+ requiresRecipientInfo
181
168
  # Faza 1.5 (Decision D-A v3 + D-B)
182
169
  visibility
183
170
  attributeSetId
@@ -188,10 +175,34 @@ fragment ProductBase on Product {
188
175
  fragment ProductFull on Product {
189
176
  ...ProductBase
190
177
  images(first: 20) {
191
- ...ImageFull
178
+ edges {
179
+ cursor
180
+ node {
181
+ ...ImageFull
182
+ }
183
+ }
184
+ nodes {
185
+ ...ImageFull
186
+ }
187
+ pageInfo {
188
+ ...PageInfo
189
+ }
190
+ totalCount
192
191
  }
193
192
  variants(first: 100) {
194
- ...ProductVariant
193
+ edges {
194
+ cursor
195
+ node {
196
+ ...ProductVariant
197
+ }
198
+ }
199
+ nodes {
200
+ ...ProductVariant
201
+ }
202
+ pageInfo {
203
+ ...PageInfo
204
+ }
205
+ totalCount
195
206
  }
196
207
  seo {
197
208
  title
@@ -244,8 +255,8 @@ fragment Category on Category {
244
255
 
245
256
  fragment MailingAddress on MailingAddress {
246
257
  id
247
- address1
248
- address2
258
+ streetLine1
259
+ streetLine2
249
260
  city
250
261
  company
251
262
  country
@@ -253,9 +264,9 @@ fragment MailingAddress on MailingAddress {
253
264
  firstName
254
265
  lastName
255
266
  phone
256
- province
257
- provinceCode
258
- zip
267
+ state
268
+ stateCode
269
+ postalCode
259
270
  isDefault
260
271
  }
261
272
 
@@ -271,12 +282,18 @@ fragment Customer on Customer {
271
282
  lastName
272
283
  displayName
273
284
  phone
274
- emailVerified
275
- emailMarketingState
285
+ isEmailVerified
286
+ emailMarketing
287
+ tags
288
+ customerType
289
+ companyName
290
+ taxId
291
+ vatNumber
292
+ regon
276
293
  defaultAddress {
277
294
  ...MailingAddress
278
295
  }
279
- ordersCount
296
+ orderCount
280
297
  totalSpent {
281
298
  ...Money
282
299
  }
@@ -287,20 +304,22 @@ fragment Customer on Customer {
287
304
  fragment Order on Order {
288
305
  id
289
306
  orderNumber
290
- totalPrice {
291
- ...Money
292
- }
293
- subtotalPrice {
294
- ...Money
295
- }
296
- totalTax {
297
- ...Money
298
- }
299
- totalShipping {
300
- ...Money
307
+ totals {
308
+ total {
309
+ ...Money
310
+ }
311
+ subtotal {
312
+ ...Money
313
+ }
314
+ totalTax {
315
+ ...Money
316
+ }
317
+ totalShipping {
318
+ ...Money
319
+ }
301
320
  }
302
321
  status
303
- financialStatus
322
+ paymentStatus
304
323
  fulfillmentStatus
305
324
  processedAt
306
325
  confirmedAt
@@ -309,7 +328,7 @@ fragment Order on Order {
309
328
  shippingAddress {
310
329
  ...MailingAddress
311
330
  }
312
- lineItemsCount
331
+ itemCount
313
332
  }
314
333
 
315
334
  # ============================================
@@ -317,37 +336,40 @@ fragment Order on Order {
317
336
  # ============================================
318
337
 
319
338
  fragment CartCost on CartCost {
320
- totalAmount {
321
- ...PriceMoney
339
+ total {
340
+ ...Money
341
+ }
342
+ subtotal {
343
+ ...Money
322
344
  }
323
- subtotalAmount {
324
- ...PriceMoney
345
+ totalTax {
346
+ ...Money
325
347
  }
326
- totalTaxAmount {
327
- ...PriceMoney
348
+ totalDuty {
349
+ ...Money
328
350
  }
329
- totalDutyAmount {
330
- ...PriceMoney
351
+ checkoutCharge {
352
+ ...Money
331
353
  }
332
354
  }
333
355
 
334
356
  fragment CartLineCost on CartLineCost {
335
- amountPerQuantity {
336
- ...PriceMoney
357
+ pricePerUnit {
358
+ ...Money
337
359
  }
338
- subtotalAmount {
339
- ...PriceMoney
360
+ subtotal {
361
+ ...Money
340
362
  }
341
- totalAmount {
342
- ...PriceMoney
363
+ total {
364
+ ...Money
343
365
  }
344
- compareAtAmountPerQuantity {
345
- ...PriceMoney
366
+ compareAtPricePerUnit {
367
+ ...Money
346
368
  }
347
369
  }
348
370
 
349
371
  # Typed customer-filled attribute snapshot (Faza 1 R5 + Decision D-A v3 + D-I).
350
- # Distinct from CartLine.attributes (Shopify raw KV line item properties).
372
+ # Distinct from CartLine.attributes (raw KV line item properties).
351
373
  fragment AttributeSelection on AttributeSelection {
352
374
  attributeDefinitionId
353
375
  attributeName
@@ -367,7 +389,7 @@ fragment AttributeSelection on AttributeSelection {
367
389
  fragment CartLine on CartLine {
368
390
  id
369
391
  quantity
370
- merchandise {
392
+ variant {
371
393
  ...ProductVariant
372
394
  }
373
395
  cost {
@@ -394,7 +416,7 @@ fragment CartBuyerIdentity on CartBuyerIdentity {
394
416
 
395
417
  fragment CartDiscountCode on CartDiscountCode {
396
418
  code
397
- applicable
419
+ isApplicable
398
420
  }
399
421
 
400
422
  fragment CartDiscountAllocation on CartDiscountAllocation {
@@ -412,7 +434,23 @@ fragment Cart on Cart {
412
434
  ...CartCost
413
435
  }
414
436
  lines(first: 100) {
415
- ...CartLine
437
+ edges {
438
+ cursor
439
+ node {
440
+ ... on CartLine {
441
+ ...CartLine
442
+ }
443
+ }
444
+ }
445
+ nodes {
446
+ ... on CartLine {
447
+ ...CartLine
448
+ }
449
+ }
450
+ pageInfo {
451
+ ...PageInfo
452
+ }
453
+ totalCount
416
454
  }
417
455
  buyerIdentity {
418
456
  ...CartBuyerIdentity
@@ -460,8 +498,8 @@ fragment SocialLinks on SocialLinks {
460
498
  }
461
499
 
462
500
  fragment ShopAddress on ShopAddress {
463
- address1
464
- address2
501
+ streetLine1
502
+ streetLine2
465
503
  city
466
504
  state
467
505
  postalCode
@@ -513,7 +551,11 @@ fragment Shop on Shop {
513
551
  id
514
552
  name
515
553
  description
516
- primaryDomain
554
+ primaryDomain {
555
+ host
556
+ url
557
+ isSslEnabled
558
+ }
517
559
  currencyCode
518
560
  supportedCurrencies
519
561
  paymentCurrencies
@@ -567,12 +609,6 @@ fragment AvailablePaymentMethods on AvailablePaymentMethods {
567
609
  # Checkout Fragments
568
610
  # ============================================
569
611
 
570
- fragment CheckoutUserError on CheckoutUserError {
571
- field
572
- message
573
- code
574
- }
575
-
576
612
  fragment ShippingRate on ShippingRate {
577
613
  handle
578
614
  title
@@ -608,7 +644,7 @@ fragment DiscountAffectedItem on DiscountAffectedItem {
608
644
 
609
645
  fragment DiscountApplication on DiscountApplication {
610
646
  code
611
- applicable
647
+ isApplicable
612
648
  type
613
649
  value {
614
650
  ...Money
@@ -625,7 +661,7 @@ fragment DiscountApplication on DiscountApplication {
625
661
 
626
662
  fragment DiscountCode on DiscountCode {
627
663
  code
628
- applicable
664
+ isApplicable
629
665
  }
630
666
 
631
667
  fragment CheckoutLineItem on CheckoutLineItem {
@@ -633,10 +669,10 @@ fragment CheckoutLineItem on CheckoutLineItem {
633
669
  title
634
670
  variantTitle
635
671
  quantity
636
- unitPrice {
672
+ pricePerUnit {
637
673
  ...Money
638
674
  }
639
- totalPrice {
675
+ total {
640
676
  ...Money
641
677
  }
642
678
  variantId
@@ -661,8 +697,8 @@ fragment AppliedGiftCard on AppliedGiftCard {
661
697
 
662
698
  fragment Checkout on Checkout {
663
699
  id
664
- ready
665
- completed
700
+ isReady
701
+ isCompleted
666
702
  completedOrderId
667
703
  webUrl
668
704
  lineItems {
@@ -695,24 +731,16 @@ fragment Checkout on Checkout {
695
731
  ...PaymentMethod
696
732
  }
697
733
  selectedPaymentMethodId
698
- subtotalPrice {
699
- ...Money
700
- }
701
- totalShippingPrice {
702
- ...Money
703
- }
704
- totalTax {
705
- ...Money
734
+ cost {
735
+ subtotal { ...Money }
736
+ total { ...Money }
737
+ totalTax { ...Money }
738
+ totalShipping { ...Money }
739
+ totalDiscounts { ...Money }
706
740
  }
707
741
  taxLines {
708
742
  ...TaxLine
709
743
  }
710
- totalDiscounts {
711
- ...Money
712
- }
713
- totalPrice {
714
- ...Money
715
- }
716
744
  # GAP-001: Gift Card Checkout Integration
717
745
  appliedGiftCards {
718
746
  ...AppliedGiftCard
@@ -767,7 +795,7 @@ fragment Shipment on Shipment {
767
795
  trackingUrl
768
796
  labelUrl
769
797
  status
770
- estimatedDeliveryDate
798
+ estimatedDeliveryAt
771
799
  shippedAt
772
800
  deliveredAt
773
801
  recipientAddress {
@@ -793,7 +821,7 @@ fragment ShipmentBasic on Shipment {
793
821
  trackingNumber
794
822
  trackingUrl
795
823
  status
796
- estimatedDeliveryDate
824
+ estimatedDeliveryAt
797
825
  shippedAt
798
826
  deliveredAt
799
827
  createdAt
@@ -875,23 +903,9 @@ fragment ReturnReasonOption on ReturnReasonOption {
875
903
  # Gift Card Fragments (R32 - Gift Cards)
876
904
  # ============================================
877
905
 
878
- fragment GiftCardTransaction on GiftCardTransaction {
879
- id
880
- type
881
- amount {
882
- ...Money
883
- }
884
- balanceAfter {
885
- ...Money
886
- }
887
- orderId
888
- createdAt
889
- }
890
-
891
906
  fragment GiftCard on GiftCard {
892
907
  id
893
908
  maskedCode
894
- lastCharacters
895
909
  status
896
910
  initialAmount {
897
911
  ...Money
@@ -902,9 +916,6 @@ fragment GiftCard on GiftCard {
902
916
  expiresAt
903
917
  recipientName
904
918
  message
905
- transactions {
906
- ...GiftCardTransaction
907
- }
908
919
  createdAt
909
920
  }
910
921
 
@@ -914,7 +925,7 @@ fragment GiftCardError on GiftCardError {
914
925
  }
915
926
 
916
927
  fragment GiftCardValidation on GiftCardValidation {
917
- valid
928
+ isValid
918
929
  availableBalance {
919
930
  ...Money
920
931
  }
@@ -1150,11 +1161,11 @@ fragment LoyaltyReward on LoyaltyReward {
1150
1161
  image {
1151
1162
  ...ImageCard
1152
1163
  }
1153
- available
1164
+ isAvailable
1154
1165
  tierRequired {
1155
1166
  ...LoyaltyTier
1156
1167
  }
1157
- remainingRedemptions
1168
+ redemptionsRemaining
1158
1169
  }
1159
1170
 
1160
1171
  fragment PointsEstimate on PointsEstimate {
@@ -1166,12 +1177,12 @@ fragment PointsEstimate on PointsEstimate {
1166
1177
 
1167
1178
  fragment LoyaltyAction on LoyaltyAction {
1168
1179
  type
1169
- enabled
1180
+ isEnabled
1170
1181
  points
1171
1182
  }
1172
1183
 
1173
1184
  fragment LoyaltySettings on LoyaltySettings {
1174
- enabled
1185
+ isEnabled
1175
1186
  pointsName
1176
1187
  pointsPerCurrency
1177
1188
  pointsExpiryMonths
@@ -1224,6 +1235,7 @@ fragment ProductReview on ProductReview {
1224
1235
  authorName
1225
1236
  isVerifiedPurchase
1226
1237
  helpfulCount
1238
+ unhelpfulCount
1227
1239
  response
1228
1240
  responseAt
1229
1241
  createdAt
@@ -1250,7 +1262,7 @@ fragment WishlistItem on WishlistItem {
1250
1262
  product {
1251
1263
  ...ProductCard
1252
1264
  }
1253
- priceAtAdd {
1265
+ priceWhenAdded {
1254
1266
  ...Money
1255
1267
  }
1256
1268
  notifyOnSale
@@ -1296,7 +1308,7 @@ fragment BlogPost on BlogPost {
1296
1308
  slug
1297
1309
  excerpt
1298
1310
  content
1299
- contentType
1311
+ contentFormat
1300
1312
  featuredImage {
1301
1313
  ...ImageCard
1302
1314
  }
@@ -1315,7 +1327,7 @@ fragment BlogPost on BlogPost {
1315
1327
  ...BlogTag
1316
1328
  }
1317
1329
  publishedAt
1318
- readingTime
1330
+ readingTimeMinutes
1319
1331
  viewCount
1320
1332
  commentCount
1321
1333
  allowComments
@@ -1362,23 +1374,23 @@ fragment CartRecommendation on CartRecommendations {
1362
1374
  }
1363
1375
 
1364
1376
  # ============================================
1365
- # Store Availability Fragments (Shopify parity — BOPIS / multi-location)
1377
+ # Store Availability Fragments (BOPIS / multi-location)
1366
1378
  # ============================================
1367
1379
  # Field access:
1368
1380
  # - `available: Boolean!` — always public.
1369
- # - `pickUpTime: String` — public, localized merchant-configured string.
1381
+ # - `pickupTime: String` — public, localized merchant-configured string.
1370
1382
  # - `quantityAvailable: Int` — TOKEN-GATED (null for anonymous, Int for authenticated).
1371
1383
  # - `location: Location!` — public, includes coords + businessHours when configured.
1372
1384
 
1373
1385
  fragment LocationAddress on LocationAddress {
1374
- address1
1375
- address2
1386
+ streetLine1
1387
+ streetLine2
1376
1388
  city
1377
1389
  country
1378
1390
  countryCode
1379
- province
1380
- provinceCode
1381
- zip
1391
+ state
1392
+ stateCode
1393
+ postalCode
1382
1394
  phone
1383
1395
  latitude
1384
1396
  longitude
@@ -1404,7 +1416,7 @@ fragment Location on Location {
1404
1416
  id
1405
1417
  name
1406
1418
  type
1407
- pickupEnabled
1419
+ supportsPickup
1408
1420
  timezone
1409
1421
  pickupInstructions
1410
1422
  address {
@@ -1416,9 +1428,9 @@ fragment Location on Location {
1416
1428
  }
1417
1429
 
1418
1430
  fragment StoreAvailability on StoreAvailability {
1419
- available
1420
- quantityAvailable
1421
- pickUpTime
1431
+ isAvailable
1432
+ availableStock
1433
+ pickupTime
1422
1434
  location {
1423
1435
  ...Location
1424
1436
  }
@@ -1441,8 +1453,8 @@ fragment VariantStoreAvailability on ProductVariant {
1441
1453
  id
1442
1454
  title
1443
1455
  sku
1444
- available
1445
- quantityAvailable
1456
+ isAvailable
1457
+ availableStock
1446
1458
  storeAvailability(first: 10) {
1447
1459
  ...StoreAvailabilityConnection
1448
1460
  }
@@ -1457,7 +1469,7 @@ fragment ShopPage on ShopPage {
1457
1469
  handle
1458
1470
  title
1459
1471
  body
1460
- bodySummary
1472
+ excerpt
1461
1473
  seo {
1462
1474
  title
1463
1475
  description
@@ -1500,7 +1512,6 @@ fragment Menu on Menu {
1500
1512
  id
1501
1513
  handle
1502
1514
  title
1503
- itemsCount
1504
1515
  items {
1505
1516
  ...MenuItem
1506
1517
  }
@@ -1518,7 +1529,7 @@ fragment UrlRedirect on UrlRedirect {
1518
1529
  # ============================================
1519
1530
  # Unified Product Configurator (Faza 1 + Faza 1.5 — Decision D-A v3 + D-I)
1520
1531
  # ============================================
1521
- # Hybrid Magento binding:
1532
+ # Hybrid AttributeSet binding:
1522
1533
  # - Product.attributes returns UNION of set definitions (via Product.attributeSetId)
1523
1534
  # and per-product scoped definitions (AttributeDefinition.scopeProductId = product.id)
1524
1535
  # - CUSTOMER fillingMode → rendered in storefront configurator UX
@@ -1530,7 +1541,7 @@ fragment LinkedVariantSummary on LinkedVariantSummary {
1530
1541
  productId
1531
1542
  title
1532
1543
  sku
1533
- quantityAvailable
1544
+ availableStock
1534
1545
  isAvailable
1535
1546
  trackQuantity
1536
1547
  }