@doswiftly/storefront-operations 17.0.0 → 18.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/fragments.graphql CHANGED
@@ -510,7 +510,7 @@ fragment Cart on Cart {
510
510
  selectedPaymentMethod {
511
511
  ...CartSelectedPaymentMethod
512
512
  }
513
- selectedPaymentInstrumentCode
513
+ selectedPaymentInstrument
514
514
  appliedGiftCards {
515
515
  ...CartAppliedGiftCard
516
516
  }
@@ -550,13 +550,15 @@ fragment CartAppliedGiftCard on CartAppliedGiftCard {
550
550
  }
551
551
  }
552
552
 
553
- # Payment method (integration provider) selected on a cart — id, name, provider code, type category (CARD/BLIK/BANK_TRANSFER/etc.), icon, description, isDefault, supportedCurrencies. Storefront UI używa do iconography + selection display.
553
+ # Payment method (integration provider) selected on a cart — id, name, provider code, type category (CARD/BLIK/BANK_TRANSFER/etc.), icon image (transformable), description, isDefault, supportedCurrencies. Storefront UI używa do iconography + selection display.
554
554
  fragment CartSelectedPaymentMethod on PaymentMethod {
555
555
  id
556
556
  name
557
557
  provider
558
558
  type
559
- icon
559
+ icon {
560
+ ...ImageThumbnail
561
+ }
560
562
  description
561
563
  isDefault
562
564
  supportedCurrencies
@@ -701,29 +703,33 @@ fragment ShopConfigFields on Shop {
701
703
  # Payment Methods
702
704
  # ============================================
703
705
 
704
- # A single concrete instrument exposed by a gateway provider (BLIK code, branded bank, wallet, card brand). Pass `instrumentCode` as `preferredInstrumentCode` in `cartSelectPaymentMethod` for direct deep-link to that instrument screen on the gateway. `displayHint` is a semantic UX hint (`PIN_ENTRY`, `WALLET_TAP`, `BANK_LIST`, `CARD_FORM`) — storefront branches rendering accordingly. `enabled: false` means the gateway reported the instrument as temporarily disabled — gray out, don't hide.
705
- fragment PaymentMethodInstrument on PaymentMethodInstrument {
706
- providerCode
707
- instrumentCode
706
+ # A single concrete instrument exposed by a gateway provider (BLIK code, branded bank, wallet, card brand). Pass `code` as `preferredInstrument` in `cartSelectPaymentMethod` for direct deep-link to that instrument screen on the gateway. `displayHint` is a semantic UX hint (`PROMINENT_BUTTON`, `BRANDED_TILE`, `DROPDOWN_OPTION`, `RADIO_OPTION`) — storefront branches rendering accordingly. `enabled: false` means the gateway reported the instrument as temporarily disabled — gray out, don't hide.
707
+ fragment PaymentInstrument on PaymentInstrument {
708
+ provider
709
+ code
708
710
  type
709
711
  displayName
710
712
  displayHint
711
- brandImageUrl
713
+ brandImage {
714
+ ...ImageThumbnail
715
+ }
712
716
  enabled
713
717
  }
714
718
 
715
719
  # Single payment method enabled for the shop — method-centric.
716
- # `type` is the category (CARD, BLIK, BANK_TRANSFER, CASH_ON_DELIVERY, OTHER) — drive iconography here.
717
- # `provider`, `providersAvailable`, `preferredProvider` are `ProviderCode` enum (UPPERCASE: `PAYU`, `PRZELEWY24`, ...).
720
+ # `type` is the category (CARD, BLIK, BANK_TRANSFER, INSTALLMENT, WALLET, CASH_ON_DELIVERY, OTHER) — drive iconography here.
721
+ # `provider`, `providersAvailable`, `preferredProvider` are `PaymentProvider` enum (UPPERCASE: `PAYU`, `PRZELEWY24`, ...).
718
722
  # `available` is `false` when the resolving gateway is temporarily unavailable or reported the method as disabled — gray-out the tile, don't hide it; `unavailableReason` carries the diagnostic.
719
- # `instruments` lists concrete gateway-side instruments (BLIK code, branded banks, wallets) when the gateway exposes granular data — pass `instrumentCode` as `preferredInstrumentCode` in `cartSelectPaymentMethod` for direct deep-link to that instrument screen on the gateway.
723
+ # `instruments` lists concrete gateway-side instruments (BLIK code, branded banks, wallets) when the gateway exposes granular data — pass `code` as `preferredInstrument` in `cartSelectPaymentMethod` for direct deep-link to that instrument screen on the gateway.
720
724
  # Spread on the checkout payment step.
721
725
  fragment PaymentMethod on PaymentMethod {
722
726
  id
723
727
  name
724
728
  provider
725
729
  type
726
- icon
730
+ icon {
731
+ ...ImageThumbnail
732
+ }
727
733
  description
728
734
  isDefault
729
735
  supportedCurrencies
@@ -733,7 +739,7 @@ fragment PaymentMethod on PaymentMethod {
733
739
  available
734
740
  unavailableReason
735
741
  instruments {
736
- ...PaymentMethodInstrument
742
+ ...PaymentInstrument
737
743
  }
738
744
  }
739
745
 
@@ -798,14 +804,16 @@ fragment ShipmentPackage on ShipmentPackage {
798
804
  height
799
805
  }
800
806
 
801
- # One item in a shipment — title, variant, sku, quantity, image URL. Spread inside `Shipment.items[]` for the tracking page item list.
807
+ # One item in a shipment — title, variant, sku, quantity, live variant image (transformable). Spread inside `Shipment.items[]` for the tracking page item list. `image` is live from the current variant (snapshot fallback when variant has been deleted since fulfillment — returns null, render a placeholder).
802
808
  fragment ShipmentItem on ShipmentItem {
803
809
  id
804
810
  title
805
811
  variantTitle
806
812
  sku
807
813
  quantity
808
- imageUrl
814
+ image {
815
+ ...ImageThumbnail
816
+ }
809
817
  }
810
818
 
811
819
  # Full shipment shape — provider, tracking number + URL, label URL, status, ETA, recipient address, packages, items, full event timeline. Spread on the tracking page.
@@ -879,7 +887,9 @@ fragment ReturnItem on ReturnItem {
879
887
  productTitle
880
888
  variantTitle
881
889
  sku
882
- imageUrl
890
+ image {
891
+ ...ImageThumbnail
892
+ }
883
893
  quantity
884
894
  reason
885
895
  condition
@@ -973,11 +983,13 @@ fragment GiftCardValidation on GiftCardValidation {
973
983
  # Shipping Methods
974
984
  # ============================================
975
985
 
976
- # Carrier offering the shipping method — id, display name, logo URL, internal service code.
986
+ # Carrier offering the shipping method — id, display name, logo image (transformable), internal service code.
977
987
  fragment ShippingCarrier on ShippingCarrier {
978
988
  id
979
989
  name
980
- logoUrl
990
+ logo {
991
+ ...ImageThumbnail
992
+ }
981
993
  serviceCode
982
994
  }
983
995
 
@@ -1030,10 +1042,12 @@ fragment AvailableShippingMethod on AvailableShippingMethod {
1030
1042
  # Attribute Filters
1031
1043
  # ============================================
1032
1044
 
1033
- # Visual swatch for an attribute filter value — color hex (for color filters) or image URL (for pattern/material swatches).
1045
+ # Visual swatch for an attribute filter value — color hex (for color filters) or image (for pattern/material swatches).
1034
1046
  fragment AttributeSwatch on AttributeSwatch {
1035
1047
  colorHex
1036
- imageUrl
1048
+ image {
1049
+ ...ImageThumbnail
1050
+ }
1037
1051
  }
1038
1052
 
1039
1053
  # Numeric range bounds for slider-style filters — min, max, currency code (when relevant).
@@ -1136,7 +1150,9 @@ fragment LoyaltyTier on LoyaltyTier {
1136
1150
  customBenefits {
1137
1151
  name
1138
1152
  description
1139
- icon
1153
+ icon {
1154
+ ...ImageThumbnail
1155
+ }
1140
1156
  }
1141
1157
  }
1142
1158
 
@@ -1293,7 +1309,9 @@ fragment ProductReview on ProductReview {
1293
1309
  content
1294
1310
  pros
1295
1311
  cons
1296
- images
1312
+ images {
1313
+ ...ImageThumbnail
1314
+ }
1297
1315
  authorName
1298
1316
  isVerifiedPurchase
1299
1317
  helpfulCount
@@ -1541,7 +1559,7 @@ fragment MenuItem on MenuItem {
1541
1559
  ... on Collection { id handle title }
1542
1560
  ... on ShopPage { id handle title }
1543
1561
  ... on Product { id handle title }
1544
- ... on Brand { id handle name logo }
1562
+ ... on Brand { id handle name logo { ...ImageThumbnail } }
1545
1563
  }
1546
1564
  image {
1547
1565
  ...Image
@@ -1558,7 +1576,7 @@ fragment MenuItem on MenuItem {
1558
1576
  ... on Collection { id handle title }
1559
1577
  ... on ShopPage { id handle title }
1560
1578
  ... on Product { id handle title }
1561
- ... on Brand { id handle name logo }
1579
+ ... on Brand { id handle name logo { ...ImageThumbnail } }
1562
1580
  }
1563
1581
  items {
1564
1582
  id
@@ -1572,7 +1590,7 @@ fragment MenuItem on MenuItem {
1572
1590
  ... on Collection { id handle title }
1573
1591
  ... on ShopPage { id handle title }
1574
1592
  ... on Product { id handle title }
1575
- ... on Brand { id handle name logo }
1593
+ ... on Brand { id handle name logo { ...ImageThumbnail } }
1576
1594
  }
1577
1595
  }
1578
1596
  }
package/llms-full.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  # DoSwiftly Storefront Operations — Full Reference
2
2
 
3
- > Schema version: **17.0.0**
3
+ > Schema version: **18.0.0**
4
4
  > 52 queries · 41 mutations · 104 fragments
5
5
 
6
6
  Auto-generated from `.graphql` source files. Do not edit by hand — this file is
@@ -1975,7 +1975,7 @@ mutation CartSelectShippingMethod($input: CartSelectShippingMethodInput!) {
1975
1975
 
1976
1976
  **Section**: Cart Completion Mutations
1977
1977
 
1978
- **Description**: Selects a payment method on the cart by category (`methodType` — BLIK, CARD, BANK_TRANSFER, ...). Optional `preferredProviderId` overrides the merchant priority when the buyer explicitly picks a gateway from `PaymentMethod.providersAvailable`. The backend resolves the gateway routing from `MerchantPaymentConfig` at `cartComplete`; the selection persisted here is the category. Errors: `PAYMENT_METHOD_REQUIRED`, `CART_NOT_FOUND`, `CART_UNAUTHENTICATED`.
1978
+ **Description**: Selects a payment method on the cart by category (`methodType` — BLIK, CARD, BANK_TRANSFER, ...). Optional `preferredProvider` overrides the merchant priority when the buyer explicitly picks a gateway from `PaymentMethod.providersAvailable`. The backend resolves the gateway routing from `MerchantPaymentConfig` at `cartComplete`; the selection persisted here is the category. Errors: `PAYMENT_METHOD_REQUIRED`, `CART_NOT_FOUND`, `CART_UNAUTHENTICATED`.
1979
1979
 
1980
1980
  **Variables**:
1981
1981
  - `$input`: `CartSelectPaymentMethodInput!`
@@ -3202,7 +3202,7 @@ fragment Cart on Cart {
3202
3202
  selectedPaymentMethod {
3203
3203
  ...CartSelectedPaymentMethod
3204
3204
  }
3205
- selectedPaymentInstrumentCode
3205
+ selectedPaymentInstrument
3206
3206
  appliedGiftCards {
3207
3207
  ...CartAppliedGiftCard
3208
3208
  }
@@ -3267,7 +3267,9 @@ fragment CartAppliedGiftCard on CartAppliedGiftCard {
3267
3267
 
3268
3268
  **Section**: Cart
3269
3269
 
3270
- **Description**: Payment method (integration provider) selected on a cart — id, name, provider code, type category (CARD/BLIK/BANK_TRANSFER/etc.), icon, description, isDefault, supportedCurrencies. Storefront UI używa do iconography + selection display.
3270
+ **Description**: Payment method (integration provider) selected on a cart — id, name, provider code, type category (CARD/BLIK/BANK_TRANSFER/etc.), icon image (transformable), description, isDefault, supportedCurrencies. Storefront UI używa do iconography + selection display.
3271
+
3272
+ **Uses fragments**: `ImageThumbnail`
3271
3273
 
3272
3274
  **GraphQL**:
3273
3275
  ```graphql
@@ -3276,7 +3278,9 @@ fragment CartSelectedPaymentMethod on PaymentMethod {
3276
3278
  name
3277
3279
  provider
3278
3280
  type
3279
- icon
3281
+ icon {
3282
+ ...ImageThumbnail
3283
+ }
3280
3284
  description
3281
3285
  isDefault
3282
3286
  supportedCurrencies
@@ -3502,21 +3506,25 @@ fragment ShopConfigFields on Shop {
3502
3506
  }
3503
3507
  ```
3504
3508
 
3505
- ### Fragment: `PaymentMethodInstrument` on `PaymentMethodInstrument`
3509
+ ### Fragment: `PaymentInstrument` on `PaymentInstrument`
3506
3510
 
3507
3511
  **Section**: Payment Methods
3508
3512
 
3509
- **Description**: A single concrete instrument exposed by a gateway provider (BLIK code, branded bank, wallet, card brand). Pass `instrumentCode` as `preferredInstrumentCode` in `cartSelectPaymentMethod` for direct deep-link to that instrument screen on the gateway. `displayHint` is a semantic UX hint (`PIN_ENTRY`, `WALLET_TAP`, `BANK_LIST`, `CARD_FORM`) — storefront branches rendering accordingly. `enabled: false` means the gateway reported the instrument as temporarily disabled — gray out, don't hide.
3513
+ **Description**: A single concrete instrument exposed by a gateway provider (BLIK code, branded bank, wallet, card brand). Pass `code` as `preferredInstrument` in `cartSelectPaymentMethod` for direct deep-link to that instrument screen on the gateway. `displayHint` is a semantic UX hint (`PROMINENT_BUTTON`, `BRANDED_TILE`, `DROPDOWN_OPTION`, `RADIO_OPTION`) — storefront branches rendering accordingly. `enabled: false` means the gateway reported the instrument as temporarily disabled — gray out, don't hide.
3514
+
3515
+ **Uses fragments**: `ImageThumbnail`
3510
3516
 
3511
3517
  **GraphQL**:
3512
3518
  ```graphql
3513
- fragment PaymentMethodInstrument on PaymentMethodInstrument {
3514
- providerCode
3515
- instrumentCode
3519
+ fragment PaymentInstrument on PaymentInstrument {
3520
+ provider
3521
+ code
3516
3522
  type
3517
3523
  displayName
3518
3524
  displayHint
3519
- brandImageUrl
3525
+ brandImage {
3526
+ ...ImageThumbnail
3527
+ }
3520
3528
  enabled
3521
3529
  }
3522
3530
  ```
@@ -3525,9 +3533,9 @@ fragment PaymentMethodInstrument on PaymentMethodInstrument {
3525
3533
 
3526
3534
  **Section**: Payment Methods
3527
3535
 
3528
- **Description**: Single payment method enabled for the shop — method-centric. `type` is the category (CARD, BLIK, BANK_TRANSFER, CASH_ON_DELIVERY, OTHER) — drive iconography here. `provider`, `providersAvailable`, `preferredProvider` are `ProviderCode` enum (UPPERCASE: `PAYU`, `PRZELEWY24`, ...). `available` is `false` when the resolving gateway is temporarily unavailable or reported the method as disabled — gray-out the tile, don't hide it; `unavailableReason` carries the diagnostic. `instruments` lists concrete gateway-side instruments (BLIK code, branded banks, wallets) when the gateway exposes granular data — pass `instrumentCode` as `preferredInstrumentCode` in `cartSelectPaymentMethod` for direct deep-link to that instrument screen on the gateway. Spread on the checkout payment step.
3536
+ **Description**: Single payment method enabled for the shop — method-centric. `type` is the category (CARD, BLIK, BANK_TRANSFER, INSTALLMENT, WALLET, CASH_ON_DELIVERY, OTHER) — drive iconography here. `provider`, `providersAvailable`, `preferredProvider` are `PaymentProvider` enum (UPPERCASE: `PAYU`, `PRZELEWY24`, ...). `available` is `false` when the resolving gateway is temporarily unavailable or reported the method as disabled — gray-out the tile, don't hide it; `unavailableReason` carries the diagnostic. `instruments` lists concrete gateway-side instruments (BLIK code, branded banks, wallets) when the gateway exposes granular data — pass `code` as `preferredInstrument` in `cartSelectPaymentMethod` for direct deep-link to that instrument screen on the gateway. Spread on the checkout payment step.
3529
3537
 
3530
- **Uses fragments**: `PaymentMethodInstrument`
3538
+ **Uses fragments**: `ImageThumbnail`, `PaymentInstrument`
3531
3539
 
3532
3540
  **GraphQL**:
3533
3541
  ```graphql
@@ -3536,7 +3544,9 @@ fragment PaymentMethod on PaymentMethod {
3536
3544
  name
3537
3545
  provider
3538
3546
  type
3539
- icon
3547
+ icon {
3548
+ ...ImageThumbnail
3549
+ }
3540
3550
  description
3541
3551
  isDefault
3542
3552
  supportedCurrencies
@@ -3546,7 +3556,7 @@ fragment PaymentMethod on PaymentMethod {
3546
3556
  available
3547
3557
  unavailableReason
3548
3558
  instruments {
3549
- ...PaymentMethodInstrument
3559
+ ...PaymentInstrument
3550
3560
  }
3551
3561
  }
3552
3562
  ```
@@ -3644,7 +3654,9 @@ fragment ShipmentPackage on ShipmentPackage {
3644
3654
 
3645
3655
  **Section**: Shipments / Tracking
3646
3656
 
3647
- **Description**: One item in a shipment — title, variant, sku, quantity, image URL. Spread inside `Shipment.items[]` for the tracking page item list.
3657
+ **Description**: One item in a shipment — title, variant, sku, quantity, live variant image (transformable). Spread inside `Shipment.items[]` for the tracking page item list. `image` is live from the current variant (snapshot fallback when variant has been deleted since fulfillment — returns null, render a placeholder).
3658
+
3659
+ **Uses fragments**: `ImageThumbnail`
3648
3660
 
3649
3661
  **GraphQL**:
3650
3662
  ```graphql
@@ -3654,7 +3666,9 @@ fragment ShipmentItem on ShipmentItem {
3654
3666
  variantTitle
3655
3667
  sku
3656
3668
  quantity
3657
- imageUrl
3669
+ image {
3670
+ ...ImageThumbnail
3671
+ }
3658
3672
  }
3659
3673
  ```
3660
3674
 
@@ -3758,7 +3772,7 @@ fragment ReturnItemPhoto on ReturnItemPhoto {
3758
3772
 
3759
3773
  **Description**: Single line in a return request — variant identity, quantity requested, reason, condition, photos, status, approved quantity (set by merchant after review). Spread inside `Return.items[]`.
3760
3774
 
3761
- **Uses fragments**: `Money`, `ReturnItemPhoto`
3775
+ **Uses fragments**: `ImageThumbnail`, `Money`, `ReturnItemPhoto`
3762
3776
 
3763
3777
  **GraphQL**:
3764
3778
  ```graphql
@@ -3768,7 +3782,9 @@ fragment ReturnItem on ReturnItem {
3768
3782
  productTitle
3769
3783
  variantTitle
3770
3784
  sku
3771
- imageUrl
3785
+ image {
3786
+ ...ImageThumbnail
3787
+ }
3772
3788
  quantity
3773
3789
  reason
3774
3790
  condition
@@ -3905,14 +3921,18 @@ fragment GiftCardValidation on GiftCardValidation {
3905
3921
 
3906
3922
  **Section**: Shipping Methods
3907
3923
 
3908
- **Description**: Carrier offering the shipping method — id, display name, logo URL, internal service code.
3924
+ **Description**: Carrier offering the shipping method — id, display name, logo image (transformable), internal service code.
3925
+
3926
+ **Uses fragments**: `ImageThumbnail`
3909
3927
 
3910
3928
  **GraphQL**:
3911
3929
  ```graphql
3912
3930
  fragment ShippingCarrier on ShippingCarrier {
3913
3931
  id
3914
3932
  name
3915
- logoUrl
3933
+ logo {
3934
+ ...ImageThumbnail
3935
+ }
3916
3936
  serviceCode
3917
3937
  }
3918
3938
  ```
@@ -3994,13 +4014,17 @@ fragment AvailableShippingMethod on AvailableShippingMethod {
3994
4014
 
3995
4015
  **Section**: Attribute Filters
3996
4016
 
3997
- **Description**: Visual swatch for an attribute filter value — color hex (for color filters) or image URL (for pattern/material swatches).
4017
+ **Description**: Visual swatch for an attribute filter value — color hex (for color filters) or image (for pattern/material swatches).
4018
+
4019
+ **Uses fragments**: `ImageThumbnail`
3998
4020
 
3999
4021
  **GraphQL**:
4000
4022
  ```graphql
4001
4023
  fragment AttributeSwatch on AttributeSwatch {
4002
4024
  colorHex
4003
- imageUrl
4025
+ image {
4026
+ ...ImageThumbnail
4027
+ }
4004
4028
  }
4005
4029
  ```
4006
4030
 
@@ -4157,7 +4181,7 @@ fragment LoyaltyPageInfo on LoyaltyPageInfo {
4157
4181
 
4158
4182
  **Description**: Loyalty tier definition — name, type enum (`BRONZE` / `SILVER` / `GOLD` / `PLATINUM` / `DIAMOND`), entry threshold (`minPoints` and/or `minAnnualSpend`), points multiplier, custom benefits list. Returned by `loyaltyTiers` and embedded in member tier data.
4159
4183
 
4160
- **Uses fragments**: `Money`
4184
+ **Uses fragments**: `ImageThumbnail`, `Money`
4161
4185
 
4162
4186
  **GraphQL**:
4163
4187
  ```graphql
@@ -4173,7 +4197,9 @@ fragment LoyaltyTier on LoyaltyTier {
4173
4197
  customBenefits {
4174
4198
  name
4175
4199
  description
4176
- icon
4200
+ icon {
4201
+ ...ImageThumbnail
4202
+ }
4177
4203
  }
4178
4204
  }
4179
4205
  ```
@@ -4424,6 +4450,8 @@ fragment GenerateReferralCodePayload on GenerateReferralCodePayload {
4424
4450
 
4425
4451
  **Description**: Single product review — rating, title, body, optional pros/cons, image attachments, author, verified-purchase flag, helpful/unhelpful counts, optional merchant response. Only `APPROVED` reviews are exposed to the storefront.
4426
4452
 
4453
+ **Uses fragments**: `ImageThumbnail`
4454
+
4427
4455
  **GraphQL**:
4428
4456
  ```graphql
4429
4457
  fragment ProductReview on ProductReview {
@@ -4434,7 +4462,9 @@ fragment ProductReview on ProductReview {
4434
4462
  content
4435
4463
  pros
4436
4464
  cons
4437
- images
4465
+ images {
4466
+ ...ImageThumbnail
4467
+ }
4438
4468
  authorName
4439
4469
  isVerifiedPurchase
4440
4470
  helpfulCount
@@ -4792,7 +4822,7 @@ fragment ShopPage on ShopPage {
4792
4822
 
4793
4823
  **Description**: One menu item with up to 3 levels of nested children — title, URL, type (`HTTP` / `FRONTPAGE` / `SEARCH` / `CATALOG` / `BLOG` / `PRODUCT` / `COLLECTION` / `CATEGORY` / `PAGE` / `BRAND`), `resourceId` for typed items, optional image, and a typed `resource` union (Category / Collection / ShopPage / Product / Brand) carrying the linked resource's handle. Two ways to render the link target: (1) use the pre-resolved `url` if your storefront follows the standard `/categories|/collections|/pages|/products|/brands/<handle>` route convention; (2) read `resource.__typename` + the per-type `handle` and build your own paths if your storefront uses different routing. Switch on `type` to decide which static (FRONTPAGE/SEARCH/CATALOG/BLOG) or dynamic target to render.
4794
4824
 
4795
- **Uses fragments**: `Image`
4825
+ **Uses fragments**: `Image`, `ImageThumbnail`
4796
4826
 
4797
4827
  **GraphQL**:
4798
4828
  ```graphql
@@ -4828,7 +4858,9 @@ fragment MenuItem on MenuItem {
4828
4858
  id
4829
4859
  handle
4830
4860
  name
4831
- logo
4861
+ logo {
4862
+ ...ImageThumbnail
4863
+ }
4832
4864
  }
4833
4865
  }
4834
4866
  image {
@@ -4866,7 +4898,9 @@ fragment MenuItem on MenuItem {
4866
4898
  id
4867
4899
  handle
4868
4900
  name
4869
- logo
4901
+ logo {
4902
+ ...ImageThumbnail
4903
+ }
4870
4904
  }
4871
4905
  }
4872
4906
  items {
@@ -4901,7 +4935,9 @@ fragment MenuItem on MenuItem {
4901
4935
  id
4902
4936
  handle
4903
4937
  name
4904
- logo
4938
+ logo {
4939
+ ...ImageThumbnail
4940
+ }
4905
4941
  }
4906
4942
  }
4907
4943
  }
package/mutations.graphql CHANGED
@@ -330,7 +330,7 @@ mutation CartSelectShippingMethod($input: CartSelectShippingMethodInput!) {
330
330
  }
331
331
 
332
332
  # Selects a payment method on the cart by category (`methodType` — BLIK, CARD, BANK_TRANSFER, ...).
333
- # Optional `preferredProviderId` overrides the merchant priority when the buyer explicitly picks
333
+ # Optional `preferredProvider` overrides the merchant priority when the buyer explicitly picks
334
334
  # a gateway from `PaymentMethod.providersAvailable`. The backend resolves the gateway routing
335
335
  # from `MerchantPaymentConfig` at `cartComplete`; the selection persisted here is the category.
336
336
  # Errors: `PAYMENT_METHOD_REQUIRED`, `CART_NOT_FOUND`, `CART_UNAUTHENTICATED`.
package/operations.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "schemaVersion": "17.0.0",
2
+ "schemaVersion": "18.0.0",
3
3
  "queries": [
4
4
  {
5
5
  "name": "Shop",
@@ -1518,7 +1518,7 @@
1518
1518
  "name": "CartSelectPaymentMethod",
1519
1519
  "kind": "mutation",
1520
1520
  "section": "Cart Completion Mutations",
1521
- "description": "Selects a payment method on the cart by category (`methodType` — BLIK, CARD, BANK_TRANSFER, ...). Optional `preferredProviderId` overrides the merchant priority when the buyer explicitly picks a gateway from `PaymentMethod.providersAvailable`. The backend resolves the gateway routing from `MerchantPaymentConfig` at `cartComplete`; the selection persisted here is the category. Errors: `PAYMENT_METHOD_REQUIRED`, `CART_NOT_FOUND`, `CART_UNAUTHENTICATED`.",
1521
+ "description": "Selects a payment method on the cart by category (`methodType` — BLIK, CARD, BANK_TRANSFER, ...). Optional `preferredProvider` overrides the merchant priority when the buyer explicitly picks a gateway from `PaymentMethod.providersAvailable`. The backend resolves the gateway routing from `MerchantPaymentConfig` at `cartComplete`; the selection persisted here is the category. Errors: `PAYMENT_METHOD_REQUIRED`, `CART_NOT_FOUND`, `CART_UNAUTHENTICATED`.",
1522
1522
  "variables": [
1523
1523
  {
1524
1524
  "name": "input",
@@ -2197,7 +2197,7 @@
2197
2197
  "MailingAddress",
2198
2198
  "PageInfo"
2199
2199
  ],
2200
- "body": "fragment Cart on Cart {\n id\n checkoutUrl\n totalQuantity\n cost {\n ...CartCost\n }\n lines(first: 100) {\n edges {\n cursor\n node {\n ... on CartLine {\n ...CartLine\n }\n }\n }\n nodes {\n ... on CartLine {\n ...CartLine\n }\n }\n pageInfo {\n ...PageInfo\n }\n totalCount\n }\n buyerIdentity {\n ...CartBuyerIdentity\n }\n discountCodes {\n ...CartDiscountCode\n }\n discountAllocations {\n ...CartDiscountAllocation\n }\n note\n attributes {\n key\n value\n }\n email\n phone\n shippingAddress {\n ...MailingAddress\n }\n billingAddress {\n ...MailingAddress\n }\n selectedShippingMethod {\n ...CartShippingMethod\n }\n selectedPaymentMethod {\n ...CartSelectedPaymentMethod\n }\n selectedPaymentInstrumentCode\n appliedGiftCards {\n ...CartAppliedGiftCard\n }\n requiresShipping\n createdAt\n updatedAt\n status\n completedOrder {\n id\n orderNumber\n accessToken\n status\n paymentStatus\n fulfillmentStatus\n }\n}",
2200
+ "body": "fragment Cart on Cart {\n id\n checkoutUrl\n totalQuantity\n cost {\n ...CartCost\n }\n lines(first: 100) {\n edges {\n cursor\n node {\n ... on CartLine {\n ...CartLine\n }\n }\n }\n nodes {\n ... on CartLine {\n ...CartLine\n }\n }\n pageInfo {\n ...PageInfo\n }\n totalCount\n }\n buyerIdentity {\n ...CartBuyerIdentity\n }\n discountCodes {\n ...CartDiscountCode\n }\n discountAllocations {\n ...CartDiscountAllocation\n }\n note\n attributes {\n key\n value\n }\n email\n phone\n shippingAddress {\n ...MailingAddress\n }\n billingAddress {\n ...MailingAddress\n }\n selectedShippingMethod {\n ...CartShippingMethod\n }\n selectedPaymentMethod {\n ...CartSelectedPaymentMethod\n }\n selectedPaymentInstrument\n appliedGiftCards {\n ...CartAppliedGiftCard\n }\n requiresShipping\n createdAt\n updatedAt\n status\n completedOrder {\n id\n orderNumber\n accessToken\n status\n paymentStatus\n fulfillmentStatus\n }\n}",
2201
2201
  "onType": "Cart"
2202
2202
  },
2203
2203
  {
@@ -2228,10 +2228,12 @@
2228
2228
  "name": "CartSelectedPaymentMethod",
2229
2229
  "kind": "fragment",
2230
2230
  "section": "Cart",
2231
- "description": "Payment method (integration provider) selected on a cart — id, name, provider code, type category (CARD/BLIK/BANK_TRANSFER/etc.), icon, description, isDefault, supportedCurrencies. Storefront UI używa do iconography + selection display.",
2231
+ "description": "Payment method (integration provider) selected on a cart — id, name, provider code, type category (CARD/BLIK/BANK_TRANSFER/etc.), icon image (transformable), description, isDefault, supportedCurrencies. Storefront UI używa do iconography + selection display.",
2232
2232
  "variables": [],
2233
- "fragmentRefs": [],
2234
- "body": "fragment CartSelectedPaymentMethod on PaymentMethod {\n id\n name\n provider\n type\n icon\n description\n isDefault\n supportedCurrencies\n position\n}",
2233
+ "fragmentRefs": [
2234
+ "ImageThumbnail"
2235
+ ],
2236
+ "body": "fragment CartSelectedPaymentMethod on PaymentMethod {\n id\n name\n provider\n type\n icon {\n ...ImageThumbnail\n }\n description\n isDefault\n supportedCurrencies\n position\n}",
2235
2237
  "onType": "PaymentMethod"
2236
2238
  },
2237
2239
  {
@@ -2350,25 +2352,28 @@
2350
2352
  "onType": "Shop"
2351
2353
  },
2352
2354
  {
2353
- "name": "PaymentMethodInstrument",
2355
+ "name": "PaymentInstrument",
2354
2356
  "kind": "fragment",
2355
2357
  "section": "Payment Methods",
2356
- "description": "A single concrete instrument exposed by a gateway provider (BLIK code, branded bank, wallet, card brand). Pass `instrumentCode` as `preferredInstrumentCode` in `cartSelectPaymentMethod` for direct deep-link to that instrument screen on the gateway. `displayHint` is a semantic UX hint (`PIN_ENTRY`, `WALLET_TAP`, `BANK_LIST`, `CARD_FORM`) — storefront branches rendering accordingly. `enabled: false` means the gateway reported the instrument as temporarily disabled — gray out, don't hide.",
2358
+ "description": "A single concrete instrument exposed by a gateway provider (BLIK code, branded bank, wallet, card brand). Pass `code` as `preferredInstrument` in `cartSelectPaymentMethod` for direct deep-link to that instrument screen on the gateway. `displayHint` is a semantic UX hint (`PROMINENT_BUTTON`, `BRANDED_TILE`, `DROPDOWN_OPTION`, `RADIO_OPTION`) — storefront branches rendering accordingly. `enabled: false` means the gateway reported the instrument as temporarily disabled — gray out, don't hide.",
2357
2359
  "variables": [],
2358
- "fragmentRefs": [],
2359
- "body": "fragment PaymentMethodInstrument on PaymentMethodInstrument {\n providerCode\n instrumentCode\n type\n displayName\n displayHint\n brandImageUrl\n enabled\n}",
2360
- "onType": "PaymentMethodInstrument"
2360
+ "fragmentRefs": [
2361
+ "ImageThumbnail"
2362
+ ],
2363
+ "body": "fragment PaymentInstrument on PaymentInstrument {\n provider\n code\n type\n displayName\n displayHint\n brandImage {\n ...ImageThumbnail\n }\n enabled\n}",
2364
+ "onType": "PaymentInstrument"
2361
2365
  },
2362
2366
  {
2363
2367
  "name": "PaymentMethod",
2364
2368
  "kind": "fragment",
2365
2369
  "section": "Payment Methods",
2366
- "description": "Single payment method enabled for the shop — method-centric. `type` is the category (CARD, BLIK, BANK_TRANSFER, CASH_ON_DELIVERY, OTHER) — drive iconography here. `provider`, `providersAvailable`, `preferredProvider` are `ProviderCode` enum (UPPERCASE: `PAYU`, `PRZELEWY24`, ...). `available` is `false` when the resolving gateway is temporarily unavailable or reported the method as disabled — gray-out the tile, don't hide it; `unavailableReason` carries the diagnostic. `instruments` lists concrete gateway-side instruments (BLIK code, branded banks, wallets) when the gateway exposes granular data — pass `instrumentCode` as `preferredInstrumentCode` in `cartSelectPaymentMethod` for direct deep-link to that instrument screen on the gateway. Spread on the checkout payment step.",
2370
+ "description": "Single payment method enabled for the shop — method-centric. `type` is the category (CARD, BLIK, BANK_TRANSFER, INSTALLMENT, WALLET, CASH_ON_DELIVERY, OTHER) — drive iconography here. `provider`, `providersAvailable`, `preferredProvider` are `PaymentProvider` enum (UPPERCASE: `PAYU`, `PRZELEWY24`, ...). `available` is `false` when the resolving gateway is temporarily unavailable or reported the method as disabled — gray-out the tile, don't hide it; `unavailableReason` carries the diagnostic. `instruments` lists concrete gateway-side instruments (BLIK code, branded banks, wallets) when the gateway exposes granular data — pass `code` as `preferredInstrument` in `cartSelectPaymentMethod` for direct deep-link to that instrument screen on the gateway. Spread on the checkout payment step.",
2367
2371
  "variables": [],
2368
2372
  "fragmentRefs": [
2369
- "PaymentMethodInstrument"
2373
+ "ImageThumbnail",
2374
+ "PaymentInstrument"
2370
2375
  ],
2371
- "body": "fragment PaymentMethod on PaymentMethod {\n id\n name\n provider\n type\n icon\n description\n isDefault\n supportedCurrencies\n position\n providersAvailable\n preferredProvider\n available\n unavailableReason\n instruments {\n ...PaymentMethodInstrument\n }\n}",
2376
+ "body": "fragment PaymentMethod on PaymentMethod {\n id\n name\n provider\n type\n icon {\n ...ImageThumbnail\n }\n description\n isDefault\n supportedCurrencies\n position\n providersAvailable\n preferredProvider\n available\n unavailableReason\n instruments {\n ...PaymentInstrument\n }\n}",
2372
2377
  "onType": "PaymentMethod"
2373
2378
  },
2374
2379
  {
@@ -2427,10 +2432,12 @@
2427
2432
  "name": "ShipmentItem",
2428
2433
  "kind": "fragment",
2429
2434
  "section": "Shipments / Tracking",
2430
- "description": "One item in a shipment — title, variant, sku, quantity, image URL. Spread inside `Shipment.items[]` for the tracking page item list.",
2435
+ "description": "One item in a shipment — title, variant, sku, quantity, live variant image (transformable). Spread inside `Shipment.items[]` for the tracking page item list. `image` is live from the current variant (snapshot fallback when variant has been deleted since fulfillment — returns null, render a placeholder).",
2431
2436
  "variables": [],
2432
- "fragmentRefs": [],
2433
- "body": "fragment ShipmentItem on ShipmentItem {\n id\n title\n variantTitle\n sku\n quantity\n imageUrl\n}",
2437
+ "fragmentRefs": [
2438
+ "ImageThumbnail"
2439
+ ],
2440
+ "body": "fragment ShipmentItem on ShipmentItem {\n id\n title\n variantTitle\n sku\n quantity\n image {\n ...ImageThumbnail\n }\n}",
2434
2441
  "onType": "ShipmentItem"
2435
2442
  },
2436
2443
  {
@@ -2485,10 +2492,11 @@
2485
2492
  "description": "Single line in a return request — variant identity, quantity requested, reason, condition, photos, status, approved quantity (set by merchant after review). Spread inside `Return.items[]`.",
2486
2493
  "variables": [],
2487
2494
  "fragmentRefs": [
2495
+ "ImageThumbnail",
2488
2496
  "Money",
2489
2497
  "ReturnItemPhoto"
2490
2498
  ],
2491
- "body": "fragment ReturnItem on ReturnItem {\n id\n variantId\n productTitle\n variantTitle\n sku\n imageUrl\n quantity\n reason\n condition\n unitPrice {\n ...Money\n }\n photos {\n ...ReturnItemPhoto\n }\n status\n approvedQuantity\n}",
2499
+ "body": "fragment ReturnItem on ReturnItem {\n id\n variantId\n productTitle\n variantTitle\n sku\n image {\n ...ImageThumbnail\n }\n quantity\n reason\n condition\n unitPrice {\n ...Money\n }\n photos {\n ...ReturnItemPhoto\n }\n status\n approvedQuantity\n}",
2492
2500
  "onType": "ReturnItem"
2493
2501
  },
2494
2502
  {
@@ -2555,10 +2563,12 @@
2555
2563
  "name": "ShippingCarrier",
2556
2564
  "kind": "fragment",
2557
2565
  "section": "Shipping Methods",
2558
- "description": "Carrier offering the shipping method — id, display name, logo URL, internal service code.",
2566
+ "description": "Carrier offering the shipping method — id, display name, logo image (transformable), internal service code.",
2559
2567
  "variables": [],
2560
- "fragmentRefs": [],
2561
- "body": "fragment ShippingCarrier on ShippingCarrier {\n id\n name\n logoUrl\n serviceCode\n}",
2568
+ "fragmentRefs": [
2569
+ "ImageThumbnail"
2570
+ ],
2571
+ "body": "fragment ShippingCarrier on ShippingCarrier {\n id\n name\n logo {\n ...ImageThumbnail\n }\n serviceCode\n}",
2562
2572
  "onType": "ShippingCarrier"
2563
2573
  },
2564
2574
  {
@@ -2602,10 +2612,12 @@
2602
2612
  "name": "AttributeSwatch",
2603
2613
  "kind": "fragment",
2604
2614
  "section": "Attribute Filters",
2605
- "description": "Visual swatch for an attribute filter value — color hex (for color filters) or image URL (for pattern/material swatches).",
2615
+ "description": "Visual swatch for an attribute filter value — color hex (for color filters) or image (for pattern/material swatches).",
2606
2616
  "variables": [],
2607
- "fragmentRefs": [],
2608
- "body": "fragment AttributeSwatch on AttributeSwatch {\n colorHex\n imageUrl\n}",
2617
+ "fragmentRefs": [
2618
+ "ImageThumbnail"
2619
+ ],
2620
+ "body": "fragment AttributeSwatch on AttributeSwatch {\n colorHex\n image {\n ...ImageThumbnail\n }\n}",
2609
2621
  "onType": "AttributeSwatch"
2610
2622
  },
2611
2623
  {
@@ -2697,9 +2709,10 @@
2697
2709
  "description": "Loyalty tier definition — name, type enum (`BRONZE` / `SILVER` / `GOLD` / `PLATINUM` / `DIAMOND`), entry threshold (`minPoints` and/or `minAnnualSpend`), points multiplier, custom benefits list. Returned by `loyaltyTiers` and embedded in member tier data.",
2698
2710
  "variables": [],
2699
2711
  "fragmentRefs": [
2712
+ "ImageThumbnail",
2700
2713
  "Money"
2701
2714
  ],
2702
- "body": "fragment LoyaltyTier on LoyaltyTier {\n id\n name\n type\n minPoints\n minAnnualSpend {\n ...Money\n }\n pointsMultiplier\n customBenefits {\n name\n description\n icon\n }\n}",
2715
+ "body": "fragment LoyaltyTier on LoyaltyTier {\n id\n name\n type\n minPoints\n minAnnualSpend {\n ...Money\n }\n pointsMultiplier\n customBenefits {\n name\n description\n icon {\n ...ImageThumbnail\n }\n }\n}",
2703
2716
  "onType": "LoyaltyTier"
2704
2717
  },
2705
2718
  {
@@ -2836,8 +2849,10 @@
2836
2849
  "section": "Reviews",
2837
2850
  "description": "Single product review — rating, title, body, optional pros/cons, image attachments, author, verified-purchase flag, helpful/unhelpful counts, optional merchant response. Only `APPROVED` reviews are exposed to the storefront.",
2838
2851
  "variables": [],
2839
- "fragmentRefs": [],
2840
- "body": "fragment ProductReview on ProductReview {\n id\n productId\n rating\n title\n content\n pros\n cons\n images\n authorName\n isVerifiedPurchase\n helpfulCount\n unhelpfulCount\n response\n responseAt\n createdAt\n}",
2852
+ "fragmentRefs": [
2853
+ "ImageThumbnail"
2854
+ ],
2855
+ "body": "fragment ProductReview on ProductReview {\n id\n productId\n rating\n title\n content\n pros\n cons\n images {\n ...ImageThumbnail\n }\n authorName\n isVerifiedPurchase\n helpfulCount\n unhelpfulCount\n response\n responseAt\n createdAt\n}",
2841
2856
  "onType": "ProductReview"
2842
2857
  },
2843
2858
  {
@@ -3009,9 +3024,10 @@
3009
3024
  "description": "One menu item with up to 3 levels of nested children — title, URL, type (`HTTP` / `FRONTPAGE` / `SEARCH` / `CATALOG` / `BLOG` / `PRODUCT` / `COLLECTION` / `CATEGORY` / `PAGE` / `BRAND`), `resourceId` for typed items, optional image, and a typed `resource` union (Category / Collection / ShopPage / Product / Brand) carrying the linked resource's handle. Two ways to render the link target: (1) use the pre-resolved `url` if your storefront follows the standard `/categories|/collections|/pages|/products|/brands/<handle>` route convention; (2) read `resource.__typename` + the per-type `handle` and build your own paths if your storefront uses different routing. Switch on `type` to decide which static (FRONTPAGE/SEARCH/CATALOG/BLOG) or dynamic target to render.",
3010
3025
  "variables": [],
3011
3026
  "fragmentRefs": [
3012
- "Image"
3027
+ "Image",
3028
+ "ImageThumbnail"
3013
3029
  ],
3014
- "body": "fragment MenuItem on MenuItem {\n id\n title\n url\n type\n resourceId\n resource {\n __typename\n ... on Category {\n id\n handle\n name\n }\n ... on Collection {\n id\n handle\n title\n }\n ... on ShopPage {\n id\n handle\n title\n }\n ... on Product {\n id\n handle\n title\n }\n ... on Brand {\n id\n handle\n name\n logo\n }\n }\n image {\n ...Image\n }\n items {\n id\n title\n url\n type\n resourceId\n resource {\n __typename\n ... on Category {\n id\n handle\n name\n }\n ... on Collection {\n id\n handle\n title\n }\n ... on ShopPage {\n id\n handle\n title\n }\n ... on Product {\n id\n handle\n title\n }\n ... on Brand {\n id\n handle\n name\n logo\n }\n }\n items {\n id\n title\n url\n type\n resourceId\n resource {\n __typename\n ... on Category {\n id\n handle\n name\n }\n ... on Collection {\n id\n handle\n title\n }\n ... on ShopPage {\n id\n handle\n title\n }\n ... on Product {\n id\n handle\n title\n }\n ... on Brand {\n id\n handle\n name\n logo\n }\n }\n }\n }\n}",
3030
+ "body": "fragment MenuItem on MenuItem {\n id\n title\n url\n type\n resourceId\n resource {\n __typename\n ... on Category {\n id\n handle\n name\n }\n ... on Collection {\n id\n handle\n title\n }\n ... on ShopPage {\n id\n handle\n title\n }\n ... on Product {\n id\n handle\n title\n }\n ... on Brand {\n id\n handle\n name\n logo {\n ...ImageThumbnail\n }\n }\n }\n image {\n ...Image\n }\n items {\n id\n title\n url\n type\n resourceId\n resource {\n __typename\n ... on Category {\n id\n handle\n name\n }\n ... on Collection {\n id\n handle\n title\n }\n ... on ShopPage {\n id\n handle\n title\n }\n ... on Product {\n id\n handle\n title\n }\n ... on Brand {\n id\n handle\n name\n logo {\n ...ImageThumbnail\n }\n }\n }\n items {\n id\n title\n url\n type\n resourceId\n resource {\n __typename\n ... on Category {\n id\n handle\n name\n }\n ... on Collection {\n id\n handle\n title\n }\n ... on ShopPage {\n id\n handle\n title\n }\n ... on Product {\n id\n handle\n title\n }\n ... on Brand {\n id\n handle\n name\n logo {\n ...ImageThumbnail\n }\n }\n }\n }\n }\n}",
3015
3031
  "onType": "MenuItem"
3016
3032
  },
3017
3033
  {