spree_api 4.4.1 → 4.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/concerns/spree/api/v2/product_list_includes.rb +10 -8
- data/app/controllers/spree/api/v2/platform/orders_controller.rb +1 -1
- data/app/controllers/spree/api/v2/platform/products_controller.rb +5 -1
- data/app/controllers/spree/api/v2/storefront/checkout_controller.rb +1 -1
- data/app/controllers/spree/api/v2/storefront/digitals_controller.rb +5 -1
- data/app/controllers/spree/api/v2/storefront/stores_controller.rb +4 -0
- data/app/helpers/spree/api/v2/store_media_serializer_images_concern.rb +35 -0
- data/app/models/concerns/spree/webhooks/has_webhooks.rb +31 -7
- data/app/models/spree/api/webhooks/product_decorator.rb +21 -2
- data/app/models/spree/webhooks/subscriber.rb +4 -0
- data/app/serializers/spree/api/v2/platform/cms_section_image_one_serializer.rb +9 -0
- data/app/serializers/spree/api/v2/platform/cms_section_image_three_serializer.rb +9 -0
- data/app/serializers/spree/api/v2/platform/cms_section_image_two_serializer.rb +9 -0
- data/app/serializers/spree/api/v2/platform/hero_image_serializer.rb +10 -0
- data/app/serializers/spree/api/v2/platform/image_gallery_serializer.rb +10 -0
- data/app/serializers/spree/api/v2/platform/side_by_side_image_serializer.rb +10 -0
- data/app/serializers/spree/api/v2/platform/store_serializer.rb +1 -0
- data/app/serializers/spree/api/v2/platform/user_serializer.rb +1 -1
- data/app/serializers/spree/v2/storefront/cms_section_serializer.rb +3 -3
- data/app/serializers/spree/v2/storefront/order_serializer.rb +9 -0
- data/app/serializers/spree/v2/storefront/product_property_serializer.rb +1 -1
- data/app/serializers/spree/v2/storefront/product_serializer.rb +1 -1
- data/app/serializers/spree/v2/storefront/shipment_serializer.rb +3 -0
- data/app/serializers/spree/v2/storefront/store_serializer.rb +5 -10
- data/app/serializers/spree/v2/storefront/user_serializer.rb +1 -1
- data/app/serializers/spree/v2/storefront/variant_serializer.rb +1 -1
- data/app/services/spree/webhooks/subscribers/queue_requests.rb +8 -2
- data/config/routes.rb +1 -120
- data/docs/v2/platform/index.yaml +1597 -998
- data/docs/v2/storefront/index.yaml +357 -33
- data/lib/spree/api/configuration.rb +11 -0
- data/lib/spree/api/dependencies.rb +165 -0
- data/lib/spree/api/engine.rb +5 -16
- data/lib/spree/api/testing_support/v2/platform_contexts.rb +0 -1
- data/lib/spree/api.rb +0 -4
- data/lib/spree_api.rb +0 -1
- data/spree_api.gemspec +0 -2
- metadata +17 -178
- data/app/controllers/spree/api/base_controller.rb +0 -171
- data/app/controllers/spree/api/v1/addresses_controller.rb +0 -46
- data/app/controllers/spree/api/v1/checkouts_controller.rb +0 -106
- data/app/controllers/spree/api/v1/classifications_controller.rb +0 -21
- data/app/controllers/spree/api/v1/countries_controller.rb +0 -22
- data/app/controllers/spree/api/v1/credit_cards_controller.rb +0 -26
- data/app/controllers/spree/api/v1/customer_returns_controller.rb +0 -25
- data/app/controllers/spree/api/v1/images_controller.rb +0 -58
- data/app/controllers/spree/api/v1/inventory_units_controller.rb +0 -54
- data/app/controllers/spree/api/v1/line_items_controller.rb +0 -70
- data/app/controllers/spree/api/v1/option_types_controller.rb +0 -60
- data/app/controllers/spree/api/v1/option_values_controller.rb +0 -62
- data/app/controllers/spree/api/v1/orders_controller.rb +0 -160
- data/app/controllers/spree/api/v1/payments_controller.rb +0 -82
- data/app/controllers/spree/api/v1/product_properties_controller.rb +0 -73
- data/app/controllers/spree/api/v1/products_controller.rb +0 -131
- data/app/controllers/spree/api/v1/promotions_controller.rb +0 -30
- data/app/controllers/spree/api/v1/properties_controller.rb +0 -70
- data/app/controllers/spree/api/v1/reimbursements_controller.rb +0 -25
- data/app/controllers/spree/api/v1/return_authorizations_controller.rb +0 -70
- data/app/controllers/spree/api/v1/shipments_controller.rb +0 -196
- data/app/controllers/spree/api/v1/states_controller.rb +0 -36
- data/app/controllers/spree/api/v1/stock_items_controller.rb +0 -82
- data/app/controllers/spree/api/v1/stock_locations_controller.rb +0 -53
- data/app/controllers/spree/api/v1/stock_movements_controller.rb +0 -45
- data/app/controllers/spree/api/v1/stores_controller.rb +0 -56
- data/app/controllers/spree/api/v1/taxonomies_controller.rb +0 -67
- data/app/controllers/spree/api/v1/taxons_controller.rb +0 -100
- data/app/controllers/spree/api/v1/users_controller.rb +0 -97
- data/app/controllers/spree/api/v1/variants_controller.rb +0 -81
- data/app/controllers/spree/api/v1/zones_controller.rb +0 -55
- data/app/helpers/spree/api/api_helpers.rb +0 -190
- data/app/models/spree/api_configuration.rb +0 -10
- data/app/views/spree/api/errors/gateway_error.rabl +0 -2
- data/app/views/spree/api/errors/invalid_api_key.rabl +0 -2
- data/app/views/spree/api/errors/invalid_resource.rabl +0 -3
- data/app/views/spree/api/errors/must_specify_api_key.rabl +0 -2
- data/app/views/spree/api/errors/not_found.rabl +0 -2
- data/app/views/spree/api/errors/unauthorized.rabl +0 -2
- data/app/views/spree/api/v1/addresses/show.rabl +0 -10
- data/app/views/spree/api/v1/adjustments/show.rabl +0 -4
- data/app/views/spree/api/v1/countries/index.rabl +0 -7
- data/app/views/spree/api/v1/countries/show.rabl +0 -5
- data/app/views/spree/api/v1/credit_cards/index.rabl +0 -7
- data/app/views/spree/api/v1/credit_cards/show.rabl +0 -3
- data/app/views/spree/api/v1/customer_returns/index.rabl +0 -7
- data/app/views/spree/api/v1/images/index.rabl +0 -4
- data/app/views/spree/api/v1/images/new.rabl +0 -3
- data/app/views/spree/api/v1/images/show.rabl +0 -6
- data/app/views/spree/api/v1/inventory_units/show.rabl +0 -2
- data/app/views/spree/api/v1/line_items/new.rabl +0 -3
- data/app/views/spree/api/v1/line_items/show.rabl +0 -14
- data/app/views/spree/api/v1/option_types/index.rabl +0 -3
- data/app/views/spree/api/v1/option_types/new.rabl +0 -3
- data/app/views/spree/api/v1/option_types/show.rabl +0 -5
- data/app/views/spree/api/v1/option_values/index.rabl +0 -3
- data/app/views/spree/api/v1/option_values/new.rabl +0 -3
- data/app/views/spree/api/v1/option_values/show.rabl +0 -2
- data/app/views/spree/api/v1/orders/address.rabl +0 -0
- data/app/views/spree/api/v1/orders/canceled.rabl +0 -0
- data/app/views/spree/api/v1/orders/cart.rabl +0 -0
- data/app/views/spree/api/v1/orders/complete.rabl +0 -0
- data/app/views/spree/api/v1/orders/could_not_apply_coupon.rabl +0 -2
- data/app/views/spree/api/v1/orders/could_not_transition.rabl +0 -3
- data/app/views/spree/api/v1/orders/index.rabl +0 -7
- data/app/views/spree/api/v1/orders/insufficient_quantity.rabl +0 -2
- data/app/views/spree/api/v1/orders/invalid_shipping_method.rabl +0 -2
- data/app/views/spree/api/v1/orders/mine.rabl +0 -9
- data/app/views/spree/api/v1/orders/order.rabl +0 -10
- data/app/views/spree/api/v1/orders/payment.rabl +0 -3
- data/app/views/spree/api/v1/orders/show.rabl +0 -51
- data/app/views/spree/api/v1/payments/credit_over_limit.rabl +0 -2
- data/app/views/spree/api/v1/payments/index.rabl +0 -7
- data/app/views/spree/api/v1/payments/new.rabl +0 -5
- data/app/views/spree/api/v1/payments/show.rabl +0 -2
- data/app/views/spree/api/v1/payments/update_forbidden.rabl +0 -2
- data/app/views/spree/api/v1/product_properties/index.rabl +0 -7
- data/app/views/spree/api/v1/product_properties/new.rabl +0 -2
- data/app/views/spree/api/v1/product_properties/show.rabl +0 -2
- data/app/views/spree/api/v1/products/index.rabl +0 -9
- data/app/views/spree/api/v1/products/new.rabl +0 -3
- data/app/views/spree/api/v1/products/product.rabl +0 -1
- data/app/views/spree/api/v1/products/show.rabl +0 -36
- data/app/views/spree/api/v1/promotions/handler.rabl +0 -5
- data/app/views/spree/api/v1/promotions/show.rabl +0 -2
- data/app/views/spree/api/v1/properties/index.rabl +0 -7
- data/app/views/spree/api/v1/properties/new.rabl +0 -2
- data/app/views/spree/api/v1/properties/show.rabl +0 -2
- data/app/views/spree/api/v1/reimbursements/index.rabl +0 -7
- data/app/views/spree/api/v1/return_authorizations/index.rabl +0 -7
- data/app/views/spree/api/v1/return_authorizations/new.rabl +0 -3
- data/app/views/spree/api/v1/return_authorizations/show.rabl +0 -2
- data/app/views/spree/api/v1/shared/stock_location_required.rabl +0 -2
- data/app/views/spree/api/v1/shipments/big.rabl +0 -48
- data/app/views/spree/api/v1/shipments/cannot_ready_shipment.rabl +0 -2
- data/app/views/spree/api/v1/shipments/mine.rabl +0 -9
- data/app/views/spree/api/v1/shipments/show.rabl +0 -32
- data/app/views/spree/api/v1/shipments/small.rabl +0 -37
- data/app/views/spree/api/v1/shipping_rates/show.rabl +0 -2
- data/app/views/spree/api/v1/states/index.rabl +0 -12
- data/app/views/spree/api/v1/states/show.rabl +0 -2
- data/app/views/spree/api/v1/stock_items/index.rabl +0 -7
- data/app/views/spree/api/v1/stock_items/show.rabl +0 -5
- data/app/views/spree/api/v1/stock_locations/index.rabl +0 -7
- data/app/views/spree/api/v1/stock_locations/show.rabl +0 -8
- data/app/views/spree/api/v1/stock_movements/index.rabl +0 -7
- data/app/views/spree/api/v1/stock_movements/show.rabl +0 -5
- data/app/views/spree/api/v1/stores/index.rabl +0 -4
- data/app/views/spree/api/v1/stores/show.rabl +0 -2
- data/app/views/spree/api/v1/tags/index.rabl +0 -9
- data/app/views/spree/api/v1/taxonomies/index.rabl +0 -7
- data/app/views/spree/api/v1/taxonomies/jstree.rabl +0 -7
- data/app/views/spree/api/v1/taxonomies/nested.rabl +0 -11
- data/app/views/spree/api/v1/taxonomies/new.rabl +0 -3
- data/app/views/spree/api/v1/taxonomies/show.rabl +0 -15
- data/app/views/spree/api/v1/taxons/index.rabl +0 -10
- data/app/views/spree/api/v1/taxons/jstree.rabl +0 -7
- data/app/views/spree/api/v1/taxons/new.rabl +0 -3
- data/app/views/spree/api/v1/taxons/show.rabl +0 -6
- data/app/views/spree/api/v1/taxons/taxons.rabl +0 -5
- data/app/views/spree/api/v1/users/index.rabl +0 -7
- data/app/views/spree/api/v1/users/new.rabl +0 -3
- data/app/views/spree/api/v1/users/show.rabl +0 -11
- data/app/views/spree/api/v1/variants/big.rabl +0 -14
- data/app/views/spree/api/v1/variants/index.rabl +0 -9
- data/app/views/spree/api/v1/variants/new.rabl +0 -2
- data/app/views/spree/api/v1/variants/show.rabl +0 -3
- data/app/views/spree/api/v1/variants/small.rabl +0 -18
- data/app/views/spree/api/v1/zones/index.rabl +0 -7
- data/app/views/spree/api/v1/zones/show.rabl +0 -6
- data/config/initializers/rabl.rb +0 -9
- data/lib/spree/api/api_dependencies.rb +0 -163
- data/lib/spree/api/controller_setup.rb +0 -19
- data/lib/spree/api/responders/rabl_template.rb +0 -28
- data/lib/spree/api/responders.rb +0 -11
- data/lib/spree/api/testing_support/helpers.rb +0 -44
- data/lib/spree/api/testing_support/setup.rb +0 -16
@@ -57,6 +57,12 @@ paths:
|
|
57
57
|
email:
|
58
58
|
type: string
|
59
59
|
example: john@snow.org
|
60
|
+
first_name:
|
61
|
+
type: string
|
62
|
+
example: John
|
63
|
+
last_name:
|
64
|
+
type: string
|
65
|
+
example: Snow
|
60
66
|
password:
|
61
67
|
type: string
|
62
68
|
example: spree123
|
@@ -66,7 +72,7 @@ paths:
|
|
66
72
|
public_metadata:
|
67
73
|
type: object
|
68
74
|
example:
|
69
|
-
user_segment:
|
75
|
+
user_segment: supplier
|
70
76
|
description: The public metadata for this User
|
71
77
|
private_metadata:
|
72
78
|
type: object
|
@@ -98,6 +104,12 @@ paths:
|
|
98
104
|
email:
|
99
105
|
type: string
|
100
106
|
example: john@snow.org
|
107
|
+
first_name:
|
108
|
+
type: string
|
109
|
+
example: John
|
110
|
+
last_name:
|
111
|
+
type: string
|
112
|
+
example: Snow
|
101
113
|
bill_address_id:
|
102
114
|
type: string
|
103
115
|
example: '1'
|
@@ -387,10 +399,10 @@ paths:
|
|
387
399
|
properties:
|
388
400
|
public_metadata:
|
389
401
|
type: object
|
390
|
-
description:
|
402
|
+
description: The public metadata for the cart.
|
391
403
|
private_metadata:
|
392
404
|
type: object
|
393
|
-
description:
|
405
|
+
description: The private metadata for the cart.
|
394
406
|
summary: Create a Cart
|
395
407
|
delete:
|
396
408
|
description: |-
|
@@ -425,6 +437,7 @@ paths:
|
|
425
437
|
parameters:
|
426
438
|
- $ref: '#/components/parameters/CartIncludeParam'
|
427
439
|
- $ref: '#/components/parameters/SparseFieldsCart'
|
440
|
+
- $ref: '#/components/parameters/CartCurrencyParam'
|
428
441
|
summary: Retrieve a Cart
|
429
442
|
/api/v2/storefront/cart/add_item:
|
430
443
|
post:
|
@@ -461,10 +474,10 @@ paths:
|
|
461
474
|
type: integer
|
462
475
|
public_metadata:
|
463
476
|
type: object
|
464
|
-
description:
|
477
|
+
description: The public metadata for the added item.
|
465
478
|
private_metadata:
|
466
479
|
type: object
|
467
|
-
description:
|
480
|
+
description: The private metadata for the added item.
|
468
481
|
options:
|
469
482
|
type: object
|
470
483
|
description: 'Additional custom options. Activate these by adding: `Spree::PermittedAttributes.line_item_attributes << :foo` in `config/initializers/spree.rb`'
|
@@ -936,7 +949,7 @@ paths:
|
|
936
949
|
description: ID of the selected Shipping Method
|
937
950
|
shipment_id:
|
938
951
|
type: string
|
939
|
-
description:
|
952
|
+
description: ID of the selected Shipment. If not supplied it will try to set selected shipping method for all shipments
|
940
953
|
required:
|
941
954
|
- shipping_method_id
|
942
955
|
examples:
|
@@ -1249,6 +1262,23 @@ paths:
|
|
1249
1262
|
'404':
|
1250
1263
|
$ref: '#/components/responses/404NotFound'
|
1251
1264
|
summary: Retrieve a Product
|
1265
|
+
/api/v2/storefront/store:
|
1266
|
+
get:
|
1267
|
+
summary: Return the current Store
|
1268
|
+
description: 'Returns the current Store. [Read more about Stores](https://dev-docs.spreecommerce.org/internals/stores)'
|
1269
|
+
tags:
|
1270
|
+
- Stores
|
1271
|
+
operationId: show-current-store
|
1272
|
+
parameters:
|
1273
|
+
- $ref: '#/components/parameters/StoreIncludeParam'
|
1274
|
+
- $ref: '#/components/parameters/SparseFieldsStore'
|
1275
|
+
responses:
|
1276
|
+
'200':
|
1277
|
+
$ref: '#/components/responses/Store'
|
1278
|
+
'403':
|
1279
|
+
$ref: '#/components/responses/403Forbidden'
|
1280
|
+
security:
|
1281
|
+
- bearerAuth: []
|
1252
1282
|
/api/v2/storefront/taxons:
|
1253
1283
|
get:
|
1254
1284
|
description: 'Returns a list of Taxons. [Read more about Taxons](https://dev-docs.spreecommerce.org/internals/products#taxons-and-taxonomies)'
|
@@ -2423,14 +2453,14 @@ components:
|
|
2423
2453
|
type: boolean
|
2424
2454
|
example: true
|
2425
2455
|
description: Defines if this is the default CC for a signed in user
|
2426
|
-
|
2427
|
-
|
2428
|
-
|
2429
|
-
|
2430
|
-
|
2431
|
-
|
2432
|
-
|
2433
|
-
|
2456
|
+
relationships:
|
2457
|
+
type: object
|
2458
|
+
properties:
|
2459
|
+
payment_method:
|
2460
|
+
type: object
|
2461
|
+
properties:
|
2462
|
+
data:
|
2463
|
+
$ref: '#/components/schemas/Relation'
|
2434
2464
|
required:
|
2435
2465
|
- id
|
2436
2466
|
- type
|
@@ -2638,7 +2668,7 @@ components:
|
|
2638
2668
|
type: object
|
2639
2669
|
example:
|
2640
2670
|
recommended_by_us: true
|
2641
|
-
description:
|
2671
|
+
description: The public metadata for the Line Item.
|
2642
2672
|
relationships:
|
2643
2673
|
type: object
|
2644
2674
|
properties:
|
@@ -3055,6 +3085,13 @@ components:
|
|
3055
3085
|
- $ref: '#/components/schemas/Variant'
|
3056
3086
|
- $ref: '#/components/schemas/Image'
|
3057
3087
|
- $ref: '#/components/schemas/Taxon'
|
3088
|
+
StoreIncludes:
|
3089
|
+
x-internal: true
|
3090
|
+
title: Store Includes
|
3091
|
+
anyOf:
|
3092
|
+
- $ref: '#/components/schemas/Country'
|
3093
|
+
- $ref: '#/components/schemas/Menu'
|
3094
|
+
- $ref: '#/components/schemas/CmsPage'
|
3058
3095
|
ProductProperty:
|
3059
3096
|
title: Product Property
|
3060
3097
|
type: object
|
@@ -3145,6 +3182,122 @@ components:
|
|
3145
3182
|
example: New York
|
3146
3183
|
description: State name
|
3147
3184
|
x-internal: true
|
3185
|
+
Store:
|
3186
|
+
type: object
|
3187
|
+
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
|
+
title: Store
|
3189
|
+
x-internal: true
|
3190
|
+
properties:
|
3191
|
+
id:
|
3192
|
+
type: string
|
3193
|
+
example: '1'
|
3194
|
+
type:
|
3195
|
+
type: string
|
3196
|
+
default: store
|
3197
|
+
attributes:
|
3198
|
+
type: object
|
3199
|
+
properties:
|
3200
|
+
name:
|
3201
|
+
type: string
|
3202
|
+
example: Spree Demo
|
3203
|
+
description: Name of the Store
|
3204
|
+
url:
|
3205
|
+
type: string
|
3206
|
+
example: spree-demo.com
|
3207
|
+
description: Store Url
|
3208
|
+
meta_description:
|
3209
|
+
type: string
|
3210
|
+
example: Luxury clothing store for men and women.
|
3211
|
+
description: Meta description for SEO
|
3212
|
+
meta_keywords:
|
3213
|
+
type: string
|
3214
|
+
example: luxury clothing men women
|
3215
|
+
description: Meta keywords for SEO
|
3216
|
+
seo_title:
|
3217
|
+
type: string
|
3218
|
+
example: Buy Luxury Clothing With Ease
|
3219
|
+
description: The title for SEO
|
3220
|
+
default_currency:
|
3221
|
+
type: string
|
3222
|
+
example: EUR
|
3223
|
+
description: Default currency of the store
|
3224
|
+
default:
|
3225
|
+
type: boolean
|
3226
|
+
example: true
|
3227
|
+
description: Indicates if the Store is the default one
|
3228
|
+
supported_currencies:
|
3229
|
+
type: string
|
3230
|
+
example: 'EUR,USD,GBP'
|
3231
|
+
description: All currencies supported by store
|
3232
|
+
facebook:
|
3233
|
+
type: string
|
3234
|
+
example: 'https://www.facebook.com/mystorename'
|
3235
|
+
description: URL of Facebook page
|
3236
|
+
twitter:
|
3237
|
+
type: string
|
3238
|
+
example: 'https://twitter.com/mystorename'
|
3239
|
+
description: URL of Twitter page
|
3240
|
+
instagram:
|
3241
|
+
type: string
|
3242
|
+
example: 'https://instagram.com/mystorename'
|
3243
|
+
description: URL of Instagram page
|
3244
|
+
default_locale:
|
3245
|
+
type: string
|
3246
|
+
example: en
|
3247
|
+
description: Default locale of the Store
|
3248
|
+
supported_locales:
|
3249
|
+
type: string
|
3250
|
+
example: 'en,es,de'
|
3251
|
+
description: Supported locales of the Store
|
3252
|
+
customer_support_email:
|
3253
|
+
type: string
|
3254
|
+
example: support@mystore.com
|
3255
|
+
description: This email is visible to your Store visitors in the Footer section
|
3256
|
+
description:
|
3257
|
+
type: string
|
3258
|
+
example: Mystore has been selling luxury clothing for more than 20 years and has 15 stores currently.
|
3259
|
+
description: Description of the Store which is visible in the Footer
|
3260
|
+
address:
|
3261
|
+
type: string
|
3262
|
+
example: '813 Howard Street, Oswego NY 13126, USA'
|
3263
|
+
description: Address of the Store which is visible in the Footer
|
3264
|
+
contact_phone:
|
3265
|
+
type: string
|
3266
|
+
example: '+123456789'
|
3267
|
+
description: Contact phone number of the Store which is visible in the Footer
|
3268
|
+
favicon_path:
|
3269
|
+
type: string
|
3270
|
+
example: /assets/favicon.ico
|
3271
|
+
relationships:
|
3272
|
+
type: object
|
3273
|
+
properties:
|
3274
|
+
menus:
|
3275
|
+
type: object
|
3276
|
+
description: Menus
|
3277
|
+
properties:
|
3278
|
+
data:
|
3279
|
+
type: array
|
3280
|
+
items:
|
3281
|
+
$ref: '#/components/schemas/Relation'
|
3282
|
+
cms_pages:
|
3283
|
+
type: object
|
3284
|
+
description: CMS Pages
|
3285
|
+
properties:
|
3286
|
+
data:
|
3287
|
+
type: array
|
3288
|
+
items:
|
3289
|
+
$ref: '#/components/schemas/Relation'
|
3290
|
+
default_country:
|
3291
|
+
type: object
|
3292
|
+
description: Default Country of the Store
|
3293
|
+
properties:
|
3294
|
+
data:
|
3295
|
+
$ref: '#/components/schemas/Relation'
|
3296
|
+
required:
|
3297
|
+
- id
|
3298
|
+
- type
|
3299
|
+
- attributes
|
3300
|
+
- relationships
|
3148
3301
|
Shipment:
|
3149
3302
|
type: object
|
3150
3303
|
title: Shipment
|
@@ -3491,6 +3644,12 @@ components:
|
|
3491
3644
|
email:
|
3492
3645
|
type: string
|
3493
3646
|
example: spree@example.com
|
3647
|
+
first_name:
|
3648
|
+
type: string
|
3649
|
+
example: John
|
3650
|
+
last_name:
|
3651
|
+
type: string
|
3652
|
+
example: Doe
|
3494
3653
|
store_credits:
|
3495
3654
|
type: number
|
3496
3655
|
example: 150.75
|
@@ -3501,7 +3660,7 @@ components:
|
|
3501
3660
|
public_metadata:
|
3502
3661
|
type: object
|
3503
3662
|
example:
|
3504
|
-
user_segment:
|
3663
|
+
user_segment: supplier
|
3505
3664
|
description: The public metadata for this User
|
3506
3665
|
relationships:
|
3507
3666
|
type: object
|
@@ -3820,6 +3979,13 @@ components:
|
|
3820
3979
|
type: string
|
3821
3980
|
description: 'Specify the related resources you would like to receive in the response body. [More Information](https://jsonapi.org/format/#fetching-includes).'
|
3822
3981
|
example: 'line_items,variants,variants.images,billing_address,shipping_address,user,payments,shipments,promotions'
|
3982
|
+
CartCurrencyParam:
|
3983
|
+
name: currency
|
3984
|
+
in: query
|
3985
|
+
schema:
|
3986
|
+
type: string
|
3987
|
+
description: 'Must be specified when is different than current store default currency.'
|
3988
|
+
example: 'USD'
|
3823
3989
|
ProductIncludeParam:
|
3824
3990
|
name: include
|
3825
3991
|
in: query
|
@@ -3834,6 +4000,20 @@ components:
|
|
3834
4000
|
|
3835
4001
|
[More information](https://jsonapi.org/format/#fetching-includes)
|
3836
4002
|
example: 'default_variant,variants,option_types,product_properties,taxons,images,primary_variant'
|
4003
|
+
StoreIncludeParam:
|
4004
|
+
name: include
|
4005
|
+
in: query
|
4006
|
+
schema:
|
4007
|
+
type: string
|
4008
|
+
description: |-
|
4009
|
+
Specify what related resources (relationships) you would like to receive in the response body. Eg.
|
4010
|
+
|
4011
|
+
```
|
4012
|
+
default_country,menus,cms_pages
|
4013
|
+
```
|
4014
|
+
|
4015
|
+
[More information](https://jsonapi.org/format/#fetching-includes)
|
4016
|
+
example: 'default_country,menus,cms_pages'
|
3837
4017
|
ProductImageTransformationSizeParam:
|
3838
4018
|
in: query
|
3839
4019
|
name: 'image_transformation[size]'
|
@@ -3975,6 +4155,13 @@ components:
|
|
3975
4155
|
schema:
|
3976
4156
|
type: string
|
3977
4157
|
example: 'price,description,name'
|
4158
|
+
SparseFieldsStore:
|
4159
|
+
name: 'fields[store]'
|
4160
|
+
in: query
|
4161
|
+
description: 'Specify the fields you would like returned in the response body. [More information](https://jsonapi.org/format/#fetching-sparse-fieldsets).'
|
4162
|
+
schema:
|
4163
|
+
type: string
|
4164
|
+
example: 'name,url,supported_locales'
|
3978
4165
|
SparseFieldsShippingRate:
|
3979
4166
|
in: query
|
3980
4167
|
name: 'fields[shipping_rate]'
|
@@ -4920,10 +5107,12 @@ components:
|
|
4920
5107
|
type: user
|
4921
5108
|
attributes:
|
4922
5109
|
email: spree@example.com
|
5110
|
+
first_name: John
|
5111
|
+
last_name: Snow
|
4923
5112
|
store_credits: 0
|
4924
5113
|
completed_orders: 0
|
4925
5114
|
public_metadata:
|
4926
|
-
user_segment:
|
5115
|
+
user_segment: supplier
|
4927
5116
|
relationships:
|
4928
5117
|
default_billing_address:
|
4929
5118
|
data:
|
@@ -6043,11 +6232,11 @@ components:
|
|
6043
6232
|
year: 2026
|
6044
6233
|
name: John Doe
|
6045
6234
|
default: true
|
6046
|
-
|
6047
|
-
|
6048
|
-
|
6049
|
-
|
6050
|
-
|
6235
|
+
relationships:
|
6236
|
+
payment_method:
|
6237
|
+
data:
|
6238
|
+
id: '1'
|
6239
|
+
type: payment_method
|
6051
6240
|
included:
|
6052
6241
|
- id: '1'
|
6053
6242
|
type: payment_method
|
@@ -6092,11 +6281,11 @@ components:
|
|
6092
6281
|
year: 2026
|
6093
6282
|
name: John Doe
|
6094
6283
|
default: true
|
6095
|
-
|
6096
|
-
|
6097
|
-
|
6098
|
-
|
6099
|
-
|
6284
|
+
relationships:
|
6285
|
+
payment_method:
|
6286
|
+
data:
|
6287
|
+
id: string
|
6288
|
+
type: string
|
6100
6289
|
- id: '2'
|
6101
6290
|
type: credit_card
|
6102
6291
|
attributes:
|
@@ -6106,11 +6295,11 @@ components:
|
|
6106
6295
|
year: 2030
|
6107
6296
|
name: John Doe
|
6108
6297
|
default: false
|
6109
|
-
|
6110
|
-
|
6111
|
-
|
6112
|
-
|
6113
|
-
|
6298
|
+
relationships:
|
6299
|
+
payment_method:
|
6300
|
+
data:
|
6301
|
+
id: string
|
6302
|
+
type: string
|
6114
6303
|
included:
|
6115
6304
|
- id: '1'
|
6116
6305
|
type: payment_method
|
@@ -8362,6 +8551,140 @@ components:
|
|
8362
8551
|
prev: 'http://localhost:3000/api/v2/storefront/products?page=1'
|
8363
8552
|
last: 'http://localhost:3000/api/v2/storefront/products?page=5'
|
8364
8553
|
first: 'http://localhost:3000/api/v2/storefront/products?page=1'
|
8554
|
+
Store:
|
8555
|
+
description: 200 Success - Returns the `store` object.
|
8556
|
+
content:
|
8557
|
+
application/vnd.api+json:
|
8558
|
+
schema:
|
8559
|
+
type: object
|
8560
|
+
properties:
|
8561
|
+
data:
|
8562
|
+
$ref: '#/components/schemas/Store'
|
8563
|
+
included:
|
8564
|
+
type: array
|
8565
|
+
items:
|
8566
|
+
$ref: '#/components/schemas/StoreIncludes'
|
8567
|
+
required:
|
8568
|
+
- data
|
8569
|
+
examples:
|
8570
|
+
Store without includes:
|
8571
|
+
value:
|
8572
|
+
data:
|
8573
|
+
id: '3'
|
8574
|
+
type: store
|
8575
|
+
attributes:
|
8576
|
+
name: Mystore
|
8577
|
+
url: spree-demo.com
|
8578
|
+
meta_description: Luxury clothing store for men and women.
|
8579
|
+
meta_keywords: luxury clothing men women
|
8580
|
+
seo_title: ''
|
8581
|
+
default_currency: USD
|
8582
|
+
default: true
|
8583
|
+
supported_currencies: 'EUR,GBP,USD'
|
8584
|
+
facebook: 'https://www.facebook.com/mystorename'
|
8585
|
+
twitter: 'https://twitter.com/mystorename'
|
8586
|
+
instagram: 'https://instagram.com/mystorename'
|
8587
|
+
default_locale: en
|
8588
|
+
customer_support_email: support@mystore.com
|
8589
|
+
description: Mystore has been selling luxury clothing for more than 20 years and has 15 stores currently.
|
8590
|
+
address: '813 Howard Street, Oswego NY 13126, USA'
|
8591
|
+
contact_phone: '+123456789'
|
8592
|
+
supported_locales: en
|
8593
|
+
favicon_path: /assets/favicon.ico
|
8594
|
+
relationships:
|
8595
|
+
menus:
|
8596
|
+
data:
|
8597
|
+
- id: '10'
|
8598
|
+
type: menu
|
8599
|
+
- id: '11'
|
8600
|
+
type: menu
|
8601
|
+
cms_pages:
|
8602
|
+
data:
|
8603
|
+
- id: '5'
|
8604
|
+
type: cms_page
|
8605
|
+
default_country:
|
8606
|
+
data:
|
8607
|
+
id: '2'
|
8608
|
+
type: country
|
8609
|
+
Store with Includes:
|
8610
|
+
value:
|
8611
|
+
data:
|
8612
|
+
id: '3'
|
8613
|
+
type: store
|
8614
|
+
attributes:
|
8615
|
+
name: Mystore
|
8616
|
+
url: spree-demo.com
|
8617
|
+
meta_description: Luxury clothing store for men and women.
|
8618
|
+
meta_keywords: luxury clothing men women
|
8619
|
+
seo_title: ''
|
8620
|
+
default_currency: USD
|
8621
|
+
default: true
|
8622
|
+
supported_currencies: 'EUR,GBP,USD'
|
8623
|
+
facebook: 'https://www.facebook.com/mystorename'
|
8624
|
+
twitter: 'https://twitter.com/mystorename'
|
8625
|
+
instagram: 'https://instagram.com/mystorename'
|
8626
|
+
default_locale: en
|
8627
|
+
customer_support_email: support@mystore.com
|
8628
|
+
description: Mystore has been selling luxury clothing for more than 20 years and has 15 stores currently.
|
8629
|
+
address: '813 Howard Street, Oswego NY 13126, USA'
|
8630
|
+
contact_phone: '+123456789'
|
8631
|
+
supported_locales: en
|
8632
|
+
favicon_path: /assets/favicon.ico
|
8633
|
+
relationships:
|
8634
|
+
menus:
|
8635
|
+
data:
|
8636
|
+
- id: '10'
|
8637
|
+
type: menu
|
8638
|
+
- id: '11'
|
8639
|
+
type: menu
|
8640
|
+
cms_pages:
|
8641
|
+
data:
|
8642
|
+
- id: '5'
|
8643
|
+
type: cms_page
|
8644
|
+
default_country:
|
8645
|
+
data:
|
8646
|
+
id: '2'
|
8647
|
+
type: country
|
8648
|
+
included:
|
8649
|
+
- id: '2'
|
8650
|
+
type: country
|
8651
|
+
attributes:
|
8652
|
+
iso: US
|
8653
|
+
iso3: USA
|
8654
|
+
iso_name: UNITED STATES
|
8655
|
+
name: United States
|
8656
|
+
states_required: true
|
8657
|
+
zipcode_required: true
|
8658
|
+
default: true
|
8659
|
+
relationships:
|
8660
|
+
checkout_zone_applicable_states:
|
8661
|
+
data: []
|
8662
|
+
- id: '10'
|
8663
|
+
type: cms_page
|
8664
|
+
attributes:
|
8665
|
+
title: Returns Policy
|
8666
|
+
content: null
|
8667
|
+
locale: en
|
8668
|
+
meta_description: ''
|
8669
|
+
meta_title: ''
|
8670
|
+
slug: returns-policy
|
8671
|
+
type: 'Spree::Cms::Pages::StandardPage'
|
8672
|
+
relationships:
|
8673
|
+
cms_sections:
|
8674
|
+
data: []
|
8675
|
+
- id: '12'
|
8676
|
+
type: menu
|
8677
|
+
attributes:
|
8678
|
+
name: Company
|
8679
|
+
location: header
|
8680
|
+
locale: en
|
8681
|
+
relationships:
|
8682
|
+
menu_items:
|
8683
|
+
data:
|
8684
|
+
- id: '1'
|
8685
|
+
type: menu_item
|
8686
|
+
- id: '2'
|
8687
|
+
type: menu_item
|
8365
8688
|
Taxon:
|
8366
8689
|
description: 200 Success - Returns the `taxon` object.
|
8367
8690
|
content:
|
@@ -14895,7 +15218,7 @@ components:
|
|
14895
15218
|
last: 'http://localhost:3000/api/v2/storefront/countries?page=1&per_page=240'
|
14896
15219
|
first: 'http://localhost:3000/api/v2/storefront/countries?page=1&per_page=240'
|
14897
15220
|
Shipment:
|
14898
|
-
description: '200 Success - Returns an array containing
|
15221
|
+
description: '200 Success - Returns an array containing several `shipment` objects, along with the included array containing all available `shipping_rate` and `stock_location` objects. '
|
14899
15222
|
content:
|
14900
15223
|
application/vnd.api+json:
|
14901
15224
|
schema:
|
@@ -16175,6 +16498,7 @@ tags:
|
|
16175
16498
|
- name: Menus
|
16176
16499
|
- name: Order Status
|
16177
16500
|
- name: Products
|
16501
|
+
- name: Stores
|
16178
16502
|
- name: Taxons
|
16179
16503
|
- name: Wishlists
|
16180
16504
|
- name: Wishlists / Wished Items
|
@@ -0,0 +1,11 @@
|
|
1
|
+
module Spree
|
2
|
+
module Api
|
3
|
+
class Configuration < Preferences::Configuration
|
4
|
+
preference :api_v2_serializers_cache_ttl, :integer, default: 3600 # 1 hour in seconds
|
5
|
+
preference :api_v2_collection_cache_ttl, :integer, default: 3600 # 1 hour in seconds
|
6
|
+
preference :api_v2_collection_cache_namespace, :string, default: 'api_v2_collection_cache'
|
7
|
+
preference :api_v2_content_type, :string, default: 'application/vnd.api+json'
|
8
|
+
preference :api_v2_per_page_limit, :integer, default: 500
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|