@salesforce/b2c-tooling-sdk 2.3.0 → 2.5.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/data/guides/enrichment.json +291 -0
- package/data/guides/index.json +426 -37
- package/data/schemas/dw.schema.json +590 -0
- package/data/tooling/index.json +18 -9
- package/dist/esm/cli/base-command.d.ts +20 -1
- package/dist/esm/cli/base-command.js +61 -11
- package/dist/esm/cli/base-command.js.map +1 -1
- package/dist/esm/cli/cartridge-command.js +2 -1
- package/dist/esm/cli/cartridge-command.js.map +1 -1
- package/dist/esm/cli/command-search.d.ts +85 -0
- package/dist/esm/cli/command-search.js +147 -0
- package/dist/esm/cli/command-search.js.map +1 -0
- package/dist/esm/cli/config.d.ts +10 -1
- package/dist/esm/cli/config.js +18 -9
- package/dist/esm/cli/config.js.map +1 -1
- package/dist/esm/cli/hooks.d.ts +13 -0
- package/dist/esm/cli/hooks.js +11 -0
- package/dist/esm/cli/hooks.js.map +1 -1
- package/dist/esm/cli/index.d.ts +2 -0
- package/dist/esm/cli/index.js +2 -0
- package/dist/esm/cli/index.js.map +1 -1
- package/dist/esm/cli/instance-command.d.ts +1 -0
- package/dist/esm/cli/instance-command.js +2 -1
- package/dist/esm/cli/instance-command.js.map +1 -1
- package/dist/esm/cli/mrt-command.d.ts +3 -2
- package/dist/esm/cli/mrt-command.js +4 -4
- package/dist/esm/cli/mrt-command.js.map +1 -1
- package/dist/esm/cli/oauth-command.d.ts +1 -0
- package/dist/esm/cli/ods-command.d.ts +1 -0
- package/dist/esm/cli/webdav-command.d.ts +1 -0
- package/dist/esm/clients/custom-apis.d.ts +36 -2
- package/dist/esm/clients/custom-apis.js +57 -4
- package/dist/esm/clients/custom-apis.js.map +1 -1
- package/dist/esm/clients/index.d.ts +1 -1
- package/dist/esm/clients/index.js +1 -1
- package/dist/esm/clients/index.js.map +1 -1
- package/dist/esm/clients/scapi-backend-utils.d.ts +15 -0
- package/dist/esm/clients/scapi-backend-utils.js +28 -1
- package/dist/esm/clients/scapi-backend-utils.js.map +1 -1
- package/dist/esm/clients/scapi-fallback-backend.js +2 -2
- package/dist/esm/clients/scapi-fallback-backend.js.map +1 -1
- package/dist/esm/clients/scapi-schemas.generated.d.ts +2 -2
- package/dist/esm/compat/dispatcher.js +2 -2
- package/dist/esm/compat/dispatcher.js.map +1 -1
- package/dist/esm/config/config-origins.d.ts +19 -0
- package/dist/esm/config/config-origins.js +11 -0
- package/dist/esm/config/config-origins.js.map +1 -0
- package/dist/esm/config/config-write.d.ts +86 -0
- package/dist/esm/config/config-write.js +296 -0
- package/dist/esm/config/config-write.js.map +1 -0
- package/dist/esm/config/dw-json-schema.d.ts +14 -0
- package/dist/esm/config/dw-json-schema.js +269 -0
- package/dist/esm/config/dw-json-schema.js.map +1 -0
- package/dist/esm/config/dw-json.d.ts +2 -0
- package/dist/esm/config/dw-json.js +10 -6
- package/dist/esm/config/dw-json.js.map +1 -1
- package/dist/esm/config/index.d.ts +13 -4
- package/dist/esm/config/index.js +8 -3
- package/dist/esm/config/index.js.map +1 -1
- package/dist/esm/config/instance-manager.d.ts +64 -28
- package/dist/esm/config/instance-manager.js +145 -63
- package/dist/esm/config/instance-manager.js.map +1 -1
- package/dist/esm/config/mapping.d.ts +5 -0
- package/dist/esm/config/mapping.js +20 -1
- package/dist/esm/config/mapping.js.map +1 -1
- package/dist/esm/config/project-environment.d.ts +62 -0
- package/dist/esm/config/project-environment.js +113 -0
- package/dist/esm/config/project-environment.js.map +1 -1
- package/dist/esm/config/resolver.d.ts +22 -0
- package/dist/esm/config/resolver.js +106 -37
- package/dist/esm/config/resolver.js.map +1 -1
- package/dist/esm/config/sources/dw-json-source.d.ts +9 -1
- package/dist/esm/config/sources/dw-json-source.js +59 -23
- package/dist/esm/config/sources/dw-json-source.js.map +1 -1
- package/dist/esm/config/sources/env-source.d.ts +70 -9
- package/dist/esm/config/sources/env-source.js +205 -47
- package/dist/esm/config/sources/env-source.js.map +1 -1
- package/dist/esm/config/sources/index.d.ts +1 -1
- package/dist/esm/config/sources/index.js +1 -1
- package/dist/esm/config/sources/index.js.map +1 -1
- package/dist/esm/config/types.d.ts +53 -3
- package/dist/esm/docs/search.js +3 -1
- package/dist/esm/docs/search.js.map +1 -1
- package/dist/esm/docs/types.d.ts +3 -1
- package/dist/esm/guidance/bundle.d.ts +33 -0
- package/dist/esm/guidance/bundle.js +268 -0
- package/dist/esm/guidance/bundle.js.map +1 -0
- package/dist/esm/guidance/catalog.d.ts +8 -1
- package/dist/esm/guidance/catalog.js +48 -6
- package/dist/esm/guidance/catalog.js.map +1 -1
- package/dist/esm/guidance/index.d.ts +1 -0
- package/dist/esm/guidance/index.js +1 -0
- package/dist/esm/guidance/index.js.map +1 -1
- package/dist/esm/guidance/types.d.ts +17 -1
- package/dist/esm/guidance/types.js.map +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/operations/jobs/run-system-job.js +2 -2
- package/dist/esm/operations/jobs/run-system-job.js.map +1 -1
- package/dist/esm/plugins/discovery.js +2 -1
- package/dist/esm/plugins/discovery.js.map +1 -1
- package/dist/esm/scapi/catalog.d.ts +5 -2
- package/dist/esm/scapi/catalog.js.map +1 -1
- package/dist/esm/scapi/index.d.ts +6 -2
- package/dist/esm/scapi/index.js +4 -2
- package/dist/esm/scapi/index.js.map +1 -1
- package/dist/esm/scapi/live.d.ts +14 -3
- package/dist/esm/scapi/live.js +33 -5
- package/dist/esm/scapi/live.js.map +1 -1
- package/dist/esm/scapi/local.d.ts +26 -0
- package/dist/esm/scapi/local.js +143 -0
- package/dist/esm/scapi/local.js.map +1 -0
- package/dist/esm/scapi/request.d.ts +2 -2
- package/dist/esm/scapi/request.js +4 -2
- package/dist/esm/scapi/request.js.map +1 -1
- package/dist/esm/scapi/runtime.d.ts +5 -0
- package/dist/esm/scapi/runtime.js.map +1 -1
- package/dist/esm/scapi/schema-source.d.ts +90 -0
- package/dist/esm/scapi/schema-source.js +146 -0
- package/dist/esm/scapi/schema-source.js.map +1 -0
- package/dist/esm/scapi/worker-source.js +31 -7
- package/dist/esm/scapi/worker-source.js.map +1 -1
- package/dist/esm/telemetry/telemetry.d.ts +1 -0
- package/dist/esm/telemetry/telemetry.js +18 -1
- package/dist/esm/telemetry/telemetry.js.map +1 -1
- package/dist/esm/telemetry/types.d.ts +9 -0
- package/dist/esm/test-utils/config-isolation.js +21 -15
- package/dist/esm/test-utils/config-isolation.js.map +1 -1
- package/dist/esm/ux/agent-context.d.ts +69 -0
- package/dist/esm/ux/agent-context.js +133 -0
- package/dist/esm/ux/agent-context.js.map +1 -0
- package/dist/esm/ux/confirm.d.ts +27 -0
- package/dist/esm/ux/confirm.js +32 -0
- package/dist/esm/ux/confirm.js.map +1 -1
- package/dist/esm/ux/index.d.ts +2 -1
- package/dist/esm/ux/index.js +2 -1
- package/dist/esm/ux/index.js.map +1 -1
- package/node_modules/@salesforce/b2c-api-schemas/manifest.json +83 -42
- package/node_modules/@salesforce/b2c-api-schemas/package.json +1 -1
- package/node_modules/@salesforce/b2c-api-schemas/scapi/cdn/zones/v1.json +6798 -238
- package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/orders/v1.json +2296 -205
- package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-baskets/v1.json +5571 -666
- package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-baskets/v2.json +6062 -371
- package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-orders/v1.json +3426 -360
- package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-payments/v1.json +351 -99
- package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/cors/v1.json +172 -12
- package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/preferences/v1.json +1497 -111
- package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/shopper-configurations/v1.json +202 -36
- package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/timeouts/v1.json +79 -10
- package/node_modules/@salesforce/b2c-api-schemas/scapi/custom-object/custom-objects/v1.json +785 -49
- package/node_modules/@salesforce/b2c-api-schemas/scapi/custom-object/shopper-custom-objects/v1.json +191 -40
- package/node_modules/@salesforce/b2c-api-schemas/scapi/customer/customers/v1.json +1483 -107
- package/node_modules/@salesforce/b2c-api-schemas/scapi/customer/shopper-customers/v1.json +4854 -787
- package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/custom-apis/v1.json +119 -15
- package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/object-definitions/v1.json +1699 -80
- package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/scapi-schemas/v1.json +252 -18
- package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/scripts/v1.json +329 -23
- package/node_modules/@salesforce/b2c-api-schemas/scapi/experience/experiences/v1.json +4208 -234
- package/node_modules/@salesforce/b2c-api-schemas/scapi/experience/shopper-experience/v1.json +1591 -247
- package/node_modules/@salesforce/b2c-api-schemas/scapi/intelligence/analytics/v1.json +396 -8
- package/node_modules/@salesforce/b2c-api-schemas/scapi/inventory/availability/v1.json +1242 -69
- package/node_modules/@salesforce/b2c-api-schemas/scapi/inventory/impex/v1.json +2354 -248
- package/node_modules/@salesforce/b2c-api-schemas/scapi/inventory/reservation/v1.json +1550 -45
- package/node_modules/@salesforce/b2c-api-schemas/scapi/inventory/segmentation/v1.json +6615 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/merchant/roles/v1.json +1520 -59
- package/node_modules/@salesforce/b2c-api-schemas/scapi/merchant/users/v1.json +397 -17
- package/node_modules/@salesforce/b2c-api-schemas/scapi/observability/metrics/v1.json +1241 -27
- package/node_modules/@salesforce/b2c-api-schemas/scapi/operation/jobs/v1.json +1069 -68
- package/node_modules/@salesforce/b2c-api-schemas/scapi/operation/replications/v1.json +410 -23
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/assignments/v1.json +502 -102
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/campaigns/v1.json +1112 -94
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/coupons/v1.json +820 -93
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/gift-certificates/v1.json +845 -92
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/promotions/v1.json +2716 -674
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/shopper-gift-certificates/v1.json +130 -47
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/shopper-promotions/v1.json +233 -63
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/source-code-groups/v1.json +630 -70
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/catalogs/v1.json +2886 -348
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/inventory-lists/v1.json +520 -19
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/price-books/v1.json +3115 -293
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/products/v1.json +3313 -138
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/shopper-availability/v1.json +266 -52
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/shopper-delivery-estimates/v1.json +256 -48
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/shopper-products/v1.json +1744 -306
- package/node_modules/@salesforce/b2c-api-schemas/scapi/search/shopper-search/v1.json +1661 -120
- package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/auth/v1.json +2174 -118
- package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/auth-admin/v1.json +1373 -24
- package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/consents/v1.json +531 -20
- package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/shopper-agents/v1.json +154 -6
- package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/shopper-consents/v1.json +596 -79
- package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/shopper-context/v1.json +456 -42
- package/node_modules/@salesforce/b2c-api-schemas/scapi/site/seo/v1.json +101 -23
- package/node_modules/@salesforce/b2c-api-schemas/scapi/site/shopper-seo/v1.json +184 -41
- package/node_modules/@salesforce/b2c-api-schemas/scapi/site/sites/v1.json +995 -47
- package/node_modules/@salesforce/b2c-api-schemas/scapi/store/shopper-stores/v1.json +370 -67
- package/node_modules/@salesforce/b2c-api-schemas/scapi/store/store-redirect-mappings/v1.json +319 -11
- package/node_modules/@salesforce/b2c-api-schemas/scapi/store/stores/v1.json +1109 -64
- package/node_modules/@salesforce/b2c-api-schemas/scapi/storefront/deployments/v1.json +1442 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/storefront/environments/v1.json +4293 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/storefront/storefronts/v1.json +1371 -0
- package/package.json +5 -2
- package/specs/scapi-schemas-v1.yaml +4 -1
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
"openapi": "3.0.3",
|
|
3
3
|
"info": {
|
|
4
4
|
"title": "Stores",
|
|
5
|
+
"description": "[Download API specification](https://developer.salesforce.com/static/commercecloud/commerce-api/stores/stores-oas-v1-public.yaml)\n\n# API Overview\n\nThe Stores API provides access to store data within the Data API family. This API allows you to retrieve and search for stores using complex query expressions.\n\n## Features\n\n- **Get Stores**: Retrieve a paginated list of all stores in an organization\n- **Store Search**: Search for stores using flexible query expressions\n- **Complex Queries**: Support for term queries, text queries, boolean queries, and range filters\n- **Sorting**: Sort results by any searchable field\n- **Pagination**: Built-in pagination support with configurable limits and offsets\n- **Field Selection**: Use the select parameter to retrieve only specific fields\n\n## Endpoints\n\n### GET /organizations/{organizationId}/stores\n\nRetrieve a list of all stores within the specified organization. This endpoint returns all stores without any filtering and supports pagination for results.\n\n**Parameters:**\n- `organizationId` (required) - The organization identifier\n- `siteId` (required) - The site identifier\n- `offset` (optional) - Zero-based index of the first store to return (default: 0)\n- `limit` (optional) - Maximum number of stores to return (default: 50, max: 200)\n- `select` (optional) - Property selector to retrieve only specific fields\n\n### GET /organizations/{organizationId}/stores/{id}\n\nRetrieve detailed information for a specific store by ID.\n\n**Parameters:**\n- `organizationId` (required) - The organization identifier\n- `siteId` (required) - The site identifier\n- `id` (required) - The ID of the store to retrieve\n- `select` (optional) - Property selector to retrieve only specific fields\n\n**Error Responses:**\n- `404` - Store not found when the specified store ID does not exist\n\n### POST /organizations/{organizationId}/store-search\n\nSearch for stores using flexible query expressions with support for filtering, sorting, and pagination.\n\n## Searchable Fields\n\nThe following fields are searchable in store queries:\n\n- `id` - Store identifier (String)\n- `name` - Store name (String)\n- `address1` - Primary address (String)\n- `address2` - Secondary address (String)\n- `city` - City name (String)\n- `stateCode` - State code (String)\n- `postalCode` - Postal code (String)\n- `countryCode` - Country code (String)\n- `phone` - Phone number (String)\n- `fax` - Fax number (String)\n- `email` - Email address (String)\n- `latitude` - Geographic latitude (Double)\n- `longitude` - Geographic longitude (Double)\n- `inventoryId` - Associated inventory list ID (String)\n- `storeHours` - Store hours information (String)\n- `storeEvents` - Store events information (String)\n\n## Authentication\n\nThis API uses OAuth 2.0 client credentials flow via Account Manager with the following scope:\n- `sfcc.stores` - Read access to store resources\n\n## Related APIs\n\n- **Shopper Stores API**: Shopper-facing store search with geolocation support\n- **Inventory APIs**: Manage inventory associated with stores",
|
|
5
6
|
"version": "1.2.0",
|
|
6
7
|
"x-api-type": "Admin",
|
|
7
8
|
"x-api-family": "Store"
|
|
@@ -19,26 +20,36 @@
|
|
|
19
20
|
"paths": {
|
|
20
21
|
"/organizations/{organizationId}/stores": {
|
|
21
22
|
"get": {
|
|
23
|
+
"summary": "Get Stores",
|
|
24
|
+
"description": "Retrieve a list of all stores in an organization. Pagination is supported for results.\n\nThis endpoint returns all stores within the specified organization without any filtering.\nUse the offset and limit parameters to control pagination.\n",
|
|
22
25
|
"operationId": "getStores",
|
|
23
26
|
"parameters": [
|
|
24
27
|
{
|
|
25
28
|
"name": "organizationId",
|
|
26
29
|
"in": "path",
|
|
30
|
+
"description": "An identifier for the Salesforce Commerce Cloud organization the request is being made by. It consists of a prefix 'f_ecom_' followed by a 4-character [realm identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#realm-id) and a 3-character [instance type identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#instance-id).",
|
|
27
31
|
"required": true,
|
|
28
32
|
"style": "simple",
|
|
29
33
|
"explode": false,
|
|
30
34
|
"schema": {
|
|
31
35
|
"$ref": "#/components/schemas/OrganizationId"
|
|
32
|
-
}
|
|
36
|
+
},
|
|
37
|
+
"example": "f_ecom_zzxy_prd"
|
|
33
38
|
},
|
|
34
39
|
{
|
|
35
40
|
"name": "siteId",
|
|
36
41
|
"in": "query",
|
|
42
|
+
"description": "The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites.",
|
|
37
43
|
"required": true,
|
|
38
44
|
"style": "form",
|
|
39
45
|
"explode": true,
|
|
40
46
|
"schema": {
|
|
41
47
|
"$ref": "#/components/schemas/SiteId"
|
|
48
|
+
},
|
|
49
|
+
"examples": {
|
|
50
|
+
"SiteId": {
|
|
51
|
+
"value": "RefArch"
|
|
52
|
+
}
|
|
42
53
|
}
|
|
43
54
|
},
|
|
44
55
|
{
|
|
@@ -49,11 +60,17 @@
|
|
|
49
60
|
"explode": true,
|
|
50
61
|
"schema": {
|
|
51
62
|
"$ref": "#/components/schemas/Select"
|
|
63
|
+
},
|
|
64
|
+
"examples": {
|
|
65
|
+
"select": {
|
|
66
|
+
"value": "(**)"
|
|
67
|
+
}
|
|
52
68
|
}
|
|
53
69
|
},
|
|
54
70
|
{
|
|
55
71
|
"name": "limit",
|
|
56
72
|
"in": "query",
|
|
73
|
+
"description": "Number of records to retrieve per request. Must be between 1 (minimum) and 200 (maximum). Defaults to 50.",
|
|
57
74
|
"required": false,
|
|
58
75
|
"style": "form",
|
|
59
76
|
"explode": true,
|
|
@@ -68,6 +85,7 @@
|
|
|
68
85
|
{
|
|
69
86
|
"name": "offset",
|
|
70
87
|
"in": "query",
|
|
88
|
+
"description": "Used to retrieve the results based on a particular resource offset.",
|
|
71
89
|
"required": false,
|
|
72
90
|
"style": "form",
|
|
73
91
|
"explode": true,
|
|
@@ -86,6 +104,11 @@
|
|
|
86
104
|
"application/json": {
|
|
87
105
|
"schema": {
|
|
88
106
|
"$ref": "#/components/schemas/StoreResult"
|
|
107
|
+
},
|
|
108
|
+
"examples": {
|
|
109
|
+
"StoreResultSuccess": {
|
|
110
|
+
"$ref": "#/components/examples/StoreResultSuccess"
|
|
111
|
+
}
|
|
89
112
|
}
|
|
90
113
|
}
|
|
91
114
|
}
|
|
@@ -109,31 +132,42 @@
|
|
|
109
132
|
},
|
|
110
133
|
"/organizations/{organizationId}/stores/{id}": {
|
|
111
134
|
"get": {
|
|
135
|
+
"summary": "Get Store",
|
|
136
|
+
"description": "Retrieve information for a specific store by ID.\n\nThis endpoint returns detailed information about a single store within the specified organization.\nUse the select parameter to retrieve only specific fields.\n",
|
|
112
137
|
"operationId": "getStore",
|
|
113
138
|
"parameters": [
|
|
114
139
|
{
|
|
115
140
|
"name": "organizationId",
|
|
116
141
|
"in": "path",
|
|
142
|
+
"description": "An identifier for the Salesforce Commerce Cloud organization the request is being made by. It consists of a prefix 'f_ecom_' followed by a 4-character [realm identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#realm-id) and a 3-character [instance type identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#instance-id).",
|
|
117
143
|
"required": true,
|
|
118
144
|
"style": "simple",
|
|
119
145
|
"explode": false,
|
|
120
146
|
"schema": {
|
|
121
147
|
"$ref": "#/components/schemas/OrganizationId"
|
|
122
|
-
}
|
|
148
|
+
},
|
|
149
|
+
"example": "f_ecom_zzxy_prd"
|
|
123
150
|
},
|
|
124
151
|
{
|
|
125
152
|
"name": "siteId",
|
|
126
153
|
"in": "query",
|
|
154
|
+
"description": "The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites.",
|
|
127
155
|
"required": true,
|
|
128
156
|
"style": "form",
|
|
129
157
|
"explode": true,
|
|
130
158
|
"schema": {
|
|
131
159
|
"$ref": "#/components/schemas/SiteId"
|
|
160
|
+
},
|
|
161
|
+
"examples": {
|
|
162
|
+
"SiteId": {
|
|
163
|
+
"value": "RefArch"
|
|
164
|
+
}
|
|
132
165
|
}
|
|
133
166
|
},
|
|
134
167
|
{
|
|
135
168
|
"name": "id",
|
|
136
169
|
"in": "path",
|
|
170
|
+
"description": "The ID of the store to retrieve.",
|
|
137
171
|
"required": true,
|
|
138
172
|
"style": "simple",
|
|
139
173
|
"explode": false,
|
|
@@ -149,6 +183,11 @@
|
|
|
149
183
|
"explode": true,
|
|
150
184
|
"schema": {
|
|
151
185
|
"$ref": "#/components/schemas/Select"
|
|
186
|
+
},
|
|
187
|
+
"examples": {
|
|
188
|
+
"select": {
|
|
189
|
+
"value": "(**)"
|
|
190
|
+
}
|
|
152
191
|
}
|
|
153
192
|
}
|
|
154
193
|
],
|
|
@@ -159,6 +198,11 @@
|
|
|
159
198
|
"application/json": {
|
|
160
199
|
"schema": {
|
|
161
200
|
"$ref": "#/components/schemas/Store"
|
|
201
|
+
},
|
|
202
|
+
"examples": {
|
|
203
|
+
"StoreSuccess": {
|
|
204
|
+
"$ref": "#/components/examples/StoreSuccess"
|
|
205
|
+
}
|
|
162
206
|
}
|
|
163
207
|
}
|
|
164
208
|
}
|
|
@@ -175,6 +219,11 @@
|
|
|
175
219
|
"application/problem+json": {
|
|
176
220
|
"schema": {
|
|
177
221
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
222
|
+
},
|
|
223
|
+
"examples": {
|
|
224
|
+
"StoreNotFound": {
|
|
225
|
+
"$ref": "#/components/examples/StoreNotFound"
|
|
226
|
+
}
|
|
178
227
|
}
|
|
179
228
|
}
|
|
180
229
|
}
|
|
@@ -190,31 +239,42 @@
|
|
|
190
239
|
]
|
|
191
240
|
},
|
|
192
241
|
"put": {
|
|
242
|
+
"summary": "Create or Replace Store",
|
|
243
|
+
"description": "Create a new store or replace an existing store.\n\nIf a store with the specified ID does not exist, a new store is created (returns 201).\nIf a store with the specified ID already exists, it is replaced with the provided data (returns 200).\n",
|
|
193
244
|
"operationId": "createOrReplaceStore",
|
|
194
245
|
"parameters": [
|
|
195
246
|
{
|
|
196
247
|
"name": "organizationId",
|
|
197
248
|
"in": "path",
|
|
249
|
+
"description": "An identifier for the Salesforce Commerce Cloud organization the request is being made by. It consists of a prefix 'f_ecom_' followed by a 4-character [realm identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#realm-id) and a 3-character [instance type identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#instance-id).",
|
|
198
250
|
"required": true,
|
|
199
251
|
"style": "simple",
|
|
200
252
|
"explode": false,
|
|
201
253
|
"schema": {
|
|
202
254
|
"$ref": "#/components/schemas/OrganizationId"
|
|
203
|
-
}
|
|
255
|
+
},
|
|
256
|
+
"example": "f_ecom_zzxy_prd"
|
|
204
257
|
},
|
|
205
258
|
{
|
|
206
259
|
"name": "siteId",
|
|
207
260
|
"in": "query",
|
|
261
|
+
"description": "The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites.",
|
|
208
262
|
"required": true,
|
|
209
263
|
"style": "form",
|
|
210
264
|
"explode": true,
|
|
211
265
|
"schema": {
|
|
212
266
|
"$ref": "#/components/schemas/SiteId"
|
|
267
|
+
},
|
|
268
|
+
"examples": {
|
|
269
|
+
"SiteId": {
|
|
270
|
+
"value": "RefArch"
|
|
271
|
+
}
|
|
213
272
|
}
|
|
214
273
|
},
|
|
215
274
|
{
|
|
216
275
|
"name": "id",
|
|
217
276
|
"in": "path",
|
|
277
|
+
"description": "The ID of the store to create or replace.",
|
|
218
278
|
"required": true,
|
|
219
279
|
"style": "simple",
|
|
220
280
|
"explode": false,
|
|
@@ -224,10 +284,16 @@
|
|
|
224
284
|
}
|
|
225
285
|
],
|
|
226
286
|
"requestBody": {
|
|
287
|
+
"description": "The store data to create or replace.",
|
|
227
288
|
"content": {
|
|
228
289
|
"application/json": {
|
|
229
290
|
"schema": {
|
|
230
291
|
"$ref": "#/components/schemas/StoreRequest"
|
|
292
|
+
},
|
|
293
|
+
"examples": {
|
|
294
|
+
"CreateStore": {
|
|
295
|
+
"$ref": "#/components/examples/CreateStore"
|
|
296
|
+
}
|
|
231
297
|
}
|
|
232
298
|
}
|
|
233
299
|
},
|
|
@@ -240,6 +306,11 @@
|
|
|
240
306
|
"application/json": {
|
|
241
307
|
"schema": {
|
|
242
308
|
"$ref": "#/components/schemas/Store"
|
|
309
|
+
},
|
|
310
|
+
"examples": {
|
|
311
|
+
"ReplaceStoreSuccess": {
|
|
312
|
+
"$ref": "#/components/examples/ReplaceStoreSuccess"
|
|
313
|
+
}
|
|
243
314
|
}
|
|
244
315
|
}
|
|
245
316
|
}
|
|
@@ -250,6 +321,11 @@
|
|
|
250
321
|
"application/json": {
|
|
251
322
|
"schema": {
|
|
252
323
|
"$ref": "#/components/schemas/Store"
|
|
324
|
+
},
|
|
325
|
+
"examples": {
|
|
326
|
+
"CreateStoreSuccess": {
|
|
327
|
+
"$ref": "#/components/examples/CreateStoreSuccess"
|
|
328
|
+
}
|
|
253
329
|
}
|
|
254
330
|
}
|
|
255
331
|
}
|
|
@@ -260,6 +336,11 @@
|
|
|
260
336
|
"application/problem+json": {
|
|
261
337
|
"schema": {
|
|
262
338
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
339
|
+
},
|
|
340
|
+
"examples": {
|
|
341
|
+
"IdConflict": {
|
|
342
|
+
"$ref": "#/components/examples/IdConflict"
|
|
343
|
+
}
|
|
263
344
|
}
|
|
264
345
|
}
|
|
265
346
|
}
|
|
@@ -280,31 +361,42 @@
|
|
|
280
361
|
]
|
|
281
362
|
},
|
|
282
363
|
"delete": {
|
|
364
|
+
"summary": "Delete Store",
|
|
365
|
+
"description": "Delete a store by ID.\n\nPermanently removes the store with the specified ID from the organization.\n",
|
|
283
366
|
"operationId": "deleteStore",
|
|
284
367
|
"parameters": [
|
|
285
368
|
{
|
|
286
369
|
"name": "organizationId",
|
|
287
370
|
"in": "path",
|
|
371
|
+
"description": "An identifier for the Salesforce Commerce Cloud organization the request is being made by. It consists of a prefix 'f_ecom_' followed by a 4-character [realm identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#realm-id) and a 3-character [instance type identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#instance-id).",
|
|
288
372
|
"required": true,
|
|
289
373
|
"style": "simple",
|
|
290
374
|
"explode": false,
|
|
291
375
|
"schema": {
|
|
292
376
|
"$ref": "#/components/schemas/OrganizationId"
|
|
293
|
-
}
|
|
377
|
+
},
|
|
378
|
+
"example": "f_ecom_zzxy_prd"
|
|
294
379
|
},
|
|
295
380
|
{
|
|
296
381
|
"name": "siteId",
|
|
297
382
|
"in": "query",
|
|
383
|
+
"description": "The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites.",
|
|
298
384
|
"required": true,
|
|
299
385
|
"style": "form",
|
|
300
386
|
"explode": true,
|
|
301
387
|
"schema": {
|
|
302
388
|
"$ref": "#/components/schemas/SiteId"
|
|
389
|
+
},
|
|
390
|
+
"examples": {
|
|
391
|
+
"SiteId": {
|
|
392
|
+
"value": "RefArch"
|
|
393
|
+
}
|
|
303
394
|
}
|
|
304
395
|
},
|
|
305
396
|
{
|
|
306
397
|
"name": "id",
|
|
307
398
|
"in": "path",
|
|
399
|
+
"description": "The ID of the store to delete.",
|
|
308
400
|
"required": true,
|
|
309
401
|
"style": "simple",
|
|
310
402
|
"explode": false,
|
|
@@ -329,6 +421,11 @@
|
|
|
329
421
|
"application/problem+json": {
|
|
330
422
|
"schema": {
|
|
331
423
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
424
|
+
},
|
|
425
|
+
"examples": {
|
|
426
|
+
"StoreNotFound": {
|
|
427
|
+
"$ref": "#/components/examples/StoreNotFound"
|
|
428
|
+
}
|
|
332
429
|
}
|
|
333
430
|
}
|
|
334
431
|
}
|
|
@@ -343,31 +440,42 @@
|
|
|
343
440
|
]
|
|
344
441
|
},
|
|
345
442
|
"patch": {
|
|
443
|
+
"summary": "Update Store",
|
|
444
|
+
"description": "Update an existing store.\n\nUpdates the store with the specified ID using the properties provided in the request body.\nOnly the properties included in the request body are updated; all other properties remain unchanged.\n",
|
|
346
445
|
"operationId": "updateStore",
|
|
347
446
|
"parameters": [
|
|
348
447
|
{
|
|
349
448
|
"name": "organizationId",
|
|
350
449
|
"in": "path",
|
|
450
|
+
"description": "An identifier for the Salesforce Commerce Cloud organization the request is being made by. It consists of a prefix 'f_ecom_' followed by a 4-character [realm identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#realm-id) and a 3-character [instance type identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#instance-id).",
|
|
351
451
|
"required": true,
|
|
352
452
|
"style": "simple",
|
|
353
453
|
"explode": false,
|
|
354
454
|
"schema": {
|
|
355
455
|
"$ref": "#/components/schemas/OrganizationId"
|
|
356
|
-
}
|
|
456
|
+
},
|
|
457
|
+
"example": "f_ecom_zzxy_prd"
|
|
357
458
|
},
|
|
358
459
|
{
|
|
359
460
|
"name": "siteId",
|
|
360
461
|
"in": "query",
|
|
462
|
+
"description": "The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites.",
|
|
361
463
|
"required": true,
|
|
362
464
|
"style": "form",
|
|
363
465
|
"explode": true,
|
|
364
466
|
"schema": {
|
|
365
467
|
"$ref": "#/components/schemas/SiteId"
|
|
468
|
+
},
|
|
469
|
+
"examples": {
|
|
470
|
+
"SiteId": {
|
|
471
|
+
"value": "RefArch"
|
|
472
|
+
}
|
|
366
473
|
}
|
|
367
474
|
},
|
|
368
475
|
{
|
|
369
476
|
"name": "id",
|
|
370
477
|
"in": "path",
|
|
478
|
+
"description": "The ID of the store to update.",
|
|
371
479
|
"required": true,
|
|
372
480
|
"style": "simple",
|
|
373
481
|
"explode": false,
|
|
@@ -377,10 +485,16 @@
|
|
|
377
485
|
}
|
|
378
486
|
],
|
|
379
487
|
"requestBody": {
|
|
488
|
+
"description": "The store data to update.",
|
|
380
489
|
"content": {
|
|
381
490
|
"application/json": {
|
|
382
491
|
"schema": {
|
|
383
492
|
"$ref": "#/components/schemas/StoreRequest"
|
|
493
|
+
},
|
|
494
|
+
"examples": {
|
|
495
|
+
"UpdateStore": {
|
|
496
|
+
"$ref": "#/components/examples/UpdateStore"
|
|
497
|
+
}
|
|
384
498
|
}
|
|
385
499
|
}
|
|
386
500
|
},
|
|
@@ -393,6 +507,11 @@
|
|
|
393
507
|
"application/json": {
|
|
394
508
|
"schema": {
|
|
395
509
|
"$ref": "#/components/schemas/Store"
|
|
510
|
+
},
|
|
511
|
+
"examples": {
|
|
512
|
+
"UpdateStoreSuccess": {
|
|
513
|
+
"$ref": "#/components/examples/UpdateStoreSuccess"
|
|
514
|
+
}
|
|
396
515
|
}
|
|
397
516
|
}
|
|
398
517
|
}
|
|
@@ -403,6 +522,11 @@
|
|
|
403
522
|
"application/problem+json": {
|
|
404
523
|
"schema": {
|
|
405
524
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
525
|
+
},
|
|
526
|
+
"examples": {
|
|
527
|
+
"IdConflict": {
|
|
528
|
+
"$ref": "#/components/examples/IdConflict"
|
|
529
|
+
}
|
|
406
530
|
}
|
|
407
531
|
}
|
|
408
532
|
}
|
|
@@ -419,6 +543,11 @@
|
|
|
419
543
|
"application/problem+json": {
|
|
420
544
|
"schema": {
|
|
421
545
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
546
|
+
},
|
|
547
|
+
"examples": {
|
|
548
|
+
"StoreNotFound": {
|
|
549
|
+
"$ref": "#/components/examples/StoreNotFound"
|
|
550
|
+
}
|
|
422
551
|
}
|
|
423
552
|
}
|
|
424
553
|
}
|
|
@@ -435,34 +564,53 @@
|
|
|
435
564
|
},
|
|
436
565
|
"/organizations/{organizationId}/store-search": {
|
|
437
566
|
"post": {
|
|
567
|
+
"summary": "Search Stores",
|
|
568
|
+
"description": "Searches for stores.\n\nThe query attribute specifies a complex query that can be used to narrow down the search. This is the list of\nsearchable attributes:\n\n- address1 - String\n- address2 - String\n- city - String\n- countryCode - String\n- email - String\n- fax - String\n- id - String\n- inventoryId - String\n- latitude - double\n- longitude - double\n- name - String\n- phone - String\n- postalCode - String\n- stateCode - String\n- storeHours - String\n- storeEvents - String\n",
|
|
438
569
|
"operationId": "searchStores",
|
|
439
570
|
"parameters": [
|
|
440
571
|
{
|
|
441
572
|
"name": "organizationId",
|
|
442
573
|
"in": "path",
|
|
574
|
+
"description": "An identifier for the Salesforce Commerce Cloud organization the request is being made by. It consists of a prefix 'f_ecom_' followed by a 4-character [realm identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#realm-id) and a 3-character [instance type identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#instance-id).",
|
|
443
575
|
"required": true,
|
|
444
576
|
"style": "simple",
|
|
445
577
|
"explode": false,
|
|
446
578
|
"schema": {
|
|
447
579
|
"$ref": "#/components/schemas/OrganizationId"
|
|
448
|
-
}
|
|
580
|
+
},
|
|
581
|
+
"example": "f_ecom_zzxy_prd"
|
|
449
582
|
},
|
|
450
583
|
{
|
|
451
584
|
"name": "siteId",
|
|
452
585
|
"in": "query",
|
|
586
|
+
"description": "The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites.",
|
|
453
587
|
"required": true,
|
|
454
588
|
"style": "form",
|
|
455
589
|
"explode": true,
|
|
456
590
|
"schema": {
|
|
457
591
|
"$ref": "#/components/schemas/SiteId"
|
|
592
|
+
},
|
|
593
|
+
"examples": {
|
|
594
|
+
"SiteId": {
|
|
595
|
+
"value": "RefArch"
|
|
596
|
+
}
|
|
458
597
|
}
|
|
459
598
|
}
|
|
460
599
|
],
|
|
461
600
|
"requestBody": {
|
|
601
|
+
"description": "The search request document",
|
|
462
602
|
"content": {
|
|
463
603
|
"application/json": {
|
|
464
604
|
"schema": {
|
|
465
605
|
"$ref": "#/components/schemas/StoreSearchRequest"
|
|
606
|
+
},
|
|
607
|
+
"examples": {
|
|
608
|
+
"StoreSearchByName": {
|
|
609
|
+
"$ref": "#/components/examples/StoreSearchByName"
|
|
610
|
+
},
|
|
611
|
+
"StoreSearchByCity": {
|
|
612
|
+
"$ref": "#/components/examples/StoreSearchByCity"
|
|
613
|
+
}
|
|
466
614
|
}
|
|
467
615
|
}
|
|
468
616
|
},
|
|
@@ -475,6 +623,11 @@
|
|
|
475
623
|
"application/json": {
|
|
476
624
|
"schema": {
|
|
477
625
|
"$ref": "#/components/schemas/StoreSearchResult"
|
|
626
|
+
},
|
|
627
|
+
"examples": {
|
|
628
|
+
"StoreSearchResultSuccess": {
|
|
629
|
+
"$ref": "#/components/examples/StoreSearchResultSuccess"
|
|
630
|
+
}
|
|
478
631
|
}
|
|
479
632
|
}
|
|
480
633
|
}
|
|
@@ -485,6 +638,17 @@
|
|
|
485
638
|
"application/problem+json": {
|
|
486
639
|
"schema": {
|
|
487
640
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
641
|
+
},
|
|
642
|
+
"examples": {
|
|
643
|
+
"MalformedSearchParameter": {
|
|
644
|
+
"$ref": "#/components/examples/MalformedSearchParameter"
|
|
645
|
+
},
|
|
646
|
+
"InvalidQueryField": {
|
|
647
|
+
"$ref": "#/components/examples/InvalidQueryField"
|
|
648
|
+
},
|
|
649
|
+
"FieldNotSortable": {
|
|
650
|
+
"$ref": "#/components/examples/FieldNotSortable"
|
|
651
|
+
}
|
|
488
652
|
}
|
|
489
653
|
}
|
|
490
654
|
}
|
|
@@ -511,15 +675,21 @@
|
|
|
511
675
|
"schemas": {
|
|
512
676
|
"OrganizationId": {
|
|
513
677
|
"type": "string",
|
|
678
|
+
"description": "An identifier for the Salesforce Commerce Cloud organization the request is being made by. It consists of a prefix 'f_ecom_' followed by a 4-character [realm identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#realm-id) and a 3-character [instance type identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#instance-id).",
|
|
679
|
+
"example": "f_ecom_zzxy_prd",
|
|
514
680
|
"pattern": "^f_ecom_[a-z]{4}_(prd|stg|dev|s[0-9]{2}|[0-9]{3})$"
|
|
515
681
|
},
|
|
516
682
|
"SiteId": {
|
|
517
683
|
"type": "string",
|
|
684
|
+
"description": "The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites",
|
|
685
|
+
"example": "RefArch",
|
|
518
686
|
"maxLength": 32,
|
|
519
687
|
"minLength": 1
|
|
520
688
|
},
|
|
521
689
|
"Select": {
|
|
522
690
|
"type": "string",
|
|
691
|
+
"description": "The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. For more information, please read the documentation about property selectors [here](https://developer.salesforce.com/docs/commerce/commerce-api/guide/scapi-property-selection.html).",
|
|
692
|
+
"example": "(name,id,variationAttributes.(**))",
|
|
523
693
|
"minLength": 1,
|
|
524
694
|
"pattern": "^[(].*[)]$"
|
|
525
695
|
},
|
|
@@ -527,14 +697,19 @@
|
|
|
527
697
|
"type": "integer",
|
|
528
698
|
"format": "int32",
|
|
529
699
|
"default": 0,
|
|
700
|
+
"description": "The total number of hits that match the search's criteria. This can be greater than the number of results returned as search results are pagenated.",
|
|
701
|
+
"example": 10,
|
|
530
702
|
"minimum": 0
|
|
531
703
|
},
|
|
532
704
|
"ResultBase": {
|
|
533
705
|
"type": "object",
|
|
706
|
+
"description": "Schema defining generic list result. Each response schema of a resource requiring a list response should extend this schema. \nAdditionally it needs to be defined what data is returned.",
|
|
534
707
|
"properties": {
|
|
535
708
|
"limit": {
|
|
536
709
|
"type": "integer",
|
|
537
|
-
"format": "int32"
|
|
710
|
+
"format": "int32",
|
|
711
|
+
"description": "Maximum records to retrieve per request. The limit with its constraints (minimum, maximum, default) is defined by the request parameter `limit` of the endpoint returning this schema.",
|
|
712
|
+
"example": 10
|
|
538
713
|
},
|
|
539
714
|
"total": {
|
|
540
715
|
"$ref": "#/components/schemas/Total"
|
|
@@ -549,6 +724,8 @@
|
|
|
549
724
|
"type": "integer",
|
|
550
725
|
"format": "int32",
|
|
551
726
|
"default": 0,
|
|
727
|
+
"description": "The zero-based index of the first hit/data to include in the result.",
|
|
728
|
+
"example": 0,
|
|
552
729
|
"minimum": 0
|
|
553
730
|
},
|
|
554
731
|
"PaginatedResultBase": {
|
|
@@ -557,6 +734,7 @@
|
|
|
557
734
|
"$ref": "#/components/schemas/ResultBase"
|
|
558
735
|
}
|
|
559
736
|
],
|
|
737
|
+
"description": "Schema defining generic pageable result. Each response schema of a resource requiring pagination should extend this schema. \nIf you use this extend this schema directly, it needs to be defined what data is returned. Allowed names for the data field is `data`.",
|
|
560
738
|
"properties": {
|
|
561
739
|
"offset": {
|
|
562
740
|
"$ref": "#/components/schemas/Offset"
|
|
@@ -570,26 +748,37 @@
|
|
|
570
748
|
},
|
|
571
749
|
"StoreId": {
|
|
572
750
|
"type": "string",
|
|
751
|
+
"description": "The ID of the store.",
|
|
752
|
+
"example": "store-001",
|
|
573
753
|
"maxLength": 256,
|
|
574
754
|
"minLength": 1
|
|
575
755
|
},
|
|
576
756
|
"CountryCode": {
|
|
577
757
|
"type": "string",
|
|
758
|
+
"description": "A two letter uppercase country code conforming to the [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 standard.",
|
|
759
|
+
"example": "US",
|
|
578
760
|
"pattern": "^[A-Z][A-Z]$"
|
|
579
761
|
},
|
|
580
762
|
"InventoryId": {
|
|
581
763
|
"type": "string",
|
|
764
|
+
"description": "The inventory list ID associated with the store.",
|
|
765
|
+
"example": "inventory-001",
|
|
582
766
|
"maxLength": 256,
|
|
583
767
|
"minLength": 1
|
|
584
768
|
},
|
|
585
769
|
"MarkupText": {
|
|
586
770
|
"type": "object",
|
|
771
|
+
"description": "Document representing markup text.",
|
|
587
772
|
"properties": {
|
|
588
773
|
"markup": {
|
|
589
|
-
"type": "string"
|
|
774
|
+
"type": "string",
|
|
775
|
+
"description": "The rendered HTML.",
|
|
776
|
+
"example": ""
|
|
590
777
|
},
|
|
591
778
|
"source": {
|
|
592
|
-
"type": "string"
|
|
779
|
+
"type": "string",
|
|
780
|
+
"description": "The raw markup text.",
|
|
781
|
+
"example": ""
|
|
593
782
|
}
|
|
594
783
|
},
|
|
595
784
|
"required": [
|
|
@@ -600,30 +789,47 @@
|
|
|
600
789
|
"Email": {
|
|
601
790
|
"type": "string",
|
|
602
791
|
"format": "email",
|
|
792
|
+
"description": "Email address to contact the store.",
|
|
793
|
+
"example": "store@example.com",
|
|
603
794
|
"maxLength": 256
|
|
604
795
|
},
|
|
605
796
|
"MediaFile": {
|
|
606
797
|
"type": "object",
|
|
798
|
+
"description": "Document representing media file.",
|
|
607
799
|
"properties": {
|
|
608
800
|
"absUrl": {
|
|
609
|
-
"type": "string"
|
|
801
|
+
"type": "string",
|
|
802
|
+
"description": "The absolute URL with request protocol.",
|
|
803
|
+
"example": "https://www.example-image.com/images/apple-ipod-classic.jpg"
|
|
610
804
|
},
|
|
611
805
|
"alt": {
|
|
612
806
|
"type": "object",
|
|
613
807
|
"additionalProperties": {
|
|
614
808
|
"type": "string"
|
|
809
|
+
},
|
|
810
|
+
"description": "The alternative image text.",
|
|
811
|
+
"example": {
|
|
812
|
+
"en_US": "iPod"
|
|
615
813
|
}
|
|
616
814
|
},
|
|
617
815
|
"disBaseUrl": {
|
|
618
|
-
"type": "string"
|
|
816
|
+
"type": "string",
|
|
817
|
+
"description": "The Dynamic Image Service (DIS) base URL for product images only.",
|
|
818
|
+
"example": "https://www.dis-base-url/images/apple-ipod-clasic.jpg"
|
|
619
819
|
},
|
|
620
820
|
"path": {
|
|
621
|
-
"type": "string"
|
|
821
|
+
"type": "string",
|
|
822
|
+
"description": "The raw media file path.",
|
|
823
|
+
"example": "/images/apple-ipod-classic.jpg"
|
|
622
824
|
},
|
|
623
825
|
"title": {
|
|
624
826
|
"type": "object",
|
|
625
827
|
"additionalProperties": {
|
|
626
828
|
"type": "string"
|
|
829
|
+
},
|
|
830
|
+
"description": "The image title.",
|
|
831
|
+
"example": {
|
|
832
|
+
"en_US": "iPod"
|
|
627
833
|
}
|
|
628
834
|
}
|
|
629
835
|
},
|
|
@@ -633,29 +839,44 @@
|
|
|
633
839
|
},
|
|
634
840
|
"Store": {
|
|
635
841
|
"type": "object",
|
|
636
|
-
"additionalProperties": {
|
|
842
|
+
"additionalProperties": {
|
|
843
|
+
"description": "This type supports additional properties passed along with the defined properties of this API.\nTo indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`.\nThe type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix.",
|
|
844
|
+
"example": "c_trackingId",
|
|
845
|
+
"title": "Additional Property Support"
|
|
846
|
+
},
|
|
637
847
|
"properties": {
|
|
638
848
|
"id": {
|
|
639
849
|
"allOf": [
|
|
640
850
|
{
|
|
641
851
|
"$ref": "#/components/schemas/StoreId"
|
|
642
852
|
}
|
|
643
|
-
]
|
|
853
|
+
],
|
|
854
|
+
"title": "ID"
|
|
644
855
|
},
|
|
645
856
|
"name": {
|
|
646
857
|
"type": "string",
|
|
858
|
+
"description": "The name of the store.",
|
|
859
|
+
"example": "Downtown Store",
|
|
647
860
|
"maxLength": 256
|
|
648
861
|
},
|
|
649
862
|
"address1": {
|
|
650
863
|
"type": "string",
|
|
651
|
-
"
|
|
864
|
+
"description": "The first line of the store address.",
|
|
865
|
+
"example": "123 Main St",
|
|
866
|
+
"maxLength": 256,
|
|
867
|
+
"title": "address1"
|
|
652
868
|
},
|
|
653
869
|
"address2": {
|
|
654
870
|
"type": "string",
|
|
655
|
-
"
|
|
871
|
+
"description": "The second line of the store address.",
|
|
872
|
+
"example": "Suite 100",
|
|
873
|
+
"maxLength": 256,
|
|
874
|
+
"title": "address2"
|
|
656
875
|
},
|
|
657
876
|
"city": {
|
|
658
877
|
"type": "string",
|
|
878
|
+
"description": "The city of the store.",
|
|
879
|
+
"example": "San Francisco",
|
|
659
880
|
"maxLength": 256
|
|
660
881
|
},
|
|
661
882
|
"countryCode": {
|
|
@@ -663,29 +884,41 @@
|
|
|
663
884
|
},
|
|
664
885
|
"phone": {
|
|
665
886
|
"type": "string",
|
|
887
|
+
"description": "The phone number of the store.",
|
|
888
|
+
"example": "+1-555-123-4567",
|
|
666
889
|
"maxLength": 256
|
|
667
890
|
},
|
|
668
891
|
"postalCode": {
|
|
669
892
|
"type": "string",
|
|
893
|
+
"description": "The postal code of the store.",
|
|
894
|
+
"example": "94102",
|
|
670
895
|
"maxLength": 10
|
|
671
896
|
},
|
|
672
897
|
"stateCode": {
|
|
673
898
|
"type": "string",
|
|
899
|
+
"description": "The state code of the store.",
|
|
900
|
+
"example": "CA",
|
|
674
901
|
"maxLength": 256
|
|
675
902
|
},
|
|
676
903
|
"fax": {
|
|
677
904
|
"type": "string",
|
|
905
|
+
"description": "The fax number of the store.",
|
|
906
|
+
"example": "+1-555-123-4568",
|
|
678
907
|
"maxLength": 256
|
|
679
908
|
},
|
|
680
909
|
"longitude": {
|
|
681
910
|
"type": "number",
|
|
682
911
|
"format": "double",
|
|
912
|
+
"description": "The longitude of the store.",
|
|
913
|
+
"example": -122.4194,
|
|
683
914
|
"maximum": 180,
|
|
684
915
|
"minimum": -180
|
|
685
916
|
},
|
|
686
917
|
"latitude": {
|
|
687
918
|
"type": "number",
|
|
688
919
|
"format": "double",
|
|
920
|
+
"description": "The latitude of the store.",
|
|
921
|
+
"example": 37.7749,
|
|
689
922
|
"maximum": 90,
|
|
690
923
|
"minimum": -90
|
|
691
924
|
},
|
|
@@ -694,19 +927,22 @@
|
|
|
694
927
|
{
|
|
695
928
|
"$ref": "#/components/schemas/InventoryId"
|
|
696
929
|
}
|
|
697
|
-
]
|
|
930
|
+
],
|
|
931
|
+
"title": "inventoryListID"
|
|
698
932
|
},
|
|
699
933
|
"storeHours": {
|
|
700
934
|
"type": "object",
|
|
701
935
|
"additionalProperties": {
|
|
702
936
|
"$ref": "#/components/schemas/MarkupText"
|
|
703
|
-
}
|
|
937
|
+
},
|
|
938
|
+
"description": "The localized store opening hours."
|
|
704
939
|
},
|
|
705
940
|
"storeEvents": {
|
|
706
941
|
"type": "object",
|
|
707
942
|
"additionalProperties": {
|
|
708
943
|
"$ref": "#/components/schemas/MarkupText"
|
|
709
|
-
}
|
|
944
|
+
},
|
|
945
|
+
"description": "The localized store events."
|
|
710
946
|
},
|
|
711
947
|
"email": {
|
|
712
948
|
"allOf": [
|
|
@@ -720,22 +956,31 @@
|
|
|
720
956
|
{
|
|
721
957
|
"$ref": "#/components/schemas/MediaFile"
|
|
722
958
|
}
|
|
723
|
-
]
|
|
959
|
+
],
|
|
960
|
+
"description": "The image URL associated with the store."
|
|
724
961
|
},
|
|
725
962
|
"storeLocatorEnabled": {
|
|
726
|
-
"type": "boolean"
|
|
963
|
+
"type": "boolean",
|
|
964
|
+
"description": "Specifies whether the store appears in store locator searches (true) or not (false).",
|
|
965
|
+
"example": true
|
|
727
966
|
},
|
|
728
967
|
"posEnabled": {
|
|
729
|
-
"type": "boolean"
|
|
968
|
+
"type": "boolean",
|
|
969
|
+
"description": "Specifies whether the store uses Store product for Point-of-Sale (true) or not (false).",
|
|
970
|
+
"example": true
|
|
730
971
|
},
|
|
731
972
|
"creationDate": {
|
|
732
973
|
"type": "string",
|
|
733
974
|
"format": "date-time",
|
|
975
|
+
"description": "Returns the value of attribute 'creationDate'.",
|
|
976
|
+
"example": "2023-01-15T10:30:00Z",
|
|
734
977
|
"readOnly": true
|
|
735
978
|
},
|
|
736
979
|
"lastModified": {
|
|
737
980
|
"type": "string",
|
|
738
981
|
"format": "date-time",
|
|
982
|
+
"description": "Returns the value of attribute 'lastModified'.",
|
|
983
|
+
"example": "2024-06-20T14:45:00Z",
|
|
739
984
|
"readOnly": true
|
|
740
985
|
}
|
|
741
986
|
},
|
|
@@ -749,9 +994,11 @@
|
|
|
749
994
|
"$ref": "#/components/schemas/PaginatedResultBase"
|
|
750
995
|
}
|
|
751
996
|
],
|
|
997
|
+
"description": "Document representing a paginated list of stores.",
|
|
752
998
|
"properties": {
|
|
753
999
|
"data": {
|
|
754
1000
|
"type": "array",
|
|
1001
|
+
"description": "The array of store instances.",
|
|
755
1002
|
"items": {
|
|
756
1003
|
"$ref": "#/components/schemas/Store"
|
|
757
1004
|
}
|
|
@@ -767,17 +1014,25 @@
|
|
|
767
1014
|
"properties": {
|
|
768
1015
|
"title": {
|
|
769
1016
|
"type": "string",
|
|
1017
|
+
"description": "A short, human-readable summary of the problem\ntype. It will not change from occurrence to occurrence of the \nproblem, except for purposes of localization\n",
|
|
1018
|
+
"example": "You do not have enough credit",
|
|
770
1019
|
"maxLength": 256
|
|
771
1020
|
},
|
|
772
1021
|
"type": {
|
|
773
1022
|
"type": "string",
|
|
1023
|
+
"description": "A URI reference [RFC3986] that identifies the\nproblem type. This specification encourages that, when\ndereferenced, it provide human-readable documentation for the\nproblem type (e.g., using HTML [W3C.REC-html5-20141028]). When\nthis member is not present, its value is assumed to be\n\"about:blank\". It accepts relative URIs; this means\nthat they must be resolved relative to the document's base URI, as\nper [RFC3986], Section 5.\n",
|
|
1024
|
+
"example": "NotEnoughMoney",
|
|
774
1025
|
"maxLength": 2048
|
|
775
1026
|
},
|
|
776
1027
|
"detail": {
|
|
777
|
-
"type": "string"
|
|
1028
|
+
"type": "string",
|
|
1029
|
+
"description": "A human-readable explanation specific to this occurrence of the problem.",
|
|
1030
|
+
"example": "Your current balance is 30, but that costs 50"
|
|
778
1031
|
},
|
|
779
1032
|
"instance": {
|
|
780
1033
|
"type": "string",
|
|
1034
|
+
"description": "A URI reference that identifies the specific\noccurrence of the problem. It may or may not yield further\ninformation if dereferenced. It accepts relative URIs; this means\nthat they must be resolved relative to the document's base URI, as\nper [RFC3986], Section 5.\n",
|
|
1035
|
+
"example": "/account/12345/msgs/abc",
|
|
781
1036
|
"maxLength": 2048
|
|
782
1037
|
}
|
|
783
1038
|
},
|
|
@@ -789,29 +1044,45 @@
|
|
|
789
1044
|
},
|
|
790
1045
|
"StoreRequest": {
|
|
791
1046
|
"type": "object",
|
|
792
|
-
"additionalProperties": {
|
|
1047
|
+
"additionalProperties": {
|
|
1048
|
+
"description": "This type supports additional properties passed along with the defined properties of this API.\nTo indicate that the properties were defined and expected to be handled as additional properties, they are expected to be prefixed with a `c_`.\nThe type will reject any property that does not fit this pattern, only allowing additional properties beginning with the known prefix.",
|
|
1049
|
+
"example": "c_trackingId",
|
|
1050
|
+
"title": "Additional Property Support"
|
|
1051
|
+
},
|
|
1052
|
+
"description": "Document representing a store request body for create or update operations.",
|
|
793
1053
|
"properties": {
|
|
794
1054
|
"id": {
|
|
795
1055
|
"allOf": [
|
|
796
1056
|
{
|
|
797
1057
|
"$ref": "#/components/schemas/StoreId"
|
|
798
1058
|
}
|
|
799
|
-
]
|
|
1059
|
+
],
|
|
1060
|
+
"title": "ID"
|
|
800
1061
|
},
|
|
801
1062
|
"name": {
|
|
802
1063
|
"type": "string",
|
|
1064
|
+
"description": "The name of the store.",
|
|
1065
|
+
"example": "Downtown Store",
|
|
803
1066
|
"maxLength": 256
|
|
804
1067
|
},
|
|
805
1068
|
"address1": {
|
|
806
1069
|
"type": "string",
|
|
807
|
-
"
|
|
1070
|
+
"description": "The first line of the store address.",
|
|
1071
|
+
"example": "123 Main St",
|
|
1072
|
+
"maxLength": 256,
|
|
1073
|
+
"title": "address1"
|
|
808
1074
|
},
|
|
809
1075
|
"address2": {
|
|
810
1076
|
"type": "string",
|
|
811
|
-
"
|
|
1077
|
+
"description": "The second line of the store address.",
|
|
1078
|
+
"example": "Suite 100",
|
|
1079
|
+
"maxLength": 256,
|
|
1080
|
+
"title": "address2"
|
|
812
1081
|
},
|
|
813
1082
|
"city": {
|
|
814
1083
|
"type": "string",
|
|
1084
|
+
"description": "The city of the store.",
|
|
1085
|
+
"example": "San Francisco",
|
|
815
1086
|
"maxLength": 256
|
|
816
1087
|
},
|
|
817
1088
|
"countryCode": {
|
|
@@ -819,29 +1090,41 @@
|
|
|
819
1090
|
},
|
|
820
1091
|
"phone": {
|
|
821
1092
|
"type": "string",
|
|
1093
|
+
"description": "The phone number of the store.",
|
|
1094
|
+
"example": "+1-555-123-4567",
|
|
822
1095
|
"maxLength": 256
|
|
823
1096
|
},
|
|
824
1097
|
"postalCode": {
|
|
825
1098
|
"type": "string",
|
|
1099
|
+
"description": "The postal code of the store.",
|
|
1100
|
+
"example": "94102",
|
|
826
1101
|
"maxLength": 10
|
|
827
1102
|
},
|
|
828
1103
|
"stateCode": {
|
|
829
1104
|
"type": "string",
|
|
1105
|
+
"description": "The state code of the store.",
|
|
1106
|
+
"example": "CA",
|
|
830
1107
|
"maxLength": 256
|
|
831
1108
|
},
|
|
832
1109
|
"fax": {
|
|
833
1110
|
"type": "string",
|
|
1111
|
+
"description": "The fax number of the store.",
|
|
1112
|
+
"example": "+1-555-123-4568",
|
|
834
1113
|
"maxLength": 256
|
|
835
1114
|
},
|
|
836
1115
|
"longitude": {
|
|
837
1116
|
"type": "number",
|
|
838
1117
|
"format": "double",
|
|
1118
|
+
"description": "The longitude of the store.",
|
|
1119
|
+
"example": -122.4194,
|
|
839
1120
|
"maximum": 180,
|
|
840
1121
|
"minimum": -180
|
|
841
1122
|
},
|
|
842
1123
|
"latitude": {
|
|
843
1124
|
"type": "number",
|
|
844
1125
|
"format": "double",
|
|
1126
|
+
"description": "The latitude of the store.",
|
|
1127
|
+
"example": 37.7749,
|
|
845
1128
|
"maximum": 90,
|
|
846
1129
|
"minimum": -90
|
|
847
1130
|
},
|
|
@@ -850,19 +1133,22 @@
|
|
|
850
1133
|
{
|
|
851
1134
|
"$ref": "#/components/schemas/InventoryId"
|
|
852
1135
|
}
|
|
853
|
-
]
|
|
1136
|
+
],
|
|
1137
|
+
"title": "inventoryListID"
|
|
854
1138
|
},
|
|
855
1139
|
"storeHours": {
|
|
856
1140
|
"type": "object",
|
|
857
1141
|
"additionalProperties": {
|
|
858
1142
|
"$ref": "#/components/schemas/MarkupText"
|
|
859
|
-
}
|
|
1143
|
+
},
|
|
1144
|
+
"description": "The localized store opening hours."
|
|
860
1145
|
},
|
|
861
1146
|
"storeEvents": {
|
|
862
1147
|
"type": "object",
|
|
863
1148
|
"additionalProperties": {
|
|
864
1149
|
"$ref": "#/components/schemas/MarkupText"
|
|
865
|
-
}
|
|
1150
|
+
},
|
|
1151
|
+
"description": "The localized store events."
|
|
866
1152
|
},
|
|
867
1153
|
"email": {
|
|
868
1154
|
"allOf": [
|
|
@@ -876,13 +1162,18 @@
|
|
|
876
1162
|
{
|
|
877
1163
|
"$ref": "#/components/schemas/MediaFile"
|
|
878
1164
|
}
|
|
879
|
-
]
|
|
1165
|
+
],
|
|
1166
|
+
"description": "The image URL associated with the store."
|
|
880
1167
|
},
|
|
881
1168
|
"storeLocatorEnabled": {
|
|
882
|
-
"type": "boolean"
|
|
1169
|
+
"type": "boolean",
|
|
1170
|
+
"description": "Specifies whether the store appears in store locator searches (true) or not (false).",
|
|
1171
|
+
"example": true
|
|
883
1172
|
},
|
|
884
1173
|
"posEnabled": {
|
|
885
|
-
"type": "boolean"
|
|
1174
|
+
"type": "boolean",
|
|
1175
|
+
"description": "Specifies whether the store uses Store product for Point-of-Sale (true) or not (false).",
|
|
1176
|
+
"example": true
|
|
886
1177
|
}
|
|
887
1178
|
},
|
|
888
1179
|
"required": [
|
|
@@ -892,6 +1183,28 @@
|
|
|
892
1183
|
"Query": {
|
|
893
1184
|
"type": "object",
|
|
894
1185
|
"additionalProperties": false,
|
|
1186
|
+
"description": "A set of objects that define criteria used to select records. A query can contain one of the following:\n* `MatchAllQuery`\n - Matches all documents.\n* `TermQuery`\n - Matches one or more documents against one or more document fields.\n* `TextQuery`\n - Matches text against one or more fields.\n* `BoolQuery`\n - Allows construction of a logical expression of multiple queries.\n* `FilteredQuery`\n - Allows a filter to be applied to a query.\n* `NestedQuery`\n - Allows you to query on nested documents.\n - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._",
|
|
1187
|
+
"example": {
|
|
1188
|
+
"filteredQuery": {
|
|
1189
|
+
"query": {
|
|
1190
|
+
"textQuery": {
|
|
1191
|
+
"fields": [
|
|
1192
|
+
"couponId"
|
|
1193
|
+
],
|
|
1194
|
+
"searchPhrase": "disabled"
|
|
1195
|
+
}
|
|
1196
|
+
},
|
|
1197
|
+
"filter": {
|
|
1198
|
+
"termFilter": {
|
|
1199
|
+
"field": "enabled",
|
|
1200
|
+
"operator": "is",
|
|
1201
|
+
"values": [
|
|
1202
|
+
false
|
|
1203
|
+
]
|
|
1204
|
+
}
|
|
1205
|
+
}
|
|
1206
|
+
}
|
|
1207
|
+
},
|
|
895
1208
|
"maxProperties": 1,
|
|
896
1209
|
"minProperties": 1,
|
|
897
1210
|
"properties": {
|
|
@@ -918,21 +1231,60 @@
|
|
|
918
1231
|
"BoolQuery": {
|
|
919
1232
|
"type": "object",
|
|
920
1233
|
"additionalProperties": false,
|
|
1234
|
+
"description": "A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses:\n \n - `must`, which combines as an `AND` operator.\n - `should`, which combines as an `OR` operator.\n - `must_not`, which combines as a `NOT` operator.\n \nIf `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example:\n\n (must-1 AND must-1 AND ...)\n AND (should-1 OR should-2 OR ...)\n AND NOT (must_not-1 OR must_not-2 OR ...)\n",
|
|
1235
|
+
"example": {
|
|
1236
|
+
"value": {
|
|
1237
|
+
"must": [
|
|
1238
|
+
{
|
|
1239
|
+
"textQuery": {
|
|
1240
|
+
"fields": [
|
|
1241
|
+
"couponId"
|
|
1242
|
+
],
|
|
1243
|
+
"searchPhrase": "DEAL"
|
|
1244
|
+
}
|
|
1245
|
+
},
|
|
1246
|
+
{
|
|
1247
|
+
"textQuery": {
|
|
1248
|
+
"fields": [
|
|
1249
|
+
"description"
|
|
1250
|
+
],
|
|
1251
|
+
"searchPhrase": "Big bargain deal"
|
|
1252
|
+
}
|
|
1253
|
+
}
|
|
1254
|
+
],
|
|
1255
|
+
"mustNot": [
|
|
1256
|
+
{
|
|
1257
|
+
"termQuery": {
|
|
1258
|
+
"fields": [
|
|
1259
|
+
"enabled"
|
|
1260
|
+
],
|
|
1261
|
+
"operator": "is",
|
|
1262
|
+
"values": [
|
|
1263
|
+
false
|
|
1264
|
+
]
|
|
1265
|
+
}
|
|
1266
|
+
}
|
|
1267
|
+
]
|
|
1268
|
+
}
|
|
1269
|
+
},
|
|
921
1270
|
"properties": {
|
|
922
1271
|
"must": {
|
|
923
1272
|
"type": "array",
|
|
1273
|
+
"description": "List of queries to be evaluated as an `AND` operator.",
|
|
924
1274
|
"items": {
|
|
925
1275
|
"$ref": "#/components/schemas/Query"
|
|
926
1276
|
}
|
|
927
1277
|
},
|
|
928
1278
|
"mustNot": {
|
|
929
1279
|
"type": "array",
|
|
1280
|
+
"description": "List of queries to be evaluated as a `NOT` operator.",
|
|
930
1281
|
"items": {
|
|
931
1282
|
"$ref": "#/components/schemas/Query"
|
|
932
1283
|
}
|
|
933
1284
|
},
|
|
934
1285
|
"should": {
|
|
935
1286
|
"type": "array",
|
|
1287
|
+
"description": "List of queries to be evaluated as an `OR` operator.",
|
|
936
1288
|
"items": {
|
|
937
1289
|
"$ref": "#/components/schemas/Query"
|
|
938
1290
|
}
|
|
@@ -942,6 +1294,7 @@
|
|
|
942
1294
|
"Filter": {
|
|
943
1295
|
"type": "object",
|
|
944
1296
|
"additionalProperties": false,
|
|
1297
|
+
"description": "Contains a set of objects that define criteria used to select records. A filter can contain one of the following:\n * `TermFilter`\n - Matches records where a field (or fields) exactly matches some simple value (including `null`).\n * `RangeFilter`\n - Matches records where a field value lies within a specified range.\n * `Range2Filter`\n - Matches records in a specified range across fields.\n * `QueryFilter`\n - Matches records based on a query.\n * `BoolFilter`\n - Provides filtering of records using a set of filters combined using a logical operator.",
|
|
945
1298
|
"maxProperties": 1,
|
|
946
1299
|
"minProperties": 1,
|
|
947
1300
|
"properties": {
|
|
@@ -965,20 +1318,49 @@
|
|
|
965
1318
|
"BoolFilter": {
|
|
966
1319
|
"type": "object",
|
|
967
1320
|
"additionalProperties": false,
|
|
1321
|
+
"description": "Allows you to combine other filters into (possibly recursive) logical expression trees. A boolean filter is composed of a logical operator (`AND`, `OR`, `NOT`) and a list of filters that the operator relates to. Multiple filters can be negated with a single `NOT` operator, even when the filters are combined with the `AND` operator.",
|
|
1322
|
+
"example": {
|
|
1323
|
+
"value": {
|
|
1324
|
+
"operator": "and",
|
|
1325
|
+
"filters": [
|
|
1326
|
+
{
|
|
1327
|
+
"termFilter": {
|
|
1328
|
+
"field": "id",
|
|
1329
|
+
"operator": "is",
|
|
1330
|
+
"values": [
|
|
1331
|
+
"myId"
|
|
1332
|
+
]
|
|
1333
|
+
}
|
|
1334
|
+
},
|
|
1335
|
+
{
|
|
1336
|
+
"termFilter": {
|
|
1337
|
+
"field": "couponId",
|
|
1338
|
+
"operator": "is",
|
|
1339
|
+
"values": [
|
|
1340
|
+
"couponOne"
|
|
1341
|
+
]
|
|
1342
|
+
}
|
|
1343
|
+
}
|
|
1344
|
+
]
|
|
1345
|
+
}
|
|
1346
|
+
},
|
|
968
1347
|
"properties": {
|
|
969
1348
|
"filters": {
|
|
970
1349
|
"type": "array",
|
|
1350
|
+
"description": "A list of filters that are logically combined by an operator.",
|
|
971
1351
|
"items": {
|
|
972
1352
|
"$ref": "#/components/schemas/Filter"
|
|
973
1353
|
}
|
|
974
1354
|
},
|
|
975
1355
|
"operator": {
|
|
976
1356
|
"type": "string",
|
|
1357
|
+
"description": "The logical operator that is used to combine the filters.",
|
|
977
1358
|
"enum": [
|
|
978
1359
|
"and",
|
|
979
1360
|
"or",
|
|
980
1361
|
"not"
|
|
981
|
-
]
|
|
1362
|
+
],
|
|
1363
|
+
"example": "and"
|
|
982
1364
|
}
|
|
983
1365
|
},
|
|
984
1366
|
"required": [
|
|
@@ -987,6 +1369,7 @@
|
|
|
987
1369
|
},
|
|
988
1370
|
"QueryFilter": {
|
|
989
1371
|
"type": "object",
|
|
1372
|
+
"description": "Wraps any query and allows it to be used as a filter.",
|
|
990
1373
|
"properties": {
|
|
991
1374
|
"query": {
|
|
992
1375
|
"$ref": "#/components/schemas/Query"
|
|
@@ -998,45 +1381,71 @@
|
|
|
998
1381
|
},
|
|
999
1382
|
"Field": {
|
|
1000
1383
|
"type": "string",
|
|
1384
|
+
"description": "Name of the field. Might be a custom field name prefixed with c_.",
|
|
1385
|
+
"example": "couponId",
|
|
1001
1386
|
"maxLength": 260
|
|
1002
1387
|
},
|
|
1003
1388
|
"Range2Filter": {
|
|
1004
1389
|
"type": "object",
|
|
1005
1390
|
"additionalProperties": false,
|
|
1391
|
+
"description": "Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range.\n\nThe first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`.\n\nThe second range (R2) is defined by `fromValue` and `toValue`.\n\nThe filter mode specifies the method used to compare the two ranges:\n\n* `overlap`: R1 overlaps fully or partially with R2.\n* `containing`: R1 contains R2.\n* `contained`: R1 is contained in R2.\n\nThe range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive.\n\nA range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default.",
|
|
1392
|
+
"example": {
|
|
1393
|
+
"fromField": "validFrom",
|
|
1394
|
+
"toField": "validTo",
|
|
1395
|
+
"filterMode": "overlap",
|
|
1396
|
+
"fromValue": "2007-01-01T00:00:00.000Z",
|
|
1397
|
+
"toValue": "2017-01-01T00:00:00.000Z"
|
|
1398
|
+
},
|
|
1006
1399
|
"properties": {
|
|
1007
1400
|
"filterMode": {
|
|
1008
1401
|
"type": "string",
|
|
1009
1402
|
"default": "overlap",
|
|
1403
|
+
"description": "Compare mode: overlap, containing, or contained.",
|
|
1010
1404
|
"enum": [
|
|
1011
1405
|
"overlap",
|
|
1012
1406
|
"containing",
|
|
1013
1407
|
"contained"
|
|
1014
|
-
]
|
|
1408
|
+
],
|
|
1409
|
+
"example": "overlap"
|
|
1015
1410
|
},
|
|
1016
1411
|
"fromField": {
|
|
1017
1412
|
"allOf": [
|
|
1018
1413
|
{
|
|
1019
1414
|
"$ref": "#/components/schemas/Field"
|
|
1020
1415
|
}
|
|
1021
|
-
]
|
|
1416
|
+
],
|
|
1417
|
+
"description": "The field name of the field that starts the first range.",
|
|
1418
|
+
"example": "validFrom"
|
|
1022
1419
|
},
|
|
1023
1420
|
"fromInclusive": {
|
|
1024
1421
|
"type": "boolean",
|
|
1025
|
-
"default": true
|
|
1422
|
+
"default": true,
|
|
1423
|
+
"description": "A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`.",
|
|
1424
|
+
"example": true
|
|
1425
|
+
},
|
|
1426
|
+
"fromValue": {
|
|
1427
|
+
"description": "The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended.",
|
|
1428
|
+
"example": "2007-01-01T00:00:00.000Z"
|
|
1026
1429
|
},
|
|
1027
|
-
"fromValue": {},
|
|
1028
1430
|
"toField": {
|
|
1029
1431
|
"allOf": [
|
|
1030
1432
|
{
|
|
1031
1433
|
"$ref": "#/components/schemas/Field"
|
|
1032
1434
|
}
|
|
1033
|
-
]
|
|
1435
|
+
],
|
|
1436
|
+
"description": "The field name of the field that ends the first range.",
|
|
1437
|
+
"example": "validTo"
|
|
1034
1438
|
},
|
|
1035
1439
|
"toInclusive": {
|
|
1036
1440
|
"type": "boolean",
|
|
1037
|
-
"default": true
|
|
1441
|
+
"default": true,
|
|
1442
|
+
"description": "A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`.",
|
|
1443
|
+
"example": true
|
|
1038
1444
|
},
|
|
1039
|
-
"toValue": {
|
|
1445
|
+
"toValue": {
|
|
1446
|
+
"description": "The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended.",
|
|
1447
|
+
"example": "2017-01-01T00:00:00.000Z"
|
|
1448
|
+
}
|
|
1040
1449
|
},
|
|
1041
1450
|
"required": [
|
|
1042
1451
|
"fromField",
|
|
@@ -1045,49 +1454,64 @@
|
|
|
1045
1454
|
},
|
|
1046
1455
|
"RangeFilter": {
|
|
1047
1456
|
"type": "object",
|
|
1457
|
+
"description": "Allows you to restrict a search result to hits that have values for a given attribute that fall within a given value range. The range filter supports several value types and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive.\n\nA range filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default.",
|
|
1048
1458
|
"properties": {
|
|
1049
1459
|
"field": {
|
|
1050
1460
|
"allOf": [
|
|
1051
1461
|
{
|
|
1052
1462
|
"$ref": "#/components/schemas/Field"
|
|
1053
1463
|
}
|
|
1054
|
-
]
|
|
1464
|
+
],
|
|
1465
|
+
"description": "The search field.",
|
|
1466
|
+
"example": "validFrom"
|
|
1055
1467
|
},
|
|
1056
1468
|
"from": {
|
|
1469
|
+
"description": "The lower bound of the filter range. If not specified, the range is open-ended with respect to the lower bound. You can't leave both the lower and upper bounds open-ended.",
|
|
1057
1470
|
"oneOf": [
|
|
1058
1471
|
{
|
|
1059
1472
|
"type": "string",
|
|
1060
|
-
"format": "date-time"
|
|
1473
|
+
"format": "date-time",
|
|
1474
|
+
"example": "2007-01-01T00:00:00Z"
|
|
1061
1475
|
},
|
|
1062
1476
|
{
|
|
1063
|
-
"type": "integer"
|
|
1477
|
+
"type": "integer",
|
|
1478
|
+
"example": 1
|
|
1064
1479
|
},
|
|
1065
1480
|
{
|
|
1066
|
-
"type": "number"
|
|
1481
|
+
"type": "number",
|
|
1482
|
+
"example": 1
|
|
1067
1483
|
}
|
|
1068
1484
|
]
|
|
1069
1485
|
},
|
|
1070
1486
|
"fromInclusive": {
|
|
1071
1487
|
"type": "boolean",
|
|
1072
|
-
"default": true
|
|
1488
|
+
"default": true,
|
|
1489
|
+
"description": "A flag indicating if the lower bound of the range is inclusive. To make the lower bound exclusive, set to `false`.",
|
|
1490
|
+
"example": true
|
|
1073
1491
|
},
|
|
1074
1492
|
"to": {
|
|
1493
|
+
"description": "The upper bound of the filter range. If not specified, the range is open-ended with respect to the upper bound. You can't leave both the upper and lower bounds open-ended.",
|
|
1075
1494
|
"oneOf": [
|
|
1076
1495
|
{
|
|
1077
1496
|
"type": "string",
|
|
1078
|
-
"format": "date-time"
|
|
1497
|
+
"format": "date-time",
|
|
1498
|
+
"example": "2007-01-02T00:00:00Z"
|
|
1079
1499
|
},
|
|
1080
1500
|
{
|
|
1081
|
-
"type": "integer"
|
|
1501
|
+
"type": "integer",
|
|
1502
|
+
"example": 2
|
|
1082
1503
|
},
|
|
1083
1504
|
{
|
|
1084
|
-
"type": "number"
|
|
1505
|
+
"type": "number",
|
|
1506
|
+
"example": 2
|
|
1085
1507
|
}
|
|
1086
1508
|
]
|
|
1087
1509
|
},
|
|
1088
1510
|
"toInclusive": {
|
|
1089
1511
|
"type": "boolean",
|
|
1090
|
-
"default": true
|
|
1512
|
+
"default": true,
|
|
1513
|
+
"description": "A flag indicating if the upper bound of the range is inclusive. To make the upper bound exclusive, set to `false`.",
|
|
1514
|
+
"example": true
|
|
1091
1515
|
}
|
|
1092
1516
|
},
|
|
1093
1517
|
"required": [
|
|
@@ -1097,16 +1521,26 @@
|
|
|
1097
1521
|
"TermFilter": {
|
|
1098
1522
|
"type": "object",
|
|
1099
1523
|
"additionalProperties": false,
|
|
1524
|
+
"description": "Allows you to restrict a search result to hits that match exactly one of the values configured for the filter. A term filter is useful for general restrictions that can be shared between searches. Use term filters whenever the criteria you filter on is a shared property of multiple searches (for example, like filtering by an order status). Use term filters for fields that have a discrete and small set of values only.",
|
|
1525
|
+
"example": {
|
|
1526
|
+
"field": "id",
|
|
1527
|
+
"operator": "is",
|
|
1528
|
+
"values": [
|
|
1529
|
+
"myId"
|
|
1530
|
+
]
|
|
1531
|
+
},
|
|
1100
1532
|
"properties": {
|
|
1101
1533
|
"field": {
|
|
1102
1534
|
"allOf": [
|
|
1103
1535
|
{
|
|
1104
1536
|
"$ref": "#/components/schemas/Field"
|
|
1105
1537
|
}
|
|
1106
|
-
]
|
|
1538
|
+
],
|
|
1539
|
+
"description": "The filter field."
|
|
1107
1540
|
},
|
|
1108
1541
|
"operator": {
|
|
1109
1542
|
"type": "string",
|
|
1543
|
+
"description": "The operator used to compare the field's values with the given values.",
|
|
1110
1544
|
"enum": [
|
|
1111
1545
|
"is",
|
|
1112
1546
|
"one_of",
|
|
@@ -1116,12 +1550,15 @@
|
|
|
1116
1550
|
"greater",
|
|
1117
1551
|
"not_in",
|
|
1118
1552
|
"neq"
|
|
1119
|
-
]
|
|
1553
|
+
],
|
|
1554
|
+
"example": "is"
|
|
1120
1555
|
},
|
|
1121
1556
|
"values": {
|
|
1122
1557
|
"type": "array",
|
|
1558
|
+
"description": "The filter values.",
|
|
1123
1559
|
"items": {
|
|
1124
|
-
"type": "string"
|
|
1560
|
+
"type": "string",
|
|
1561
|
+
"example": "myId"
|
|
1125
1562
|
}
|
|
1126
1563
|
}
|
|
1127
1564
|
},
|
|
@@ -1133,6 +1570,26 @@
|
|
|
1133
1570
|
"FilteredQuery": {
|
|
1134
1571
|
"type": "object",
|
|
1135
1572
|
"additionalProperties": false,
|
|
1573
|
+
"description": "Allows to filter the result of a possibly complex query using a possibly complex filter.",
|
|
1574
|
+
"example": {
|
|
1575
|
+
"query": {
|
|
1576
|
+
"textQuery": {
|
|
1577
|
+
"fields": [
|
|
1578
|
+
"couponId"
|
|
1579
|
+
],
|
|
1580
|
+
"searchPhrase": "disabled"
|
|
1581
|
+
}
|
|
1582
|
+
},
|
|
1583
|
+
"filter": {
|
|
1584
|
+
"termFilter": {
|
|
1585
|
+
"field": "enabled",
|
|
1586
|
+
"operator": "is",
|
|
1587
|
+
"values": [
|
|
1588
|
+
false
|
|
1589
|
+
]
|
|
1590
|
+
}
|
|
1591
|
+
}
|
|
1592
|
+
},
|
|
1136
1593
|
"properties": {
|
|
1137
1594
|
"filter": {
|
|
1138
1595
|
"$ref": "#/components/schemas/Filter"
|
|
@@ -1147,14 +1604,62 @@
|
|
|
1147
1604
|
]
|
|
1148
1605
|
},
|
|
1149
1606
|
"MatchAllQuery": {
|
|
1150
|
-
"type": "object"
|
|
1607
|
+
"type": "object",
|
|
1608
|
+
"description": "Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints."
|
|
1151
1609
|
},
|
|
1152
1610
|
"NestedQuery": {
|
|
1153
1611
|
"type": "object",
|
|
1154
1612
|
"additionalProperties": false,
|
|
1613
|
+
"description": "Allows you to query nested documents that are part of a larger document. Say, for example, that you have a main product with variations in one big document, and you want to constrain a search to main products that have variations that match multiple constraints. \n\nA `NestedQuery` is only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation.\n",
|
|
1614
|
+
"example": {
|
|
1615
|
+
"path": "order.shippingAddresses",
|
|
1616
|
+
"query": {
|
|
1617
|
+
"boolQuery": {
|
|
1618
|
+
"must": [
|
|
1619
|
+
{
|
|
1620
|
+
"boolQuery": {
|
|
1621
|
+
"must": [
|
|
1622
|
+
{
|
|
1623
|
+
"termQuery": {
|
|
1624
|
+
"fields": [
|
|
1625
|
+
"order.shippingAddresses.firstName"
|
|
1626
|
+
],
|
|
1627
|
+
"operator": "is",
|
|
1628
|
+
"values": [
|
|
1629
|
+
"John"
|
|
1630
|
+
]
|
|
1631
|
+
}
|
|
1632
|
+
}
|
|
1633
|
+
]
|
|
1634
|
+
}
|
|
1635
|
+
},
|
|
1636
|
+
{
|
|
1637
|
+
"boolQuery": {
|
|
1638
|
+
"must": [
|
|
1639
|
+
{
|
|
1640
|
+
"termQuery": {
|
|
1641
|
+
"fields": [
|
|
1642
|
+
"order.shippingAddresses.lastName"
|
|
1643
|
+
],
|
|
1644
|
+
"operator": "is",
|
|
1645
|
+
"values": [
|
|
1646
|
+
"Doe"
|
|
1647
|
+
]
|
|
1648
|
+
}
|
|
1649
|
+
}
|
|
1650
|
+
]
|
|
1651
|
+
}
|
|
1652
|
+
}
|
|
1653
|
+
]
|
|
1654
|
+
}
|
|
1655
|
+
},
|
|
1656
|
+
"scoreMode": "avg"
|
|
1657
|
+
},
|
|
1155
1658
|
"properties": {
|
|
1156
1659
|
"path": {
|
|
1157
1660
|
"type": "string",
|
|
1661
|
+
"description": "The path to the nested document.",
|
|
1662
|
+
"example": "order.shippingAddresses",
|
|
1158
1663
|
"maxLength": 2048
|
|
1159
1664
|
},
|
|
1160
1665
|
"query": {
|
|
@@ -1162,12 +1667,14 @@
|
|
|
1162
1667
|
},
|
|
1163
1668
|
"scoreMode": {
|
|
1164
1669
|
"type": "string",
|
|
1670
|
+
"description": "Indicates how scores for matching child objects affect the root parent document’s relevance score.",
|
|
1165
1671
|
"enum": [
|
|
1166
1672
|
"avg",
|
|
1167
1673
|
"total",
|
|
1168
1674
|
"max",
|
|
1169
1675
|
"none"
|
|
1170
|
-
]
|
|
1676
|
+
],
|
|
1677
|
+
"example": "avg"
|
|
1171
1678
|
}
|
|
1172
1679
|
},
|
|
1173
1680
|
"required": [
|
|
@@ -1177,9 +1684,11 @@
|
|
|
1177
1684
|
},
|
|
1178
1685
|
"TermQuery": {
|
|
1179
1686
|
"type": "object",
|
|
1687
|
+
"description": "A term query matches one or more values against one or more document fields. A document is considered a hit if one of the values matches exactly with at least one of the given fields. The operator `is` can only take one value, while `one_of` can take multiple values. If multiple fields are specified, they are combined using a logical `OR` operator.\n\n**Limitations:**\n\n* The `greater` and `less` operators are not supported under certain conditions. Both operators are permitted unless the API documentation states otherwise.\n* A subset of Commerce APIs handle queries with multiple fields differently. If the query has multiple fields, the query is internally handled as a logical `OR` of `DisjointMaxQueries` (with the dismax matching a value against all fields). The dismax makes sure that a document carrying a single term in multiple fields does not get higher scores than a document matching multiple terms in multiple fields.",
|
|
1180
1688
|
"properties": {
|
|
1181
1689
|
"fields": {
|
|
1182
1690
|
"type": "array",
|
|
1691
|
+
"description": "The document fields that the values are matched against, combined with the operator.",
|
|
1183
1692
|
"items": {
|
|
1184
1693
|
"$ref": "#/components/schemas/Field"
|
|
1185
1694
|
},
|
|
@@ -1187,6 +1696,7 @@
|
|
|
1187
1696
|
},
|
|
1188
1697
|
"operator": {
|
|
1189
1698
|
"type": "string",
|
|
1699
|
+
"description": "Returns the operator to use for the term query.",
|
|
1190
1700
|
"enum": [
|
|
1191
1701
|
"is",
|
|
1192
1702
|
"one_of",
|
|
@@ -1196,23 +1706,30 @@
|
|
|
1196
1706
|
"greater",
|
|
1197
1707
|
"not_in",
|
|
1198
1708
|
"neq"
|
|
1199
|
-
]
|
|
1709
|
+
],
|
|
1710
|
+
"example": "is"
|
|
1200
1711
|
},
|
|
1201
1712
|
"values": {
|
|
1202
1713
|
"type": "array",
|
|
1714
|
+
"description": "The values that the fields are compared against, combined with the operator.",
|
|
1203
1715
|
"items": {
|
|
1716
|
+
"example": "myCouponId",
|
|
1204
1717
|
"oneOf": [
|
|
1205
1718
|
{
|
|
1206
|
-
"type": "string"
|
|
1719
|
+
"type": "string",
|
|
1720
|
+
"example": "myCouponId"
|
|
1207
1721
|
},
|
|
1208
1722
|
{
|
|
1209
|
-
"type": "number"
|
|
1723
|
+
"type": "number",
|
|
1724
|
+
"example": 1
|
|
1210
1725
|
},
|
|
1211
1726
|
{
|
|
1212
|
-
"type": "boolean"
|
|
1727
|
+
"type": "boolean",
|
|
1728
|
+
"example": true
|
|
1213
1729
|
},
|
|
1214
1730
|
{
|
|
1215
|
-
"type": "integer"
|
|
1731
|
+
"type": "integer",
|
|
1732
|
+
"example": 1
|
|
1216
1733
|
}
|
|
1217
1734
|
]
|
|
1218
1735
|
}
|
|
@@ -1226,16 +1743,26 @@
|
|
|
1226
1743
|
"TextQuery": {
|
|
1227
1744
|
"type": "object",
|
|
1228
1745
|
"additionalProperties": false,
|
|
1746
|
+
"description": "A text query is used to match some text (for example, a search phrase possibly consisting of multiple terms) against one or more fields. When multiple fields are provided, the phrase conceptually forms a logical `OR` over the fields. In this case, the terms of the phrase basically have to match within the text, that would result in concatenating all given fields.",
|
|
1747
|
+
"example": {
|
|
1748
|
+
"fields": [
|
|
1749
|
+
"couponId"
|
|
1750
|
+
],
|
|
1751
|
+
"searchPhrase": "limit"
|
|
1752
|
+
},
|
|
1229
1753
|
"properties": {
|
|
1230
1754
|
"fields": {
|
|
1231
1755
|
"type": "array",
|
|
1756
|
+
"description": "The document fields that the search phrase matches against.",
|
|
1232
1757
|
"items": {
|
|
1233
1758
|
"$ref": "#/components/schemas/Field"
|
|
1234
1759
|
},
|
|
1235
1760
|
"minItems": 1
|
|
1236
1761
|
},
|
|
1237
1762
|
"searchPhrase": {
|
|
1238
|
-
"type": "string"
|
|
1763
|
+
"type": "string",
|
|
1764
|
+
"description": "A search phrase, which can include multiple terms separated by spaces.",
|
|
1765
|
+
"example": "campaign summer"
|
|
1239
1766
|
}
|
|
1240
1767
|
},
|
|
1241
1768
|
"required": [
|
|
@@ -1246,18 +1773,27 @@
|
|
|
1246
1773
|
"Sort": {
|
|
1247
1774
|
"type": "object",
|
|
1248
1775
|
"additionalProperties": false,
|
|
1776
|
+
"description": "Document representing a sort request. Each API has a different default sort configuration that can be modified in the request.",
|
|
1777
|
+
"example": {
|
|
1778
|
+
"field": "couponId",
|
|
1779
|
+
"sortOrder": "desc"
|
|
1780
|
+
},
|
|
1249
1781
|
"properties": {
|
|
1250
1782
|
"field": {
|
|
1251
1783
|
"type": "string",
|
|
1784
|
+
"description": "The name of the field to sort on.",
|
|
1785
|
+
"example": "couponId",
|
|
1252
1786
|
"maxLength": 256
|
|
1253
1787
|
},
|
|
1254
1788
|
"sortOrder": {
|
|
1255
1789
|
"type": "string",
|
|
1256
1790
|
"default": "asc",
|
|
1791
|
+
"description": "The sort order to be applied when sorting. When omitted, the default sort order (asc) is used.",
|
|
1257
1792
|
"enum": [
|
|
1258
1793
|
"asc",
|
|
1259
1794
|
"desc"
|
|
1260
|
-
]
|
|
1795
|
+
],
|
|
1796
|
+
"example": "asc"
|
|
1261
1797
|
}
|
|
1262
1798
|
},
|
|
1263
1799
|
"required": [
|
|
@@ -1266,10 +1802,13 @@
|
|
|
1266
1802
|
},
|
|
1267
1803
|
"SearchRequest": {
|
|
1268
1804
|
"type": "object",
|
|
1805
|
+
"description": "Document representing a search request for retrieving items within the Data API. The query is a potentially complex set of expressions. The fields and expands that each query supports are defined within the search resource.",
|
|
1269
1806
|
"properties": {
|
|
1270
1807
|
"limit": {
|
|
1271
1808
|
"type": "integer",
|
|
1272
1809
|
"format": "int32",
|
|
1810
|
+
"description": "Maximum records to retrieve per request, not to exceed 200.",
|
|
1811
|
+
"example": 10,
|
|
1273
1812
|
"maximum": 200,
|
|
1274
1813
|
"minimum": 1
|
|
1275
1814
|
},
|
|
@@ -1278,6 +1817,7 @@
|
|
|
1278
1817
|
},
|
|
1279
1818
|
"sorts": {
|
|
1280
1819
|
"type": "array",
|
|
1820
|
+
"description": "The list of sort clauses configured for the search request. Sort clauses are optional. See the description of the search endpoint for details on the default sorting behavior that is used when explicit sorts are not passed.",
|
|
1281
1821
|
"items": {
|
|
1282
1822
|
"$ref": "#/components/schemas/Sort"
|
|
1283
1823
|
}
|
|
@@ -1296,7 +1836,27 @@
|
|
|
1296
1836
|
{
|
|
1297
1837
|
"$ref": "#/components/schemas/SearchRequest"
|
|
1298
1838
|
}
|
|
1299
|
-
]
|
|
1839
|
+
],
|
|
1840
|
+
"description": "Document representing a search request for retrieving stores within the Admin API. The query is a potentially complex set of expressions.",
|
|
1841
|
+
"example": {
|
|
1842
|
+
"query": {
|
|
1843
|
+
"textQuery": {
|
|
1844
|
+
"fields": [
|
|
1845
|
+
"name",
|
|
1846
|
+
"city"
|
|
1847
|
+
],
|
|
1848
|
+
"searchPhrase": "downtown"
|
|
1849
|
+
}
|
|
1850
|
+
},
|
|
1851
|
+
"limit": 10,
|
|
1852
|
+
"offset": 0,
|
|
1853
|
+
"sorts": [
|
|
1854
|
+
{
|
|
1855
|
+
"field": "name",
|
|
1856
|
+
"sortOrder": "asc"
|
|
1857
|
+
}
|
|
1858
|
+
]
|
|
1859
|
+
}
|
|
1300
1860
|
},
|
|
1301
1861
|
"PaginatedSearchResult": {
|
|
1302
1862
|
"additionalProperties": false,
|
|
@@ -1305,18 +1865,67 @@
|
|
|
1305
1865
|
"$ref": "#/components/schemas/PaginatedResultBase"
|
|
1306
1866
|
}
|
|
1307
1867
|
],
|
|
1868
|
+
"description": "Document representing a generic search result. Each search resource should extend this to define what is returned in the `hits`.",
|
|
1869
|
+
"example": {
|
|
1870
|
+
"limit": 1,
|
|
1871
|
+
"hits": [
|
|
1872
|
+
{
|
|
1873
|
+
"couponId": "coupon1",
|
|
1874
|
+
"creationDate": "2019-10-20T12:00:00Z",
|
|
1875
|
+
"description": "This coupon is used to give 10% off stuff.",
|
|
1876
|
+
"enabled": false,
|
|
1877
|
+
"exportedCodeCount": 0,
|
|
1878
|
+
"lastModified": "2019-10-30T04:23:59Z",
|
|
1879
|
+
"redemptionCount": 3,
|
|
1880
|
+
"redemptionLimits": {
|
|
1881
|
+
"limitPerCode": 1,
|
|
1882
|
+
"limitPerCustomer": 1,
|
|
1883
|
+
"limitPerTimeFrame": {
|
|
1884
|
+
"limit": 2,
|
|
1885
|
+
"redemptionTimeFrame": 24
|
|
1886
|
+
}
|
|
1887
|
+
},
|
|
1888
|
+
"singleCode": "MyCode",
|
|
1889
|
+
"systemCodesConfig": {
|
|
1890
|
+
"codePrefix": "SG",
|
|
1891
|
+
"numberOfCodes": 500000
|
|
1892
|
+
},
|
|
1893
|
+
"totalCodesCount": 50,
|
|
1894
|
+
"type": "single_code"
|
|
1895
|
+
}
|
|
1896
|
+
],
|
|
1897
|
+
"query": {
|
|
1898
|
+
"textQuery": {
|
|
1899
|
+
"fields": [
|
|
1900
|
+
"id",
|
|
1901
|
+
"description"
|
|
1902
|
+
],
|
|
1903
|
+
"searchPhrase": "stuff"
|
|
1904
|
+
}
|
|
1905
|
+
},
|
|
1906
|
+
"sorts": [
|
|
1907
|
+
{
|
|
1908
|
+
"field": "couponId",
|
|
1909
|
+
"sortOrder": "desc"
|
|
1910
|
+
}
|
|
1911
|
+
],
|
|
1912
|
+
"offset": 2,
|
|
1913
|
+
"total": 8
|
|
1914
|
+
},
|
|
1308
1915
|
"properties": {
|
|
1309
1916
|
"query": {
|
|
1310
1917
|
"$ref": "#/components/schemas/Query"
|
|
1311
1918
|
},
|
|
1312
1919
|
"sorts": {
|
|
1313
1920
|
"type": "array",
|
|
1921
|
+
"description": "The sorting that was applied to the result.",
|
|
1314
1922
|
"items": {
|
|
1315
1923
|
"$ref": "#/components/schemas/Sort"
|
|
1316
1924
|
}
|
|
1317
1925
|
},
|
|
1318
1926
|
"hits": {
|
|
1319
1927
|
"type": "array",
|
|
1928
|
+
"description": "The sorted array of search hits. Can be empty.",
|
|
1320
1929
|
"items": {
|
|
1321
1930
|
"type": "object"
|
|
1322
1931
|
}
|
|
@@ -1332,9 +1941,11 @@
|
|
|
1332
1941
|
"$ref": "#/components/schemas/PaginatedSearchResult"
|
|
1333
1942
|
}
|
|
1334
1943
|
],
|
|
1944
|
+
"description": "Document representing a store search result. This includes the query, sorts, hits (array of Store objects), and pagination information.",
|
|
1335
1945
|
"properties": {
|
|
1336
1946
|
"hits": {
|
|
1337
1947
|
"type": "array",
|
|
1948
|
+
"description": "The sorted array of search hits (Store objects). Can be empty.",
|
|
1338
1949
|
"items": {
|
|
1339
1950
|
"$ref": "#/components/schemas/Store"
|
|
1340
1951
|
}
|
|
@@ -1353,6 +1964,11 @@
|
|
|
1353
1964
|
"application/problem+json": {
|
|
1354
1965
|
"schema": {
|
|
1355
1966
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
1967
|
+
},
|
|
1968
|
+
"examples": {
|
|
1969
|
+
"UnauthorizedExample": {
|
|
1970
|
+
"$ref": "#/components/examples/UnauthorizedExample"
|
|
1971
|
+
}
|
|
1356
1972
|
}
|
|
1357
1973
|
}
|
|
1358
1974
|
}
|
|
@@ -1363,6 +1979,11 @@
|
|
|
1363
1979
|
"application/problem+json": {
|
|
1364
1980
|
"schema": {
|
|
1365
1981
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
1982
|
+
},
|
|
1983
|
+
"examples": {
|
|
1984
|
+
"ForbiddenExample": {
|
|
1985
|
+
"$ref": "#/components/examples/ForbiddenExample"
|
|
1986
|
+
}
|
|
1366
1987
|
}
|
|
1367
1988
|
}
|
|
1368
1989
|
}
|
|
@@ -1372,21 +1993,29 @@
|
|
|
1372
1993
|
"organizationId": {
|
|
1373
1994
|
"name": "organizationId",
|
|
1374
1995
|
"in": "path",
|
|
1996
|
+
"description": "An identifier for the Salesforce Commerce Cloud organization the request is being made by. It consists of a prefix 'f_ecom_' followed by a 4-character [realm identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#realm-id) and a 3-character [instance type identifier](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html#instance-id).",
|
|
1375
1997
|
"required": true,
|
|
1376
1998
|
"style": "simple",
|
|
1377
1999
|
"explode": false,
|
|
1378
2000
|
"schema": {
|
|
1379
2001
|
"$ref": "#/components/schemas/OrganizationId"
|
|
1380
|
-
}
|
|
2002
|
+
},
|
|
2003
|
+
"example": "f_ecom_zzxy_prd"
|
|
1381
2004
|
},
|
|
1382
2005
|
"siteId": {
|
|
1383
2006
|
"name": "siteId",
|
|
1384
2007
|
"in": "query",
|
|
2008
|
+
"description": "The identifier of the site that a request is being made in the context of. Attributes might have site specific values, and some objects may only be assigned to specific sites.",
|
|
1385
2009
|
"required": true,
|
|
1386
2010
|
"style": "form",
|
|
1387
2011
|
"explode": true,
|
|
1388
2012
|
"schema": {
|
|
1389
2013
|
"$ref": "#/components/schemas/SiteId"
|
|
2014
|
+
},
|
|
2015
|
+
"examples": {
|
|
2016
|
+
"SiteId": {
|
|
2017
|
+
"value": "RefArch"
|
|
2018
|
+
}
|
|
1390
2019
|
}
|
|
1391
2020
|
},
|
|
1392
2021
|
"select": {
|
|
@@ -1397,12 +2026,428 @@
|
|
|
1397
2026
|
"explode": true,
|
|
1398
2027
|
"schema": {
|
|
1399
2028
|
"$ref": "#/components/schemas/Select"
|
|
2029
|
+
},
|
|
2030
|
+
"examples": {
|
|
2031
|
+
"select": {
|
|
2032
|
+
"value": "(**)"
|
|
2033
|
+
}
|
|
2034
|
+
}
|
|
2035
|
+
}
|
|
2036
|
+
},
|
|
2037
|
+
"examples": {
|
|
2038
|
+
"StoreResultSuccess": {
|
|
2039
|
+
"summary": "Successful store list result",
|
|
2040
|
+
"description": "Example response for a successful get stores request with pagination",
|
|
2041
|
+
"value": {
|
|
2042
|
+
"limit": 2,
|
|
2043
|
+
"offset": 0,
|
|
2044
|
+
"total": 5,
|
|
2045
|
+
"data": [
|
|
2046
|
+
{
|
|
2047
|
+
"id": "store-001",
|
|
2048
|
+
"name": "Downtown Store",
|
|
2049
|
+
"address1": "123 Main St",
|
|
2050
|
+
"address2": "Suite 100",
|
|
2051
|
+
"city": "San Francisco",
|
|
2052
|
+
"stateCode": "CA",
|
|
2053
|
+
"postalCode": "94102",
|
|
2054
|
+
"countryCode": "US",
|
|
2055
|
+
"phone": "+1-555-123-4567",
|
|
2056
|
+
"email": "downtown@example.com",
|
|
2057
|
+
"latitude": 37.7749,
|
|
2058
|
+
"longitude": -122.4194,
|
|
2059
|
+
"inventoryId": "inventory-001",
|
|
2060
|
+
"storeHours": {
|
|
2061
|
+
"default": {
|
|
2062
|
+
"markup": "08:00 am - 07:30 pm",
|
|
2063
|
+
"source": "08:00 am - 07:30 pm"
|
|
2064
|
+
}
|
|
2065
|
+
},
|
|
2066
|
+
"storeEvents": {
|
|
2067
|
+
"default": {
|
|
2068
|
+
"markup": "Sale 40% off",
|
|
2069
|
+
"source": "Sale 40% off"
|
|
2070
|
+
}
|
|
2071
|
+
},
|
|
2072
|
+
"storeLocatorEnabled": true,
|
|
2073
|
+
"posEnabled": true,
|
|
2074
|
+
"creationDate": "2023-01-15T10:30:00.000Z",
|
|
2075
|
+
"lastModified": "2024-06-20T14:45:00.000Z",
|
|
2076
|
+
"c_customAttribute": "Custom Value"
|
|
2077
|
+
},
|
|
2078
|
+
{
|
|
2079
|
+
"id": "store-002",
|
|
2080
|
+
"name": "Downtown Plaza",
|
|
2081
|
+
"address1": "456 Market St",
|
|
2082
|
+
"city": "San Francisco",
|
|
2083
|
+
"stateCode": "CA",
|
|
2084
|
+
"postalCode": "94103",
|
|
2085
|
+
"countryCode": "US",
|
|
2086
|
+
"phone": "+1-555-234-5678",
|
|
2087
|
+
"email": "plaza@example.com",
|
|
2088
|
+
"latitude": 37.7833,
|
|
2089
|
+
"longitude": -122.4167,
|
|
2090
|
+
"inventoryId": "inventory-002",
|
|
2091
|
+
"storeHours": {
|
|
2092
|
+
"default": {
|
|
2093
|
+
"markup": "08:00 am - 07:30 pm",
|
|
2094
|
+
"source": "08:00 am - 07:30 pm"
|
|
2095
|
+
}
|
|
2096
|
+
},
|
|
2097
|
+
"storeLocatorEnabled": true,
|
|
2098
|
+
"posEnabled": false,
|
|
2099
|
+
"creationDate": "2023-03-20T08:15:00.000Z",
|
|
2100
|
+
"lastModified": "2024-07-10T16:20:00.000Z"
|
|
2101
|
+
}
|
|
2102
|
+
]
|
|
2103
|
+
}
|
|
2104
|
+
},
|
|
2105
|
+
"UnauthorizedExample": {
|
|
2106
|
+
"value": {
|
|
2107
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized",
|
|
2108
|
+
"title": "Unauthorized",
|
|
2109
|
+
"detail": "Your access token is invalid or expired and can’t be used to identify a user."
|
|
2110
|
+
}
|
|
2111
|
+
},
|
|
2112
|
+
"ForbiddenExample": {
|
|
2113
|
+
"value": {
|
|
2114
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden",
|
|
2115
|
+
"title": "Forbidden",
|
|
2116
|
+
"detail": "Your access token is valid, but you don’t have the required permissions to access the resource."
|
|
2117
|
+
}
|
|
2118
|
+
},
|
|
2119
|
+
"StoreSuccess": {
|
|
2120
|
+
"summary": "Successful single store retrieval",
|
|
2121
|
+
"description": "Example response for a successful get store by ID request",
|
|
2122
|
+
"value": {
|
|
2123
|
+
"id": "store-001",
|
|
2124
|
+
"name": "Downtown Store",
|
|
2125
|
+
"address1": "123 Main St",
|
|
2126
|
+
"address2": "Suite 100",
|
|
2127
|
+
"city": "San Francisco",
|
|
2128
|
+
"stateCode": "CA",
|
|
2129
|
+
"postalCode": "94102",
|
|
2130
|
+
"countryCode": "US",
|
|
2131
|
+
"phone": "+1-555-123-4567",
|
|
2132
|
+
"fax": "+1-555-123-4568",
|
|
2133
|
+
"email": "downtown@example.com",
|
|
2134
|
+
"latitude": 37.7749,
|
|
2135
|
+
"longitude": -122.4194,
|
|
2136
|
+
"inventoryId": "inventory-001",
|
|
2137
|
+
"storeHours": {
|
|
2138
|
+
"default": {
|
|
2139
|
+
"markup": "08:00 am - 07:30 pm",
|
|
2140
|
+
"source": "08:00 am - 07:30 pm"
|
|
2141
|
+
}
|
|
2142
|
+
},
|
|
2143
|
+
"storeEvents": {
|
|
2144
|
+
"default": {
|
|
2145
|
+
"markup": "Sale 40% off",
|
|
2146
|
+
"source": "Sale 40% off"
|
|
2147
|
+
}
|
|
2148
|
+
},
|
|
2149
|
+
"image": {
|
|
2150
|
+
"path": "https://example.com/images/store-001.jpg"
|
|
2151
|
+
},
|
|
2152
|
+
"storeLocatorEnabled": true,
|
|
2153
|
+
"posEnabled": true,
|
|
2154
|
+
"creationDate": "2023-01-15T10:30:00.000Z",
|
|
2155
|
+
"lastModified": "2024-06-20T14:45:00.000Z",
|
|
2156
|
+
"c_customAttribute": "Custom Value",
|
|
2157
|
+
"c_region": "West Coast"
|
|
2158
|
+
}
|
|
2159
|
+
},
|
|
2160
|
+
"StoreNotFound": {
|
|
2161
|
+
"summary": "Store Not Found",
|
|
2162
|
+
"description": "Example error response when the requested store ID does not exist",
|
|
2163
|
+
"value": {
|
|
2164
|
+
"title": "Store Not Found",
|
|
2165
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/store-not-found",
|
|
2166
|
+
"detail": "No store with ID 'store-999' could be found."
|
|
2167
|
+
}
|
|
2168
|
+
},
|
|
2169
|
+
"CreateStore": {
|
|
2170
|
+
"summary": "Create a new store",
|
|
2171
|
+
"description": "Example request body to create a new store via PUT",
|
|
2172
|
+
"value": {
|
|
2173
|
+
"id": "new-store-001",
|
|
2174
|
+
"name": "New Downtown Store",
|
|
2175
|
+
"address1": "789 Market St",
|
|
2176
|
+
"city": "San Francisco",
|
|
2177
|
+
"stateCode": "CA",
|
|
2178
|
+
"postalCode": "94103",
|
|
2179
|
+
"countryCode": "US",
|
|
2180
|
+
"phone": "+1-555-789-0123",
|
|
2181
|
+
"email": "newstore@example.com",
|
|
2182
|
+
"latitude": 37.785,
|
|
2183
|
+
"longitude": -122.41,
|
|
2184
|
+
"storeLocatorEnabled": true,
|
|
2185
|
+
"posEnabled": false
|
|
2186
|
+
}
|
|
2187
|
+
},
|
|
2188
|
+
"ReplaceStoreSuccess": {
|
|
2189
|
+
"summary": "Successful store replacement",
|
|
2190
|
+
"description": "Example response for a successful PUT store replacement (200)",
|
|
2191
|
+
"value": {
|
|
2192
|
+
"id": "store-001",
|
|
2193
|
+
"name": "Replaced Downtown Store",
|
|
2194
|
+
"address1": "789 Market St",
|
|
2195
|
+
"city": "San Francisco",
|
|
2196
|
+
"stateCode": "CA",
|
|
2197
|
+
"postalCode": "94103",
|
|
2198
|
+
"countryCode": "US",
|
|
2199
|
+
"phone": "+1-555-789-0123",
|
|
2200
|
+
"email": "replaced@example.com",
|
|
2201
|
+
"latitude": 37.785,
|
|
2202
|
+
"longitude": -122.41,
|
|
2203
|
+
"storeLocatorEnabled": true,
|
|
2204
|
+
"posEnabled": true,
|
|
2205
|
+
"creationDate": "2023-01-15T10:30:00.000Z",
|
|
2206
|
+
"lastModified": "2026-04-01T12:00:00.000Z"
|
|
2207
|
+
}
|
|
2208
|
+
},
|
|
2209
|
+
"CreateStoreSuccess": {
|
|
2210
|
+
"summary": "Successful store creation",
|
|
2211
|
+
"description": "Example response for a successful PUT store creation (201)",
|
|
2212
|
+
"value": {
|
|
2213
|
+
"id": "new-store-001",
|
|
2214
|
+
"name": "New Downtown Store",
|
|
2215
|
+
"address1": "789 Market St",
|
|
2216
|
+
"city": "San Francisco",
|
|
2217
|
+
"stateCode": "CA",
|
|
2218
|
+
"postalCode": "94103",
|
|
2219
|
+
"countryCode": "US",
|
|
2220
|
+
"phone": "+1-555-789-0123",
|
|
2221
|
+
"email": "newstore@example.com",
|
|
2222
|
+
"latitude": 37.785,
|
|
2223
|
+
"longitude": -122.41,
|
|
2224
|
+
"storeLocatorEnabled": true,
|
|
2225
|
+
"posEnabled": false,
|
|
2226
|
+
"creationDate": "2026-04-01T10:00:00.000Z",
|
|
2227
|
+
"lastModified": "2026-04-01T10:00:00.000Z"
|
|
2228
|
+
}
|
|
2229
|
+
},
|
|
2230
|
+
"IdConflict": {
|
|
2231
|
+
"summary": "ID Conflict",
|
|
2232
|
+
"description": "Example error response when the store ID in the path does not match the ID in the request body",
|
|
2233
|
+
"value": {
|
|
2234
|
+
"title": "ID Conflict",
|
|
2235
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/id-conflict",
|
|
2236
|
+
"detail": "The ID in the URL 'store-001' does not match the ID in the body 'store-002'."
|
|
2237
|
+
}
|
|
2238
|
+
},
|
|
2239
|
+
"UpdateStore": {
|
|
2240
|
+
"summary": "Update an existing store",
|
|
2241
|
+
"description": "Example request body to update an existing store via PATCH",
|
|
2242
|
+
"value": {
|
|
2243
|
+
"id": "store-001",
|
|
2244
|
+
"name": "Updated Downtown Store",
|
|
2245
|
+
"phone": "+1-555-123-9999",
|
|
2246
|
+
"email": "updated@example.com",
|
|
2247
|
+
"address2": "Suite 200"
|
|
2248
|
+
}
|
|
2249
|
+
},
|
|
2250
|
+
"UpdateStoreSuccess": {
|
|
2251
|
+
"summary": "Successful store update",
|
|
2252
|
+
"description": "Example response for a successful PATCH store update",
|
|
2253
|
+
"value": {
|
|
2254
|
+
"id": "store-001",
|
|
2255
|
+
"name": "Updated Downtown Store",
|
|
2256
|
+
"address1": "123 Main St",
|
|
2257
|
+
"address2": "Suite 200",
|
|
2258
|
+
"city": "San Francisco",
|
|
2259
|
+
"stateCode": "CA",
|
|
2260
|
+
"postalCode": "94102",
|
|
2261
|
+
"countryCode": "US",
|
|
2262
|
+
"phone": "+1-555-123-9999",
|
|
2263
|
+
"fax": "+1-555-123-4568",
|
|
2264
|
+
"email": "updated@example.com",
|
|
2265
|
+
"latitude": 37.7749,
|
|
2266
|
+
"longitude": -122.4194,
|
|
2267
|
+
"inventoryId": "inventory-001",
|
|
2268
|
+
"storeLocatorEnabled": true,
|
|
2269
|
+
"posEnabled": true,
|
|
2270
|
+
"creationDate": "2023-01-15T10:30:00.000Z",
|
|
2271
|
+
"lastModified": "2026-04-01T11:00:00.000Z"
|
|
2272
|
+
}
|
|
2273
|
+
},
|
|
2274
|
+
"StoreSearchByName": {
|
|
2275
|
+
"summary": "Search stores by name",
|
|
2276
|
+
"description": "Example request to search for stores by name using a text query",
|
|
2277
|
+
"value": {
|
|
2278
|
+
"query": {
|
|
2279
|
+
"textQuery": {
|
|
2280
|
+
"fields": [
|
|
2281
|
+
"name"
|
|
2282
|
+
],
|
|
2283
|
+
"searchPhrase": "downtown"
|
|
2284
|
+
}
|
|
2285
|
+
},
|
|
2286
|
+
"limit": 10,
|
|
2287
|
+
"offset": 0,
|
|
2288
|
+
"sorts": [
|
|
2289
|
+
{
|
|
2290
|
+
"field": "name",
|
|
2291
|
+
"sortOrder": "asc"
|
|
2292
|
+
}
|
|
2293
|
+
]
|
|
2294
|
+
}
|
|
2295
|
+
},
|
|
2296
|
+
"StoreSearchByCity": {
|
|
2297
|
+
"summary": "Search stores by city and state",
|
|
2298
|
+
"description": "Example request to search for stores in a specific city and state using term queries",
|
|
2299
|
+
"value": {
|
|
2300
|
+
"query": {
|
|
2301
|
+
"boolQuery": {
|
|
2302
|
+
"must": [
|
|
2303
|
+
{
|
|
2304
|
+
"termQuery": {
|
|
2305
|
+
"fields": [
|
|
2306
|
+
"city"
|
|
2307
|
+
],
|
|
2308
|
+
"operator": "is",
|
|
2309
|
+
"values": [
|
|
2310
|
+
"San Francisco"
|
|
2311
|
+
]
|
|
2312
|
+
}
|
|
2313
|
+
},
|
|
2314
|
+
{
|
|
2315
|
+
"termQuery": {
|
|
2316
|
+
"fields": [
|
|
2317
|
+
"stateCode"
|
|
2318
|
+
],
|
|
2319
|
+
"operator": "is",
|
|
2320
|
+
"values": [
|
|
2321
|
+
"CA"
|
|
2322
|
+
]
|
|
2323
|
+
}
|
|
2324
|
+
}
|
|
2325
|
+
]
|
|
2326
|
+
}
|
|
2327
|
+
},
|
|
2328
|
+
"limit": 25,
|
|
2329
|
+
"offset": 0,
|
|
2330
|
+
"sorts": [
|
|
2331
|
+
{
|
|
2332
|
+
"field": "name",
|
|
2333
|
+
"sortOrder": "asc"
|
|
2334
|
+
}
|
|
2335
|
+
]
|
|
2336
|
+
}
|
|
2337
|
+
},
|
|
2338
|
+
"StoreSearchResultSuccess": {
|
|
2339
|
+
"summary": "Successful store search result",
|
|
2340
|
+
"description": "Example response for a successful store search with multiple results",
|
|
2341
|
+
"value": {
|
|
2342
|
+
"limit": 2,
|
|
2343
|
+
"offset": 0,
|
|
2344
|
+
"total": 10,
|
|
2345
|
+
"query": {
|
|
2346
|
+
"textQuery": {
|
|
2347
|
+
"fields": [
|
|
2348
|
+
"name"
|
|
2349
|
+
],
|
|
2350
|
+
"searchPhrase": "downtown"
|
|
2351
|
+
}
|
|
2352
|
+
},
|
|
2353
|
+
"sorts": [
|
|
2354
|
+
{
|
|
2355
|
+
"field": "name",
|
|
2356
|
+
"sortOrder": "asc"
|
|
2357
|
+
}
|
|
2358
|
+
],
|
|
2359
|
+
"hits": [
|
|
2360
|
+
{
|
|
2361
|
+
"id": "store-001",
|
|
2362
|
+
"name": "Downtown Store",
|
|
2363
|
+
"address1": "123 Main St",
|
|
2364
|
+
"address2": "Suite 100",
|
|
2365
|
+
"city": "San Francisco",
|
|
2366
|
+
"stateCode": "CA",
|
|
2367
|
+
"postalCode": "94102",
|
|
2368
|
+
"countryCode": "US",
|
|
2369
|
+
"phone": "+1-555-123-4567",
|
|
2370
|
+
"email": "downtown@example.com",
|
|
2371
|
+
"latitude": 37.7749,
|
|
2372
|
+
"longitude": -122.4194,
|
|
2373
|
+
"inventoryId": "inventory-001",
|
|
2374
|
+
"storeHours": {
|
|
2375
|
+
"default": {
|
|
2376
|
+
"markup": "08:00 am - 07:30 pm",
|
|
2377
|
+
"source": "08:00 am - 07:30 pm"
|
|
2378
|
+
}
|
|
2379
|
+
},
|
|
2380
|
+
"storeEvents": {
|
|
2381
|
+
"default": {
|
|
2382
|
+
"markup": "Sale 40% off",
|
|
2383
|
+
"source": "Sale 40% off"
|
|
2384
|
+
}
|
|
2385
|
+
},
|
|
2386
|
+
"storeLocatorEnabled": true,
|
|
2387
|
+
"posEnabled": true,
|
|
2388
|
+
"creationDate": "2023-01-15T10:30:00.000Z",
|
|
2389
|
+
"lastModified": "2024-06-20T14:45:00.000Z",
|
|
2390
|
+
"c_customAttribute": "Custom Value"
|
|
2391
|
+
},
|
|
2392
|
+
{
|
|
2393
|
+
"id": "store-002",
|
|
2394
|
+
"name": "Downtown Plaza",
|
|
2395
|
+
"address1": "456 Market St",
|
|
2396
|
+
"city": "San Francisco",
|
|
2397
|
+
"stateCode": "CA",
|
|
2398
|
+
"postalCode": "94103",
|
|
2399
|
+
"countryCode": "US",
|
|
2400
|
+
"phone": "+1-555-234-5678",
|
|
2401
|
+
"email": "plaza@example.com",
|
|
2402
|
+
"latitude": 37.7833,
|
|
2403
|
+
"longitude": -122.4167,
|
|
2404
|
+
"inventoryId": "inventory-002",
|
|
2405
|
+
"storeHours": {
|
|
2406
|
+
"default": {
|
|
2407
|
+
"markup": "Mon-Sun: 10am-8pm",
|
|
2408
|
+
"source": "Mon-Sun: 10am-8pm"
|
|
2409
|
+
}
|
|
2410
|
+
},
|
|
2411
|
+
"storeLocatorEnabled": true,
|
|
2412
|
+
"posEnabled": false,
|
|
2413
|
+
"creationDate": "2023-03-20T08:15:00.000Z",
|
|
2414
|
+
"lastModified": "2024-07-10T16:20:00.000Z"
|
|
2415
|
+
}
|
|
2416
|
+
]
|
|
2417
|
+
}
|
|
2418
|
+
},
|
|
2419
|
+
"MalformedSearchParameter": {
|
|
2420
|
+
"summary": "Malformed search query",
|
|
2421
|
+
"description": "Example error response when the search query is malformed",
|
|
2422
|
+
"value": {
|
|
2423
|
+
"title": "Bad Request",
|
|
2424
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request",
|
|
2425
|
+
"detail": "The search query is malformed. Please check the query syntax."
|
|
2426
|
+
}
|
|
2427
|
+
},
|
|
2428
|
+
"InvalidQueryField": {
|
|
2429
|
+
"summary": "Unqueryable Field",
|
|
2430
|
+
"description": "Example error response when an invalid field is used in the query",
|
|
2431
|
+
"value": {
|
|
2432
|
+
"title": "Unqueryable Field",
|
|
2433
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unqueryable-field",
|
|
2434
|
+
"detail": "Invalid field 'invalidField' in query. Please use a valid searchable field."
|
|
2435
|
+
}
|
|
2436
|
+
},
|
|
2437
|
+
"FieldNotSortable": {
|
|
2438
|
+
"summary": "Field Not Sortable",
|
|
2439
|
+
"description": "Example error response when an invalid field is used in the query",
|
|
2440
|
+
"value": {
|
|
2441
|
+
"title": "Field Not Sortable",
|
|
2442
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/field-not-sortable",
|
|
2443
|
+
"detail": "The field 'invalidField' can't be used to sort the results."
|
|
1400
2444
|
}
|
|
1401
2445
|
}
|
|
1402
2446
|
},
|
|
1403
2447
|
"securitySchemes": {
|
|
1404
2448
|
"AmOAuth2": {
|
|
1405
2449
|
"type": "oauth2",
|
|
2450
|
+
"description": "OAuth 2.0 Authorization via Account Manager",
|
|
1406
2451
|
"flows": {
|
|
1407
2452
|
"clientCredentials": {
|
|
1408
2453
|
"tokenUrl": "https://account.demandware.com/dw/oauth2/access_token",
|