@spree/docs 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +54 -0
- package/dist/api-reference/platform/authentication.md +38 -0
- package/dist/api-reference/store-api/authentication.md +188 -0
- package/dist/api-reference/store-api/errors.md +277 -0
- package/dist/api-reference/store-api/idempotency.md +129 -0
- package/dist/api-reference/store-api/introduction.md +34 -0
- package/dist/api-reference/store-api/localization.md +279 -0
- package/dist/api-reference/store-api/metadata.md +160 -0
- package/dist/api-reference/store-api/monetary-amounts.md +65 -0
- package/dist/api-reference/store-api/querying.md +399 -0
- package/dist/api-reference/store-api/rate-limitting.md +103 -0
- package/dist/api-reference/store-api/relations.md +185 -0
- package/dist/api-reference/storefront/authentication.md +88 -0
- package/dist/api-reference/tutorials/adyen-integration-guide-for-android.md +165 -0
- package/dist/api-reference/tutorials/adyen-integration-guide-for-ios.md +194 -0
- package/dist/api-reference/tutorials/quick-checkout-with-stripe.md +248 -0
- package/dist/api-reference/v2/fetching-multiple-resources.md +26 -0
- package/dist/api-reference/v2/filtering-and-sorting.md +53 -0
- package/dist/api-reference/v2/introduction.md +22 -0
- package/dist/api-reference/v2/pagination.md +37 -0
- package/dist/api-reference/webhooks-events.md +883 -0
- package/dist/developer/admin/admin.md +205 -0
- package/dist/developer/admin/authentication.md +59 -0
- package/dist/developer/admin/components.md +711 -0
- package/dist/developer/admin/custom-css.md +243 -0
- package/dist/developer/admin/custom-javascript.md +116 -0
- package/dist/developer/admin/extending-ui.md +1964 -0
- package/dist/developer/admin/form-builder.md +444 -0
- package/dist/developer/admin/helper-methods.md +531 -0
- package/dist/developer/admin/navigation.md +805 -0
- package/dist/developer/admin/tables.md +491 -0
- package/dist/developer/advanced/adding_spree_to_rails_app.md +106 -0
- package/dist/developer/cli/quickstart.md +137 -0
- package/dist/developer/contributing/creating-an-extension.md +258 -0
- package/dist/developer/contributing/developing-spree.md +339 -0
- package/dist/developer/contributing/quickstart.md +32 -0
- package/dist/developer/contributing/updating-extensions.md +67 -0
- package/dist/developer/core-concepts/addresses.md +265 -0
- package/dist/developer/core-concepts/adjustments.md +107 -0
- package/dist/developer/core-concepts/architecture.md +177 -0
- package/dist/developer/core-concepts/calculators.md +323 -0
- package/dist/developer/core-concepts/customers.md +230 -0
- package/dist/developer/core-concepts/events.md +624 -0
- package/dist/developer/core-concepts/imports-exports.md +698 -0
- package/dist/developer/core-concepts/inventory.md +191 -0
- package/dist/developer/core-concepts/markets.md +250 -0
- package/dist/developer/core-concepts/media.md +167 -0
- package/dist/developer/core-concepts/metafields.md +187 -0
- package/dist/developer/core-concepts/orders.md +328 -0
- package/dist/developer/core-concepts/payments.md +710 -0
- package/dist/developer/core-concepts/pricing.md +163 -0
- package/dist/developer/core-concepts/products.md +360 -0
- package/dist/developer/core-concepts/promotions.md +322 -0
- package/dist/developer/core-concepts/reports.md +206 -0
- package/dist/developer/core-concepts/search-filtering.md +237 -0
- package/dist/developer/core-concepts/shipments.md +212 -0
- package/dist/developer/core-concepts/slugs.md +111 -0
- package/dist/developer/core-concepts/staff-roles.md +123 -0
- package/dist/developer/core-concepts/store-credits-gift-cards.md +317 -0
- package/dist/developer/core-concepts/stores.md +117 -0
- package/dist/developer/core-concepts/taxes.md +135 -0
- package/dist/developer/core-concepts/translations.md +120 -0
- package/dist/developer/core-concepts/users.md +299 -0
- package/dist/developer/core-concepts/webhooks.md +378 -0
- package/dist/developer/create-spree-app/quickstart.md +158 -0
- package/dist/developer/customization/api.md +93 -0
- package/dist/developer/customization/authentication.md +88 -0
- package/dist/developer/customization/checkout.md +204 -0
- package/dist/developer/customization/configuration.md +55 -0
- package/dist/developer/customization/decorators.md +523 -0
- package/dist/developer/customization/dependencies.md +232 -0
- package/dist/developer/customization/emails.md +21 -0
- package/dist/developer/customization/extensions.md +92 -0
- package/dist/developer/customization/metadata.md +236 -0
- package/dist/developer/customization/model-preferences.md +130 -0
- package/dist/developer/customization/permissions.md +265 -0
- package/dist/developer/customization/quickstart.md +229 -0
- package/dist/developer/customization/routes.md +24 -0
- package/dist/developer/customization/v4/admin-panel.md +78 -0
- package/dist/developer/customization/v4/authentication.md +210 -0
- package/dist/developer/customization/v4/checkout.md +212 -0
- package/dist/developer/customization/v4/deface.md +251 -0
- package/dist/developer/customization/v4/images.md +86 -0
- package/dist/developer/customization/v4/storefront.md +450 -0
- package/dist/developer/deployment/assets.md +87 -0
- package/dist/developer/deployment/aws.md +335 -0
- package/dist/developer/deployment/caching.md +27 -0
- package/dist/developer/deployment/cdn.md +39 -0
- package/dist/developer/deployment/database.md +155 -0
- package/dist/developer/deployment/docker.md +128 -0
- package/dist/developer/deployment/emails.md +77 -0
- package/dist/developer/deployment/environment_variables.md +111 -0
- package/dist/developer/deployment/heroku.md +51 -0
- package/dist/developer/deployment/render.md +95 -0
- package/dist/developer/getting-started/quickstart.md +82 -0
- package/dist/developer/how-to/custom-payment-method.md +374 -0
- package/dist/developer/how-to/custom-promotion.md +373 -0
- package/dist/developer/how-to/custom-report.md +387 -0
- package/dist/developer/how-to/custom-search-provider.md +230 -0
- package/dist/developer/multi-store/quickstart.md +71 -0
- package/dist/developer/multi-store/setup.md +38 -0
- package/dist/developer/multi-tenant/configuration.md +41 -0
- package/dist/developer/multi-tenant/core-concepts.md +75 -0
- package/dist/developer/multi-tenant/installation.md +96 -0
- package/dist/developer/multi-tenant/quickstart.md +20 -0
- package/dist/developer/multi-vendor/installation.md +45 -0
- package/dist/developer/multi-vendor/quickstart.md +17 -0
- package/dist/developer/sdk/admin/quickstart.md +22 -0
- package/dist/developer/sdk/authentication.md +89 -0
- package/dist/developer/sdk/configuration.md +225 -0
- package/dist/developer/sdk/quickstart.md +82 -0
- package/dist/developer/sdk/store/account.md +67 -0
- package/dist/developer/sdk/store/cart-checkout.md +140 -0
- package/dist/developer/sdk/store/markets.md +151 -0
- package/dist/developer/sdk/store/payments.md +96 -0
- package/dist/developer/sdk/store/products.md +149 -0
- package/dist/developer/sdk/store/wishlists.md +52 -0
- package/dist/developer/security/pci_compliance.md +15 -0
- package/dist/developer/security/security_policy.md +68 -0
- package/dist/developer/storefront/blocks.md +285 -0
- package/dist/developer/storefront/custom-css.md +260 -0
- package/dist/developer/storefront/custom-javascript.md +166 -0
- package/dist/developer/storefront/helper-methods.md +1288 -0
- package/dist/developer/storefront/links.md +298 -0
- package/dist/developer/storefront/nextjs/architecture.md +150 -0
- package/dist/developer/storefront/nextjs/customization.md +141 -0
- package/dist/developer/storefront/nextjs/deployment.md +180 -0
- package/dist/developer/storefront/nextjs/quickstart.md +92 -0
- package/dist/developer/storefront/nextjs/spree-next-package.md +314 -0
- package/dist/developer/storefront/pages.md +163 -0
- package/dist/developer/storefront/sections.md +569 -0
- package/dist/developer/storefront/storefront.md +56 -0
- package/dist/developer/storefront/themes.md +161 -0
- package/dist/developer/tutorial/admin.md +134 -0
- package/dist/developer/tutorial/extending-models.md +380 -0
- package/dist/developer/tutorial/file-uploads.md +121 -0
- package/dist/developer/tutorial/introduction.md +33 -0
- package/dist/developer/tutorial/model.md +41 -0
- package/dist/developer/tutorial/page-builder.md +487 -0
- package/dist/developer/tutorial/rich-text.md +73 -0
- package/dist/developer/tutorial/seo.md +332 -0
- package/dist/developer/tutorial/storefront.md +352 -0
- package/dist/developer/tutorial/testing.md +558 -0
- package/dist/developer/upgrades/2.0-to-2.1.md +46 -0
- package/dist/developer/upgrades/2.1-to-2.2.md +59 -0
- package/dist/developer/upgrades/2.2-to-2.3.md +44 -0
- package/dist/developer/upgrades/2.3-to-2.4.md +42 -0
- package/dist/developer/upgrades/3.0-to-3.1.md +47 -0
- package/dist/developer/upgrades/3.1-to-3.2.md +34 -0
- package/dist/developer/upgrades/3.2-to-3.3.md +70 -0
- package/dist/developer/upgrades/3.3-to-3.4.md +36 -0
- package/dist/developer/upgrades/3.4-to-3.5.md +44 -0
- package/dist/developer/upgrades/3.5-to-3.6.md +40 -0
- package/dist/developer/upgrades/3.6-to-3.7.md +62 -0
- package/dist/developer/upgrades/3.7-to-4.0.md +152 -0
- package/dist/developer/upgrades/4.0-to-4.1.md +92 -0
- package/dist/developer/upgrades/4.1-to-4.2.md +109 -0
- package/dist/developer/upgrades/4.10-to-5.0.md +129 -0
- package/dist/developer/upgrades/4.2-to-4.3.md +100 -0
- package/dist/developer/upgrades/4.3-to-4.4.md +125 -0
- package/dist/developer/upgrades/4.4-to-4.5.md +94 -0
- package/dist/developer/upgrades/4.5-to-4.6.md +119 -0
- package/dist/developer/upgrades/4.6-to-4.7.md +39 -0
- package/dist/developer/upgrades/4.8-to-4.9.md +24 -0
- package/dist/developer/upgrades/4.9-to-4.10.md +24 -0
- package/dist/developer/upgrades/4.x-to-4.8.md +52 -0
- package/dist/developer/upgrades/5.0-to-5.1.md +28 -0
- package/dist/developer/upgrades/5.1-to-5.2.md +127 -0
- package/dist/developer/upgrades/5.2-to-5.3.md +338 -0
- package/dist/developer/upgrades/5.3-to-5.4.md +248 -0
- package/dist/developer/upgrades/quickstart.md +36 -0
- package/dist/integrations/analytics/google-analytics.md +64 -0
- package/dist/integrations/analytics/google-tag-manager.md +78 -0
- package/dist/integrations/integrations.md +39 -0
- package/dist/integrations/marketing/klaviyo.md +99 -0
- package/dist/integrations/payments/adyen.md +90 -0
- package/dist/integrations/payments/paypal.md +41 -0
- package/dist/integrations/payments/razorpay.md +45 -0
- package/dist/integrations/payments/stripe.md +109 -0
- package/dist/integrations/search/meilisearch.md +236 -0
- package/dist/integrations/sso-mfa-social-login/admin-dashboard.md +57 -0
- package/dist/integrations/sso-mfa-social-login/storefront.md +56 -0
- package/package.json +27 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
Spree APIs allow you to fetch multiple associated resources in one API call, both for singular resources and collections, eg. we can fetch a Product with all of its variants and images:
|
|
2
|
+
|
|
3
|
+
```curl
|
|
4
|
+
curl --request GET \
|
|
5
|
+
--url 'https://demo.spreecommerce.org/api/v2/storefront/products/classic-varsity-top?include=variants%252Cimages' \
|
|
6
|
+
--header 'Accept: application/vnd.api+json'
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
This will return a JSON response with `data[relationships]` node (links to what resources connects to which) and `included` node (images and variants JSON responses).
|
|
10
|
+
|
|
11
|
+
This way you can easily control what resources you want to include in the response and
|
|
12
|
+
avoid making multiple API calls.
|
|
13
|
+
|
|
14
|
+
## Nested resources
|
|
15
|
+
|
|
16
|
+
You can also nest resources, eg. fetching Product Variants with their Option Values:
|
|
17
|
+
|
|
18
|
+
```curl
|
|
19
|
+
curl --request GET \
|
|
20
|
+
--url 'https://demo.spreecommerce.org/api/v2/storefront/products/classic-varsity-top?include=variants.option_values' \
|
|
21
|
+
--header 'Accept: application/vnd.api+json'
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Open source libraries to transform JSONApi to a flat JSON response
|
|
25
|
+
|
|
26
|
+
As you probably noticed the JSON response can sometimes be quite big and hard to follow. To ease working with included resources we recommend checking out [one of the open-source libraries](https://jsonapi.org/implementations/) that can help deserialize responses.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
## Filtering
|
|
2
|
+
|
|
3
|
+
You can filter out collection results by applying filter parameters to your API calls, eg.
|
|
4
|
+
|
|
5
|
+
```curl
|
|
6
|
+
curl --request GET \
|
|
7
|
+
--url 'https://demo.spreecommerce.org/api/v2/storefront/products' \
|
|
8
|
+
--header 'Accept: application/vnd.api+json' \
|
|
9
|
+
--data-urlencode 'filter[skus]=classic-varsity-top-large'
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
You can combine multiple filters to find only records that match both criteria:
|
|
13
|
+
|
|
14
|
+
```http
|
|
15
|
+
curl --request GET \
|
|
16
|
+
--url 'https://demo.spreecommerce.org/api/v2/storefront/products' \
|
|
17
|
+
--header 'Accept: application/vnd.api+json' \
|
|
18
|
+
--data-urlencode 'filter[price]=10,100' \
|
|
19
|
+
--data-urlencode 'filter[name]=Classic Varsity'
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
[Products list endpoint ](https://developers.spreecommerce.org/reference/products-list) covers how to filter by these attributes in more detail.
|
|
23
|
+
|
|
24
|
+
## Sorting
|
|
25
|
+
|
|
26
|
+
Sorting is being performed by supplying `sort` parameter in your API calls.
|
|
27
|
+
|
|
28
|
+
Ascending sort, eg.
|
|
29
|
+
|
|
30
|
+
```curl
|
|
31
|
+
curl --request GET \
|
|
32
|
+
--url 'https://demo.spreecommerce.org/api/v2/storefront/products?sort=price' \
|
|
33
|
+
--header 'Accept: application/vnd.api+json'
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Descending sort is performed by adding `-` before the column name, eg:
|
|
37
|
+
|
|
38
|
+
```curl
|
|
39
|
+
curl --request GET \
|
|
40
|
+
--url 'https://demo.spreecommerce.org/api/v2/storefront/products?sort=-price' \
|
|
41
|
+
--header 'Accept: application/vnd.api+json'
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
You can also combine multiple attributes:
|
|
45
|
+
|
|
46
|
+
```curl
|
|
47
|
+
curl --request GET \
|
|
48
|
+
--url 'https://demo.spreecommerce.org/api/v2/storefront/products' \
|
|
49
|
+
--data-urlencode 'sort=-price,updated_at' \
|
|
50
|
+
--header 'Accept: application/vnd.api+json'
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Each endpoint includes a list of attributes you can sort by. The default ones are always `id`, `created_at`, `updated_at` and `name`.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Spree open-source comes with a fully-featured Ecommerce API for headless eCommerce apps."
|
|
3
|
+
title: "Ecommerce API"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Spree Commerce open-source comes with a fully-featured Ecommerce API enabling a fully headless mode. This means that you can use Spree as a backend to build your custom [Next.js storefront](https://spreecommerce.org/category/next-js-ecommerce/), eCommerce mobile app functionality, or any other customer-facing application that needs to interact with an e-commerce platform.
|
|
7
|
+
|
|
8
|
+
## API v2
|
|
9
|
+
|
|
10
|
+
Currently Spree includes 2 modern REST APIs:
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
- [Storefront API](/api-reference/storefront/authentication) — Designed to allow customers to interact with the store via external applications (e.g. Next.js storefront or a dedicated mobile app)
|
|
14
|
+
|
|
15
|
+
- [Platform API](/api-reference/platform/authentication) — Provides management capabilities, allowing third party apps to perform actions otherwise available via the admin panel.
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
## Thank you!
|
|
19
|
+
|
|
20
|
+
Give Spree a [GitHub Star](https://github.com/spree/spree), why dont't ya? Thank you for supporting Spree open-source!
|
|
21
|
+
|
|
22
|
+
Need support or want to give some feedback? Join our [community](https://slack.spreecommerce.org/) with 6000+ members or drop us an email at [hello@spreecommerce.org](mailto:hello@spreecommerce.org).
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
All lists implement the same method for pagination with `page` and `per_page` parameters, eg.
|
|
2
|
+
|
|
3
|
+
```curl
|
|
4
|
+
curl --request GET \
|
|
5
|
+
--url 'https://demo.spreecommerce.org/api/v2/storefront/products?page=1&per_page=25' \
|
|
6
|
+
--header 'Accept: application/vnd.api+json'
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Both of these parameters are optional. There is a limit of 500 records that can be fetched by a single request. If this doesn't work for your use case, please contact us so we can work on resolving this issue.
|
|
10
|
+
|
|
11
|
+
Response for that call will include a `meta` node with:
|
|
12
|
+
|
|
13
|
+
```json
|
|
14
|
+
"meta": {
|
|
15
|
+
"count": 25,
|
|
16
|
+
"total_count": 26,
|
|
17
|
+
"total_pages": 2
|
|
18
|
+
}
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
`count` is the number of records returned on the current page
|
|
22
|
+
`total_count` is the total number of records in the collection
|
|
23
|
+
`total_pages` is the total number of pages
|
|
24
|
+
|
|
25
|
+
The response will also include the`links` node:
|
|
26
|
+
|
|
27
|
+
```json
|
|
28
|
+
"links": {
|
|
29
|
+
"self": "https://demo.spreecommerce.org/api/v2/storefront/products?per_page=25",
|
|
30
|
+
"next": "https://demo.spreecommerce.org/api/v2/storefront/products?page=2&per_page=25",
|
|
31
|
+
"prev": "https://demo.spreecommerce.org/api/v2/storefront/products?page=1&per_page=25",
|
|
32
|
+
"last": "https://demo.spreecommerce.org/api/v2/storefront/products?page=2&per_page=25",
|
|
33
|
+
"first": "https://demo.spreecommerce.org/api/v2/storefront/products?page=1&per_page=25"
|
|
34
|
+
}
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
With fully generates API URLs for pagination.
|