spree_api 4.5.5 → 4.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (29) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/concerns/spree/api/v2/product_list_includes.rb +2 -1
  3. data/app/controllers/spree/api/v2/base_controller.rb +2 -0
  4. data/app/controllers/spree/api/v2/data_feeds/google_controller.rb +24 -0
  5. data/app/controllers/spree/api/v2/platform/data_feeds_controller.rb +15 -0
  6. data/app/controllers/spree/api/v2/resource_controller.rb +1 -1
  7. data/app/controllers/spree/api/v2/storefront/products_controller.rb +1 -1
  8. data/app/controllers/spree/api/v2/storefront/taxons_controller.rb +4 -3
  9. data/app/helpers/spree/api/v2/collection_options_helpers.rb +1 -1
  10. data/app/models/spree/webhooks/event.rb +8 -0
  11. data/app/models/spree/webhooks/event_signature.rb +33 -0
  12. data/app/models/spree/webhooks/subscriber.rb +2 -1
  13. data/app/serializers/spree/api/v2/platform/data_feed_serializer.rb +13 -0
  14. data/app/serializers/spree/api/v2/platform/user_serializer.rb +1 -1
  15. data/app/serializers/spree/v2/storefront/product_serializer.rb +4 -0
  16. data/app/serializers/spree/v2/storefront/taxon_serializer.rb +4 -0
  17. data/app/serializers/spree/v2/storefront/user_serializer.rb +1 -1
  18. data/app/services/spree/webhooks/subscribers/handle_request.rb +5 -1
  19. data/app/services/spree/webhooks/subscribers/make_request.rb +3 -2
  20. data/brakeman.ignore +7 -0
  21. data/config/routes.rb +8 -0
  22. data/db/migrate/20221221122100_add_secret_key_to_spree_webhooks_subscribers.rb +5 -0
  23. data/db/migrate/20230116204600_backfill_secret_key_for_spree_webhooks_subscribers.rb +5 -0
  24. data/db/migrate/20230116205000_change_secret_key_to_non_null_column.rb +5 -0
  25. data/docs/oauth/index.yml +5 -5
  26. data/docs/v2/platform/index.yaml +329 -1
  27. data/docs/v2/storefront/index.yaml +129 -105
  28. data/lib/spree/api/dependencies.rb +86 -129
  29. metadata +15 -7
@@ -2,7 +2,7 @@ openapi: 3.0.3
2
2
  servers:
3
3
  - url: 'https://demo.spreecommerce.org'
4
4
  description: demo
5
- - url: 'http://localhost:3000'
5
+ - url: 'http://localhost:4000'
6
6
  description: localhost
7
7
  info:
8
8
  version: 2.0.0
@@ -63,6 +63,9 @@ paths:
63
63
  last_name:
64
64
  type: string
65
65
  example: Snow
66
+ selected_locale:
67
+ type: string
68
+ example: 'en'
66
69
  password:
67
70
  type: string
68
71
  example: spree123
@@ -110,6 +113,9 @@ paths:
110
113
  last_name:
111
114
  type: string
112
115
  example: Snow
116
+ selected_locale:
117
+ type: string
118
+ example: 'fr'
113
119
  bill_address_id:
114
120
  type: string
115
121
  example: '1'
@@ -1913,7 +1919,7 @@ components:
1913
1919
  - id
1914
1920
  - type
1915
1921
  - attributes
1916
- x-internal: true
1922
+ x-internal: false
1917
1923
  AddressPayload:
1918
1924
  example:
1919
1925
  firstname: John
@@ -1926,7 +1932,7 @@ components:
1926
1932
  state_name: MD
1927
1933
  country_iso: US
1928
1934
  type: object
1929
- x-internal: true
1935
+ x-internal: false
1930
1936
  title: ''
1931
1937
  x-examples: {}
1932
1938
  description: ''
@@ -1973,7 +1979,7 @@ components:
1973
1979
  description: 'The Cart provides a central place to collect information about an order, including line items, adjustments, payments, addresses, and shipments. [Read more in Spree docs](https://dev-docs.spreecommerce.org/internals/orders)'
1974
1980
  type: object
1975
1981
  title: Cart
1976
- x-internal: true
1982
+ x-internal: false
1977
1983
  properties:
1978
1984
  id:
1979
1985
  type: string
@@ -2181,7 +2187,7 @@ components:
2181
2187
  - attributes
2182
2188
  - relationships
2183
2189
  CartIncludes:
2184
- x-internal: true
2190
+ x-internal: false
2185
2191
  title: Cart Includes
2186
2192
  anyOf:
2187
2193
  - $ref: '#/components/schemas/LineItem'
@@ -2197,7 +2203,7 @@ components:
2197
2203
  type: object
2198
2204
  title: CMS Page
2199
2205
  description: 'The CMS Page model contains page data for Standard pages, Feature Pages and Homepages.'
2200
- x-internal: true
2206
+ x-internal: false
2201
2207
  properties:
2202
2208
  id:
2203
2209
  type: string
@@ -2250,7 +2256,7 @@ components:
2250
2256
  - attributes
2251
2257
  - relationships
2252
2258
  CmsPageIncludes:
2253
- x-internal: true
2259
+ x-internal: false
2254
2260
  title: CMS Page Includes
2255
2261
  allOf:
2256
2262
  - $ref: '#/components/schemas/CmsSection'
@@ -2259,7 +2265,7 @@ components:
2259
2265
  type: object
2260
2266
  title: CMS Section
2261
2267
  description: The CMS Section model represents a single section belonging to a CMS Page. CMS Sections can link to other resources through the `linked_resource`.
2262
- x-internal: true
2268
+ x-internal: false
2263
2269
  properties:
2264
2270
  id:
2265
2271
  type: string
@@ -2361,7 +2367,7 @@ components:
2361
2367
  title: Country
2362
2368
  description: 'Countries within Spree are used as a container for states. Countries can be zone members, and also link to an address. The difference between one country and another on an address record can determine which tax rates and shipping methods are used for the order.[Read more about Countries in Spree](https://dev-docs.spreecommerce.org/internals/addresses#countries)'
2363
2369
  type: object
2364
- x-internal: true
2370
+ x-internal: false
2365
2371
  properties:
2366
2372
  id:
2367
2373
  type: string
@@ -2407,14 +2413,14 @@ components:
2407
2413
  - attributes
2408
2414
  - relationships
2409
2415
  CountryIncludes:
2410
- x-internal: true
2416
+ x-internal: false
2411
2417
  title: Country Includes
2412
2418
  oneOf:
2413
2419
  - $ref: '#/components/schemas/State'
2414
2420
  CreditCard:
2415
2421
  title: Credit Card
2416
2422
  type: object
2417
- x-internal: true
2423
+ x-internal: false
2418
2424
  properties:
2419
2425
  id:
2420
2426
  type: string
@@ -2467,12 +2473,12 @@ components:
2467
2473
  - attributes
2468
2474
  - relationships
2469
2475
  CreditCardIncludes:
2470
- x-internal: true
2476
+ x-internal: false
2471
2477
  title: Credit Card Includes
2472
2478
  allOf:
2473
2479
  - $ref: '#/components/schemas/PaymentMethod'
2474
2480
  Error:
2475
- x-internal: true
2481
+ x-internal: false
2476
2482
  title: Error
2477
2483
  type: object
2478
2484
  properties:
@@ -2482,7 +2488,7 @@ components:
2482
2488
  type: object
2483
2489
  description: 'The Icon object contains a url attribute pointing to an Active Storage asset. '
2484
2490
  title: Icon
2485
- x-internal: true
2491
+ x-internal: false
2486
2492
  properties:
2487
2493
  id:
2488
2494
  type: string
@@ -2526,15 +2532,15 @@ components:
2526
2532
  - type
2527
2533
  - attributes
2528
2534
  title: Image
2529
- x-internal: true
2535
+ x-internal: false
2530
2536
  ImageStyle:
2531
- x-internal: true
2537
+ x-internal: false
2532
2538
  title: Image Style
2533
2539
  type: object
2534
2540
  properties:
2535
2541
  url:
2536
2542
  type: string
2537
- example: 'http://localhost:3000/rails/active_storage/disk/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaEpJbWQyWVhKcFlXNTBjeTltWm1sMmRURlNORFpZWjJaSFpYUkdZMjk2WWsxM1RHWXZNVGs1T1RCak5XVmlNamN4TlRnd1pqVTBabUpqTWpCbFkyVXhZMlZpTTJFd05ERTJZemMzT0dKaE5tSTFNREkyT0dKaFpqa3paV1JtWTJWaE16aGxaQVk2QmtWVSIsImV4cCI6IjIwMTgtMDYtMjRUMTM6NTk6NTguOTY5WiIsInB1ciI6ImJsb2Jfa2V5In19--5e9ff358dc747f73754e332678c5762114ac6f3f/ror_jr_spaghetti.jpeg?content_type=image%2Fjpeg&disposition=inline%3B+filename%3D%22ror_jr_spaghetti.jpeg%22%3B+filename%2A%3DUTF-8%27%27ror_jr_spaghetti.jpeg'
2543
+ example: 'http://localhost:4000/rails/active_storage/disk/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaEpJbWQyWVhKcFlXNTBjeTltWm1sMmRURlNORFpZWjJaSFpYUkdZMjk2WWsxM1RHWXZNVGs1T1RCak5XVmlNamN4TlRnd1pqVTBabUpqTWpCbFkyVXhZMlZpTTJFd05ERTJZemMzT0dKaE5tSTFNREkyT0dKaFpqa3paV1JtWTJWaE16aGxaQVk2QmtWVSIsImV4cCI6IjIwMTgtMDYtMjRUMTM6NTk6NTguOTY5WiIsInB1ciI6ImJsb2Jfa2V5In19--5e9ff358dc747f73754e332678c5762114ac6f3f/ror_jr_spaghetti.jpeg?content_type=image%2Fjpeg&disposition=inline%3B+filename%3D%22ror_jr_spaghetti.jpeg%22%3B+filename%2A%3DUTF-8%27%27ror_jr_spaghetti.jpeg'
2538
2544
  description: Absolute URL of the uploaded image in selected style (width/height)
2539
2545
  width:
2540
2546
  type: integer
@@ -2545,7 +2551,7 @@ components:
2545
2551
  example: 1080
2546
2552
  description: Actual height of image
2547
2553
  ListLinks:
2548
- x-internal: true
2554
+ x-internal: false
2549
2555
  type: object
2550
2556
  title: Pagination Links
2551
2557
  properties:
@@ -2566,7 +2572,7 @@ components:
2566
2572
  description: URL to the first page of the listing
2567
2573
  ListMeta:
2568
2574
  type: object
2569
- x-internal: true
2575
+ x-internal: false
2570
2576
  title: Pagination Meta
2571
2577
  properties:
2572
2578
  count:
@@ -2584,7 +2590,7 @@ components:
2584
2590
  LineItem:
2585
2591
  title: Line Item
2586
2592
  type: object
2587
- x-internal: true
2593
+ x-internal: false
2588
2594
  properties:
2589
2595
  id:
2590
2596
  type: string
@@ -2693,7 +2699,7 @@ components:
2693
2699
  Menu:
2694
2700
  type: object
2695
2701
  title: Menu
2696
- x-internal: true
2702
+ x-internal: false
2697
2703
  properties:
2698
2704
  id:
2699
2705
  type: string
@@ -2734,7 +2740,7 @@ components:
2734
2740
  MenuItem:
2735
2741
  title: Menu Item
2736
2742
  type: object
2737
- x-internal: true
2743
+ x-internal: false
2738
2744
  properties:
2739
2745
  id:
2740
2746
  type: string
@@ -2823,7 +2829,7 @@ components:
2823
2829
  - attributes
2824
2830
  - relationships
2825
2831
  MenuIncludes:
2826
- x-internal: true
2832
+ x-internal: false
2827
2833
  title: Menu Includes
2828
2834
  anyOf:
2829
2835
  - $ref: '#/components/schemas/MenuItem'
@@ -2834,7 +2840,7 @@ components:
2834
2840
  OptionType:
2835
2841
  title: Option Type
2836
2842
  type: object
2837
- x-internal: true
2843
+ x-internal: false
2838
2844
  properties:
2839
2845
  id:
2840
2846
  type: string
@@ -2862,7 +2868,7 @@ components:
2862
2868
  title: Payment
2863
2869
  type: object
2864
2870
  description: ''
2865
- x-internal: true
2871
+ x-internal: false
2866
2872
  properties:
2867
2873
  id:
2868
2874
  type: string
@@ -2918,7 +2924,7 @@ components:
2918
2924
  title: Payment Method
2919
2925
  description: ''
2920
2926
  type: object
2921
- x-internal: true
2927
+ x-internal: false
2922
2928
  properties:
2923
2929
  id:
2924
2930
  type: string
@@ -2948,7 +2954,7 @@ components:
2948
2954
  Product:
2949
2955
  type: object
2950
2956
  title: Product
2951
- x-internal: true
2957
+ x-internal: false
2952
2958
  properties:
2953
2959
  id:
2954
2960
  type: string
@@ -3016,6 +3022,9 @@ components:
3016
3022
  type: string
3017
3023
  example: $49.99
3018
3024
  nullable: true
3025
+ localized_slugs:
3026
+ type: object
3027
+ description: Provides product's slugs in other locales
3019
3028
  relationships:
3020
3029
  type: object
3021
3030
  properties:
@@ -3077,7 +3086,7 @@ components:
3077
3086
  - attributes
3078
3087
  - relationships
3079
3088
  ProductIncludes:
3080
- x-internal: true
3089
+ x-internal: false
3081
3090
  title: Product Includes
3082
3091
  anyOf:
3083
3092
  - $ref: '#/components/schemas/OptionType'
@@ -3086,7 +3095,7 @@ components:
3086
3095
  - $ref: '#/components/schemas/Image'
3087
3096
  - $ref: '#/components/schemas/Taxon'
3088
3097
  StoreIncludes:
3089
- x-internal: true
3098
+ x-internal: false
3090
3099
  title: Store Includes
3091
3100
  anyOf:
3092
3101
  - $ref: '#/components/schemas/Country'
@@ -3121,7 +3130,7 @@ components:
3121
3130
  - id
3122
3131
  - type
3123
3132
  - attributes
3124
- x-internal: true
3133
+ x-internal: false
3125
3134
  Promotion:
3126
3135
  type: object
3127
3136
  title: Promotion
@@ -3154,7 +3163,7 @@ components:
3154
3163
  - id
3155
3164
  - type
3156
3165
  - attributes
3157
- x-internal: true
3166
+ x-internal: false
3158
3167
  Relation:
3159
3168
  type: object
3160
3169
  nullable: true
@@ -3166,7 +3175,7 @@ components:
3166
3175
  required:
3167
3176
  - id
3168
3177
  - type
3169
- x-internal: true
3178
+ x-internal: false
3170
3179
  description: ''
3171
3180
  State:
3172
3181
  type: object
@@ -3181,12 +3190,12 @@ components:
3181
3190
  type: string
3182
3191
  example: New York
3183
3192
  description: State name
3184
- x-internal: true
3193
+ x-internal: false
3185
3194
  Store:
3186
3195
  type: object
3187
3196
  description: Stores are the center of the Spree ecosystem. Each Spree installation can have multiple Stores. Each Store operates on a different domain or subdomain.
3188
3197
  title: Store
3189
- x-internal: true
3198
+ x-internal: false
3190
3199
  properties:
3191
3200
  id:
3192
3201
  type: string
@@ -3301,7 +3310,7 @@ components:
3301
3310
  Shipment:
3302
3311
  type: object
3303
3312
  title: Shipment
3304
- x-internal: true
3313
+ x-internal: false
3305
3314
  properties:
3306
3315
  id:
3307
3316
  type: string
@@ -3371,7 +3380,7 @@ components:
3371
3380
  - attributes
3372
3381
  - relationships
3373
3382
  ShipmentIncludes:
3374
- x-internal: true
3383
+ x-internal: false
3375
3384
  title: Shipment Includes
3376
3385
  allOf:
3377
3386
  - $ref: '#/components/schemas/ShippingRate'
@@ -3380,7 +3389,7 @@ components:
3380
3389
  type: object
3381
3390
  title: Shipping Rate
3382
3391
  description: ''
3383
- x-internal: true
3392
+ x-internal: false
3384
3393
  properties:
3385
3394
  id:
3386
3395
  type: string
@@ -3434,7 +3443,7 @@ components:
3434
3443
  StockLocation:
3435
3444
  title: Stock Location
3436
3445
  type: object
3437
- x-internal: true
3446
+ x-internal: false
3438
3447
  properties:
3439
3448
  id:
3440
3449
  type: string
@@ -3455,7 +3464,7 @@ components:
3455
3464
  Taxon:
3456
3465
  title: Taxon
3457
3466
  type: object
3458
- x-internal: true
3467
+ x-internal: false
3459
3468
  properties:
3460
3469
  id:
3461
3470
  type: string
@@ -3518,6 +3527,9 @@ components:
3518
3527
  updated_at:
3519
3528
  type: string
3520
3529
  example: '2018-06-18T10:57:29.704Z'
3530
+ localized_slugs:
3531
+ type: object
3532
+ description: Provides taxon's slugs in other locales
3521
3533
  relationships:
3522
3534
  type: object
3523
3535
  properties:
@@ -3586,9 +3598,9 @@ components:
3586
3598
  - type
3587
3599
  - attributes
3588
3600
  title: Taxon Image
3589
- x-internal: true
3601
+ x-internal: false
3590
3602
  TaxonIncludes:
3591
- x-internal: true
3603
+ x-internal: false
3592
3604
  title: Taxon Includes
3593
3605
  anyOf:
3594
3606
  - $ref: '#/components/schemas/Product'
@@ -3597,7 +3609,7 @@ components:
3597
3609
  Taxonomy:
3598
3610
  type: object
3599
3611
  title: Taxonomy
3600
- x-internal: true
3612
+ x-internal: false
3601
3613
  properties:
3602
3614
  id:
3603
3615
  type: string
@@ -3622,7 +3634,7 @@ components:
3622
3634
  type: string
3623
3635
  format: date-time
3624
3636
  example: '2020-02-16T07:14:54.617Z'
3625
- x-internal: true
3637
+ x-internal: false
3626
3638
  title: Time Stamp
3627
3639
  x-examples:
3628
3640
  example-1: '2020-02-16T07:14:54.617Z'
@@ -3630,7 +3642,7 @@ components:
3630
3642
  type: object
3631
3643
  title: User
3632
3644
  description: ' '
3633
- x-internal: true
3645
+ x-internal: false
3634
3646
  properties:
3635
3647
  id:
3636
3648
  type: string
@@ -3650,6 +3662,9 @@ components:
3650
3662
  last_name:
3651
3663
  type: string
3652
3664
  example: Doe
3665
+ selected_locale:
3666
+ type: string
3667
+ example: 'fr'
3653
3668
  store_credits:
3654
3669
  type: number
3655
3670
  example: 150.75
@@ -3687,7 +3702,7 @@ components:
3687
3702
  description: 'Variant records track the individual variants of a Product. Variants are of two types: master variants and normal variants.'
3688
3703
  x-examples: {}
3689
3704
  type: object
3690
- x-internal: true
3705
+ x-internal: false
3691
3706
  properties:
3692
3707
  id:
3693
3708
  type: string
@@ -3769,7 +3784,7 @@ components:
3769
3784
  - relationships
3770
3785
  WishedItem:
3771
3786
  type: object
3772
- x-internal: true
3787
+ x-internal: false
3773
3788
  properties:
3774
3789
  id:
3775
3790
  type: string
@@ -3803,7 +3818,7 @@ components:
3803
3818
  - attributes
3804
3819
  - relationships
3805
3820
  WishedItemIncludes:
3806
- x-internal: true
3821
+ x-internal: false
3807
3822
  title: Wished Item Includes
3808
3823
  allOf:
3809
3824
  - $ref: '#/components/schemas/Variant'
@@ -3811,7 +3826,7 @@ components:
3811
3826
  description: ''
3812
3827
  type: object
3813
3828
  title: Wishlist
3814
- x-internal: true
3829
+ x-internal: false
3815
3830
  properties:
3816
3831
  id:
3817
3832
  type: string
@@ -3849,14 +3864,14 @@ components:
3849
3864
  - attributes
3850
3865
  - relationships
3851
3866
  WishlistIncludes:
3852
- x-internal: true
3867
+ x-internal: false
3853
3868
  title: Wishlist Includes
3854
3869
  allOf:
3855
3870
  - $ref: '#/components/schemas/WishedItem'
3856
3871
  DigitalLink:
3857
3872
  title: Digital Link
3858
3873
  type: object
3859
- x-internal: true
3874
+ x-internal: false
3860
3875
  properties:
3861
3876
  id:
3862
3877
  type: string
@@ -4803,11 +4818,11 @@ components:
4803
4818
  total_count: 1
4804
4819
  total_pages: 1
4805
4820
  links:
4806
- self: 'http://localhost:3000/api/v2/storefront/account/orders'
4807
- next: 'http://localhost:3000/api/v2/storefront/account/orders?page=1'
4808
- prev: 'http://localhost:3000/api/v2/storefront/account/orders?page=1'
4809
- last: 'http://localhost:3000/api/v2/storefront/account/orders?page=1'
4810
- first: 'http://localhost:3000/api/v2/storefront/account/orders?page=1'
4821
+ self: 'http://localhost:4000/api/v2/storefront/account/orders'
4822
+ next: 'http://localhost:4000/api/v2/storefront/account/orders?page=1'
4823
+ prev: 'http://localhost:4000/api/v2/storefront/account/orders?page=1'
4824
+ last: 'http://localhost:4000/api/v2/storefront/account/orders?page=1'
4825
+ first: 'http://localhost:4000/api/v2/storefront/account/orders?page=1'
4811
4826
  Including all related objects:
4812
4827
  value:
4813
4828
  data:
@@ -5078,11 +5093,11 @@ components:
5078
5093
  total_count: 1
5079
5094
  total_pages: 1
5080
5095
  links:
5081
- self: 'http://localhost:3000/api/v2/storefront/account/orders?include=line_items,variants,variants.images,billing_address,shipping_address,user,payments,shipments,promotions'
5082
- next: 'http://localhost:3000/api/v2/storefront/account/orders?include=line_items%2Cvariants%2Cvariants.images%2Cbilling_address%2Cshipping_address%2Cuser%2Cpayments%2Cshipments%2Cpromotions&page=1'
5083
- prev: 'http://localhost:3000/api/v2/storefront/account/orders?include=line_items%2Cvariants%2Cvariants.images%2Cbilling_address%2Cshipping_address%2Cuser%2Cpayments%2Cshipments%2Cpromotions&page=1'
5084
- last: 'http://localhost:3000/api/v2/storefront/account/orders?include=line_items%2Cvariants%2Cvariants.images%2Cbilling_address%2Cshipping_address%2Cuser%2Cpayments%2Cshipments%2Cpromotions&page=1'
5085
- first: 'http://localhost:3000/api/v2/storefront/account/orders?include=line_items%2Cvariants%2Cvariants.images%2Cbilling_address%2Cshipping_address%2Cuser%2Cpayments%2Cshipments%2Cpromotions&page=1'
5096
+ self: 'http://localhost:4000/api/v2/storefront/account/orders?include=line_items,variants,variants.images,billing_address,shipping_address,user,payments,shipments,promotions'
5097
+ next: 'http://localhost:4000/api/v2/storefront/account/orders?include=line_items%2Cvariants%2Cvariants.images%2Cbilling_address%2Cshipping_address%2Cuser%2Cpayments%2Cshipments%2Cpromotions&page=1'
5098
+ prev: 'http://localhost:4000/api/v2/storefront/account/orders?include=line_items%2Cvariants%2Cvariants.images%2Cbilling_address%2Cshipping_address%2Cuser%2Cpayments%2Cshipments%2Cpromotions&page=1'
5099
+ last: 'http://localhost:4000/api/v2/storefront/account/orders?include=line_items%2Cvariants%2Cvariants.images%2Cbilling_address%2Cshipping_address%2Cuser%2Cpayments%2Cshipments%2Cpromotions&page=1'
5100
+ first: 'http://localhost:4000/api/v2/storefront/account/orders?include=line_items%2Cvariants%2Cvariants.images%2Cbilling_address%2Cshipping_address%2Cuser%2Cpayments%2Cshipments%2Cpromotions&page=1'
5086
5101
  User:
5087
5102
  description: 200 Success - Returns the `user` object.
5088
5103
  content:
@@ -5109,6 +5124,7 @@ components:
5109
5124
  email: spree@example.com
5110
5125
  first_name: John
5111
5126
  last_name: Snow
5127
+ selected_locale: 'en'
5112
5128
  store_credits: 0
5113
5129
  completed_orders: 0
5114
5130
  public_metadata:
@@ -5252,11 +5268,11 @@ components:
5252
5268
  total_count: 3
5253
5269
  total_pages: 1
5254
5270
  links:
5255
- self: 'http://localhost:3000/api/v2/storefront/account/addresses'
5256
- next: 'http://localhost:3000/api/v2/storefront/account/addresses?page=1'
5257
- prev: 'http://localhost:3000/api/v2/storefront/account/addresses?page=1'
5258
- last: 'http://localhost:3000/api/v2/storefront/account/addresses?page=1'
5259
- first: 'http://localhost:3000/api/v2/storefront/account/addresses?page=1'
5271
+ self: 'http://localhost:4000/api/v2/storefront/account/addresses'
5272
+ next: 'http://localhost:4000/api/v2/storefront/account/addresses?page=1'
5273
+ prev: 'http://localhost:4000/api/v2/storefront/account/addresses?page=1'
5274
+ last: 'http://localhost:4000/api/v2/storefront/account/addresses?page=1'
5275
+ first: 'http://localhost:4000/api/v2/storefront/account/addresses?page=1'
5260
5276
  Address:
5261
5277
  description: 200 Success - Returns the `address` object.
5262
5278
  content:
@@ -5700,11 +5716,11 @@ components:
5700
5716
  total_count: 6
5701
5717
  total_pages: 1
5702
5718
  links:
5703
- self: 'http://localhost:3000/api/v2/storefront/cms_pages'
5704
- next: 'http://localhost:3000/api/v2/storefront/cms_pages?page=1'
5705
- prev: 'http://localhost:3000/api/v2/storefront/cms_pages?page=1'
5706
- last: 'http://localhost:3000/api/v2/storefront/cms_pages?page=1'
5707
- first: 'http://localhost:3000/api/v2/storefront/cms_pages?page=1'
5719
+ self: 'http://localhost:4000/api/v2/storefront/cms_pages'
5720
+ next: 'http://localhost:4000/api/v2/storefront/cms_pages?page=1'
5721
+ prev: 'http://localhost:4000/api/v2/storefront/cms_pages?page=1'
5722
+ last: 'http://localhost:4000/api/v2/storefront/cms_pages?page=1'
5723
+ first: 'http://localhost:4000/api/v2/storefront/cms_pages?page=1'
5708
5724
  CMS Pages with Included Sections:
5709
5725
  value:
5710
5726
  data:
@@ -6199,11 +6215,11 @@ components:
6199
6215
  total_count: 6
6200
6216
  total_pages: 1
6201
6217
  links:
6202
- self: 'http://localhost:3000/api/v2/storefront/cms_pages?include=cms_sections'
6203
- next: 'http://localhost:3000/api/v2/storefront/cms_pages?include=cms_sections&page=1'
6204
- prev: 'http://localhost:3000/api/v2/storefront/cms_pages?include=cms_sections&page=1'
6205
- last: 'http://localhost:3000/api/v2/storefront/cms_pages?include=cms_sections&page=1'
6206
- first: 'http://localhost:3000/api/v2/storefront/cms_pages?include=cms_sections&page=1'
6218
+ self: 'http://localhost:4000/api/v2/storefront/cms_pages?include=cms_sections'
6219
+ next: 'http://localhost:4000/api/v2/storefront/cms_pages?include=cms_sections&page=1'
6220
+ prev: 'http://localhost:4000/api/v2/storefront/cms_pages?include=cms_sections&page=1'
6221
+ last: 'http://localhost:4000/api/v2/storefront/cms_pages?include=cms_sections&page=1'
6222
+ first: 'http://localhost:4000/api/v2/storefront/cms_pages?include=cms_sections&page=1'
6207
6223
  CreditCard:
6208
6224
  description: 200 Success - Returns the `credit_card` object.
6209
6225
  content:
@@ -6313,11 +6329,11 @@ components:
6313
6329
  total_count: 2
6314
6330
  total_pages: 1
6315
6331
  links:
6316
- self: 'http://localhost:3000/api/v2/storefront/account/credit_cards'
6317
- next: 'http://localhost:3000/api/v2/storefront/account/credit_cards?page=0'
6318
- prev: 'http://localhost:3000/api/v2/storefront/account/credit_cards?page=1'
6319
- last: 'http://localhost:3000/api/v2/storefront/account/credit_cards?page=0'
6320
- first: 'http://localhost:3000/api/v2/storefront/account/credit_cards?page=1'
6332
+ self: 'http://localhost:4000/api/v2/storefront/account/credit_cards'
6333
+ next: 'http://localhost:4000/api/v2/storefront/account/credit_cards?page=0'
6334
+ prev: 'http://localhost:4000/api/v2/storefront/account/credit_cards?page=1'
6335
+ last: 'http://localhost:4000/api/v2/storefront/account/credit_cards?page=0'
6336
+ first: 'http://localhost:4000/api/v2/storefront/account/credit_cards?page=1'
6321
6337
  Product:
6322
6338
  description: 200 Success - Returns the `product` object.
6323
6339
  content:
@@ -6357,6 +6373,10 @@ components:
6357
6373
  display_price: $38.99
6358
6374
  compare_at_price: null
6359
6375
  display_compare_at_price: null
6376
+ localized_slugs:
6377
+ en: bomber-jacket
6378
+ de: bomberjacke
6379
+ fr: blouson
6360
6380
  relationships:
6361
6381
  variants:
6362
6382
  data:
@@ -8546,11 +8566,11 @@ components:
8546
8566
  - value: Zeta
8547
8567
  filter_param: zeta
8548
8568
  links:
8549
- self: 'http://localhost:3000/api/v2/storefront/products'
8550
- next: 'http://localhost:3000/api/v2/storefront/products?page=2'
8551
- prev: 'http://localhost:3000/api/v2/storefront/products?page=1'
8552
- last: 'http://localhost:3000/api/v2/storefront/products?page=5'
8553
- first: 'http://localhost:3000/api/v2/storefront/products?page=1'
8569
+ self: 'http://localhost:4000/api/v2/storefront/products'
8570
+ next: 'http://localhost:4000/api/v2/storefront/products?page=2'
8571
+ prev: 'http://localhost:4000/api/v2/storefront/products?page=1'
8572
+ last: 'http://localhost:4000/api/v2/storefront/products?page=5'
8573
+ first: 'http://localhost:4000/api/v2/storefront/products?page=1'
8554
8574
  Store:
8555
8575
  description: 200 Success - Returns the `store` object.
8556
8576
  content:
@@ -8723,6 +8743,10 @@ components:
8723
8743
  is_root: false
8724
8744
  is_child: true
8725
8745
  is_leaf: true
8746
+ localized_slugs:
8747
+ en: categories/summer-sale
8748
+ de: kategorien/sommerschlussverkauf
8749
+ fr: categories/soldes-dete
8726
8750
  relationships:
8727
8751
  parent:
8728
8752
  data:
@@ -11906,11 +11930,11 @@ components:
11906
11930
  total_count: 26
11907
11931
  total_pages: 2
11908
11932
  links:
11909
- self: 'http://localhost:3000/api/v2/storefront/taxons'
11910
- next: 'http://localhost:3000/api/v2/storefront/taxons?page=2'
11911
- prev: 'http://localhost:3000/api/v2/storefront/taxons?page=1'
11912
- last: 'http://localhost:3000/api/v2/storefront/taxons?page=2'
11913
- first: 'http://localhost:3000/api/v2/storefront/taxons?page=1'
11933
+ self: 'http://localhost:4000/api/v2/storefront/taxons'
11934
+ next: 'http://localhost:4000/api/v2/storefront/taxons?page=2'
11935
+ prev: 'http://localhost:4000/api/v2/storefront/taxons?page=1'
11936
+ last: 'http://localhost:4000/api/v2/storefront/taxons?page=2'
11937
+ first: 'http://localhost:4000/api/v2/storefront/taxons?page=1'
11914
11938
  Country:
11915
11939
  description: 200 Success - Returns the `country` object.
11916
11940
  content:
@@ -15212,11 +15236,11 @@ components:
15212
15236
  total_count: 240
15213
15237
  total_pages: 1
15214
15238
  links:
15215
- self: 'http://localhost:3000/api/v2/storefront/countries'
15216
- next: 'http://localhost:3000/api/v2/storefront/countries?page=1&per_page=240'
15217
- prev: 'http://localhost:3000/api/v2/storefront/countries?page=1&per_page=240'
15218
- last: 'http://localhost:3000/api/v2/storefront/countries?page=1&per_page=240'
15219
- first: 'http://localhost:3000/api/v2/storefront/countries?page=1&per_page=240'
15239
+ self: 'http://localhost:4000/api/v2/storefront/countries'
15240
+ next: 'http://localhost:4000/api/v2/storefront/countries?page=1&per_page=240'
15241
+ prev: 'http://localhost:4000/api/v2/storefront/countries?page=1&per_page=240'
15242
+ last: 'http://localhost:4000/api/v2/storefront/countries?page=1&per_page=240'
15243
+ first: 'http://localhost:4000/api/v2/storefront/countries?page=1&per_page=240'
15220
15244
  Shipment:
15221
15245
  description: '200 Success - Returns an array containing several `shipment` objects, along with the included array containing all available `shipping_rate` and `stock_location` objects. '
15222
15246
  content:
@@ -16219,11 +16243,11 @@ components:
16219
16243
  total_count: 2
16220
16244
  total_pages: 1
16221
16245
  links:
16222
- self: 'http://localhost:3000/api/v2/storefront/menus'
16223
- next: 'http://localhost:3000/api/v2/storefront/menus?page=1'
16224
- prev: 'http://localhost:3000/api/v2/storefront/menus?page=1'
16225
- last: 'http://localhost:3000/api/v2/storefront/menus?page=1'
16226
- first: 'http://localhost:3000/api/v2/storefront/menus?page=1'
16246
+ self: 'http://localhost:4000/api/v2/storefront/menus'
16247
+ next: 'http://localhost:4000/api/v2/storefront/menus?page=1'
16248
+ prev: 'http://localhost:4000/api/v2/storefront/menus?page=1'
16249
+ last: 'http://localhost:4000/api/v2/storefront/menus?page=1'
16250
+ first: 'http://localhost:4000/api/v2/storefront/menus?page=1'
16227
16251
  Wishlist:
16228
16252
  description: 200 Success - Returns the `wishlist` object.
16229
16253
  content:
@@ -16361,11 +16385,11 @@ components:
16361
16385
  total_count: 3
16362
16386
  total_pages: 1
16363
16387
  links:
16364
- self: 'http://localhost:3000/api/v2/storefront/wishlists?is_variant_included=150'
16365
- next: 'http://localhost:3000/api/v2/storefront/wishlists?page=1'
16366
- prev: 'http://localhost:3000/api/v2/storefront/wishlists?page=1'
16367
- last: 'http://localhost:3000/api/v2/storefront/wishlists?page=1'
16368
- first: 'http://localhost:3000/api/v2/storefront/wishlists?page=1'
16388
+ self: 'http://localhost:4000/api/v2/storefront/wishlists?is_variant_included=150'
16389
+ next: 'http://localhost:4000/api/v2/storefront/wishlists?page=1'
16390
+ prev: 'http://localhost:4000/api/v2/storefront/wishlists?page=1'
16391
+ last: 'http://localhost:4000/api/v2/storefront/wishlists?page=1'
16392
+ first: 'http://localhost:4000/api/v2/storefront/wishlists?page=1'
16369
16393
  WishedItem:
16370
16394
  description: 200 Success - Returns an array of `wished_item` objects.
16371
16395
  content: