@salesforce/b2c-tooling-sdk 2.4.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/schemas/dw.schema.json +14 -0
- package/data/tooling/index.json +5 -5
- package/dist/esm/cli/base-command.js +4 -3
- 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/config.js +3 -1
- 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/instance-command.js +2 -1
- package/dist/esm/cli/instance-command.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.js +4 -0
- package/dist/esm/config/dw-json-schema.js.map +1 -1
- 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 +8 -3
- package/dist/esm/config/index.js +5 -2
- 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.js +6 -0
- package/dist/esm/config/mapping.js.map +1 -1
- package/dist/esm/config/resolver.d.ts +22 -0
- package/dist/esm/config/resolver.js +54 -29
- 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 +34 -20
- package/dist/esm/config/sources/dw-json-source.js.map +1 -1
- package/dist/esm/config/sources/env-source.d.ts +30 -3
- package/dist/esm/config/sources/env-source.js +126 -1
- package/dist/esm/config/sources/env-source.js.map +1 -1
- package/dist/esm/config/types.d.ts +46 -0
- 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/index.d.ts +5 -2
- package/dist/esm/scapi/index.js +3 -2
- package/dist/esm/scapi/index.js.map +1 -1
- package/dist/esm/scapi/live.d.ts +12 -1
- package/dist/esm/scapi/live.js +30 -2
- package/dist/esm/scapi/live.js.map +1 -1
- package/dist/esm/scapi/local.d.ts +17 -0
- package/dist/esm/scapi/local.js +68 -16
- package/dist/esm/scapi/local.js.map +1 -1
- package/dist/esm/scapi/request.d.ts +2 -2
- package/dist/esm/scapi/request.js +2 -1
- 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 +30 -6
- package/dist/esm/scapi/worker-source.js.map +1 -1
- package/dist/esm/test-utils/config-isolation.js +9 -2
- package/dist/esm/test-utils/config-isolation.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 +2 -2
- package/specs/scapi-schemas-v1.yaml +4 -1
package/node_modules/@salesforce/b2c-api-schemas/scapi/experience/shopper-experience/v1.json
CHANGED
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
"openapi": "3.0.3",
|
|
3
3
|
"info": {
|
|
4
4
|
"title": "Shopper Experience",
|
|
5
|
-
"
|
|
5
|
+
"description": "[Download API specification](https://developer.salesforce.com/static/commercecloud/commerce-api/shopper-experience/shopper-experience-oas-v1-public.yaml)\n\n# API Overview\nUse the Shopper Experience API to look up page information for pages created in Page Designer, search and retrieve content assets, and access content folders.\n\n## Authentication & Authorization\n\nThe Shopper Experience API requires a shopper access token from the Shopper Login and API Access Service (SLAS).\n\nFor details on how to request a shopper access token from SLAS, see the guest user flows for [public clients](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-public-client.html#guest-user) and [private clients](https://developer.salesforce.com/docs/commerce/commerce-api/guide/slas-private-client.html#guest-user) in the SLAS guides.\n\nYou must include `sfcc.shopper-experience` in the client ID used to generate the SLAS token. For a full list of required permissions, see the [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html)\n\n**Important**: Currently, the Shopper Experience Pages endpoints can’t be used when the [storefront password protection](https://help.salesforce.com/s/articleView?id=cc.b2c_storefront_password_protection.htm&type=5) feature is enabled.\n\n## Response Details\n\n### Personalization\n\nResponses from this API are not personalized via the Shopper Context API. Page Designer uses its own visibility rules (scheduling, customer groups) to control component visibility.\n\n### Caching\n\nCaching is provided for the Shopper Experience API. For details, see [Server-Side Web-Tier Caching](https://developer.salesforce.com/docs/commerce/commerce-api/guide/server-side-web-tier-caching.html) and [Page Designer Caching](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/b2c-dev-for-page-designer.html#page-designer-caching).\n\n### Timeouts\n\nShopper API requests must respond within 10 seconds, including any hook execution. If a response exceeds this threshold, an HTTP 504 status code is returned. For details, see [Timeouts and Limits.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/timeouts-limits.html)\n\n### Error Handling\n\nError responses follow the [RFC 7807](https://datatracker.ietf.org/doc/html/rfc7807) problem detail format. To trace errors, include a `correlation-id` header in your request — the response returns it as `x-correlation-id`. For details, see [HTTP Status Codes and Errors.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/error-response-codes.html)\n\n## Use Cases\n\n### Get a Page Designer Page\n\nRetrieve a Page Designer page by ID.\n\n```sh\ncurl \"https://{shortCode}.api.commercecloud.salesforce.com/experience/shopper-experience/v1/organizations/{organizationId}/pages/{pageId}?siteId=RefArch\" \\\n -H \"Authorization: Bearer {access_token}\"\n```\n\n\n### Access Content Folders\nThe API provides access to content folders, which are used to organize and manage content assets. Content folders support:\n\n- Hierarchical organization with nested subfolders\n- Localized metadata including names, descriptions, and SEO attributes\n- Custom attributes for extended functionality\n- Configurable depth levels for subfolder retrieval (0, 1, or 2 levels)\n\nOnly content folders that are marked as online are returned in the API responses.\n\n### Search Content Assets\nSearch for content assets using keywords and refinement filters. The search functionality supports:\n\n- Keyword-based search across content assets\n- Refinement attributes to filter results, for example, by folder or content type\n- Sorting by configurable attributes\n- Pagination for large result sets (up to 200 items per page)\n\nOnly content assets that are online and assigned to a folder are included in search results.\n\n### Batch Retrieval\nRetrieve multiple content assets or content folders in a single API request for improved performance (up to 50 content assets or folders at once).\n\n## Page Responses\n\nResponses for pages include the following:\n\n- The entire component hierarchy of the page at design time.\n- All merchant data provided at design time.\n- Server-side scripting data provided at run time.\n- Tracking for each rendered component or fragment using a globally unique content link UUID.\n- Support for reusable component fragments that can be shared across multiple pages.\n\nBoth the page and components contain the values of all native and custom attributes that have been populated during page authoring.\n\nOnly visible pages are returned. Because the visibility of components is driven by rules (scheduling or customer groups, for example), these rules are subject to evaluation when assembling the component hierarchy in the response. Only components that are visible for the current customer context appear in the response. The same rules apply to the page itself, which is only processed and returned if it is visible.\n\n## Content Asset Responses\n\nContent asset responses include:\n\n- Rich content including text, HTML, and images\n- SEO metadata (title, description, keywords)\n- Template information for rendering\n- Folder organization structure\n- Custom attributes and properties\n\nOnly content assets that are marked as online are returned. Content assets provide flexible content management capabilities for storefronts.\n\n## Related APIs\n\n- [Experiences (Admin)](https://developer.salesforce.com/docs/commerce/commerce-api/references/experiences?meta=Summary) — Manage Page Designer pages and content assets.",
|
|
6
|
+
"version": "1.7.2",
|
|
6
7
|
"x-api-type": "Shopper",
|
|
7
8
|
"x-api-family": "Experience"
|
|
8
9
|
},
|
|
@@ -11,6 +12,7 @@
|
|
|
11
12
|
"url": "https://{shortCode}.api.commercecloud.salesforce.com/experience/shopper-experience/v1",
|
|
12
13
|
"variables": {
|
|
13
14
|
"shortCode": {
|
|
15
|
+
"description": "An eight-character string assigned to a realm for routing purposes. See [Base URL and Request Formation.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/base-url.html)",
|
|
14
16
|
"default": "shortCode"
|
|
15
17
|
}
|
|
16
18
|
}
|
|
@@ -19,121 +21,139 @@
|
|
|
19
21
|
"paths": {
|
|
20
22
|
"/organizations/{organizationId}/pages": {
|
|
21
23
|
"get": {
|
|
24
|
+
"summary": "Get Page Designer pages.",
|
|
25
|
+
"description": "Get Page Designer pages. The results apply the visibility rules for each page's components, such as personalization or scheduled visibility.\n\nYou must provide the `aspectTypeId` along with either a `categoryId` or a `productId`. Since you can only create one page-to-product or page-to-category assignment per aspect type, the result contains at most one element.\n\n**Important**: \n- Currently, you can't use the Shopper Experience Pages endpoints when the [storefront password protection](https://help.salesforce.com/s/articleView?id=cc.b2c_storefront_password_protection.htm&type=5) feature is enabled.\n- Because this resource uses the GET method, you must not pass sensitive data, for example: payment card information, and must not perform transactional processes within the server-side scripts that are run for the page and components.\n- Be aware that pagecache during fingerprint calculation will only be leveraged for pages and their components that don't use visibility rules. Furthermore the pagecaching of the actual response assembly solely depends on the response instrumentation with the serverside page type and component type script implementations. For more details also see the [Page Designer Caching Guide](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/b2c-dev-for-page-designer.html#page-caching).",
|
|
22
26
|
"operationId": "getPages",
|
|
23
27
|
"parameters": [
|
|
24
28
|
{
|
|
25
29
|
"name": "organizationId",
|
|
26
30
|
"in": "path",
|
|
31
|
+
"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
32
|
"required": true,
|
|
28
33
|
"style": "simple",
|
|
29
34
|
"explode": false,
|
|
30
35
|
"schema": {
|
|
31
36
|
"$ref": "#/components/schemas/OrganizationId"
|
|
32
|
-
}
|
|
37
|
+
},
|
|
38
|
+
"example": "f_ecom_zzxy_prd"
|
|
33
39
|
},
|
|
34
40
|
{
|
|
35
41
|
"name": "categoryId",
|
|
36
42
|
"in": "query",
|
|
43
|
+
"description": "Category identifier that is used for searching the page assignment. Must be provided if no `productId` is provided.",
|
|
37
44
|
"required": false,
|
|
38
45
|
"style": "form",
|
|
39
46
|
"explode": true,
|
|
40
47
|
"schema": {
|
|
41
48
|
"type": "string",
|
|
49
|
+
"example": "home-clearance",
|
|
42
50
|
"maxLength": 256
|
|
43
51
|
}
|
|
44
52
|
},
|
|
45
53
|
{
|
|
46
54
|
"name": "productId",
|
|
47
55
|
"in": "query",
|
|
56
|
+
"description": "Product identifier that is used for searching the page assignment. Must be provided if no `categoryId` is provided.",
|
|
48
57
|
"required": false,
|
|
49
58
|
"style": "form",
|
|
50
59
|
"explode": true,
|
|
51
60
|
"schema": {
|
|
52
61
|
"type": "string",
|
|
62
|
+
"example": "iphone11",
|
|
53
63
|
"maxLength": 100
|
|
54
64
|
}
|
|
55
65
|
},
|
|
56
66
|
{
|
|
57
67
|
"name": "aspectTypeId",
|
|
58
68
|
"in": "query",
|
|
69
|
+
"description": "Aspect type identifier that is used for searching the page assignment in conjunction with either the `productId` or `categoryId`.",
|
|
59
70
|
"required": true,
|
|
60
71
|
"style": "form",
|
|
61
72
|
"explode": true,
|
|
62
73
|
"schema": {
|
|
63
74
|
"type": "string",
|
|
75
|
+
"example": "pdp",
|
|
64
76
|
"maxLength": 256
|
|
65
77
|
}
|
|
66
78
|
},
|
|
67
79
|
{
|
|
68
80
|
"name": "aspectAttributes",
|
|
69
81
|
"in": "query",
|
|
82
|
+
"description": "A JSON representation of aspect attributes. Each aspect attribute is a key/value pair. Aspect attributes serve as a runtime parameter contract between caller (for example, this API or the DWScript API) and callee (the page). This parameter must not contain more than 256 characters after URL decoding.",
|
|
70
83
|
"required": false,
|
|
71
84
|
"style": "form",
|
|
72
85
|
"explode": true,
|
|
73
86
|
"schema": {
|
|
74
87
|
"type": "string",
|
|
88
|
+
"example": "{\n \"product\" : \"iphone11\",\n \"breadcrumbCategory\" : \"home-clearance\"\n}",
|
|
75
89
|
"maxLength": 256
|
|
76
90
|
}
|
|
77
91
|
},
|
|
78
92
|
{
|
|
79
93
|
"name": "parameters",
|
|
80
94
|
"in": "query",
|
|
95
|
+
"description": "A free-form definition of parameters that influences the page rendering according to its implementation. This parameter must not contain more than 256 characters after URL decoding.",
|
|
81
96
|
"required": false,
|
|
82
97
|
"style": "form",
|
|
83
98
|
"explode": true,
|
|
84
99
|
"schema": {
|
|
85
100
|
"type": "string",
|
|
101
|
+
"example": "refine=color,size;currency=USD;showNavigation=false",
|
|
86
102
|
"maxLength": 256
|
|
87
103
|
}
|
|
88
104
|
},
|
|
89
105
|
{
|
|
90
106
|
"name": "siteId",
|
|
91
107
|
"in": "query",
|
|
108
|
+
"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.",
|
|
92
109
|
"required": true,
|
|
93
110
|
"style": "form",
|
|
94
111
|
"explode": true,
|
|
95
112
|
"schema": {
|
|
96
113
|
"$ref": "#/components/schemas/SiteId"
|
|
114
|
+
},
|
|
115
|
+
"examples": {
|
|
116
|
+
"SiteId": {
|
|
117
|
+
"value": "RefArch"
|
|
118
|
+
}
|
|
97
119
|
}
|
|
98
120
|
},
|
|
99
121
|
{
|
|
100
122
|
"name": "locale",
|
|
101
123
|
"in": "query",
|
|
124
|
+
"description": "A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified.",
|
|
102
125
|
"required": false,
|
|
103
126
|
"style": "form",
|
|
104
127
|
"explode": true,
|
|
105
128
|
"schema": {
|
|
106
129
|
"$ref": "#/components/schemas/LocaleCode"
|
|
130
|
+
},
|
|
131
|
+
"examples": {
|
|
132
|
+
"LanguageCountry": {
|
|
133
|
+
"value": "en-US"
|
|
134
|
+
},
|
|
135
|
+
"CountryCode": {
|
|
136
|
+
"value": "US"
|
|
137
|
+
}
|
|
107
138
|
}
|
|
108
139
|
},
|
|
109
140
|
{
|
|
110
141
|
"name": "sfdc_usid",
|
|
111
142
|
"in": "header",
|
|
143
|
+
"description": "A unique shopper identifier (USID) for tracking client context.\nUsed with endpoints secured with ShopperClientContextToken.\nThis header is required for all endpoints secured with ShopperClientContextToken.",
|
|
112
144
|
"required": false,
|
|
113
145
|
"style": "simple",
|
|
114
146
|
"explode": false,
|
|
115
147
|
"schema": {
|
|
116
148
|
"type": "string",
|
|
117
|
-
"format": "uuid"
|
|
118
|
-
|
|
119
|
-
},
|
|
120
|
-
{
|
|
121
|
-
"name": "sfdc_dw_dnt",
|
|
122
|
-
"in": "header",
|
|
123
|
-
"required": false,
|
|
124
|
-
"style": "simple",
|
|
125
|
-
"explode": false,
|
|
126
|
-
"schema": {
|
|
127
|
-
"type": "string",
|
|
128
|
-
"enum": [
|
|
129
|
-
"0",
|
|
130
|
-
"1"
|
|
131
|
-
]
|
|
149
|
+
"format": "uuid",
|
|
150
|
+
"example": "550e8400-e29b-41d4-a716-446655440000"
|
|
132
151
|
}
|
|
133
152
|
},
|
|
134
153
|
{
|
|
135
154
|
"name": "personalized",
|
|
136
155
|
"in": "query",
|
|
156
|
+
"description": "Controls whether personalization is applied to the response. When set to `none`, the server skips applying personalization to the response.",
|
|
137
157
|
"required": false,
|
|
138
158
|
"style": "form",
|
|
139
159
|
"explode": true,
|
|
@@ -141,12 +161,14 @@
|
|
|
141
161
|
"type": "string",
|
|
142
162
|
"enum": [
|
|
143
163
|
"none"
|
|
144
|
-
]
|
|
164
|
+
],
|
|
165
|
+
"example": "none"
|
|
145
166
|
}
|
|
146
167
|
},
|
|
147
168
|
{
|
|
148
169
|
"name": "sfdc_shopper_context",
|
|
149
170
|
"in": "header",
|
|
171
|
+
"description": "Shopper context information (for example clientIP, sourceCode, and customQualifiers)\npassed in from a trusted backend application.",
|
|
150
172
|
"required": false,
|
|
151
173
|
"style": "simple",
|
|
152
174
|
"explode": false,
|
|
@@ -162,6 +184,11 @@
|
|
|
162
184
|
"application/json": {
|
|
163
185
|
"schema": {
|
|
164
186
|
"$ref": "#/components/schemas/PageResult"
|
|
187
|
+
},
|
|
188
|
+
"examples": {
|
|
189
|
+
"PageResult": {
|
|
190
|
+
"$ref": "#/components/examples/PageResult"
|
|
191
|
+
}
|
|
165
192
|
}
|
|
166
193
|
}
|
|
167
194
|
}
|
|
@@ -172,6 +199,11 @@
|
|
|
172
199
|
"application/problem+json": {
|
|
173
200
|
"schema": {
|
|
174
201
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
202
|
+
},
|
|
203
|
+
"examples": {
|
|
204
|
+
"BusinessObjectIDInvalid": {
|
|
205
|
+
"$ref": "#/components/examples/BusinessObjectIDInvalid"
|
|
206
|
+
}
|
|
175
207
|
}
|
|
176
208
|
}
|
|
177
209
|
}
|
|
@@ -182,6 +214,11 @@
|
|
|
182
214
|
"application/problem+json": {
|
|
183
215
|
"schema": {
|
|
184
216
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
217
|
+
},
|
|
218
|
+
"examples": {
|
|
219
|
+
"AspectTypeNotFound": {
|
|
220
|
+
"$ref": "#/components/examples/AspectTypeNotFound"
|
|
221
|
+
}
|
|
185
222
|
}
|
|
186
223
|
}
|
|
187
224
|
}
|
|
@@ -207,99 +244,113 @@
|
|
|
207
244
|
},
|
|
208
245
|
"/organizations/{organizationId}/pages/{pageId}": {
|
|
209
246
|
"get": {
|
|
247
|
+
"summary": "Get a Page Designer page based on a single page ID.",
|
|
248
|
+
"description": "Get a Page Designer page for a specific page ID. The results apply the visibility rules for the page's components, such as personalization or scheduled visibility.\n\n**Important**: \n- Currently, you can't use the Shopper Experience Pages endpoints when the [storefront password protection](https://help.salesforce.com/s/articleView?id=cc.b2c_storefront_password_protection.htm&type=5) feature is enabled.\n- Because this resource uses the GET method, you must not pass sensitive data, for example: payment card information, and must not perform transactional processes within the server-side scripts that are run for the page and components.\n- Be aware that pagecache during fingerprint calculation will only be leveraged for pages and their components that don't use visibility rules. Furthermore the pagecaching of the actual response assembly solely depends on the response instrumentation with the serverside page type and component type script implementations. For more details also see the [Page Designer Caching Guide](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/b2c-dev-for-page-designer.html#page-caching).",
|
|
210
249
|
"operationId": "getPage",
|
|
211
250
|
"parameters": [
|
|
212
251
|
{
|
|
213
252
|
"name": "pageId",
|
|
214
253
|
"in": "path",
|
|
254
|
+
"description": "Identifier for the requested page.",
|
|
215
255
|
"required": true,
|
|
216
256
|
"style": "simple",
|
|
217
257
|
"explode": false,
|
|
218
258
|
"schema": {
|
|
219
259
|
"type": "string",
|
|
260
|
+
"example": "homepage",
|
|
220
261
|
"maxLength": 256
|
|
221
262
|
}
|
|
222
263
|
},
|
|
223
264
|
{
|
|
224
265
|
"name": "organizationId",
|
|
225
266
|
"in": "path",
|
|
267
|
+
"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).",
|
|
226
268
|
"required": true,
|
|
227
269
|
"style": "simple",
|
|
228
270
|
"explode": false,
|
|
229
271
|
"schema": {
|
|
230
272
|
"$ref": "#/components/schemas/OrganizationId"
|
|
231
|
-
}
|
|
273
|
+
},
|
|
274
|
+
"example": "f_ecom_zzxy_prd"
|
|
232
275
|
},
|
|
233
276
|
{
|
|
234
277
|
"name": "aspectAttributes",
|
|
235
278
|
"in": "query",
|
|
279
|
+
"description": "A JSON representation of aspect attributes. Each aspect attribute is a key/value pair. Aspect attributes serve as a runtime parameter contract between caller (for example, this API or the DWScript API) and callee (the page). This parameter must not contain more than 256 characters after URL decoding.",
|
|
236
280
|
"required": false,
|
|
237
281
|
"style": "form",
|
|
238
282
|
"explode": true,
|
|
239
283
|
"schema": {
|
|
240
284
|
"type": "string",
|
|
285
|
+
"example": "{\n \"product\" : \"iphone11\",\n \"breadcrumbCategory\" : \"home-clearance\"\n}",
|
|
241
286
|
"maxLength": 256
|
|
242
287
|
}
|
|
243
288
|
},
|
|
244
289
|
{
|
|
245
290
|
"name": "parameters",
|
|
246
291
|
"in": "query",
|
|
292
|
+
"description": "A free-form definition of parameters that influences the page rendering according to its implementation. This parameter must not contain more than 256 characters after URL decoding.",
|
|
247
293
|
"required": false,
|
|
248
294
|
"style": "form",
|
|
249
295
|
"explode": true,
|
|
250
296
|
"schema": {
|
|
251
297
|
"type": "string",
|
|
298
|
+
"example": "refine=color,size;currency=USD;showNavigation=false",
|
|
252
299
|
"maxLength": 256
|
|
253
300
|
}
|
|
254
301
|
},
|
|
255
302
|
{
|
|
256
303
|
"name": "siteId",
|
|
257
304
|
"in": "query",
|
|
305
|
+
"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.",
|
|
258
306
|
"required": true,
|
|
259
307
|
"style": "form",
|
|
260
308
|
"explode": true,
|
|
261
309
|
"schema": {
|
|
262
310
|
"$ref": "#/components/schemas/SiteId"
|
|
311
|
+
},
|
|
312
|
+
"examples": {
|
|
313
|
+
"SiteId": {
|
|
314
|
+
"value": "RefArch"
|
|
315
|
+
}
|
|
263
316
|
}
|
|
264
317
|
},
|
|
265
318
|
{
|
|
266
319
|
"name": "locale",
|
|
267
320
|
"in": "query",
|
|
321
|
+
"description": "A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified.",
|
|
268
322
|
"required": false,
|
|
269
323
|
"style": "form",
|
|
270
324
|
"explode": true,
|
|
271
325
|
"schema": {
|
|
272
326
|
"$ref": "#/components/schemas/LocaleCode"
|
|
327
|
+
},
|
|
328
|
+
"examples": {
|
|
329
|
+
"LanguageCountry": {
|
|
330
|
+
"value": "en-US"
|
|
331
|
+
},
|
|
332
|
+
"CountryCode": {
|
|
333
|
+
"value": "US"
|
|
334
|
+
}
|
|
273
335
|
}
|
|
274
336
|
},
|
|
275
337
|
{
|
|
276
338
|
"name": "sfdc_usid",
|
|
277
339
|
"in": "header",
|
|
340
|
+
"description": "A unique shopper identifier (USID) for tracking client context.\nUsed with endpoints secured with ShopperClientContextToken.\nThis header is required for all endpoints secured with ShopperClientContextToken.",
|
|
278
341
|
"required": false,
|
|
279
342
|
"style": "simple",
|
|
280
343
|
"explode": false,
|
|
281
344
|
"schema": {
|
|
282
345
|
"type": "string",
|
|
283
|
-
"format": "uuid"
|
|
284
|
-
|
|
285
|
-
},
|
|
286
|
-
{
|
|
287
|
-
"name": "sfdc_dw_dnt",
|
|
288
|
-
"in": "header",
|
|
289
|
-
"required": false,
|
|
290
|
-
"style": "simple",
|
|
291
|
-
"explode": false,
|
|
292
|
-
"schema": {
|
|
293
|
-
"type": "string",
|
|
294
|
-
"enum": [
|
|
295
|
-
"0",
|
|
296
|
-
"1"
|
|
297
|
-
]
|
|
346
|
+
"format": "uuid",
|
|
347
|
+
"example": "550e8400-e29b-41d4-a716-446655440000"
|
|
298
348
|
}
|
|
299
349
|
},
|
|
300
350
|
{
|
|
301
351
|
"name": "personalized",
|
|
302
352
|
"in": "query",
|
|
353
|
+
"description": "Controls whether personalization is applied to the response. When set to `none`, the server skips applying personalization to the response.",
|
|
303
354
|
"required": false,
|
|
304
355
|
"style": "form",
|
|
305
356
|
"explode": true,
|
|
@@ -307,12 +358,14 @@
|
|
|
307
358
|
"type": "string",
|
|
308
359
|
"enum": [
|
|
309
360
|
"none"
|
|
310
|
-
]
|
|
361
|
+
],
|
|
362
|
+
"example": "none"
|
|
311
363
|
}
|
|
312
364
|
},
|
|
313
365
|
{
|
|
314
366
|
"name": "sfdc_shopper_context",
|
|
315
367
|
"in": "header",
|
|
368
|
+
"description": "Shopper context information (for example clientIP, sourceCode, and customQualifiers)\npassed in from a trusted backend application.",
|
|
316
369
|
"required": false,
|
|
317
370
|
"style": "simple",
|
|
318
371
|
"explode": false,
|
|
@@ -328,6 +381,11 @@
|
|
|
328
381
|
"application/json": {
|
|
329
382
|
"schema": {
|
|
330
383
|
"$ref": "#/components/schemas/Page"
|
|
384
|
+
},
|
|
385
|
+
"examples": {
|
|
386
|
+
"Page": {
|
|
387
|
+
"$ref": "#/components/examples/Page"
|
|
388
|
+
}
|
|
331
389
|
}
|
|
332
390
|
}
|
|
333
391
|
}
|
|
@@ -338,6 +396,11 @@
|
|
|
338
396
|
"application/problem+json": {
|
|
339
397
|
"schema": {
|
|
340
398
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
399
|
+
},
|
|
400
|
+
"examples": {
|
|
401
|
+
"AspectAttributeInvalid": {
|
|
402
|
+
"$ref": "#/components/examples/AspectAttributeInvalid"
|
|
403
|
+
}
|
|
341
404
|
}
|
|
342
405
|
}
|
|
343
406
|
}
|
|
@@ -358,6 +421,11 @@
|
|
|
358
421
|
"application/problem+json": {
|
|
359
422
|
"schema": {
|
|
360
423
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
424
|
+
},
|
|
425
|
+
"examples": {
|
|
426
|
+
"PageNotFound": {
|
|
427
|
+
"$ref": "#/components/examples/PageNotFound"
|
|
428
|
+
}
|
|
361
429
|
}
|
|
362
430
|
}
|
|
363
431
|
}
|
|
@@ -383,88 +451,100 @@
|
|
|
383
451
|
},
|
|
384
452
|
"/organizations/{organizationId}/components/{componentId}": {
|
|
385
453
|
"get": {
|
|
454
|
+
"summary": "Get a component by ID.",
|
|
455
|
+
"description": "Get a Page Designer component by its unique identifier. The results apply the visibility rules for the component, such as personalization or scheduled visibility.\n\n**Important**: \n- Because this resource uses the GET method, you must not pass sensitive data, for example: payment card information, and must not perform transactional processes within the server-side scripts that are run for the component.",
|
|
386
456
|
"operationId": "getComponent",
|
|
387
457
|
"parameters": [
|
|
388
458
|
{
|
|
389
459
|
"name": "organizationId",
|
|
390
460
|
"in": "path",
|
|
461
|
+
"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).",
|
|
391
462
|
"required": true,
|
|
392
463
|
"style": "simple",
|
|
393
464
|
"explode": false,
|
|
394
465
|
"schema": {
|
|
395
466
|
"$ref": "#/components/schemas/OrganizationId"
|
|
396
|
-
}
|
|
467
|
+
},
|
|
468
|
+
"example": "f_ecom_zzxy_prd"
|
|
397
469
|
},
|
|
398
470
|
{
|
|
399
471
|
"name": "componentId",
|
|
400
472
|
"in": "path",
|
|
473
|
+
"description": "Identifier for the requested component.",
|
|
401
474
|
"required": true,
|
|
402
475
|
"style": "simple",
|
|
403
476
|
"explode": false,
|
|
404
477
|
"schema": {
|
|
405
478
|
"type": "string",
|
|
479
|
+
"example": "be1f331b92d8ad7e38e440e35d",
|
|
406
480
|
"maxLength": 256
|
|
407
481
|
}
|
|
408
482
|
},
|
|
409
483
|
{
|
|
410
484
|
"name": "parameters",
|
|
411
485
|
"in": "query",
|
|
486
|
+
"description": "A free-form definition of parameters that influences the page rendering according to its implementation. This parameter must not contain more than 256 characters after URL decoding.",
|
|
412
487
|
"required": false,
|
|
413
488
|
"style": "form",
|
|
414
489
|
"explode": true,
|
|
415
490
|
"schema": {
|
|
416
491
|
"type": "string",
|
|
492
|
+
"example": "refine=color,size;currency=USD;showNavigation=false",
|
|
417
493
|
"maxLength": 256
|
|
418
494
|
}
|
|
419
495
|
},
|
|
420
496
|
{
|
|
421
497
|
"name": "siteId",
|
|
422
498
|
"in": "query",
|
|
499
|
+
"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.",
|
|
423
500
|
"required": true,
|
|
424
501
|
"style": "form",
|
|
425
502
|
"explode": true,
|
|
426
503
|
"schema": {
|
|
427
504
|
"$ref": "#/components/schemas/SiteId"
|
|
505
|
+
},
|
|
506
|
+
"examples": {
|
|
507
|
+
"SiteId": {
|
|
508
|
+
"value": "RefArch"
|
|
509
|
+
}
|
|
428
510
|
}
|
|
429
511
|
},
|
|
430
512
|
{
|
|
431
513
|
"name": "locale",
|
|
432
514
|
"in": "query",
|
|
515
|
+
"description": "A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified.",
|
|
433
516
|
"required": false,
|
|
434
517
|
"style": "form",
|
|
435
518
|
"explode": true,
|
|
436
519
|
"schema": {
|
|
437
520
|
"$ref": "#/components/schemas/LocaleCode"
|
|
521
|
+
},
|
|
522
|
+
"examples": {
|
|
523
|
+
"LanguageCountry": {
|
|
524
|
+
"value": "en-US"
|
|
525
|
+
},
|
|
526
|
+
"CountryCode": {
|
|
527
|
+
"value": "US"
|
|
528
|
+
}
|
|
438
529
|
}
|
|
439
530
|
},
|
|
440
531
|
{
|
|
441
532
|
"name": "sfdc_usid",
|
|
442
533
|
"in": "header",
|
|
534
|
+
"description": "A unique shopper identifier (USID) for tracking client context.\nUsed with endpoints secured with ShopperClientContextToken.\nThis header is required for all endpoints secured with ShopperClientContextToken.",
|
|
443
535
|
"required": false,
|
|
444
536
|
"style": "simple",
|
|
445
537
|
"explode": false,
|
|
446
538
|
"schema": {
|
|
447
539
|
"type": "string",
|
|
448
|
-
"format": "uuid"
|
|
449
|
-
|
|
450
|
-
},
|
|
451
|
-
{
|
|
452
|
-
"name": "sfdc_dw_dnt",
|
|
453
|
-
"in": "header",
|
|
454
|
-
"required": false,
|
|
455
|
-
"style": "simple",
|
|
456
|
-
"explode": false,
|
|
457
|
-
"schema": {
|
|
458
|
-
"type": "string",
|
|
459
|
-
"enum": [
|
|
460
|
-
"0",
|
|
461
|
-
"1"
|
|
462
|
-
]
|
|
540
|
+
"format": "uuid",
|
|
541
|
+
"example": "550e8400-e29b-41d4-a716-446655440000"
|
|
463
542
|
}
|
|
464
543
|
},
|
|
465
544
|
{
|
|
466
545
|
"name": "personalized",
|
|
467
546
|
"in": "query",
|
|
547
|
+
"description": "Controls whether personalization is applied to the response. When set to `none`, the server skips applying personalization to the response.",
|
|
468
548
|
"required": false,
|
|
469
549
|
"style": "form",
|
|
470
550
|
"explode": true,
|
|
@@ -472,12 +552,14 @@
|
|
|
472
552
|
"type": "string",
|
|
473
553
|
"enum": [
|
|
474
554
|
"none"
|
|
475
|
-
]
|
|
555
|
+
],
|
|
556
|
+
"example": "none"
|
|
476
557
|
}
|
|
477
558
|
},
|
|
478
559
|
{
|
|
479
560
|
"name": "sfdc_shopper_context",
|
|
480
561
|
"in": "header",
|
|
562
|
+
"description": "Shopper context information (for example clientIP, sourceCode, and customQualifiers)\npassed in from a trusted backend application.",
|
|
481
563
|
"required": false,
|
|
482
564
|
"style": "simple",
|
|
483
565
|
"explode": false,
|
|
@@ -493,6 +575,11 @@
|
|
|
493
575
|
"application/json": {
|
|
494
576
|
"schema": {
|
|
495
577
|
"$ref": "#/components/schemas/Component"
|
|
578
|
+
},
|
|
579
|
+
"examples": {
|
|
580
|
+
"Component": {
|
|
581
|
+
"$ref": "#/components/examples/Component"
|
|
582
|
+
}
|
|
496
583
|
}
|
|
497
584
|
}
|
|
498
585
|
}
|
|
@@ -503,6 +590,11 @@
|
|
|
503
590
|
"application/problem+json": {
|
|
504
591
|
"schema": {
|
|
505
592
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
593
|
+
},
|
|
594
|
+
"examples": {
|
|
595
|
+
"ComponentBadRequest": {
|
|
596
|
+
"$ref": "#/components/examples/ComponentBadRequest"
|
|
597
|
+
}
|
|
506
598
|
}
|
|
507
599
|
}
|
|
508
600
|
}
|
|
@@ -523,6 +615,11 @@
|
|
|
523
615
|
"application/problem+json": {
|
|
524
616
|
"schema": {
|
|
525
617
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
618
|
+
},
|
|
619
|
+
"examples": {
|
|
620
|
+
"ComponentNotFound": {
|
|
621
|
+
"$ref": "#/components/examples/ComponentNotFound"
|
|
622
|
+
}
|
|
526
623
|
}
|
|
527
624
|
}
|
|
528
625
|
}
|
|
@@ -533,6 +630,11 @@
|
|
|
533
630
|
"application/problem+json": {
|
|
534
631
|
"schema": {
|
|
535
632
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
633
|
+
},
|
|
634
|
+
"examples": {
|
|
635
|
+
"ComponentInternalError": {
|
|
636
|
+
"$ref": "#/components/examples/ComponentInternalError"
|
|
637
|
+
}
|
|
536
638
|
}
|
|
537
639
|
}
|
|
538
640
|
}
|
|
@@ -556,21 +658,26 @@
|
|
|
556
658
|
},
|
|
557
659
|
"/organizations/{organizationId}/contents/{id}": {
|
|
558
660
|
"get": {
|
|
661
|
+
"summary": "Get a content asset by ID.",
|
|
662
|
+
"description": "Get a content asset by its unique identifier. Only content assets that are marked as online are returned.\n\nContent assets contain rich content that can be displayed on storefronts, including text, HTML, images, and custom attributes.\n\n**Important**: \n- Because this resource uses the GET method, you must not pass sensitive data and must not perform transactional processes.",
|
|
559
663
|
"operationId": "getContent",
|
|
560
664
|
"parameters": [
|
|
561
665
|
{
|
|
562
666
|
"name": "organizationId",
|
|
563
667
|
"in": "path",
|
|
668
|
+
"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).",
|
|
564
669
|
"required": true,
|
|
565
670
|
"style": "simple",
|
|
566
671
|
"explode": false,
|
|
567
672
|
"schema": {
|
|
568
673
|
"$ref": "#/components/schemas/OrganizationId"
|
|
569
|
-
}
|
|
674
|
+
},
|
|
675
|
+
"example": "f_ecom_zzxy_prd"
|
|
570
676
|
},
|
|
571
677
|
{
|
|
572
678
|
"name": "id",
|
|
573
679
|
"in": "path",
|
|
680
|
+
"description": "Identifier for the requested content asset.",
|
|
574
681
|
"required": true,
|
|
575
682
|
"style": "simple",
|
|
576
683
|
"explode": false,
|
|
@@ -581,51 +688,55 @@
|
|
|
581
688
|
{
|
|
582
689
|
"name": "siteId",
|
|
583
690
|
"in": "query",
|
|
691
|
+
"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.",
|
|
584
692
|
"required": true,
|
|
585
693
|
"style": "form",
|
|
586
694
|
"explode": true,
|
|
587
695
|
"schema": {
|
|
588
696
|
"$ref": "#/components/schemas/SiteId"
|
|
697
|
+
},
|
|
698
|
+
"examples": {
|
|
699
|
+
"SiteId": {
|
|
700
|
+
"value": "RefArch"
|
|
701
|
+
}
|
|
589
702
|
}
|
|
590
703
|
},
|
|
591
704
|
{
|
|
592
705
|
"name": "locale",
|
|
593
706
|
"in": "query",
|
|
707
|
+
"description": "A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified.",
|
|
594
708
|
"required": false,
|
|
595
709
|
"style": "form",
|
|
596
710
|
"explode": true,
|
|
597
711
|
"schema": {
|
|
598
712
|
"$ref": "#/components/schemas/LocaleCode"
|
|
713
|
+
},
|
|
714
|
+
"examples": {
|
|
715
|
+
"LanguageCountry": {
|
|
716
|
+
"value": "en-US"
|
|
717
|
+
},
|
|
718
|
+
"CountryCode": {
|
|
719
|
+
"value": "US"
|
|
720
|
+
}
|
|
599
721
|
}
|
|
600
722
|
},
|
|
601
723
|
{
|
|
602
724
|
"name": "sfdc_usid",
|
|
603
725
|
"in": "header",
|
|
726
|
+
"description": "A unique shopper identifier (USID) for tracking client context.\nUsed with endpoints secured with ShopperClientContextToken.\nThis header is required for all endpoints secured with ShopperClientContextToken.",
|
|
604
727
|
"required": false,
|
|
605
728
|
"style": "simple",
|
|
606
729
|
"explode": false,
|
|
607
730
|
"schema": {
|
|
608
731
|
"type": "string",
|
|
609
|
-
"format": "uuid"
|
|
610
|
-
|
|
611
|
-
},
|
|
612
|
-
{
|
|
613
|
-
"name": "sfdc_dw_dnt",
|
|
614
|
-
"in": "header",
|
|
615
|
-
"required": false,
|
|
616
|
-
"style": "simple",
|
|
617
|
-
"explode": false,
|
|
618
|
-
"schema": {
|
|
619
|
-
"type": "string",
|
|
620
|
-
"enum": [
|
|
621
|
-
"0",
|
|
622
|
-
"1"
|
|
623
|
-
]
|
|
732
|
+
"format": "uuid",
|
|
733
|
+
"example": "550e8400-e29b-41d4-a716-446655440000"
|
|
624
734
|
}
|
|
625
735
|
},
|
|
626
736
|
{
|
|
627
737
|
"name": "personalized",
|
|
628
738
|
"in": "query",
|
|
739
|
+
"description": "Controls whether personalization is applied to the response. When set to `none`, the server skips applying personalization to the response.",
|
|
629
740
|
"required": false,
|
|
630
741
|
"style": "form",
|
|
631
742
|
"explode": true,
|
|
@@ -633,12 +744,14 @@
|
|
|
633
744
|
"type": "string",
|
|
634
745
|
"enum": [
|
|
635
746
|
"none"
|
|
636
|
-
]
|
|
747
|
+
],
|
|
748
|
+
"example": "none"
|
|
637
749
|
}
|
|
638
750
|
},
|
|
639
751
|
{
|
|
640
752
|
"name": "sfdc_shopper_context",
|
|
641
753
|
"in": "header",
|
|
754
|
+
"description": "Shopper context information (for example clientIP, sourceCode, and customQualifiers)\npassed in from a trusted backend application.",
|
|
642
755
|
"required": false,
|
|
643
756
|
"style": "simple",
|
|
644
757
|
"explode": false,
|
|
@@ -654,6 +767,11 @@
|
|
|
654
767
|
"application/json": {
|
|
655
768
|
"schema": {
|
|
656
769
|
"$ref": "#/components/schemas/Content"
|
|
770
|
+
},
|
|
771
|
+
"examples": {
|
|
772
|
+
"Content": {
|
|
773
|
+
"$ref": "#/components/examples/Content"
|
|
774
|
+
}
|
|
657
775
|
}
|
|
658
776
|
}
|
|
659
777
|
}
|
|
@@ -664,6 +782,11 @@
|
|
|
664
782
|
"application/problem+json": {
|
|
665
783
|
"schema": {
|
|
666
784
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
785
|
+
},
|
|
786
|
+
"examples": {
|
|
787
|
+
"ContentNotFound": {
|
|
788
|
+
"$ref": "#/components/examples/ContentNotFound"
|
|
789
|
+
}
|
|
667
790
|
}
|
|
668
791
|
}
|
|
669
792
|
}
|
|
@@ -685,81 +808,96 @@
|
|
|
685
808
|
},
|
|
686
809
|
"/organizations/{organizationId}/contents": {
|
|
687
810
|
"get": {
|
|
811
|
+
"summary": "Get multiple content assets.",
|
|
812
|
+
"description": "Get multiple content assets by their identifiers. Only content assets that are marked as online are returned.\n\nThis endpoint allows you to retrieve multiple content assets in a single request, which is more efficient than making multiple individual requests.\n\n**Important**: \n- Because this resource uses the GET method, you must not pass sensitive data and must not perform transactional processes.",
|
|
688
813
|
"operationId": "getMultipleContent",
|
|
689
814
|
"parameters": [
|
|
690
815
|
{
|
|
691
816
|
"name": "organizationId",
|
|
692
817
|
"in": "path",
|
|
818
|
+
"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).",
|
|
693
819
|
"required": true,
|
|
694
820
|
"style": "simple",
|
|
695
821
|
"explode": false,
|
|
696
822
|
"schema": {
|
|
697
823
|
"$ref": "#/components/schemas/OrganizationId"
|
|
698
|
-
}
|
|
824
|
+
},
|
|
825
|
+
"example": "f_ecom_zzxy_prd"
|
|
699
826
|
},
|
|
700
827
|
{
|
|
701
828
|
"name": "ids",
|
|
702
829
|
"in": "query",
|
|
830
|
+
"description": "Comma-separated list of content asset identifiers to retrieve.",
|
|
703
831
|
"required": true,
|
|
704
832
|
"style": "form",
|
|
705
833
|
"explode": false,
|
|
706
834
|
"schema": {
|
|
707
835
|
"type": "array",
|
|
836
|
+
"example": [
|
|
837
|
+
"homepage-banner",
|
|
838
|
+
"footer-content",
|
|
839
|
+
"sidebar-promo"
|
|
840
|
+
],
|
|
708
841
|
"items": {
|
|
709
842
|
"$ref": "#/components/schemas/ContentId"
|
|
710
843
|
},
|
|
711
844
|
"maxItems": 50,
|
|
712
845
|
"minItems": 1
|
|
713
|
-
}
|
|
846
|
+
},
|
|
847
|
+
"example": "homepage-banner,footer-content,sidebar-promo"
|
|
714
848
|
},
|
|
715
849
|
{
|
|
716
850
|
"name": "siteId",
|
|
717
851
|
"in": "query",
|
|
852
|
+
"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.",
|
|
718
853
|
"required": true,
|
|
719
854
|
"style": "form",
|
|
720
855
|
"explode": true,
|
|
721
856
|
"schema": {
|
|
722
857
|
"$ref": "#/components/schemas/SiteId"
|
|
858
|
+
},
|
|
859
|
+
"examples": {
|
|
860
|
+
"SiteId": {
|
|
861
|
+
"value": "RefArch"
|
|
862
|
+
}
|
|
723
863
|
}
|
|
724
864
|
},
|
|
725
865
|
{
|
|
726
866
|
"name": "locale",
|
|
727
867
|
"in": "query",
|
|
868
|
+
"description": "A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified.",
|
|
728
869
|
"required": false,
|
|
729
870
|
"style": "form",
|
|
730
871
|
"explode": true,
|
|
731
872
|
"schema": {
|
|
732
873
|
"$ref": "#/components/schemas/LocaleCode"
|
|
874
|
+
},
|
|
875
|
+
"examples": {
|
|
876
|
+
"LanguageCountry": {
|
|
877
|
+
"value": "en-US"
|
|
878
|
+
},
|
|
879
|
+
"CountryCode": {
|
|
880
|
+
"value": "US"
|
|
881
|
+
}
|
|
733
882
|
}
|
|
734
883
|
},
|
|
735
884
|
{
|
|
736
885
|
"name": "sfdc_usid",
|
|
737
886
|
"in": "header",
|
|
887
|
+
"description": "A unique shopper identifier (USID) for tracking client context.\nUsed with endpoints secured with ShopperClientContextToken.\nThis header is required for all endpoints secured with ShopperClientContextToken.",
|
|
738
888
|
"required": false,
|
|
739
889
|
"style": "simple",
|
|
740
890
|
"explode": false,
|
|
741
891
|
"schema": {
|
|
742
892
|
"type": "string",
|
|
743
|
-
"format": "uuid"
|
|
744
|
-
|
|
745
|
-
},
|
|
746
|
-
{
|
|
747
|
-
"name": "sfdc_dw_dnt",
|
|
748
|
-
"in": "header",
|
|
749
|
-
"required": false,
|
|
750
|
-
"style": "simple",
|
|
751
|
-
"explode": false,
|
|
752
|
-
"schema": {
|
|
753
|
-
"type": "string",
|
|
754
|
-
"enum": [
|
|
755
|
-
"0",
|
|
756
|
-
"1"
|
|
757
|
-
]
|
|
893
|
+
"format": "uuid",
|
|
894
|
+
"example": "550e8400-e29b-41d4-a716-446655440000"
|
|
758
895
|
}
|
|
759
896
|
},
|
|
760
897
|
{
|
|
761
898
|
"name": "personalized",
|
|
762
899
|
"in": "query",
|
|
900
|
+
"description": "Controls whether personalization is applied to the response. When set to `none`, the server skips applying personalization to the response.",
|
|
763
901
|
"required": false,
|
|
764
902
|
"style": "form",
|
|
765
903
|
"explode": true,
|
|
@@ -767,12 +905,14 @@
|
|
|
767
905
|
"type": "string",
|
|
768
906
|
"enum": [
|
|
769
907
|
"none"
|
|
770
|
-
]
|
|
908
|
+
],
|
|
909
|
+
"example": "none"
|
|
771
910
|
}
|
|
772
911
|
},
|
|
773
912
|
{
|
|
774
913
|
"name": "sfdc_shopper_context",
|
|
775
914
|
"in": "header",
|
|
915
|
+
"description": "Shopper context information (for example clientIP, sourceCode, and customQualifiers)\npassed in from a trusted backend application.",
|
|
776
916
|
"required": false,
|
|
777
917
|
"style": "simple",
|
|
778
918
|
"explode": false,
|
|
@@ -788,6 +928,11 @@
|
|
|
788
928
|
"application/json": {
|
|
789
929
|
"schema": {
|
|
790
930
|
"$ref": "#/components/schemas/ContentResult"
|
|
931
|
+
},
|
|
932
|
+
"examples": {
|
|
933
|
+
"ContentResult": {
|
|
934
|
+
"$ref": "#/components/examples/ContentResult"
|
|
935
|
+
}
|
|
791
936
|
}
|
|
792
937
|
}
|
|
793
938
|
}
|
|
@@ -798,6 +943,11 @@
|
|
|
798
943
|
"application/problem+json": {
|
|
799
944
|
"schema": {
|
|
800
945
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
946
|
+
},
|
|
947
|
+
"examples": {
|
|
948
|
+
"GetContentsBadRequest": {
|
|
949
|
+
"$ref": "#/components/examples/GetContentsBadRequest"
|
|
950
|
+
}
|
|
801
951
|
}
|
|
802
952
|
}
|
|
803
953
|
}
|
|
@@ -819,26 +969,32 @@
|
|
|
819
969
|
},
|
|
820
970
|
"/organizations/{organizationId}/content-search": {
|
|
821
971
|
"get": {
|
|
972
|
+
"summary": "Search for content assets.",
|
|
973
|
+
"description": "Provides keyword and refinement search functionality for content assets. The search result contains only content\nthat is online and assigned to a folder.\n\n**Refinement Parameters:**\nThe following system refinement attribute IDs are supported:\n- `fdid`: Allows refinement per single content folder ID. Multiple folder IDs are not supported.\n\n**Important**: \n- Because this resource uses the GET method, you must not pass sensitive data and must not perform transactional processes.",
|
|
822
974
|
"operationId": "searchContent",
|
|
823
975
|
"parameters": [
|
|
824
976
|
{
|
|
825
977
|
"name": "organizationId",
|
|
826
978
|
"in": "path",
|
|
979
|
+
"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).",
|
|
827
980
|
"required": true,
|
|
828
981
|
"style": "simple",
|
|
829
982
|
"explode": false,
|
|
830
983
|
"schema": {
|
|
831
984
|
"$ref": "#/components/schemas/OrganizationId"
|
|
832
|
-
}
|
|
985
|
+
},
|
|
986
|
+
"example": "f_ecom_zzxy_prd"
|
|
833
987
|
},
|
|
834
988
|
{
|
|
835
989
|
"name": "q",
|
|
836
990
|
"in": "query",
|
|
991
|
+
"description": "The query phrase to search for content assets. For example, to search for content with \"banner\", type q=banner.",
|
|
837
992
|
"required": false,
|
|
838
993
|
"style": "form",
|
|
839
994
|
"explode": true,
|
|
840
995
|
"schema": {
|
|
841
996
|
"type": "string",
|
|
997
|
+
"example": "banner",
|
|
842
998
|
"maxLength": 50,
|
|
843
999
|
"minLength": 1
|
|
844
1000
|
}
|
|
@@ -846,48 +1002,68 @@
|
|
|
846
1002
|
{
|
|
847
1003
|
"name": "refine",
|
|
848
1004
|
"in": "query",
|
|
1005
|
+
"description": "Parameter that represents a refinement attribute/value(s) pair. Refinement attribute ID and value(s) are separated by '='. Multiple values are supported by a subset of refinement attributes and can be provided by separating them using a pipe (URL encoded = \"|\"). Value ranges can be specified like this: refine=foo=(100..500). \nMultiple refine parameters can be provided by adding an underscore in combination with an integer counter right behind the parameter name and a counter range 1..9. I.e. refine_1=c_refinementType=type1|type2|type3.\n\nThe following system refinement attribute IDs are supported:\n- `fdid`: Allows refinement per single content folder ID. Multiple folder IDs are not supported.",
|
|
849
1006
|
"required": false,
|
|
850
1007
|
"style": "form",
|
|
851
1008
|
"explode": true,
|
|
852
1009
|
"schema": {
|
|
853
1010
|
"type": "string",
|
|
1011
|
+
"example": "fdid=homepage-folder",
|
|
854
1012
|
"maxLength": 256
|
|
855
1013
|
}
|
|
856
1014
|
},
|
|
857
1015
|
{
|
|
858
1016
|
"name": "sort",
|
|
859
1017
|
"in": "query",
|
|
1018
|
+
"description": "Parameter that represents a sorting attribute/value(s) pair. Sorting attribute ID and value are separated by '='. The value describes the sort direction. Possible values are 'asc' and 'desc', for ascending or descending sort direction. I.e. sort=c_myAttribute=desc.\n\nPrecondition: You have to select your sorting attributes in Business Manager > YourSite > Search Indexes > Content Index > Sorting Attributes.",
|
|
860
1019
|
"required": false,
|
|
861
1020
|
"style": "form",
|
|
862
1021
|
"explode": true,
|
|
863
1022
|
"schema": {
|
|
864
1023
|
"type": "string",
|
|
1024
|
+
"example": "name=asc",
|
|
865
1025
|
"maxLength": 256
|
|
866
1026
|
}
|
|
867
1027
|
},
|
|
868
1028
|
{
|
|
869
1029
|
"name": "siteId",
|
|
870
1030
|
"in": "query",
|
|
1031
|
+
"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.",
|
|
871
1032
|
"required": true,
|
|
872
1033
|
"style": "form",
|
|
873
1034
|
"explode": true,
|
|
874
1035
|
"schema": {
|
|
875
1036
|
"$ref": "#/components/schemas/SiteId"
|
|
1037
|
+
},
|
|
1038
|
+
"examples": {
|
|
1039
|
+
"SiteId": {
|
|
1040
|
+
"value": "RefArch"
|
|
1041
|
+
}
|
|
876
1042
|
}
|
|
877
1043
|
},
|
|
878
1044
|
{
|
|
879
1045
|
"name": "locale",
|
|
880
1046
|
"in": "query",
|
|
1047
|
+
"description": "A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified.",
|
|
881
1048
|
"required": false,
|
|
882
1049
|
"style": "form",
|
|
883
1050
|
"explode": true,
|
|
884
1051
|
"schema": {
|
|
885
1052
|
"$ref": "#/components/schemas/LocaleCode"
|
|
1053
|
+
},
|
|
1054
|
+
"examples": {
|
|
1055
|
+
"LanguageCountry": {
|
|
1056
|
+
"value": "en-US"
|
|
1057
|
+
},
|
|
1058
|
+
"CountryCode": {
|
|
1059
|
+
"value": "US"
|
|
1060
|
+
}
|
|
886
1061
|
}
|
|
887
1062
|
},
|
|
888
1063
|
{
|
|
889
1064
|
"name": "limit",
|
|
890
1065
|
"in": "query",
|
|
1066
|
+
"description": "Number of records to retrieve per request. Must be between 1 (minimum) and 200 (maximum). Defaults to 50.",
|
|
891
1067
|
"required": false,
|
|
892
1068
|
"style": "form",
|
|
893
1069
|
"explode": true,
|
|
@@ -902,6 +1078,7 @@
|
|
|
902
1078
|
{
|
|
903
1079
|
"name": "offset",
|
|
904
1080
|
"in": "query",
|
|
1081
|
+
"description": "Used to retrieve the results based on a particular resource offset.",
|
|
905
1082
|
"required": false,
|
|
906
1083
|
"style": "form",
|
|
907
1084
|
"explode": true,
|
|
@@ -915,31 +1092,20 @@
|
|
|
915
1092
|
{
|
|
916
1093
|
"name": "sfdc_usid",
|
|
917
1094
|
"in": "header",
|
|
1095
|
+
"description": "A unique shopper identifier (USID) for tracking client context.\nUsed with endpoints secured with ShopperClientContextToken.\nThis header is required for all endpoints secured with ShopperClientContextToken.",
|
|
918
1096
|
"required": false,
|
|
919
1097
|
"style": "simple",
|
|
920
1098
|
"explode": false,
|
|
921
1099
|
"schema": {
|
|
922
1100
|
"type": "string",
|
|
923
|
-
"format": "uuid"
|
|
924
|
-
|
|
925
|
-
},
|
|
926
|
-
{
|
|
927
|
-
"name": "sfdc_dw_dnt",
|
|
928
|
-
"in": "header",
|
|
929
|
-
"required": false,
|
|
930
|
-
"style": "simple",
|
|
931
|
-
"explode": false,
|
|
932
|
-
"schema": {
|
|
933
|
-
"type": "string",
|
|
934
|
-
"enum": [
|
|
935
|
-
"0",
|
|
936
|
-
"1"
|
|
937
|
-
]
|
|
1101
|
+
"format": "uuid",
|
|
1102
|
+
"example": "550e8400-e29b-41d4-a716-446655440000"
|
|
938
1103
|
}
|
|
939
1104
|
},
|
|
940
1105
|
{
|
|
941
1106
|
"name": "personalized",
|
|
942
1107
|
"in": "query",
|
|
1108
|
+
"description": "Controls whether personalization is applied to the response. When set to `none`, the server skips applying personalization to the response.",
|
|
943
1109
|
"required": false,
|
|
944
1110
|
"style": "form",
|
|
945
1111
|
"explode": true,
|
|
@@ -947,12 +1113,14 @@
|
|
|
947
1113
|
"type": "string",
|
|
948
1114
|
"enum": [
|
|
949
1115
|
"none"
|
|
950
|
-
]
|
|
1116
|
+
],
|
|
1117
|
+
"example": "none"
|
|
951
1118
|
}
|
|
952
1119
|
},
|
|
953
1120
|
{
|
|
954
1121
|
"name": "sfdc_shopper_context",
|
|
955
1122
|
"in": "header",
|
|
1123
|
+
"description": "Shopper context information (for example clientIP, sourceCode, and customQualifiers)\npassed in from a trusted backend application.",
|
|
956
1124
|
"required": false,
|
|
957
1125
|
"style": "simple",
|
|
958
1126
|
"explode": false,
|
|
@@ -968,6 +1136,11 @@
|
|
|
968
1136
|
"application/json": {
|
|
969
1137
|
"schema": {
|
|
970
1138
|
"$ref": "#/components/schemas/ContentSearchResult"
|
|
1139
|
+
},
|
|
1140
|
+
"examples": {
|
|
1141
|
+
"ContentSearchResult": {
|
|
1142
|
+
"$ref": "#/components/examples/ContentSearchResult"
|
|
1143
|
+
}
|
|
971
1144
|
}
|
|
972
1145
|
}
|
|
973
1146
|
}
|
|
@@ -978,6 +1151,11 @@
|
|
|
978
1151
|
"application/problem+json": {
|
|
979
1152
|
"schema": {
|
|
980
1153
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
1154
|
+
},
|
|
1155
|
+
"examples": {
|
|
1156
|
+
"ContentSearchBadRequest": {
|
|
1157
|
+
"$ref": "#/components/examples/ContentSearchBadRequest"
|
|
1158
|
+
}
|
|
981
1159
|
}
|
|
982
1160
|
}
|
|
983
1161
|
}
|
|
@@ -999,21 +1177,26 @@
|
|
|
999
1177
|
},
|
|
1000
1178
|
"/organizations/{organizationId}/folders/{id}": {
|
|
1001
1179
|
"get": {
|
|
1180
|
+
"summary": "Get content folder",
|
|
1181
|
+
"description": "To access a content folder, you construct a URL using the template shown below. \nThis template requires you to specify a content folder id and a subfolder level. \nIn response, the server returns a corresponding content folder document. \nOnly content folders which are marked as online are returned.",
|
|
1002
1182
|
"operationId": "getContentFolder",
|
|
1003
1183
|
"parameters": [
|
|
1004
1184
|
{
|
|
1005
1185
|
"name": "organizationId",
|
|
1006
1186
|
"in": "path",
|
|
1187
|
+
"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).",
|
|
1007
1188
|
"required": true,
|
|
1008
1189
|
"style": "simple",
|
|
1009
1190
|
"explode": false,
|
|
1010
1191
|
"schema": {
|
|
1011
1192
|
"$ref": "#/components/schemas/OrganizationId"
|
|
1012
|
-
}
|
|
1193
|
+
},
|
|
1194
|
+
"example": "f_ecom_zzxy_prd"
|
|
1013
1195
|
},
|
|
1014
1196
|
{
|
|
1015
1197
|
"name": "id",
|
|
1016
1198
|
"in": "path",
|
|
1199
|
+
"description": "Identifier for the requested content folder.",
|
|
1017
1200
|
"required": true,
|
|
1018
1201
|
"style": "simple",
|
|
1019
1202
|
"explode": false,
|
|
@@ -1024,12 +1207,14 @@
|
|
|
1024
1207
|
{
|
|
1025
1208
|
"name": "levels",
|
|
1026
1209
|
"in": "query",
|
|
1210
|
+
"description": "Specifies how many levels of nested subfolders you want the server to return. The default value is 1. Valid values are 0, 1, or 2.",
|
|
1027
1211
|
"required": false,
|
|
1028
1212
|
"style": "form",
|
|
1029
1213
|
"explode": true,
|
|
1030
1214
|
"schema": {
|
|
1031
1215
|
"type": "integer",
|
|
1032
1216
|
"default": 1,
|
|
1217
|
+
"example": 1,
|
|
1033
1218
|
"maximum": 2,
|
|
1034
1219
|
"minimum": 0
|
|
1035
1220
|
}
|
|
@@ -1037,51 +1222,55 @@
|
|
|
1037
1222
|
{
|
|
1038
1223
|
"name": "siteId",
|
|
1039
1224
|
"in": "query",
|
|
1225
|
+
"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.",
|
|
1040
1226
|
"required": true,
|
|
1041
1227
|
"style": "form",
|
|
1042
1228
|
"explode": true,
|
|
1043
1229
|
"schema": {
|
|
1044
1230
|
"$ref": "#/components/schemas/SiteId"
|
|
1231
|
+
},
|
|
1232
|
+
"examples": {
|
|
1233
|
+
"SiteId": {
|
|
1234
|
+
"value": "RefArch"
|
|
1235
|
+
}
|
|
1045
1236
|
}
|
|
1046
1237
|
},
|
|
1047
1238
|
{
|
|
1048
1239
|
"name": "locale",
|
|
1049
1240
|
"in": "query",
|
|
1241
|
+
"description": "A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified.",
|
|
1050
1242
|
"required": false,
|
|
1051
1243
|
"style": "form",
|
|
1052
1244
|
"explode": true,
|
|
1053
1245
|
"schema": {
|
|
1054
1246
|
"$ref": "#/components/schemas/LocaleCode"
|
|
1247
|
+
},
|
|
1248
|
+
"examples": {
|
|
1249
|
+
"LanguageCountry": {
|
|
1250
|
+
"value": "en-US"
|
|
1251
|
+
},
|
|
1252
|
+
"CountryCode": {
|
|
1253
|
+
"value": "US"
|
|
1254
|
+
}
|
|
1055
1255
|
}
|
|
1056
1256
|
},
|
|
1057
1257
|
{
|
|
1058
1258
|
"name": "sfdc_usid",
|
|
1059
1259
|
"in": "header",
|
|
1260
|
+
"description": "A unique shopper identifier (USID) for tracking client context.\nUsed with endpoints secured with ShopperClientContextToken.\nThis header is required for all endpoints secured with ShopperClientContextToken.",
|
|
1060
1261
|
"required": false,
|
|
1061
1262
|
"style": "simple",
|
|
1062
1263
|
"explode": false,
|
|
1063
1264
|
"schema": {
|
|
1064
1265
|
"type": "string",
|
|
1065
|
-
"format": "uuid"
|
|
1066
|
-
|
|
1067
|
-
},
|
|
1068
|
-
{
|
|
1069
|
-
"name": "sfdc_dw_dnt",
|
|
1070
|
-
"in": "header",
|
|
1071
|
-
"required": false,
|
|
1072
|
-
"style": "simple",
|
|
1073
|
-
"explode": false,
|
|
1074
|
-
"schema": {
|
|
1075
|
-
"type": "string",
|
|
1076
|
-
"enum": [
|
|
1077
|
-
"0",
|
|
1078
|
-
"1"
|
|
1079
|
-
]
|
|
1266
|
+
"format": "uuid",
|
|
1267
|
+
"example": "550e8400-e29b-41d4-a716-446655440000"
|
|
1080
1268
|
}
|
|
1081
1269
|
},
|
|
1082
1270
|
{
|
|
1083
1271
|
"name": "personalized",
|
|
1084
1272
|
"in": "query",
|
|
1273
|
+
"description": "Controls whether personalization is applied to the response. When set to `none`, the server skips applying personalization to the response.",
|
|
1085
1274
|
"required": false,
|
|
1086
1275
|
"style": "form",
|
|
1087
1276
|
"explode": true,
|
|
@@ -1089,12 +1278,14 @@
|
|
|
1089
1278
|
"type": "string",
|
|
1090
1279
|
"enum": [
|
|
1091
1280
|
"none"
|
|
1092
|
-
]
|
|
1281
|
+
],
|
|
1282
|
+
"example": "none"
|
|
1093
1283
|
}
|
|
1094
1284
|
},
|
|
1095
1285
|
{
|
|
1096
1286
|
"name": "sfdc_shopper_context",
|
|
1097
1287
|
"in": "header",
|
|
1288
|
+
"description": "Shopper context information (for example clientIP, sourceCode, and customQualifiers)\npassed in from a trusted backend application.",
|
|
1098
1289
|
"required": false,
|
|
1099
1290
|
"style": "simple",
|
|
1100
1291
|
"explode": false,
|
|
@@ -1110,6 +1301,11 @@
|
|
|
1110
1301
|
"application/json": {
|
|
1111
1302
|
"schema": {
|
|
1112
1303
|
"$ref": "#/components/schemas/ContentFolder"
|
|
1304
|
+
},
|
|
1305
|
+
"examples": {
|
|
1306
|
+
"ContentFolder": {
|
|
1307
|
+
"$ref": "#/components/examples/ContentFolder"
|
|
1308
|
+
}
|
|
1113
1309
|
}
|
|
1114
1310
|
}
|
|
1115
1311
|
}
|
|
@@ -1120,6 +1316,11 @@
|
|
|
1120
1316
|
"application/problem+json": {
|
|
1121
1317
|
"schema": {
|
|
1122
1318
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
1319
|
+
},
|
|
1320
|
+
"examples": {
|
|
1321
|
+
"InvalidLevelsParameter": {
|
|
1322
|
+
"$ref": "#/components/examples/InvalidLevelsParameter"
|
|
1323
|
+
}
|
|
1123
1324
|
}
|
|
1124
1325
|
}
|
|
1125
1326
|
}
|
|
@@ -1136,6 +1337,11 @@
|
|
|
1136
1337
|
"application/problem+json": {
|
|
1137
1338
|
"schema": {
|
|
1138
1339
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
1340
|
+
},
|
|
1341
|
+
"examples": {
|
|
1342
|
+
"ContentFolderNotFound": {
|
|
1343
|
+
"$ref": "#/components/examples/ContentFolderNotFound"
|
|
1344
|
+
}
|
|
1139
1345
|
}
|
|
1140
1346
|
}
|
|
1141
1347
|
}
|
|
@@ -1157,26 +1363,36 @@
|
|
|
1157
1363
|
},
|
|
1158
1364
|
"/organizations/{organizationId}/folders": {
|
|
1159
1365
|
"get": {
|
|
1366
|
+
"summary": "Get multiple content folders",
|
|
1367
|
+
"description": "To access one or more content folders, you construct a URL using the template shown below. \nThis template requires you to specify one or more content folder ids as a query parameter and a subfolder level. \nIn response, the server returns a result set of corresponding content folder documents. \nOnly content folders which are marked as online are returned.",
|
|
1160
1368
|
"operationId": "getContentFolders",
|
|
1161
1369
|
"parameters": [
|
|
1162
1370
|
{
|
|
1163
1371
|
"name": "organizationId",
|
|
1164
1372
|
"in": "path",
|
|
1373
|
+
"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).",
|
|
1165
1374
|
"required": true,
|
|
1166
1375
|
"style": "simple",
|
|
1167
1376
|
"explode": false,
|
|
1168
1377
|
"schema": {
|
|
1169
1378
|
"$ref": "#/components/schemas/OrganizationId"
|
|
1170
|
-
}
|
|
1379
|
+
},
|
|
1380
|
+
"example": "f_ecom_zzxy_prd"
|
|
1171
1381
|
},
|
|
1172
1382
|
{
|
|
1173
1383
|
"name": "ids",
|
|
1174
1384
|
"in": "query",
|
|
1385
|
+
"description": "Comma-separated list of content folder identifiers.",
|
|
1175
1386
|
"required": true,
|
|
1176
1387
|
"style": "form",
|
|
1177
1388
|
"explode": false,
|
|
1178
1389
|
"schema": {
|
|
1179
1390
|
"type": "array",
|
|
1391
|
+
"example": [
|
|
1392
|
+
"homepage-folder",
|
|
1393
|
+
"category-folder",
|
|
1394
|
+
"product-folder"
|
|
1395
|
+
],
|
|
1180
1396
|
"items": {
|
|
1181
1397
|
"allOf": [
|
|
1182
1398
|
{
|
|
@@ -1186,17 +1402,20 @@
|
|
|
1186
1402
|
},
|
|
1187
1403
|
"maxItems": 50,
|
|
1188
1404
|
"minItems": 1
|
|
1189
|
-
}
|
|
1405
|
+
},
|
|
1406
|
+
"example": "homepage-folder,category-folder,product-folder"
|
|
1190
1407
|
},
|
|
1191
1408
|
{
|
|
1192
1409
|
"name": "levels",
|
|
1193
1410
|
"in": "query",
|
|
1411
|
+
"description": "Specifies how many levels of nested subfolders you want the server to return. The default value is 1. Valid values are 0, 1, or 2.",
|
|
1194
1412
|
"required": false,
|
|
1195
1413
|
"style": "form",
|
|
1196
1414
|
"explode": true,
|
|
1197
1415
|
"schema": {
|
|
1198
1416
|
"type": "integer",
|
|
1199
1417
|
"default": 1,
|
|
1418
|
+
"example": 1,
|
|
1200
1419
|
"maximum": 2,
|
|
1201
1420
|
"minimum": 0
|
|
1202
1421
|
}
|
|
@@ -1204,51 +1423,55 @@
|
|
|
1204
1423
|
{
|
|
1205
1424
|
"name": "siteId",
|
|
1206
1425
|
"in": "query",
|
|
1426
|
+
"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.",
|
|
1207
1427
|
"required": true,
|
|
1208
1428
|
"style": "form",
|
|
1209
1429
|
"explode": true,
|
|
1210
1430
|
"schema": {
|
|
1211
1431
|
"$ref": "#/components/schemas/SiteId"
|
|
1432
|
+
},
|
|
1433
|
+
"examples": {
|
|
1434
|
+
"SiteId": {
|
|
1435
|
+
"value": "RefArch"
|
|
1436
|
+
}
|
|
1212
1437
|
}
|
|
1213
1438
|
},
|
|
1214
1439
|
{
|
|
1215
1440
|
"name": "locale",
|
|
1216
1441
|
"in": "query",
|
|
1442
|
+
"description": "A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified.",
|
|
1217
1443
|
"required": false,
|
|
1218
1444
|
"style": "form",
|
|
1219
1445
|
"explode": true,
|
|
1220
1446
|
"schema": {
|
|
1221
1447
|
"$ref": "#/components/schemas/LocaleCode"
|
|
1448
|
+
},
|
|
1449
|
+
"examples": {
|
|
1450
|
+
"LanguageCountry": {
|
|
1451
|
+
"value": "en-US"
|
|
1452
|
+
},
|
|
1453
|
+
"CountryCode": {
|
|
1454
|
+
"value": "US"
|
|
1455
|
+
}
|
|
1222
1456
|
}
|
|
1223
1457
|
},
|
|
1224
1458
|
{
|
|
1225
1459
|
"name": "sfdc_usid",
|
|
1226
1460
|
"in": "header",
|
|
1461
|
+
"description": "A unique shopper identifier (USID) for tracking client context.\nUsed with endpoints secured with ShopperClientContextToken.\nThis header is required for all endpoints secured with ShopperClientContextToken.",
|
|
1227
1462
|
"required": false,
|
|
1228
1463
|
"style": "simple",
|
|
1229
1464
|
"explode": false,
|
|
1230
1465
|
"schema": {
|
|
1231
1466
|
"type": "string",
|
|
1232
|
-
"format": "uuid"
|
|
1233
|
-
|
|
1234
|
-
},
|
|
1235
|
-
{
|
|
1236
|
-
"name": "sfdc_dw_dnt",
|
|
1237
|
-
"in": "header",
|
|
1238
|
-
"required": false,
|
|
1239
|
-
"style": "simple",
|
|
1240
|
-
"explode": false,
|
|
1241
|
-
"schema": {
|
|
1242
|
-
"type": "string",
|
|
1243
|
-
"enum": [
|
|
1244
|
-
"0",
|
|
1245
|
-
"1"
|
|
1246
|
-
]
|
|
1467
|
+
"format": "uuid",
|
|
1468
|
+
"example": "550e8400-e29b-41d4-a716-446655440000"
|
|
1247
1469
|
}
|
|
1248
1470
|
},
|
|
1249
1471
|
{
|
|
1250
1472
|
"name": "personalized",
|
|
1251
1473
|
"in": "query",
|
|
1474
|
+
"description": "Controls whether personalization is applied to the response. When set to `none`, the server skips applying personalization to the response.",
|
|
1252
1475
|
"required": false,
|
|
1253
1476
|
"style": "form",
|
|
1254
1477
|
"explode": true,
|
|
@@ -1256,12 +1479,14 @@
|
|
|
1256
1479
|
"type": "string",
|
|
1257
1480
|
"enum": [
|
|
1258
1481
|
"none"
|
|
1259
|
-
]
|
|
1482
|
+
],
|
|
1483
|
+
"example": "none"
|
|
1260
1484
|
}
|
|
1261
1485
|
},
|
|
1262
1486
|
{
|
|
1263
1487
|
"name": "sfdc_shopper_context",
|
|
1264
1488
|
"in": "header",
|
|
1489
|
+
"description": "Shopper context information (for example clientIP, sourceCode, and customQualifiers)\npassed in from a trusted backend application.",
|
|
1265
1490
|
"required": false,
|
|
1266
1491
|
"style": "simple",
|
|
1267
1492
|
"explode": false,
|
|
@@ -1277,6 +1502,11 @@
|
|
|
1277
1502
|
"application/json": {
|
|
1278
1503
|
"schema": {
|
|
1279
1504
|
"$ref": "#/components/schemas/ContentFolderResult"
|
|
1505
|
+
},
|
|
1506
|
+
"examples": {
|
|
1507
|
+
"ContentFolderResult": {
|
|
1508
|
+
"$ref": "#/components/examples/ContentFolderResult"
|
|
1509
|
+
}
|
|
1280
1510
|
}
|
|
1281
1511
|
}
|
|
1282
1512
|
}
|
|
@@ -1287,6 +1517,11 @@
|
|
|
1287
1517
|
"application/problem+json": {
|
|
1288
1518
|
"schema": {
|
|
1289
1519
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
1520
|
+
},
|
|
1521
|
+
"examples": {
|
|
1522
|
+
"InvalidLevelsParameter": {
|
|
1523
|
+
"$ref": "#/components/examples/InvalidLevelsParameter"
|
|
1524
|
+
}
|
|
1290
1525
|
}
|
|
1291
1526
|
}
|
|
1292
1527
|
}
|
|
@@ -1314,66 +1549,74 @@
|
|
|
1314
1549
|
},
|
|
1315
1550
|
"/organizations/{organizationId}/qualifiers/resolve": {
|
|
1316
1551
|
"post": {
|
|
1552
|
+
"summary": "Resolve qualifiers for customer groups, campaign promotions, and data binding contexts.",
|
|
1553
|
+
"description": "Resolves a list of customer groups, campaigns, promotions, and data bindings for the given user.\n\nThe endpoint takes each value and determines whether the user is active for the item:\n- Customer groups are verified against the user's qualification via the EffectiveContext.\n- Campaign qualifiers are checked to determine if the user is applicable for each campaign and promotion.\n- Data bindings are resolved by fetching the requested records from their respective data providers.\n\nReturns a boolean result for each provided qualifier and resolved data binding objects grouped by provider type and record identifier. If a qualifier cannot be validated, `false` is returned for that item. If a data binding cannot be resolved, it is omitted from the response.\n",
|
|
1317
1554
|
"operationId": "resolveQualifiers",
|
|
1318
1555
|
"parameters": [
|
|
1319
1556
|
{
|
|
1320
1557
|
"name": "organizationId",
|
|
1321
1558
|
"in": "path",
|
|
1559
|
+
"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).",
|
|
1322
1560
|
"required": true,
|
|
1323
1561
|
"style": "simple",
|
|
1324
1562
|
"explode": false,
|
|
1325
1563
|
"schema": {
|
|
1326
1564
|
"$ref": "#/components/schemas/OrganizationId"
|
|
1327
|
-
}
|
|
1565
|
+
},
|
|
1566
|
+
"example": "f_ecom_zzxy_prd"
|
|
1328
1567
|
},
|
|
1329
1568
|
{
|
|
1330
1569
|
"name": "siteId",
|
|
1331
1570
|
"in": "query",
|
|
1571
|
+
"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.",
|
|
1332
1572
|
"required": true,
|
|
1333
1573
|
"style": "form",
|
|
1334
1574
|
"explode": true,
|
|
1335
1575
|
"schema": {
|
|
1336
1576
|
"$ref": "#/components/schemas/SiteId"
|
|
1577
|
+
},
|
|
1578
|
+
"examples": {
|
|
1579
|
+
"SiteId": {
|
|
1580
|
+
"value": "RefArch"
|
|
1581
|
+
}
|
|
1337
1582
|
}
|
|
1338
1583
|
},
|
|
1339
1584
|
{
|
|
1340
1585
|
"name": "locale",
|
|
1341
1586
|
"in": "query",
|
|
1587
|
+
"description": "A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified.",
|
|
1342
1588
|
"required": false,
|
|
1343
1589
|
"style": "form",
|
|
1344
1590
|
"explode": true,
|
|
1345
1591
|
"schema": {
|
|
1346
1592
|
"$ref": "#/components/schemas/LocaleCode"
|
|
1593
|
+
},
|
|
1594
|
+
"examples": {
|
|
1595
|
+
"LanguageCountry": {
|
|
1596
|
+
"value": "en-US"
|
|
1597
|
+
},
|
|
1598
|
+
"CountryCode": {
|
|
1599
|
+
"value": "US"
|
|
1600
|
+
}
|
|
1347
1601
|
}
|
|
1348
1602
|
},
|
|
1349
1603
|
{
|
|
1350
1604
|
"name": "sfdc_usid",
|
|
1351
1605
|
"in": "header",
|
|
1606
|
+
"description": "A unique shopper identifier (USID) for tracking client context.\nUsed with endpoints secured with ShopperClientContextToken.\nThis header is required for all endpoints secured with ShopperClientContextToken.",
|
|
1352
1607
|
"required": false,
|
|
1353
1608
|
"style": "simple",
|
|
1354
1609
|
"explode": false,
|
|
1355
1610
|
"schema": {
|
|
1356
1611
|
"type": "string",
|
|
1357
|
-
"format": "uuid"
|
|
1358
|
-
|
|
1359
|
-
},
|
|
1360
|
-
{
|
|
1361
|
-
"name": "sfdc_dw_dnt",
|
|
1362
|
-
"in": "header",
|
|
1363
|
-
"required": false,
|
|
1364
|
-
"style": "simple",
|
|
1365
|
-
"explode": false,
|
|
1366
|
-
"schema": {
|
|
1367
|
-
"type": "string",
|
|
1368
|
-
"enum": [
|
|
1369
|
-
"0",
|
|
1370
|
-
"1"
|
|
1371
|
-
]
|
|
1612
|
+
"format": "uuid",
|
|
1613
|
+
"example": "550e8400-e29b-41d4-a716-446655440000"
|
|
1372
1614
|
}
|
|
1373
1615
|
},
|
|
1374
1616
|
{
|
|
1375
1617
|
"name": "sfdc_shopper_context",
|
|
1376
1618
|
"in": "header",
|
|
1619
|
+
"description": "Shopper context information (for example clientIP, sourceCode, and customQualifiers)\npassed in from a trusted backend application.",
|
|
1377
1620
|
"required": false,
|
|
1378
1621
|
"style": "simple",
|
|
1379
1622
|
"explode": false,
|
|
@@ -1387,6 +1630,11 @@
|
|
|
1387
1630
|
"application/json": {
|
|
1388
1631
|
"schema": {
|
|
1389
1632
|
"$ref": "#/components/schemas/QualifierResolveRequest"
|
|
1633
|
+
},
|
|
1634
|
+
"examples": {
|
|
1635
|
+
"QualifierResolveRequest": {
|
|
1636
|
+
"$ref": "#/components/examples/QualifierResolveRequest"
|
|
1637
|
+
}
|
|
1390
1638
|
}
|
|
1391
1639
|
}
|
|
1392
1640
|
},
|
|
@@ -1399,6 +1647,11 @@
|
|
|
1399
1647
|
"application/json": {
|
|
1400
1648
|
"schema": {
|
|
1401
1649
|
"$ref": "#/components/schemas/QualifierResolveResponse"
|
|
1650
|
+
},
|
|
1651
|
+
"examples": {
|
|
1652
|
+
"QualifierResolveResponse": {
|
|
1653
|
+
"$ref": "#/components/examples/QualifierResolveResponse"
|
|
1654
|
+
}
|
|
1402
1655
|
}
|
|
1403
1656
|
}
|
|
1404
1657
|
}
|
|
@@ -1409,6 +1662,23 @@
|
|
|
1409
1662
|
"application/problem+json": {
|
|
1410
1663
|
"schema": {
|
|
1411
1664
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
1665
|
+
},
|
|
1666
|
+
"examples": {
|
|
1667
|
+
"QualifierResolveBadRequest": {
|
|
1668
|
+
"$ref": "#/components/examples/QualifierResolveBadRequest"
|
|
1669
|
+
},
|
|
1670
|
+
"QualifierResolveTooManyItems": {
|
|
1671
|
+
"$ref": "#/components/examples/QualifierResolveTooManyItems"
|
|
1672
|
+
},
|
|
1673
|
+
"QualifierResolveInvalidIdentifier": {
|
|
1674
|
+
"$ref": "#/components/examples/QualifierResolveInvalidIdentifier"
|
|
1675
|
+
},
|
|
1676
|
+
"QualifierResolveInvalidDataBindingType": {
|
|
1677
|
+
"$ref": "#/components/examples/QualifierResolveInvalidDataBindingType"
|
|
1678
|
+
},
|
|
1679
|
+
"QualifierResolveInvalidDataBindingId": {
|
|
1680
|
+
"$ref": "#/components/examples/QualifierResolveInvalidDataBindingId"
|
|
1681
|
+
}
|
|
1412
1682
|
}
|
|
1413
1683
|
}
|
|
1414
1684
|
}
|
|
@@ -1433,27 +1703,38 @@
|
|
|
1433
1703
|
"schemas": {
|
|
1434
1704
|
"OrganizationId": {
|
|
1435
1705
|
"type": "string",
|
|
1706
|
+
"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).",
|
|
1707
|
+
"example": "f_ecom_zzxy_prd",
|
|
1436
1708
|
"pattern": "^f_ecom_[a-z]{4}_(prd|stg|dev|s[0-9]{2}|[0-9]{3})$"
|
|
1437
1709
|
},
|
|
1438
1710
|
"SiteId": {
|
|
1439
1711
|
"type": "string",
|
|
1712
|
+
"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",
|
|
1713
|
+
"example": "RefArch",
|
|
1440
1714
|
"maxLength": 32,
|
|
1441
1715
|
"minLength": 1
|
|
1442
1716
|
},
|
|
1443
1717
|
"LanguageCountry": {
|
|
1444
1718
|
"type": "string",
|
|
1719
|
+
"description": "A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'.",
|
|
1720
|
+
"example": "en-US",
|
|
1445
1721
|
"pattern": "^[a-z][a-z]-[A-Z][A-Z]$"
|
|
1446
1722
|
},
|
|
1447
1723
|
"LanguageCode": {
|
|
1448
1724
|
"type": "string",
|
|
1725
|
+
"description": "A two letter lowercase language code conforming to the [ISO 639-1](https://www.iso.org/iso-639-language-codes.html) standard. Additionally, this may be used to submit requests with the header parameter `Accept-Language`, following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766).",
|
|
1726
|
+
"example": "en",
|
|
1449
1727
|
"pattern": "^[a-z][a-z]$"
|
|
1450
1728
|
},
|
|
1451
1729
|
"DefaultFallback": {
|
|
1452
1730
|
"type": "string",
|
|
1453
1731
|
"default": "default",
|
|
1732
|
+
"description": "A specialized value indicating the system default values for locales.",
|
|
1733
|
+
"example": "default",
|
|
1454
1734
|
"pattern": "^default$"
|
|
1455
1735
|
},
|
|
1456
1736
|
"LocaleCode": {
|
|
1737
|
+
"description": "A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified.",
|
|
1457
1738
|
"oneOf": [
|
|
1458
1739
|
{
|
|
1459
1740
|
"$ref": "#/components/schemas/LanguageCountry"
|
|
@@ -1471,13 +1752,31 @@
|
|
|
1471
1752
|
"properties": {
|
|
1472
1753
|
"id": {
|
|
1473
1754
|
"type": "string",
|
|
1474
|
-
"
|
|
1755
|
+
"description": "Region identifier.",
|
|
1756
|
+
"example": "header",
|
|
1757
|
+
"maxLength": 256,
|
|
1758
|
+
"title": "ID"
|
|
1475
1759
|
},
|
|
1476
1760
|
"components": {
|
|
1477
1761
|
"type": "array",
|
|
1762
|
+
"description": "The components in the region.",
|
|
1763
|
+
"example": [
|
|
1764
|
+
{
|
|
1765
|
+
"id": "iofwj38fhw3f",
|
|
1766
|
+
"typeId": "commerce_assets.banner",
|
|
1767
|
+
"data": {
|
|
1768
|
+
"title": "Products On Sale",
|
|
1769
|
+
"bannerImage": "sale/topsellerPromo.jpg"
|
|
1770
|
+
},
|
|
1771
|
+
"custom": {
|
|
1772
|
+
"thumbnail_full": "http://static.myshop.com/sale/topsellerPromo.jpg"
|
|
1773
|
+
}
|
|
1774
|
+
}
|
|
1775
|
+
],
|
|
1478
1776
|
"items": {
|
|
1479
1777
|
"$ref": "#/components/schemas/Component"
|
|
1480
|
-
}
|
|
1778
|
+
},
|
|
1779
|
+
"title": "Components"
|
|
1481
1780
|
}
|
|
1482
1781
|
},
|
|
1483
1782
|
"required": [
|
|
@@ -1489,49 +1788,114 @@
|
|
|
1489
1788
|
"properties": {
|
|
1490
1789
|
"id": {
|
|
1491
1790
|
"type": "string",
|
|
1492
|
-
"
|
|
1791
|
+
"description": "Component identifier.",
|
|
1792
|
+
"example": "rfdvj4ojtltljw3",
|
|
1793
|
+
"maxLength": 256,
|
|
1794
|
+
"title": "ID"
|
|
1493
1795
|
},
|
|
1494
1796
|
"typeId": {
|
|
1495
1797
|
"type": "string",
|
|
1496
|
-
"
|
|
1798
|
+
"description": "Component type identifier.",
|
|
1799
|
+
"example": "commerce_assets.carousel",
|
|
1800
|
+
"maxLength": 256,
|
|
1801
|
+
"title": "Component Type ID"
|
|
1497
1802
|
},
|
|
1498
1803
|
"name": {
|
|
1499
1804
|
"type": "string",
|
|
1500
|
-
"
|
|
1805
|
+
"description": "Display name of the component.",
|
|
1806
|
+
"example": "Topseller Carousel",
|
|
1807
|
+
"maxLength": 256,
|
|
1808
|
+
"title": "Component Name"
|
|
1501
1809
|
},
|
|
1502
1810
|
"fragment": {
|
|
1503
|
-
"type": "boolean"
|
|
1811
|
+
"type": "boolean",
|
|
1812
|
+
"description": "Indicates whether the component is a fragment. True if the component is a fragment, otherwise false.",
|
|
1813
|
+
"example": false,
|
|
1814
|
+
"title": "Fragment"
|
|
1504
1815
|
},
|
|
1505
1816
|
"embedded": {
|
|
1506
|
-
"type": "boolean"
|
|
1817
|
+
"type": "boolean",
|
|
1818
|
+
"description": "Indicates whether the component is embedded in another component. True if the component is embedded, otherwise false.",
|
|
1819
|
+
"example": false,
|
|
1820
|
+
"title": "Embedded"
|
|
1507
1821
|
},
|
|
1508
1822
|
"contentLinkUuid": {
|
|
1509
1823
|
"type": "string",
|
|
1510
|
-
"
|
|
1824
|
+
"description": "Represents a globally unique identifier for every instance of a content component (or fragment) rendered on a page.",
|
|
1825
|
+
"example": "0e1f329d4ac66ff2c3bbf70301",
|
|
1826
|
+
"maxLength": 256,
|
|
1827
|
+
"title": "Content Link UUID"
|
|
1511
1828
|
},
|
|
1512
1829
|
"data": {
|
|
1513
1830
|
"type": "object",
|
|
1514
|
-
"additionalProperties": false
|
|
1831
|
+
"additionalProperties": false,
|
|
1832
|
+
"description": "The configuration data assigned to the component.",
|
|
1833
|
+
"example": {
|
|
1834
|
+
"title": "Topseller",
|
|
1835
|
+
"category": "topseller"
|
|
1836
|
+
},
|
|
1837
|
+
"title": "Component Data"
|
|
1515
1838
|
},
|
|
1516
1839
|
"localized": {
|
|
1517
|
-
"type": "boolean"
|
|
1840
|
+
"type": "boolean",
|
|
1841
|
+
"description": "Whether the component has been localized with content in the current locale. If false, the components content will fallback to the default locale.",
|
|
1842
|
+
"example": true,
|
|
1843
|
+
"title": "Localized"
|
|
1518
1844
|
},
|
|
1519
1845
|
"visible": {
|
|
1520
|
-
"type": "boolean"
|
|
1846
|
+
"type": "boolean",
|
|
1847
|
+
"description": "Whether the component is visible based on the current visiblity rules and context.",
|
|
1848
|
+
"example": true,
|
|
1849
|
+
"title": "Visibility"
|
|
1521
1850
|
},
|
|
1522
1851
|
"custom": {
|
|
1523
1852
|
"type": "object",
|
|
1524
|
-
"additionalProperties": false
|
|
1853
|
+
"additionalProperties": false,
|
|
1854
|
+
"description": "Any custom data added by the custom code for this component.",
|
|
1855
|
+
"example": {
|
|
1856
|
+
"detailUrl": "www.myshop.com/topseller"
|
|
1857
|
+
},
|
|
1858
|
+
"title": "Custom Component Data"
|
|
1525
1859
|
},
|
|
1526
1860
|
"designMetadata": {
|
|
1527
1861
|
"type": "object",
|
|
1528
|
-
"additionalProperties": false
|
|
1862
|
+
"additionalProperties": false,
|
|
1863
|
+
"description": "Design metadata of the component. This includes information about the component type definition needed by the page designer for design-time functionality.",
|
|
1864
|
+
"example": {
|
|
1865
|
+
"id": "commerce_assets.carousel",
|
|
1866
|
+
"name": "Carousel Component",
|
|
1867
|
+
"archType": "headless"
|
|
1868
|
+
},
|
|
1869
|
+
"title": "Design Metadata"
|
|
1529
1870
|
},
|
|
1530
1871
|
"regions": {
|
|
1531
1872
|
"type": "array",
|
|
1873
|
+
"description": "The regions (and their assigned components) for the component.",
|
|
1874
|
+
"example": [
|
|
1875
|
+
{
|
|
1876
|
+
"id": "tiles",
|
|
1877
|
+
"components": [
|
|
1878
|
+
{
|
|
1879
|
+
"id": "w3reö9wsjf3",
|
|
1880
|
+
"typeId": "commerce_assets.productTile",
|
|
1881
|
+
"data": {
|
|
1882
|
+
"product": "iphone6"
|
|
1883
|
+
}
|
|
1884
|
+
},
|
|
1885
|
+
{
|
|
1886
|
+
"id": "cgn8d4ngdl4n",
|
|
1887
|
+
"typeId": "commerce_assets.productTile",
|
|
1888
|
+
"data": {
|
|
1889
|
+
"product": "iphone7"
|
|
1890
|
+
}
|
|
1891
|
+
}
|
|
1892
|
+
]
|
|
1893
|
+
}
|
|
1894
|
+
],
|
|
1532
1895
|
"items": {
|
|
1533
1896
|
"$ref": "#/components/schemas/Region"
|
|
1534
|
-
}
|
|
1897
|
+
},
|
|
1898
|
+
"title": "Regions"
|
|
1535
1899
|
}
|
|
1536
1900
|
},
|
|
1537
1901
|
"required": [
|
|
@@ -1544,59 +1908,167 @@
|
|
|
1544
1908
|
"properties": {
|
|
1545
1909
|
"id": {
|
|
1546
1910
|
"type": "string",
|
|
1547
|
-
"
|
|
1911
|
+
"description": "Page identifier.",
|
|
1912
|
+
"example": "homepage",
|
|
1913
|
+
"maxLength": 256,
|
|
1914
|
+
"title": "ID"
|
|
1548
1915
|
},
|
|
1549
1916
|
"typeId": {
|
|
1550
1917
|
"type": "string",
|
|
1551
|
-
"
|
|
1918
|
+
"description": "Page type identifier.",
|
|
1919
|
+
"example": "storePage",
|
|
1920
|
+
"maxLength": 256,
|
|
1921
|
+
"title": "Page Type ID"
|
|
1552
1922
|
},
|
|
1553
1923
|
"aspectTypeId": {
|
|
1554
1924
|
"type": "string",
|
|
1555
|
-
"
|
|
1925
|
+
"description": "The aspect type assigned to the page.",
|
|
1926
|
+
"example": "pdpAspect",
|
|
1927
|
+
"maxLength": 256,
|
|
1928
|
+
"title": "Aspect Type ID"
|
|
1556
1929
|
},
|
|
1557
1930
|
"name": {
|
|
1558
1931
|
"type": "string",
|
|
1559
|
-
"
|
|
1932
|
+
"description": "Display name of the page.",
|
|
1933
|
+
"example": "Homepage",
|
|
1934
|
+
"maxLength": 4000,
|
|
1935
|
+
"title": "Page Name"
|
|
1560
1936
|
},
|
|
1561
1937
|
"description": {
|
|
1562
1938
|
"type": "string",
|
|
1563
|
-
"
|
|
1939
|
+
"description": "Description of the page.",
|
|
1940
|
+
"example": "Home page of the storefront.",
|
|
1941
|
+
"maxLength": 4000,
|
|
1942
|
+
"title": "Page Description"
|
|
1564
1943
|
},
|
|
1565
1944
|
"pageTitle": {
|
|
1566
1945
|
"type": "string",
|
|
1567
|
-
"
|
|
1946
|
+
"description": "The SEO title of the page.",
|
|
1947
|
+
"example": "Homepage - My Shop",
|
|
1948
|
+
"maxLength": 4000,
|
|
1949
|
+
"title": "SEO Title"
|
|
1568
1950
|
},
|
|
1569
1951
|
"pageDescription": {
|
|
1570
1952
|
"type": "string",
|
|
1571
|
-
"
|
|
1953
|
+
"description": "The SEO description of the page.",
|
|
1954
|
+
"example": "Get started shopping",
|
|
1955
|
+
"maxLength": 4000,
|
|
1956
|
+
"title": "SEO Description"
|
|
1572
1957
|
},
|
|
1573
1958
|
"pageKeywords": {
|
|
1574
1959
|
"type": "string",
|
|
1575
|
-
"
|
|
1960
|
+
"description": "The SEO keywords of the page.",
|
|
1961
|
+
"example": "fashion, my shop",
|
|
1962
|
+
"maxLength": 4000,
|
|
1963
|
+
"title": "SEO Keywords"
|
|
1576
1964
|
},
|
|
1577
1965
|
"data": {
|
|
1578
1966
|
"type": "object",
|
|
1579
|
-
"additionalProperties": false
|
|
1967
|
+
"additionalProperties": false,
|
|
1968
|
+
"description": "The configuration data assigned to the page.",
|
|
1969
|
+
"example": {
|
|
1970
|
+
"thumbnail": "myshop.jpg"
|
|
1971
|
+
},
|
|
1972
|
+
"title": "Page Data"
|
|
1580
1973
|
},
|
|
1581
1974
|
"custom": {
|
|
1582
1975
|
"type": "object",
|
|
1583
|
-
"additionalProperties": false
|
|
1976
|
+
"additionalProperties": false,
|
|
1977
|
+
"description": "Any custom data added by the custom code for the page type.",
|
|
1978
|
+
"example": {
|
|
1979
|
+
"thumbnail_full": "http://static.myshop.com/myshop.jpg"
|
|
1980
|
+
},
|
|
1981
|
+
"title": "Custom Page Data"
|
|
1584
1982
|
},
|
|
1585
1983
|
"visible": {
|
|
1586
|
-
"type": "boolean"
|
|
1984
|
+
"type": "boolean",
|
|
1985
|
+
"description": "Whether the page is visible based on the current visiblity rules and context.",
|
|
1986
|
+
"example": true,
|
|
1987
|
+
"title": "Visibility"
|
|
1587
1988
|
},
|
|
1588
1989
|
"localized": {
|
|
1589
|
-
"type": "boolean"
|
|
1990
|
+
"type": "boolean",
|
|
1991
|
+
"description": "Whether the page has been localized with content in the current locale. If false, the page content will fallback to the default locale.",
|
|
1992
|
+
"example": true,
|
|
1993
|
+
"title": "Localized"
|
|
1590
1994
|
},
|
|
1591
1995
|
"designMetadata": {
|
|
1592
1996
|
"type": "object",
|
|
1593
|
-
"additionalProperties": false
|
|
1997
|
+
"additionalProperties": false,
|
|
1998
|
+
"description": "Design metadata of the page. This includes information about the page type definition needed by the page designer for design-time functionality.",
|
|
1999
|
+
"example": {
|
|
2000
|
+
"id": "storePage",
|
|
2001
|
+
"name": "Store Page",
|
|
2002
|
+
"archType": "headless"
|
|
2003
|
+
},
|
|
2004
|
+
"title": "Design Metadata"
|
|
1594
2005
|
},
|
|
1595
2006
|
"regions": {
|
|
1596
2007
|
"type": "array",
|
|
2008
|
+
"description": "The regions (and their assigned components) for the page.",
|
|
2009
|
+
"example": [
|
|
2010
|
+
{
|
|
2011
|
+
"id": "header",
|
|
2012
|
+
"components": [
|
|
2013
|
+
{
|
|
2014
|
+
"id": "iofwj38fhw3f",
|
|
2015
|
+
"typeId": "commerce_assets.banner",
|
|
2016
|
+
"data": {
|
|
2017
|
+
"title": "Products On Sale",
|
|
2018
|
+
"bannerImage": "sale/topsellerPromo.jpg"
|
|
2019
|
+
},
|
|
2020
|
+
"custom": {
|
|
2021
|
+
"thumbnail_full": "http://static.myshop.com/sale/topsellerPromo.jpg"
|
|
2022
|
+
}
|
|
2023
|
+
}
|
|
2024
|
+
]
|
|
2025
|
+
},
|
|
2026
|
+
{
|
|
2027
|
+
"id": "main",
|
|
2028
|
+
"components": [
|
|
2029
|
+
{
|
|
2030
|
+
"id": "rfdvj4ojtltljw3",
|
|
2031
|
+
"typeId": "commerce_assets.carousel",
|
|
2032
|
+
"data": {
|
|
2033
|
+
"title": "Topseller",
|
|
2034
|
+
"category": "topseller"
|
|
2035
|
+
},
|
|
2036
|
+
"custom": {
|
|
2037
|
+
"detailUrl": "www.myshop.com/topseller"
|
|
2038
|
+
},
|
|
2039
|
+
"regions": [
|
|
2040
|
+
{
|
|
2041
|
+
"id": "tiles",
|
|
2042
|
+
"components": [
|
|
2043
|
+
{
|
|
2044
|
+
"id": "w3reö9wsjf3",
|
|
2045
|
+
"typeId": "commerce_assets.productTile",
|
|
2046
|
+
"data": {
|
|
2047
|
+
"product": "iphone6"
|
|
2048
|
+
}
|
|
2049
|
+
},
|
|
2050
|
+
{
|
|
2051
|
+
"id": "cgn8d4ngdl4n",
|
|
2052
|
+
"typeId": "commerce_assets.productTile",
|
|
2053
|
+
"data": {
|
|
2054
|
+
"product": "iphone7"
|
|
2055
|
+
}
|
|
2056
|
+
}
|
|
2057
|
+
]
|
|
2058
|
+
}
|
|
2059
|
+
]
|
|
2060
|
+
}
|
|
2061
|
+
]
|
|
2062
|
+
},
|
|
2063
|
+
{
|
|
2064
|
+
"id": "footer",
|
|
2065
|
+
"components": []
|
|
2066
|
+
}
|
|
2067
|
+
],
|
|
1597
2068
|
"items": {
|
|
1598
2069
|
"$ref": "#/components/schemas/Region"
|
|
1599
|
-
}
|
|
2070
|
+
},
|
|
2071
|
+
"title": "Regions"
|
|
1600
2072
|
}
|
|
1601
2073
|
},
|
|
1602
2074
|
"required": [
|
|
@@ -1609,9 +2081,11 @@
|
|
|
1609
2081
|
"properties": {
|
|
1610
2082
|
"data": {
|
|
1611
2083
|
"type": "array",
|
|
2084
|
+
"description": "List of pages.",
|
|
1612
2085
|
"items": {
|
|
1613
2086
|
"$ref": "#/components/schemas/Page"
|
|
1614
|
-
}
|
|
2087
|
+
},
|
|
2088
|
+
"title": "Data"
|
|
1615
2089
|
}
|
|
1616
2090
|
},
|
|
1617
2091
|
"required": [
|
|
@@ -1624,17 +2098,25 @@
|
|
|
1624
2098
|
"properties": {
|
|
1625
2099
|
"title": {
|
|
1626
2100
|
"type": "string",
|
|
2101
|
+
"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",
|
|
2102
|
+
"example": "You do not have enough credit",
|
|
1627
2103
|
"maxLength": 256
|
|
1628
2104
|
},
|
|
1629
2105
|
"type": {
|
|
1630
2106
|
"type": "string",
|
|
2107
|
+
"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",
|
|
2108
|
+
"example": "NotEnoughMoney",
|
|
1631
2109
|
"maxLength": 2048
|
|
1632
2110
|
},
|
|
1633
2111
|
"detail": {
|
|
1634
|
-
"type": "string"
|
|
2112
|
+
"type": "string",
|
|
2113
|
+
"description": "A human-readable explanation specific to this occurrence of the problem.",
|
|
2114
|
+
"example": "Your current balance is 30, but that costs 50"
|
|
1635
2115
|
},
|
|
1636
2116
|
"instance": {
|
|
1637
2117
|
"type": "string",
|
|
2118
|
+
"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",
|
|
2119
|
+
"example": "/account/12345/msgs/abc",
|
|
1638
2120
|
"maxLength": 2048
|
|
1639
2121
|
}
|
|
1640
2122
|
},
|
|
@@ -1646,39 +2128,61 @@
|
|
|
1646
2128
|
},
|
|
1647
2129
|
"ContentId": {
|
|
1648
2130
|
"type": "string",
|
|
2131
|
+
"description": "The id of the content asset.",
|
|
2132
|
+
"example": "homepage-banner",
|
|
1649
2133
|
"maxLength": 256,
|
|
1650
2134
|
"minLength": 1
|
|
1651
2135
|
},
|
|
1652
2136
|
"Content": {
|
|
1653
2137
|
"type": "object",
|
|
1654
|
-
"additionalProperties": {
|
|
2138
|
+
"additionalProperties": {
|
|
2139
|
+
"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.",
|
|
2140
|
+
"example": "c_trackingId",
|
|
2141
|
+
"title": "Additional Property Support"
|
|
2142
|
+
},
|
|
1655
2143
|
"properties": {
|
|
1656
2144
|
"id": {
|
|
1657
2145
|
"allOf": [
|
|
1658
2146
|
{
|
|
1659
2147
|
"$ref": "#/components/schemas/ContentId"
|
|
1660
2148
|
}
|
|
1661
|
-
]
|
|
2149
|
+
],
|
|
2150
|
+
"title": "ID"
|
|
1662
2151
|
},
|
|
1663
2152
|
"name": {
|
|
1664
2153
|
"type": "string",
|
|
1665
|
-
"
|
|
2154
|
+
"description": "The localized content asset name.",
|
|
2155
|
+
"example": "Homepage Banner",
|
|
2156
|
+
"maxLength": 4000,
|
|
2157
|
+
"title": "Name"
|
|
1666
2158
|
},
|
|
1667
2159
|
"description": {
|
|
1668
2160
|
"type": "string",
|
|
1669
|
-
"
|
|
2161
|
+
"description": "The localized content asset description.",
|
|
2162
|
+
"example": "Main banner displayed on the homepage",
|
|
2163
|
+
"maxLength": 4000,
|
|
2164
|
+
"title": "Description"
|
|
1670
2165
|
},
|
|
1671
2166
|
"pageDescription": {
|
|
1672
2167
|
"type": "string",
|
|
1673
|
-
"
|
|
2168
|
+
"description": "The localized content asset page description for SEO.",
|
|
2169
|
+
"example": "Discover our latest products and offers",
|
|
2170
|
+
"maxLength": 4000,
|
|
2171
|
+
"title": "Page Description"
|
|
1674
2172
|
},
|
|
1675
2173
|
"pageKeywords": {
|
|
1676
2174
|
"type": "string",
|
|
1677
|
-
"
|
|
2175
|
+
"description": "The localized content asset page keywords for SEO.",
|
|
2176
|
+
"example": "products, offers, sale, fashion",
|
|
2177
|
+
"maxLength": 4000,
|
|
2178
|
+
"title": "Page Keywords"
|
|
1678
2179
|
},
|
|
1679
2180
|
"pageTitle": {
|
|
1680
2181
|
"type": "string",
|
|
1681
|
-
"
|
|
2182
|
+
"description": "The localized content asset page title for SEO",
|
|
2183
|
+
"example": "Shop Now - Best Deals",
|
|
2184
|
+
"maxLength": 4000,
|
|
2185
|
+
"title": "Page Title"
|
|
1682
2186
|
}
|
|
1683
2187
|
},
|
|
1684
2188
|
"required": [
|
|
@@ -1689,14 +2193,19 @@
|
|
|
1689
2193
|
"type": "integer",
|
|
1690
2194
|
"format": "int32",
|
|
1691
2195
|
"default": 0,
|
|
2196
|
+
"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.",
|
|
2197
|
+
"example": 10,
|
|
1692
2198
|
"minimum": 0
|
|
1693
2199
|
},
|
|
1694
2200
|
"ResultBase": {
|
|
1695
2201
|
"type": "object",
|
|
2202
|
+
"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.",
|
|
1696
2203
|
"properties": {
|
|
1697
2204
|
"limit": {
|
|
1698
2205
|
"type": "integer",
|
|
1699
|
-
"format": "int32"
|
|
2206
|
+
"format": "int32",
|
|
2207
|
+
"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.",
|
|
2208
|
+
"example": 10
|
|
1700
2209
|
},
|
|
1701
2210
|
"total": {
|
|
1702
2211
|
"$ref": "#/components/schemas/Total"
|
|
@@ -1716,9 +2225,11 @@
|
|
|
1716
2225
|
"properties": {
|
|
1717
2226
|
"data": {
|
|
1718
2227
|
"type": "array",
|
|
2228
|
+
"description": "List of content assets.",
|
|
1719
2229
|
"items": {
|
|
1720
2230
|
"$ref": "#/components/schemas/Content"
|
|
1721
|
-
}
|
|
2231
|
+
},
|
|
2232
|
+
"title": "Data"
|
|
1722
2233
|
}
|
|
1723
2234
|
},
|
|
1724
2235
|
"required": [
|
|
@@ -1729,6 +2240,8 @@
|
|
|
1729
2240
|
"type": "integer",
|
|
1730
2241
|
"format": "int32",
|
|
1731
2242
|
"default": 0,
|
|
2243
|
+
"description": "The zero-based index of the first hit/data to include in the result.",
|
|
2244
|
+
"example": 0,
|
|
1732
2245
|
"minimum": 0
|
|
1733
2246
|
},
|
|
1734
2247
|
"PaginatedResultBase": {
|
|
@@ -1737,6 +2250,7 @@
|
|
|
1737
2250
|
"$ref": "#/components/schemas/ResultBase"
|
|
1738
2251
|
}
|
|
1739
2252
|
],
|
|
2253
|
+
"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`.",
|
|
1740
2254
|
"properties": {
|
|
1741
2255
|
"offset": {
|
|
1742
2256
|
"$ref": "#/components/schemas/Offset"
|
|
@@ -1753,15 +2267,24 @@
|
|
|
1753
2267
|
"properties": {
|
|
1754
2268
|
"label": {
|
|
1755
2269
|
"type": "string",
|
|
1756
|
-
"
|
|
2270
|
+
"description": "The localized label of the refinement value.",
|
|
2271
|
+
"example": "Banner",
|
|
2272
|
+
"maxLength": 4000,
|
|
2273
|
+
"title": "Label"
|
|
1757
2274
|
},
|
|
1758
2275
|
"value": {
|
|
1759
2276
|
"type": "string",
|
|
1760
|
-
"
|
|
2277
|
+
"description": "The refinement value.",
|
|
2278
|
+
"example": "banner",
|
|
2279
|
+
"maxLength": 256,
|
|
2280
|
+
"title": "Value"
|
|
1761
2281
|
},
|
|
1762
2282
|
"hitCount": {
|
|
1763
2283
|
"type": "integer",
|
|
1764
|
-
"
|
|
2284
|
+
"description": "The number of search hits when this refinement value is applied.",
|
|
2285
|
+
"example": 5,
|
|
2286
|
+
"minimum": 0,
|
|
2287
|
+
"title": "Hit Count"
|
|
1765
2288
|
}
|
|
1766
2289
|
},
|
|
1767
2290
|
"required": [
|
|
@@ -1773,17 +2296,25 @@
|
|
|
1773
2296
|
"properties": {
|
|
1774
2297
|
"attributeId": {
|
|
1775
2298
|
"type": "string",
|
|
1776
|
-
"
|
|
2299
|
+
"description": "The ID of the refinement attribute.",
|
|
2300
|
+
"example": "c_contentType",
|
|
2301
|
+
"maxLength": 256,
|
|
2302
|
+
"title": "Attribute ID"
|
|
1777
2303
|
},
|
|
1778
2304
|
"label": {
|
|
1779
2305
|
"type": "string",
|
|
1780
|
-
"
|
|
2306
|
+
"description": "The localized label of the refinement attribute.",
|
|
2307
|
+
"example": "Content Type",
|
|
2308
|
+
"maxLength": 4000,
|
|
2309
|
+
"title": "Label"
|
|
1781
2310
|
},
|
|
1782
2311
|
"values": {
|
|
1783
2312
|
"type": "array",
|
|
2313
|
+
"description": "The array of refinement values.",
|
|
1784
2314
|
"items": {
|
|
1785
2315
|
"$ref": "#/components/schemas/ContentSearchRefinementValue"
|
|
1786
|
-
}
|
|
2316
|
+
},
|
|
2317
|
+
"title": "Values"
|
|
1787
2318
|
}
|
|
1788
2319
|
},
|
|
1789
2320
|
"required": [
|
|
@@ -1799,26 +2330,40 @@
|
|
|
1799
2330
|
"properties": {
|
|
1800
2331
|
"query": {
|
|
1801
2332
|
"type": "string",
|
|
1802
|
-
"
|
|
2333
|
+
"description": "The query String that was searched for.",
|
|
2334
|
+
"example": "banner",
|
|
2335
|
+
"maxLength": 256,
|
|
2336
|
+
"title": "Query"
|
|
1803
2337
|
},
|
|
1804
2338
|
"hits": {
|
|
1805
2339
|
"type": "array",
|
|
2340
|
+
"description": "The sorted array of search hits. Can be empty.",
|
|
1806
2341
|
"items": {
|
|
1807
2342
|
"$ref": "#/components/schemas/Content"
|
|
1808
|
-
}
|
|
2343
|
+
},
|
|
2344
|
+
"title": "Content Hits"
|
|
1809
2345
|
},
|
|
1810
2346
|
"selectedRefinements": {
|
|
1811
2347
|
"type": "object",
|
|
1812
2348
|
"additionalProperties": {
|
|
1813
2349
|
"type": "string",
|
|
2350
|
+
"example": "homepage-folder",
|
|
1814
2351
|
"maxLength": 256
|
|
1815
|
-
}
|
|
2352
|
+
},
|
|
2353
|
+
"description": "Map of selected refinement attribute id/value(s) pairs. The sorting order is the same like in request URL.",
|
|
2354
|
+
"example": {
|
|
2355
|
+
"fdid": "homepage-folder",
|
|
2356
|
+
"c_contentType": "banner"
|
|
2357
|
+
},
|
|
2358
|
+
"title": "Selected Refinements"
|
|
1816
2359
|
},
|
|
1817
2360
|
"refinements": {
|
|
1818
2361
|
"type": "array",
|
|
2362
|
+
"description": "The sorted array of search refinements. Can be empty.",
|
|
1819
2363
|
"items": {
|
|
1820
2364
|
"$ref": "#/components/schemas/ContentSearchRefinement"
|
|
1821
|
-
}
|
|
2365
|
+
},
|
|
2366
|
+
"title": "Refinements"
|
|
1822
2367
|
}
|
|
1823
2368
|
},
|
|
1824
2369
|
"required": [
|
|
@@ -1827,45 +2372,73 @@
|
|
|
1827
2372
|
},
|
|
1828
2373
|
"FolderId": {
|
|
1829
2374
|
"type": "string",
|
|
2375
|
+
"example": "homepage-folder",
|
|
1830
2376
|
"maxLength": 256
|
|
1831
2377
|
},
|
|
1832
2378
|
"ContentFolder": {
|
|
1833
2379
|
"type": "object",
|
|
1834
|
-
"additionalProperties": {
|
|
2380
|
+
"additionalProperties": {
|
|
2381
|
+
"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.",
|
|
2382
|
+
"example": "c_trackingId",
|
|
2383
|
+
"title": "Additional Property Support"
|
|
2384
|
+
},
|
|
1835
2385
|
"properties": {
|
|
1836
2386
|
"id": {
|
|
1837
2387
|
"type": "string",
|
|
1838
|
-
"
|
|
2388
|
+
"description": "The id of the content folder.",
|
|
2389
|
+
"example": "homepage-folder",
|
|
2390
|
+
"maxLength": 256,
|
|
2391
|
+
"title": "ID"
|
|
1839
2392
|
},
|
|
1840
2393
|
"parentFolderId": {
|
|
1841
2394
|
"type": "string",
|
|
1842
|
-
"
|
|
2395
|
+
"description": "The id of the parent content folder.",
|
|
2396
|
+
"example": "root-folder",
|
|
2397
|
+
"maxLength": 256,
|
|
2398
|
+
"title": "Parent Folder ID"
|
|
1843
2399
|
},
|
|
1844
2400
|
"name": {
|
|
1845
2401
|
"type": "string",
|
|
1846
|
-
"
|
|
2402
|
+
"description": "The localized content folder name.",
|
|
2403
|
+
"example": "Homepage Folder",
|
|
2404
|
+
"maxLength": 4000,
|
|
2405
|
+
"title": "Name"
|
|
1847
2406
|
},
|
|
1848
2407
|
"description": {
|
|
1849
2408
|
"type": "string",
|
|
1850
|
-
"
|
|
2409
|
+
"description": "The localized content folder description.",
|
|
2410
|
+
"example": "Folder containing homepage content assets",
|
|
2411
|
+
"maxLength": 4000,
|
|
2412
|
+
"title": "Description"
|
|
1851
2413
|
},
|
|
1852
2414
|
"pageDescription": {
|
|
1853
2415
|
"type": "string",
|
|
1854
|
-
"
|
|
2416
|
+
"description": "The localized content folder page description.",
|
|
2417
|
+
"example": "SEO description for homepage folder",
|
|
2418
|
+
"maxLength": 4000,
|
|
2419
|
+
"title": "Page Description"
|
|
1855
2420
|
},
|
|
1856
2421
|
"pageKeywords": {
|
|
1857
2422
|
"type": "string",
|
|
1858
|
-
"
|
|
2423
|
+
"description": "The localized content folder page keywords.",
|
|
2424
|
+
"example": "homepage, main, landing",
|
|
2425
|
+
"maxLength": 4000,
|
|
2426
|
+
"title": "Page Keywords"
|
|
1859
2427
|
},
|
|
1860
2428
|
"pageTitle": {
|
|
1861
2429
|
"type": "string",
|
|
1862
|
-
"
|
|
2430
|
+
"description": "The localized content folder page title.",
|
|
2431
|
+
"example": "Homepage Folder - My Store",
|
|
2432
|
+
"maxLength": 4000,
|
|
2433
|
+
"title": "Page Title"
|
|
1863
2434
|
},
|
|
1864
2435
|
"folders": {
|
|
1865
2436
|
"type": "array",
|
|
2437
|
+
"description": "The array of content subfolders. This array can be empty.",
|
|
1866
2438
|
"items": {
|
|
1867
2439
|
"$ref": "#/components/schemas/ContentFolder"
|
|
1868
|
-
}
|
|
2440
|
+
},
|
|
2441
|
+
"title": "Folders"
|
|
1869
2442
|
}
|
|
1870
2443
|
},
|
|
1871
2444
|
"required": [
|
|
@@ -1881,9 +2454,11 @@
|
|
|
1881
2454
|
"properties": {
|
|
1882
2455
|
"data": {
|
|
1883
2456
|
"type": "array",
|
|
2457
|
+
"description": "List of content folders.",
|
|
1884
2458
|
"items": {
|
|
1885
2459
|
"$ref": "#/components/schemas/ContentFolder"
|
|
1886
|
-
}
|
|
2460
|
+
},
|
|
2461
|
+
"title": "Data"
|
|
1887
2462
|
}
|
|
1888
2463
|
},
|
|
1889
2464
|
"required": [
|
|
@@ -1892,16 +2467,23 @@
|
|
|
1892
2467
|
},
|
|
1893
2468
|
"CampaignQualifier": {
|
|
1894
2469
|
"type": "object",
|
|
2470
|
+
"description": "A campaign qualifier, optionally scoped to a specific promotion within the campaign. When promotionId is omitted, the qualifier matches if the campaign itself is active and its scenario rule applies.",
|
|
1895
2471
|
"properties": {
|
|
1896
2472
|
"campaignId": {
|
|
1897
2473
|
"type": "string",
|
|
2474
|
+
"description": "The campaign identifier.",
|
|
2475
|
+
"example": "my-campaign",
|
|
1898
2476
|
"maxLength": 256,
|
|
1899
|
-
"minLength": 1
|
|
2477
|
+
"minLength": 1,
|
|
2478
|
+
"title": "Campaign ID"
|
|
1900
2479
|
},
|
|
1901
2480
|
"promotionId": {
|
|
1902
2481
|
"type": "string",
|
|
2482
|
+
"description": "Optional promotion identifier. When provided, qualification requires both the campaign and the specific promotion-campaign assignment to apply.",
|
|
2483
|
+
"example": "my-promotion",
|
|
1903
2484
|
"maxLength": 256,
|
|
1904
|
-
"minLength": 1
|
|
2485
|
+
"minLength": 1,
|
|
2486
|
+
"title": "Promotion ID"
|
|
1905
2487
|
}
|
|
1906
2488
|
},
|
|
1907
2489
|
"required": [
|
|
@@ -1910,16 +2492,23 @@
|
|
|
1910
2492
|
},
|
|
1911
2493
|
"DataBindingRequirement": {
|
|
1912
2494
|
"type": "object",
|
|
2495
|
+
"description": "A data binding requirement specifying a provider type and record identifier to resolve.",
|
|
1913
2496
|
"properties": {
|
|
1914
2497
|
"type": {
|
|
1915
2498
|
"type": "string",
|
|
2499
|
+
"description": "The data provider type identifier.",
|
|
2500
|
+
"example": "content_asset",
|
|
1916
2501
|
"maxLength": 256,
|
|
1917
|
-
"minLength": 1
|
|
2502
|
+
"minLength": 1,
|
|
2503
|
+
"title": "Type"
|
|
1918
2504
|
},
|
|
1919
2505
|
"id": {
|
|
1920
2506
|
"type": "string",
|
|
2507
|
+
"description": "The record identifier to resolve from the data provider.",
|
|
2508
|
+
"example": "homepage-banner",
|
|
1921
2509
|
"maxLength": 256,
|
|
1922
|
-
"minLength": 1
|
|
2510
|
+
"minLength": 1,
|
|
2511
|
+
"title": "ID"
|
|
1923
2512
|
}
|
|
1924
2513
|
},
|
|
1925
2514
|
"required": [
|
|
@@ -1929,55 +2518,87 @@
|
|
|
1929
2518
|
},
|
|
1930
2519
|
"QualifierResolveRequest": {
|
|
1931
2520
|
"type": "object",
|
|
2521
|
+
"description": "Request body for resolving customer group qualifications, campaign promotion eligibility, and data bindings. All fields are optional. An empty body is valid and returns an empty response.",
|
|
1932
2522
|
"properties": {
|
|
1933
2523
|
"customerGroups": {
|
|
1934
2524
|
"type": "array",
|
|
2525
|
+
"description": "List of customer group identifiers to resolve qualification for.",
|
|
2526
|
+
"example": [
|
|
2527
|
+
"VIP"
|
|
2528
|
+
],
|
|
1935
2529
|
"items": {
|
|
1936
2530
|
"type": "string",
|
|
2531
|
+
"example": "VIP",
|
|
1937
2532
|
"maxLength": 256,
|
|
1938
2533
|
"minLength": 1
|
|
1939
2534
|
},
|
|
1940
|
-
"maxItems": 50
|
|
2535
|
+
"maxItems": 50,
|
|
2536
|
+
"title": "Customer Groups"
|
|
1941
2537
|
},
|
|
1942
2538
|
"campaignQualifiers": {
|
|
1943
2539
|
"type": "array",
|
|
2540
|
+
"description": "List of campaign qualifiers to resolve. Each qualifier must include a campaignId and may optionally include a promotionId.",
|
|
1944
2541
|
"items": {
|
|
1945
2542
|
"$ref": "#/components/schemas/CampaignQualifier"
|
|
1946
2543
|
},
|
|
1947
|
-
"maxItems": 50
|
|
2544
|
+
"maxItems": 50,
|
|
2545
|
+
"title": "Campaign Qualifiers"
|
|
1948
2546
|
},
|
|
1949
2547
|
"dataBindings": {
|
|
1950
2548
|
"type": "array",
|
|
2549
|
+
"description": "List of data binding requirements to resolve, each specifying a provider type and record identifier.",
|
|
1951
2550
|
"items": {
|
|
1952
2551
|
"$ref": "#/components/schemas/DataBindingRequirement"
|
|
1953
2552
|
},
|
|
1954
|
-
"maxItems": 50
|
|
2553
|
+
"maxItems": 50,
|
|
2554
|
+
"title": "Data Bindings"
|
|
1955
2555
|
}
|
|
1956
2556
|
}
|
|
1957
2557
|
},
|
|
1958
2558
|
"QualifierResolveResponse": {
|
|
1959
2559
|
"type": "object",
|
|
2560
|
+
"description": "Response containing the resolved qualification results for customer groups, campaign qualifiers, and data bindings.",
|
|
1960
2561
|
"properties": {
|
|
1961
2562
|
"customerGroups": {
|
|
1962
2563
|
"type": "object",
|
|
1963
2564
|
"additionalProperties": {
|
|
1964
|
-
"type": "boolean"
|
|
1965
|
-
|
|
2565
|
+
"type": "boolean",
|
|
2566
|
+
"example": true
|
|
2567
|
+
},
|
|
2568
|
+
"description": "Map of customer group identifiers to their qualification status. True if the user is qualified, false otherwise.",
|
|
2569
|
+
"example": {
|
|
2570
|
+
"VIP": true
|
|
2571
|
+
},
|
|
2572
|
+
"title": "Customer Groups"
|
|
1966
2573
|
},
|
|
1967
2574
|
"campaignQualifiers": {
|
|
1968
2575
|
"type": "object",
|
|
1969
2576
|
"additionalProperties": {
|
|
1970
2577
|
"type": "object",
|
|
1971
2578
|
"additionalProperties": {
|
|
1972
|
-
"type": "boolean"
|
|
2579
|
+
"type": "boolean",
|
|
2580
|
+
"example": false
|
|
1973
2581
|
}
|
|
1974
|
-
}
|
|
2582
|
+
},
|
|
2583
|
+
"description": "Map of campaign ID to promotion qualification results. Each value is a map of promotion ID to qualification result. Only contains entries for request qualifiers that included a promotionId.",
|
|
2584
|
+
"example": {
|
|
2585
|
+
"my-campaign": {
|
|
2586
|
+
"my-promotion": false
|
|
2587
|
+
}
|
|
2588
|
+
},
|
|
2589
|
+
"title": "Campaign Qualifiers"
|
|
1975
2590
|
},
|
|
1976
2591
|
"campaigns": {
|
|
1977
2592
|
"type": "object",
|
|
1978
2593
|
"additionalProperties": {
|
|
1979
|
-
"type": "boolean"
|
|
1980
|
-
|
|
2594
|
+
"type": "boolean",
|
|
2595
|
+
"example": false
|
|
2596
|
+
},
|
|
2597
|
+
"description": "Map of campaign ID to qualification result for request qualifiers that did not include a promotionId. A value of true means the campaign is active and its scenario rule applies to the shopper context.",
|
|
2598
|
+
"example": {
|
|
2599
|
+
"winter-promo": false
|
|
2600
|
+
},
|
|
2601
|
+
"title": "Campaigns"
|
|
1981
2602
|
},
|
|
1982
2603
|
"dataBindings": {
|
|
1983
2604
|
"type": "object",
|
|
@@ -1987,7 +2608,19 @@
|
|
|
1987
2608
|
"type": "object",
|
|
1988
2609
|
"additionalProperties": true
|
|
1989
2610
|
}
|
|
1990
|
-
}
|
|
2611
|
+
},
|
|
2612
|
+
"description": "Resolved data binding objects grouped by provider type, then by record identifier. Used by the expression resolver to evaluate attribute expressions.",
|
|
2613
|
+
"example": {
|
|
2614
|
+
"content_asset": {
|
|
2615
|
+
"homepage-banner": {
|
|
2616
|
+
"title": "Winter Sale",
|
|
2617
|
+
"body": "<div>Shop our winter collection</div>",
|
|
2618
|
+
"showCountdown": true,
|
|
2619
|
+
"endDate": "2026-03-31T23:59:59Z"
|
|
2620
|
+
}
|
|
2621
|
+
}
|
|
2622
|
+
},
|
|
2623
|
+
"title": "Data Bindings"
|
|
1991
2624
|
}
|
|
1992
2625
|
}
|
|
1993
2626
|
}
|
|
@@ -1999,6 +2632,11 @@
|
|
|
1999
2632
|
"application/problem+json": {
|
|
2000
2633
|
"schema": {
|
|
2001
2634
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
2635
|
+
},
|
|
2636
|
+
"examples": {
|
|
2637
|
+
"UnauthorizedExample": {
|
|
2638
|
+
"$ref": "#/components/examples/UnauthorizedExample"
|
|
2639
|
+
}
|
|
2002
2640
|
}
|
|
2003
2641
|
}
|
|
2004
2642
|
}
|
|
@@ -2009,6 +2647,11 @@
|
|
|
2009
2647
|
"application/problem+json": {
|
|
2010
2648
|
"schema": {
|
|
2011
2649
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
2650
|
+
},
|
|
2651
|
+
"examples": {
|
|
2652
|
+
"ForbiddenExample": {
|
|
2653
|
+
"$ref": "#/components/examples/ForbiddenExample"
|
|
2654
|
+
}
|
|
2012
2655
|
}
|
|
2013
2656
|
}
|
|
2014
2657
|
}
|
|
@@ -2018,113 +2661,145 @@
|
|
|
2018
2661
|
"organizationId": {
|
|
2019
2662
|
"name": "organizationId",
|
|
2020
2663
|
"in": "path",
|
|
2664
|
+
"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).",
|
|
2021
2665
|
"required": true,
|
|
2022
2666
|
"style": "simple",
|
|
2023
2667
|
"explode": false,
|
|
2024
2668
|
"schema": {
|
|
2025
2669
|
"$ref": "#/components/schemas/OrganizationId"
|
|
2026
|
-
}
|
|
2670
|
+
},
|
|
2671
|
+
"example": "f_ecom_zzxy_prd"
|
|
2027
2672
|
},
|
|
2028
2673
|
"categoryId": {
|
|
2029
2674
|
"name": "categoryId",
|
|
2030
2675
|
"in": "query",
|
|
2676
|
+
"description": "Category identifier that is used for searching the page assignment. Must be provided if no `productId` is provided.",
|
|
2031
2677
|
"required": false,
|
|
2032
2678
|
"style": "form",
|
|
2033
2679
|
"explode": true,
|
|
2034
2680
|
"schema": {
|
|
2035
2681
|
"type": "string",
|
|
2682
|
+
"example": "home-clearance",
|
|
2036
2683
|
"maxLength": 256
|
|
2037
2684
|
}
|
|
2038
2685
|
},
|
|
2039
2686
|
"productId": {
|
|
2040
2687
|
"name": "productId",
|
|
2041
2688
|
"in": "query",
|
|
2689
|
+
"description": "Product identifier that is used for searching the page assignment. Must be provided if no `categoryId` is provided.",
|
|
2042
2690
|
"required": false,
|
|
2043
2691
|
"style": "form",
|
|
2044
2692
|
"explode": true,
|
|
2045
2693
|
"schema": {
|
|
2046
2694
|
"type": "string",
|
|
2695
|
+
"example": "iphone11",
|
|
2047
2696
|
"maxLength": 100
|
|
2048
2697
|
}
|
|
2049
2698
|
},
|
|
2050
2699
|
"aspectTypeId": {
|
|
2051
2700
|
"name": "aspectTypeId",
|
|
2052
2701
|
"in": "query",
|
|
2702
|
+
"description": "Aspect type identifier that is used for searching the page assignment in conjunction with either the `productId` or `categoryId`.",
|
|
2053
2703
|
"required": true,
|
|
2054
2704
|
"style": "form",
|
|
2055
2705
|
"explode": true,
|
|
2056
2706
|
"schema": {
|
|
2057
2707
|
"type": "string",
|
|
2708
|
+
"example": "pdp",
|
|
2058
2709
|
"maxLength": 256
|
|
2059
2710
|
}
|
|
2060
2711
|
},
|
|
2061
2712
|
"aspectAttributes": {
|
|
2062
2713
|
"name": "aspectAttributes",
|
|
2063
2714
|
"in": "query",
|
|
2715
|
+
"description": "A JSON representation of aspect attributes. Each aspect attribute is a key/value pair. Aspect attributes serve as a runtime parameter contract between caller (for example, this API or the DWScript API) and callee (the page). This parameter must not contain more than 256 characters after URL decoding.",
|
|
2064
2716
|
"required": false,
|
|
2065
2717
|
"style": "form",
|
|
2066
2718
|
"explode": true,
|
|
2067
2719
|
"schema": {
|
|
2068
2720
|
"type": "string",
|
|
2721
|
+
"example": "{\n \"product\" : \"iphone11\",\n \"breadcrumbCategory\" : \"home-clearance\"\n}",
|
|
2069
2722
|
"maxLength": 256
|
|
2070
2723
|
}
|
|
2071
2724
|
},
|
|
2072
2725
|
"parameters": {
|
|
2073
2726
|
"name": "parameters",
|
|
2074
2727
|
"in": "query",
|
|
2728
|
+
"description": "A free-form definition of parameters that influences the page rendering according to its implementation. This parameter must not contain more than 256 characters after URL decoding.",
|
|
2075
2729
|
"required": false,
|
|
2076
2730
|
"style": "form",
|
|
2077
2731
|
"explode": true,
|
|
2078
2732
|
"schema": {
|
|
2079
2733
|
"type": "string",
|
|
2734
|
+
"example": "refine=color,size;currency=USD;showNavigation=false",
|
|
2080
2735
|
"maxLength": 256
|
|
2081
2736
|
}
|
|
2082
2737
|
},
|
|
2083
2738
|
"siteId": {
|
|
2084
2739
|
"name": "siteId",
|
|
2085
2740
|
"in": "query",
|
|
2741
|
+
"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.",
|
|
2086
2742
|
"required": true,
|
|
2087
2743
|
"style": "form",
|
|
2088
2744
|
"explode": true,
|
|
2089
2745
|
"schema": {
|
|
2090
2746
|
"$ref": "#/components/schemas/SiteId"
|
|
2747
|
+
},
|
|
2748
|
+
"examples": {
|
|
2749
|
+
"SiteId": {
|
|
2750
|
+
"value": "RefArch"
|
|
2751
|
+
}
|
|
2091
2752
|
}
|
|
2092
2753
|
},
|
|
2093
2754
|
"locale": {
|
|
2094
2755
|
"name": "locale",
|
|
2095
2756
|
"in": "query",
|
|
2757
|
+
"description": "A descriptor for a geographical region by both a language and country code. By combining these two, regional differences in a language can be addressed, such as with the request header parameter `Accept-Language` following [RFC 2616](https://tools.ietf.org/html/rfc2616) & [RFC 1766](https://tools.ietf.org/html/rfc1766). This can also just refer to a language code, also RFC 2616/1766 compliant, as a default if there is no specific match for a country. Finally, can also be used to define default behavior if there is no locale specified.",
|
|
2096
2758
|
"required": false,
|
|
2097
2759
|
"style": "form",
|
|
2098
2760
|
"explode": true,
|
|
2099
2761
|
"schema": {
|
|
2100
2762
|
"$ref": "#/components/schemas/LocaleCode"
|
|
2763
|
+
},
|
|
2764
|
+
"examples": {
|
|
2765
|
+
"LanguageCountry": {
|
|
2766
|
+
"value": "en-US"
|
|
2767
|
+
},
|
|
2768
|
+
"CountryCode": {
|
|
2769
|
+
"value": "US"
|
|
2770
|
+
}
|
|
2101
2771
|
}
|
|
2102
2772
|
},
|
|
2103
2773
|
"pageId": {
|
|
2104
2774
|
"name": "pageId",
|
|
2105
2775
|
"in": "path",
|
|
2776
|
+
"description": "Identifier for the requested page.",
|
|
2106
2777
|
"required": true,
|
|
2107
2778
|
"style": "simple",
|
|
2108
2779
|
"explode": false,
|
|
2109
2780
|
"schema": {
|
|
2110
2781
|
"type": "string",
|
|
2782
|
+
"example": "homepage",
|
|
2111
2783
|
"maxLength": 256
|
|
2112
2784
|
}
|
|
2113
2785
|
},
|
|
2114
2786
|
"componentId": {
|
|
2115
2787
|
"name": "componentId",
|
|
2116
2788
|
"in": "path",
|
|
2789
|
+
"description": "Identifier for the requested component.",
|
|
2117
2790
|
"required": true,
|
|
2118
2791
|
"style": "simple",
|
|
2119
2792
|
"explode": false,
|
|
2120
2793
|
"schema": {
|
|
2121
2794
|
"type": "string",
|
|
2795
|
+
"example": "be1f331b92d8ad7e38e440e35d",
|
|
2122
2796
|
"maxLength": 256
|
|
2123
2797
|
}
|
|
2124
2798
|
},
|
|
2125
2799
|
"contentId": {
|
|
2126
2800
|
"name": "id",
|
|
2127
2801
|
"in": "path",
|
|
2802
|
+
"description": "Identifier for the requested content asset.",
|
|
2128
2803
|
"required": true,
|
|
2129
2804
|
"style": "simple",
|
|
2130
2805
|
"explode": false,
|
|
@@ -2135,26 +2810,35 @@
|
|
|
2135
2810
|
"contentIds": {
|
|
2136
2811
|
"name": "ids",
|
|
2137
2812
|
"in": "query",
|
|
2813
|
+
"description": "Comma-separated list of content asset identifiers to retrieve.",
|
|
2138
2814
|
"required": true,
|
|
2139
2815
|
"style": "form",
|
|
2140
2816
|
"explode": false,
|
|
2141
2817
|
"schema": {
|
|
2142
2818
|
"type": "array",
|
|
2819
|
+
"example": [
|
|
2820
|
+
"homepage-banner",
|
|
2821
|
+
"footer-content",
|
|
2822
|
+
"sidebar-promo"
|
|
2823
|
+
],
|
|
2143
2824
|
"items": {
|
|
2144
2825
|
"$ref": "#/components/schemas/ContentId"
|
|
2145
2826
|
},
|
|
2146
2827
|
"maxItems": 50,
|
|
2147
2828
|
"minItems": 1
|
|
2148
|
-
}
|
|
2829
|
+
},
|
|
2830
|
+
"example": "homepage-banner,footer-content,sidebar-promo"
|
|
2149
2831
|
},
|
|
2150
2832
|
"contentSearchQuery": {
|
|
2151
2833
|
"name": "q",
|
|
2152
2834
|
"in": "query",
|
|
2835
|
+
"description": "The query phrase to search for content assets. For example, to search for content with \"banner\", type q=banner.",
|
|
2153
2836
|
"required": false,
|
|
2154
2837
|
"style": "form",
|
|
2155
2838
|
"explode": true,
|
|
2156
2839
|
"schema": {
|
|
2157
2840
|
"type": "string",
|
|
2841
|
+
"example": "banner",
|
|
2158
2842
|
"maxLength": 50,
|
|
2159
2843
|
"minLength": 1
|
|
2160
2844
|
}
|
|
@@ -2162,28 +2846,33 @@
|
|
|
2162
2846
|
"contentSearchRefine": {
|
|
2163
2847
|
"name": "refine",
|
|
2164
2848
|
"in": "query",
|
|
2849
|
+
"description": "Parameter that represents a refinement attribute/value(s) pair. Refinement attribute ID and value(s) are separated by '='. Multiple values are supported by a subset of refinement attributes and can be provided by separating them using a pipe (URL encoded = \"|\"). Value ranges can be specified like this: refine=foo=(100..500). \nMultiple refine parameters can be provided by adding an underscore in combination with an integer counter right behind the parameter name and a counter range 1..9. I.e. refine_1=c_refinementType=type1|type2|type3.\n\nThe following system refinement attribute IDs are supported:\n- `fdid`: Allows refinement per single content folder ID. Multiple folder IDs are not supported.",
|
|
2165
2850
|
"required": false,
|
|
2166
2851
|
"style": "form",
|
|
2167
2852
|
"explode": true,
|
|
2168
2853
|
"schema": {
|
|
2169
2854
|
"type": "string",
|
|
2855
|
+
"example": "fdid=homepage-folder",
|
|
2170
2856
|
"maxLength": 256
|
|
2171
2857
|
}
|
|
2172
2858
|
},
|
|
2173
2859
|
"contentSearchSort": {
|
|
2174
2860
|
"name": "sort",
|
|
2175
2861
|
"in": "query",
|
|
2862
|
+
"description": "Parameter that represents a sorting attribute/value(s) pair. Sorting attribute ID and value are separated by '='. The value describes the sort direction. Possible values are 'asc' and 'desc', for ascending or descending sort direction. I.e. sort=c_myAttribute=desc.\n\nPrecondition: You have to select your sorting attributes in Business Manager > YourSite > Search Indexes > Content Index > Sorting Attributes.",
|
|
2176
2863
|
"required": false,
|
|
2177
2864
|
"style": "form",
|
|
2178
2865
|
"explode": true,
|
|
2179
2866
|
"schema": {
|
|
2180
2867
|
"type": "string",
|
|
2868
|
+
"example": "name=asc",
|
|
2181
2869
|
"maxLength": 256
|
|
2182
2870
|
}
|
|
2183
2871
|
},
|
|
2184
2872
|
"folderId": {
|
|
2185
2873
|
"name": "id",
|
|
2186
2874
|
"in": "path",
|
|
2875
|
+
"description": "Identifier for the requested content folder.",
|
|
2187
2876
|
"required": true,
|
|
2188
2877
|
"style": "simple",
|
|
2189
2878
|
"explode": false,
|
|
@@ -2194,12 +2883,14 @@
|
|
|
2194
2883
|
"levels": {
|
|
2195
2884
|
"name": "levels",
|
|
2196
2885
|
"in": "query",
|
|
2886
|
+
"description": "Specifies how many levels of nested subfolders you want the server to return. The default value is 1. Valid values are 0, 1, or 2.",
|
|
2197
2887
|
"required": false,
|
|
2198
2888
|
"style": "form",
|
|
2199
2889
|
"explode": true,
|
|
2200
2890
|
"schema": {
|
|
2201
2891
|
"type": "integer",
|
|
2202
2892
|
"default": 1,
|
|
2893
|
+
"example": 1,
|
|
2203
2894
|
"maximum": 2,
|
|
2204
2895
|
"minimum": 0
|
|
2205
2896
|
}
|
|
@@ -2207,11 +2898,17 @@
|
|
|
2207
2898
|
"folderIds": {
|
|
2208
2899
|
"name": "ids",
|
|
2209
2900
|
"in": "query",
|
|
2901
|
+
"description": "Comma-separated list of content folder identifiers.",
|
|
2210
2902
|
"required": true,
|
|
2211
2903
|
"style": "form",
|
|
2212
2904
|
"explode": false,
|
|
2213
2905
|
"schema": {
|
|
2214
2906
|
"type": "array",
|
|
2907
|
+
"example": [
|
|
2908
|
+
"homepage-folder",
|
|
2909
|
+
"category-folder",
|
|
2910
|
+
"product-folder"
|
|
2911
|
+
],
|
|
2215
2912
|
"items": {
|
|
2216
2913
|
"allOf": [
|
|
2217
2914
|
{
|
|
@@ -2221,36 +2918,26 @@
|
|
|
2221
2918
|
},
|
|
2222
2919
|
"maxItems": 50,
|
|
2223
2920
|
"minItems": 1
|
|
2224
|
-
}
|
|
2921
|
+
},
|
|
2922
|
+
"example": "homepage-folder,category-folder,product-folder"
|
|
2225
2923
|
},
|
|
2226
2924
|
"sfdcUsid": {
|
|
2227
2925
|
"name": "sfdc_usid",
|
|
2228
2926
|
"in": "header",
|
|
2927
|
+
"description": "A unique shopper identifier (USID) for tracking client context.\nUsed with endpoints secured with ShopperClientContextToken.\nThis header is required for all endpoints secured with ShopperClientContextToken.",
|
|
2229
2928
|
"required": false,
|
|
2230
2929
|
"style": "simple",
|
|
2231
2930
|
"explode": false,
|
|
2232
2931
|
"schema": {
|
|
2233
2932
|
"type": "string",
|
|
2234
|
-
"format": "uuid"
|
|
2235
|
-
|
|
2236
|
-
},
|
|
2237
|
-
"sfdcDwDnt": {
|
|
2238
|
-
"name": "sfdc_dw_dnt",
|
|
2239
|
-
"in": "header",
|
|
2240
|
-
"required": false,
|
|
2241
|
-
"style": "simple",
|
|
2242
|
-
"explode": false,
|
|
2243
|
-
"schema": {
|
|
2244
|
-
"type": "string",
|
|
2245
|
-
"enum": [
|
|
2246
|
-
"0",
|
|
2247
|
-
"1"
|
|
2248
|
-
]
|
|
2933
|
+
"format": "uuid",
|
|
2934
|
+
"example": "550e8400-e29b-41d4-a716-446655440000"
|
|
2249
2935
|
}
|
|
2250
2936
|
},
|
|
2251
2937
|
"personalized": {
|
|
2252
2938
|
"name": "personalized",
|
|
2253
2939
|
"in": "query",
|
|
2940
|
+
"description": "Controls whether personalization is applied to the response. When set to `none`, the server skips applying personalization to the response.",
|
|
2254
2941
|
"required": false,
|
|
2255
2942
|
"style": "form",
|
|
2256
2943
|
"explode": true,
|
|
@@ -2258,12 +2945,14 @@
|
|
|
2258
2945
|
"type": "string",
|
|
2259
2946
|
"enum": [
|
|
2260
2947
|
"none"
|
|
2261
|
-
]
|
|
2948
|
+
],
|
|
2949
|
+
"example": "none"
|
|
2262
2950
|
}
|
|
2263
2951
|
},
|
|
2264
2952
|
"sfdcShopperContext": {
|
|
2265
2953
|
"name": "sfdc_shopper_context",
|
|
2266
2954
|
"in": "header",
|
|
2955
|
+
"description": "Shopper context information (for example clientIP, sourceCode, and customQualifiers)\npassed in from a trusted backend application.",
|
|
2267
2956
|
"required": false,
|
|
2268
2957
|
"style": "simple",
|
|
2269
2958
|
"explode": false,
|
|
@@ -2272,9 +2961,663 @@
|
|
|
2272
2961
|
}
|
|
2273
2962
|
}
|
|
2274
2963
|
},
|
|
2964
|
+
"examples": {
|
|
2965
|
+
"PageResult": {
|
|
2966
|
+
"value": {
|
|
2967
|
+
"data": [
|
|
2968
|
+
{
|
|
2969
|
+
"id": "homePpage",
|
|
2970
|
+
"typeId": "storePage",
|
|
2971
|
+
"aspectTypeId": "pdpAspect",
|
|
2972
|
+
"name": "Homepage",
|
|
2973
|
+
"description": "Home page of the storefront.",
|
|
2974
|
+
"pageTitle": "Homepage - My Shop",
|
|
2975
|
+
"pageDescription": "Get started shopping",
|
|
2976
|
+
"pageKeywords": "fashion, my shop",
|
|
2977
|
+
"data": {
|
|
2978
|
+
"thumbnail": "myshop.jpg"
|
|
2979
|
+
},
|
|
2980
|
+
"custom": {
|
|
2981
|
+
"thumbnail_full": "http://static.myshop.com/myshop.jpg"
|
|
2982
|
+
},
|
|
2983
|
+
"visible": true,
|
|
2984
|
+
"localized": true,
|
|
2985
|
+
"designMetadata": {
|
|
2986
|
+
"id": "storePage",
|
|
2987
|
+
"name": "Store Page",
|
|
2988
|
+
"archType": "headless"
|
|
2989
|
+
},
|
|
2990
|
+
"regions": [
|
|
2991
|
+
{
|
|
2992
|
+
"id": "header",
|
|
2993
|
+
"components": [
|
|
2994
|
+
{
|
|
2995
|
+
"id": "2192f5b9aac0f2af2385f6f6b7",
|
|
2996
|
+
"typeId": "commerce_assets.banner",
|
|
2997
|
+
"name": "Sale Banner",
|
|
2998
|
+
"fragment": false,
|
|
2999
|
+
"embedded": false,
|
|
3000
|
+
"contentLinkUuid": "a7b2c4d8e1f9032a5b6c7d8e9f0",
|
|
3001
|
+
"data": {
|
|
3002
|
+
"title": "Products On Sale",
|
|
3003
|
+
"bannerImage": "sale/topsellerPromo.jpg"
|
|
3004
|
+
},
|
|
3005
|
+
"localized": true,
|
|
3006
|
+
"visible": true,
|
|
3007
|
+
"custom": {
|
|
3008
|
+
"thumbnail_full": "http://static.myshop.com/sale/topsellerPromo.jpg"
|
|
3009
|
+
},
|
|
3010
|
+
"designMetadata": {
|
|
3011
|
+
"id": "commerce_assets.banner",
|
|
3012
|
+
"name": "Banner Component",
|
|
3013
|
+
"archType": "headless"
|
|
3014
|
+
}
|
|
3015
|
+
}
|
|
3016
|
+
]
|
|
3017
|
+
},
|
|
3018
|
+
{
|
|
3019
|
+
"id": "main",
|
|
3020
|
+
"components": [
|
|
3021
|
+
{
|
|
3022
|
+
"id": "5c5ebbcd2aee1a67af519c83b5",
|
|
3023
|
+
"typeId": "commerce_assets.carousel",
|
|
3024
|
+
"name": "Topseller Carousel",
|
|
3025
|
+
"fragment": false,
|
|
3026
|
+
"embedded": false,
|
|
3027
|
+
"contentLinkUuid": "3f8e2a1b5c9d7e4f0a2b3c6d8e1",
|
|
3028
|
+
"data": {
|
|
3029
|
+
"title": "Topseller",
|
|
3030
|
+
"category": "topseller"
|
|
3031
|
+
},
|
|
3032
|
+
"localized": true,
|
|
3033
|
+
"visible": true,
|
|
3034
|
+
"custom": {
|
|
3035
|
+
"detailUrl": "www.myshop.com/topseller"
|
|
3036
|
+
},
|
|
3037
|
+
"designMetadata": {
|
|
3038
|
+
"id": "commerce_assets.carousel",
|
|
3039
|
+
"name": "Carousel Component",
|
|
3040
|
+
"archType": "headless"
|
|
3041
|
+
},
|
|
3042
|
+
"regions": [
|
|
3043
|
+
{
|
|
3044
|
+
"id": "tiles",
|
|
3045
|
+
"components": [
|
|
3046
|
+
{
|
|
3047
|
+
"id": "d98a30dfe93715e3e6fc22a329",
|
|
3048
|
+
"typeId": "commerce_assets.productTile",
|
|
3049
|
+
"fragment": true,
|
|
3050
|
+
"embedded": false,
|
|
3051
|
+
"contentLinkUuid": "c4d6e8f0a2b4c6d8e0f2a4b6c8d",
|
|
3052
|
+
"data": {
|
|
3053
|
+
"product": "iphone6"
|
|
3054
|
+
},
|
|
3055
|
+
"localized": false,
|
|
3056
|
+
"visible": true
|
|
3057
|
+
},
|
|
3058
|
+
{
|
|
3059
|
+
"id": "43aa39896afb9292308181ce14",
|
|
3060
|
+
"typeId": "commerce_assets.productTile",
|
|
3061
|
+
"fragment": false,
|
|
3062
|
+
"embedded": false,
|
|
3063
|
+
"contentLinkUuid": "9e1a3c5d7f0b2e4a6c8d0f2b4e6",
|
|
3064
|
+
"data": {
|
|
3065
|
+
"product": "iphone7"
|
|
3066
|
+
},
|
|
3067
|
+
"localized": true,
|
|
3068
|
+
"visible": false
|
|
3069
|
+
}
|
|
3070
|
+
]
|
|
3071
|
+
}
|
|
3072
|
+
]
|
|
3073
|
+
}
|
|
3074
|
+
]
|
|
3075
|
+
}
|
|
3076
|
+
]
|
|
3077
|
+
},
|
|
3078
|
+
{
|
|
3079
|
+
"id": "detailpage",
|
|
3080
|
+
"typeId": "storePage",
|
|
3081
|
+
"name": "storepage",
|
|
3082
|
+
"description": "A Store page",
|
|
3083
|
+
"pageTitle": "A Store",
|
|
3084
|
+
"pageDescription": "Buy in store",
|
|
3085
|
+
"pageKeywords": "fashion, my shop, store",
|
|
3086
|
+
"data": {
|
|
3087
|
+
"thumbnail": "mystore.jpg"
|
|
3088
|
+
},
|
|
3089
|
+
"visible": true,
|
|
3090
|
+
"localized": false,
|
|
3091
|
+
"designMetadata": {
|
|
3092
|
+
"id": "storePage",
|
|
3093
|
+
"name": "Store Page",
|
|
3094
|
+
"archType": "headless"
|
|
3095
|
+
}
|
|
3096
|
+
}
|
|
3097
|
+
]
|
|
3098
|
+
}
|
|
3099
|
+
},
|
|
3100
|
+
"BusinessObjectIDInvalid": {
|
|
3101
|
+
"value": {
|
|
3102
|
+
"title": "Business Object ID Invalid",
|
|
3103
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/business-object-id-invalid",
|
|
3104
|
+
"detail": "At least one provided business object identifier was invalid. This means either none was provided at all or exclusiveness of multiple identifiers wasn't honored or the referenced business object didn't exist."
|
|
3105
|
+
}
|
|
3106
|
+
},
|
|
3107
|
+
"AspectTypeNotFound": {
|
|
3108
|
+
"value": {
|
|
3109
|
+
"title": "Aspect Type Not Found",
|
|
3110
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/aspect-type-not-found",
|
|
3111
|
+
"detail": "No aspect type with ID 'pdp' was found in site 'RefArch'."
|
|
3112
|
+
}
|
|
3113
|
+
},
|
|
3114
|
+
"Page": {
|
|
3115
|
+
"value": {
|
|
3116
|
+
"id": "homepage",
|
|
3117
|
+
"typeId": "storePage",
|
|
3118
|
+
"aspectTypeId": "pdpAspect",
|
|
3119
|
+
"name": "Homepage",
|
|
3120
|
+
"description": "Home page of the storefront.",
|
|
3121
|
+
"pageTitle": "Homepage - My Shop",
|
|
3122
|
+
"pageDescription": "Get started shopping",
|
|
3123
|
+
"pageKeywords": "fashion, my shop",
|
|
3124
|
+
"data": {
|
|
3125
|
+
"thumbnail": "myshop.jpg"
|
|
3126
|
+
},
|
|
3127
|
+
"custom": {
|
|
3128
|
+
"thumbnail_full": "http://static.myshop.com/myshop.jpg"
|
|
3129
|
+
},
|
|
3130
|
+
"visible": true,
|
|
3131
|
+
"localized": true,
|
|
3132
|
+
"designMetadata": {
|
|
3133
|
+
"id": "storePage",
|
|
3134
|
+
"name": "Store Page",
|
|
3135
|
+
"archType": "headless"
|
|
3136
|
+
},
|
|
3137
|
+
"regions": [
|
|
3138
|
+
{
|
|
3139
|
+
"id": "header",
|
|
3140
|
+
"components": [
|
|
3141
|
+
{
|
|
3142
|
+
"id": "375b9107b067902827083772f9",
|
|
3143
|
+
"typeId": "commerce_assets.banner",
|
|
3144
|
+
"name": "Sale Banner",
|
|
3145
|
+
"fragment": false,
|
|
3146
|
+
"embedded": false,
|
|
3147
|
+
"contentLinkUuid": "2b4d6f8a0c2e4a6b8d0f2a4c6e8",
|
|
3148
|
+
"data": {
|
|
3149
|
+
"title": "Products On Sale",
|
|
3150
|
+
"bannerImage": "sale/topsellerPromo.jpg"
|
|
3151
|
+
},
|
|
3152
|
+
"localized": true,
|
|
3153
|
+
"visible": true,
|
|
3154
|
+
"custom": {
|
|
3155
|
+
"thumbnail_full": "http://static.myshop.com/sale/topsellerPromo.jpg"
|
|
3156
|
+
},
|
|
3157
|
+
"designMetadata": {
|
|
3158
|
+
"id": "commerce_assets.banner",
|
|
3159
|
+
"name": "Banner Component",
|
|
3160
|
+
"archType": "headless"
|
|
3161
|
+
}
|
|
3162
|
+
}
|
|
3163
|
+
]
|
|
3164
|
+
},
|
|
3165
|
+
{
|
|
3166
|
+
"id": "main",
|
|
3167
|
+
"components": [
|
|
3168
|
+
{
|
|
3169
|
+
"id": "be1f331b92d8ad7e38e440e35d",
|
|
3170
|
+
"typeId": "commerce_assets.carousel",
|
|
3171
|
+
"fragment": false,
|
|
3172
|
+
"embedded": false,
|
|
3173
|
+
"contentLinkUuid": "f0a2c4e6b8d0f2a4c6e8b0d2f4",
|
|
3174
|
+
"data": {
|
|
3175
|
+
"title": "Topseller",
|
|
3176
|
+
"category": "topseller"
|
|
3177
|
+
},
|
|
3178
|
+
"localized": true,
|
|
3179
|
+
"visible": true,
|
|
3180
|
+
"custom": {
|
|
3181
|
+
"detailUrl": "www.myshop.com/topseller"
|
|
3182
|
+
},
|
|
3183
|
+
"regions": [
|
|
3184
|
+
{
|
|
3185
|
+
"id": "tiles",
|
|
3186
|
+
"components": [
|
|
3187
|
+
{
|
|
3188
|
+
"id": "45af07459684e6db78990c5d05",
|
|
3189
|
+
"typeId": "commerce_assets.productTile",
|
|
3190
|
+
"fragment": false,
|
|
3191
|
+
"embedded": false,
|
|
3192
|
+
"contentLinkUuid": "5d7f1a3b5c7e9f0a2c4d6e8f0a2",
|
|
3193
|
+
"data": {
|
|
3194
|
+
"product": "iphone6"
|
|
3195
|
+
},
|
|
3196
|
+
"localized": false,
|
|
3197
|
+
"visible": true
|
|
3198
|
+
},
|
|
3199
|
+
{
|
|
3200
|
+
"id": "df6e33766d90e7e205d109aa2f",
|
|
3201
|
+
"typeId": "commerce_assets.productTile",
|
|
3202
|
+
"fragment": false,
|
|
3203
|
+
"embedded": false,
|
|
3204
|
+
"contentLinkUuid": "e8b0d2f4a6c8e0b2d4f6a8c0e2b",
|
|
3205
|
+
"data": {
|
|
3206
|
+
"product": "iphone7"
|
|
3207
|
+
},
|
|
3208
|
+
"localized": true,
|
|
3209
|
+
"visible": false
|
|
3210
|
+
}
|
|
3211
|
+
]
|
|
3212
|
+
}
|
|
3213
|
+
]
|
|
3214
|
+
}
|
|
3215
|
+
]
|
|
3216
|
+
}
|
|
3217
|
+
]
|
|
3218
|
+
}
|
|
3219
|
+
},
|
|
3220
|
+
"AspectAttributeInvalid": {
|
|
3221
|
+
"value": {
|
|
3222
|
+
"title": "Aspect Attribute Invalid",
|
|
3223
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/aspect-attribute-invalid",
|
|
3224
|
+
"detail": "Aspect attribute value \"5555\" does not fulfill its respective definition {\"id\" : \"foobar\", \"type\" : \"string\",\"required\" : \"false\"}"
|
|
3225
|
+
}
|
|
3226
|
+
},
|
|
3227
|
+
"PageNotFound": {
|
|
3228
|
+
"value": {
|
|
3229
|
+
"title": "Page Not Found",
|
|
3230
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/page-not-found",
|
|
3231
|
+
"detail": "No visible page with ID 'homepage' was found in site 'RefArch'."
|
|
3232
|
+
}
|
|
3233
|
+
},
|
|
3234
|
+
"Component": {
|
|
3235
|
+
"value": {
|
|
3236
|
+
"id": "be1f331b92d8ad7e38e440e35d",
|
|
3237
|
+
"typeId": "commerce_assets.carousel",
|
|
3238
|
+
"name": "Topseller Carousel",
|
|
3239
|
+
"fragment": false,
|
|
3240
|
+
"embedded": false,
|
|
3241
|
+
"contentLinkUuid": "f0a2c4e6b8d0f2a4c6e8b0d2f4",
|
|
3242
|
+
"data": {
|
|
3243
|
+
"title": "Topseller",
|
|
3244
|
+
"category": "topseller"
|
|
3245
|
+
},
|
|
3246
|
+
"localized": true,
|
|
3247
|
+
"visible": true,
|
|
3248
|
+
"custom": {
|
|
3249
|
+
"detailUrl": "www.myshop.com/topseller"
|
|
3250
|
+
},
|
|
3251
|
+
"designMetadata": {
|
|
3252
|
+
"id": "commerce_assets.carousel",
|
|
3253
|
+
"name": "Carousel Component",
|
|
3254
|
+
"archType": "headless"
|
|
3255
|
+
},
|
|
3256
|
+
"regions": [
|
|
3257
|
+
{
|
|
3258
|
+
"id": "tiles",
|
|
3259
|
+
"components": [
|
|
3260
|
+
{
|
|
3261
|
+
"id": "45af07459684e6db78990c5d05",
|
|
3262
|
+
"typeId": "commerce_assets.productTile",
|
|
3263
|
+
"name": "iPhone 6 Tile",
|
|
3264
|
+
"fragment": false,
|
|
3265
|
+
"embedded": false,
|
|
3266
|
+
"contentLinkUuid": "5d7f1a3b5c7e9f0a2c4d6e8f0a2",
|
|
3267
|
+
"data": {
|
|
3268
|
+
"product": "iphone6"
|
|
3269
|
+
},
|
|
3270
|
+
"localized": false,
|
|
3271
|
+
"visible": true
|
|
3272
|
+
},
|
|
3273
|
+
{
|
|
3274
|
+
"id": "df6e33766d90e7e205d109aa2f",
|
|
3275
|
+
"typeId": "commerce_assets.productTile",
|
|
3276
|
+
"name": "iPhone 7 Tile",
|
|
3277
|
+
"fragment": false,
|
|
3278
|
+
"embedded": false,
|
|
3279
|
+
"contentLinkUuid": "e8b0d2f4a6c8e0b2d4f6a8c0e2b",
|
|
3280
|
+
"data": {
|
|
3281
|
+
"product": "iphone7"
|
|
3282
|
+
},
|
|
3283
|
+
"localized": true,
|
|
3284
|
+
"visible": true
|
|
3285
|
+
}
|
|
3286
|
+
]
|
|
3287
|
+
}
|
|
3288
|
+
]
|
|
3289
|
+
}
|
|
3290
|
+
},
|
|
3291
|
+
"ComponentBadRequest": {
|
|
3292
|
+
"value": {
|
|
3293
|
+
"title": "Bad Request",
|
|
3294
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request",
|
|
3295
|
+
"detail": "The provided 'componentId' is invalid or missing required query parameter 'siteId'."
|
|
3296
|
+
}
|
|
3297
|
+
},
|
|
3298
|
+
"ComponentNotFound": {
|
|
3299
|
+
"value": {
|
|
3300
|
+
"title": "Component Not Found",
|
|
3301
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/component-not-found",
|
|
3302
|
+
"detail": "No visible component with ID 'rfdvj4ojtltljw3' was found in site 'RefArch'."
|
|
3303
|
+
}
|
|
3304
|
+
},
|
|
3305
|
+
"ComponentInternalError": {
|
|
3306
|
+
"value": {
|
|
3307
|
+
"title": "Internal Server Error",
|
|
3308
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/internal-server-error",
|
|
3309
|
+
"detail": "An unexpected error occurred while processing the request."
|
|
3310
|
+
}
|
|
3311
|
+
},
|
|
3312
|
+
"Content": {
|
|
3313
|
+
"value": {
|
|
3314
|
+
"id": "homepage-banner",
|
|
3315
|
+
"name": "Homepage Banner",
|
|
3316
|
+
"description": "Main promotional banner for the homepage",
|
|
3317
|
+
"pageTitle": "Homepage Banner - My Shop",
|
|
3318
|
+
"pageDescription": "Discover amazing products at great prices",
|
|
3319
|
+
"pageKeywords": "banner, promotion, homepage"
|
|
3320
|
+
}
|
|
3321
|
+
},
|
|
3322
|
+
"ContentNotFound": {
|
|
3323
|
+
"value": {
|
|
3324
|
+
"title": "Content Asset Not Found",
|
|
3325
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/content-not-found",
|
|
3326
|
+
"detail": "No visible content asset with ID 'homepage-banner' was found in site 'RefArch'."
|
|
3327
|
+
}
|
|
3328
|
+
},
|
|
3329
|
+
"ContentResult": {
|
|
3330
|
+
"value": {
|
|
3331
|
+
"data": [
|
|
3332
|
+
{
|
|
3333
|
+
"id": "homepage-banner",
|
|
3334
|
+
"name": "Homepage Banner",
|
|
3335
|
+
"description": "Main promotional banner for the homepage",
|
|
3336
|
+
"pageTitle": "Homepage Banner - My Shop",
|
|
3337
|
+
"pageDescription": "Discover amazing products at great prices",
|
|
3338
|
+
"pageKeywords": "banner, promotion, homepage"
|
|
3339
|
+
},
|
|
3340
|
+
{
|
|
3341
|
+
"id": "footer-content",
|
|
3342
|
+
"name": "Footer Content",
|
|
3343
|
+
"description": "Footer information and links",
|
|
3344
|
+
"pageTitle": "Footer - My Shop",
|
|
3345
|
+
"pageDescription": "Footer content with links and copyright information",
|
|
3346
|
+
"pageKeywords": "footer, links, copyright"
|
|
3347
|
+
}
|
|
3348
|
+
],
|
|
3349
|
+
"total": 2,
|
|
3350
|
+
"limit": 2
|
|
3351
|
+
}
|
|
3352
|
+
},
|
|
3353
|
+
"GetContentsBadRequest": {
|
|
3354
|
+
"value": {
|
|
3355
|
+
"title": "Bad Request",
|
|
3356
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request",
|
|
3357
|
+
"detail": "'ids' violates the value constraint. The expected value is between '(0..50)'.",
|
|
3358
|
+
"parameter": "ids",
|
|
3359
|
+
"expected": "(0..50)"
|
|
3360
|
+
}
|
|
3361
|
+
},
|
|
3362
|
+
"ContentSearchResult": {
|
|
3363
|
+
"value": {
|
|
3364
|
+
"query": "banner",
|
|
3365
|
+
"hits": [
|
|
3366
|
+
{
|
|
3367
|
+
"id": "homepage-banner",
|
|
3368
|
+
"name": "Homepage Banner",
|
|
3369
|
+
"description": "Main promotional banner for the homepage",
|
|
3370
|
+
"pageTitle": "Homepage Banner - My Shop",
|
|
3371
|
+
"pageDescription": "Discover amazing products at great prices",
|
|
3372
|
+
"pageKeywords": "banner, promotion, homepage"
|
|
3373
|
+
},
|
|
3374
|
+
{
|
|
3375
|
+
"id": "sidebar-banner",
|
|
3376
|
+
"name": "Sidebar Banner",
|
|
3377
|
+
"description": "Promotional banner for the sidebar",
|
|
3378
|
+
"pageTitle": "Sidebar Banner - My Shop",
|
|
3379
|
+
"pageDescription": "Check out our special offers",
|
|
3380
|
+
"pageKeywords": "banner, sidebar, promotion"
|
|
3381
|
+
}
|
|
3382
|
+
],
|
|
3383
|
+
"selectedRefinements": {
|
|
3384
|
+
"fdid": "homepage-folder",
|
|
3385
|
+
"c_contentType": "banner"
|
|
3386
|
+
},
|
|
3387
|
+
"refinements": [
|
|
3388
|
+
{
|
|
3389
|
+
"attributeId": "c_contentType",
|
|
3390
|
+
"label": "Content Type",
|
|
3391
|
+
"values": [
|
|
3392
|
+
{
|
|
3393
|
+
"value": "banner",
|
|
3394
|
+
"label": "Banner",
|
|
3395
|
+
"hitCount": 15
|
|
3396
|
+
},
|
|
3397
|
+
{
|
|
3398
|
+
"value": "text",
|
|
3399
|
+
"label": "Text Content",
|
|
3400
|
+
"hitCount": 8
|
|
3401
|
+
}
|
|
3402
|
+
]
|
|
3403
|
+
},
|
|
3404
|
+
{
|
|
3405
|
+
"attributeId": "fdid",
|
|
3406
|
+
"label": "Content Folder",
|
|
3407
|
+
"values": [
|
|
3408
|
+
{
|
|
3409
|
+
"value": "homepage-folder",
|
|
3410
|
+
"label": "Homepage",
|
|
3411
|
+
"hitCount": 5
|
|
3412
|
+
},
|
|
3413
|
+
{
|
|
3414
|
+
"value": "promotions-folder",
|
|
3415
|
+
"label": "Promotions",
|
|
3416
|
+
"hitCount": 10
|
|
3417
|
+
}
|
|
3418
|
+
]
|
|
3419
|
+
}
|
|
3420
|
+
],
|
|
3421
|
+
"total": 2,
|
|
3422
|
+
"limit": 25,
|
|
3423
|
+
"offset": 0
|
|
3424
|
+
}
|
|
3425
|
+
},
|
|
3426
|
+
"ContentSearchBadRequest": {
|
|
3427
|
+
"value": {
|
|
3428
|
+
"title": "Bad Request",
|
|
3429
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request",
|
|
3430
|
+
"detail": "Invalid refinement parameter format. Expected format: 'attribute=value'.",
|
|
3431
|
+
"parameter": "refine"
|
|
3432
|
+
}
|
|
3433
|
+
},
|
|
3434
|
+
"ContentFolder": {
|
|
3435
|
+
"value": {
|
|
3436
|
+
"id": "homepage-folder",
|
|
3437
|
+
"parentFolderId": "root-folder",
|
|
3438
|
+
"name": "Homepage Folder",
|
|
3439
|
+
"description": "Folder containing homepage content assets",
|
|
3440
|
+
"pageTitle": "Homepage Folder - My Store",
|
|
3441
|
+
"pageDescription": "SEO description for homepage folder",
|
|
3442
|
+
"pageKeywords": "homepage, main, landing",
|
|
3443
|
+
"folders": [
|
|
3444
|
+
{
|
|
3445
|
+
"id": "hero-section",
|
|
3446
|
+
"parentFolderId": "homepage-folder",
|
|
3447
|
+
"name": "Hero Section",
|
|
3448
|
+
"description": "Hero section content folder",
|
|
3449
|
+
"folders": []
|
|
3450
|
+
},
|
|
3451
|
+
{
|
|
3452
|
+
"id": "featured-products",
|
|
3453
|
+
"parentFolderId": "homepage-folder",
|
|
3454
|
+
"name": "Featured Products",
|
|
3455
|
+
"description": "Featured products content folder",
|
|
3456
|
+
"folders": []
|
|
3457
|
+
}
|
|
3458
|
+
],
|
|
3459
|
+
"c_customAttribute": "customValue"
|
|
3460
|
+
}
|
|
3461
|
+
},
|
|
3462
|
+
"InvalidLevelsParameter": {
|
|
3463
|
+
"value": {
|
|
3464
|
+
"title": "Bad Request",
|
|
3465
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request",
|
|
3466
|
+
"detail": "'levels' violates the value constraint. The expected value is between '(0..2)'."
|
|
3467
|
+
}
|
|
3468
|
+
},
|
|
3469
|
+
"UnauthorizedExample": {
|
|
3470
|
+
"value": {
|
|
3471
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/unauthorized",
|
|
3472
|
+
"title": "Unauthorized",
|
|
3473
|
+
"detail": "Unauthorized request"
|
|
3474
|
+
}
|
|
3475
|
+
},
|
|
3476
|
+
"ForbiddenExample": {
|
|
3477
|
+
"value": {
|
|
3478
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/forbidden",
|
|
3479
|
+
"title": "Forbidden",
|
|
3480
|
+
"detail": "Access to requested resource forbidden"
|
|
3481
|
+
}
|
|
3482
|
+
},
|
|
3483
|
+
"ContentFolderNotFound": {
|
|
3484
|
+
"value": {
|
|
3485
|
+
"title": "Folder Not Found",
|
|
3486
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/folder-not-found",
|
|
3487
|
+
"detail": "No online content folder with ID 'non-existent-folder' for site 'RefArch' could be found."
|
|
3488
|
+
}
|
|
3489
|
+
},
|
|
3490
|
+
"ContentFolderResult": {
|
|
3491
|
+
"value": {
|
|
3492
|
+
"limit": 2,
|
|
3493
|
+
"total": 10,
|
|
3494
|
+
"data": [
|
|
3495
|
+
{
|
|
3496
|
+
"id": "homepage-folder",
|
|
3497
|
+
"parentFolderId": "root-folder",
|
|
3498
|
+
"name": "Homepage Folder",
|
|
3499
|
+
"description": "Folder containing homepage content assets",
|
|
3500
|
+
"pageTitle": "Homepage Folder - My Store",
|
|
3501
|
+
"pageDescription": "SEO description for homepage folder",
|
|
3502
|
+
"pageKeywords": "homepage, main, landing",
|
|
3503
|
+
"folders": [
|
|
3504
|
+
{
|
|
3505
|
+
"id": "hero-section",
|
|
3506
|
+
"parentFolderId": "homepage-folder",
|
|
3507
|
+
"name": "Hero Section",
|
|
3508
|
+
"description": "Hero section content folder",
|
|
3509
|
+
"folders": []
|
|
3510
|
+
},
|
|
3511
|
+
{
|
|
3512
|
+
"id": "featured-products",
|
|
3513
|
+
"parentFolderId": "homepage-folder",
|
|
3514
|
+
"name": "Featured Products",
|
|
3515
|
+
"description": "Featured products content folder",
|
|
3516
|
+
"folders": []
|
|
3517
|
+
}
|
|
3518
|
+
],
|
|
3519
|
+
"c_customAttribute": "customValue"
|
|
3520
|
+
},
|
|
3521
|
+
{
|
|
3522
|
+
"id": "category-folder",
|
|
3523
|
+
"parentFolderId": "root-folder",
|
|
3524
|
+
"name": "Category Folder",
|
|
3525
|
+
"description": "Folder containing category content assets",
|
|
3526
|
+
"pageTitle": "Category Folder - My Store",
|
|
3527
|
+
"pageDescription": "SEO description for category folder",
|
|
3528
|
+
"pageKeywords": "category, products, listing",
|
|
3529
|
+
"folders": []
|
|
3530
|
+
}
|
|
3531
|
+
]
|
|
3532
|
+
}
|
|
3533
|
+
},
|
|
3534
|
+
"QualifierResolveRequest": {
|
|
3535
|
+
"value": {
|
|
3536
|
+
"customerGroups": [
|
|
3537
|
+
"VIP"
|
|
3538
|
+
],
|
|
3539
|
+
"campaignQualifiers": [
|
|
3540
|
+
{
|
|
3541
|
+
"campaignId": "my-campaign",
|
|
3542
|
+
"promotionId": "my-promotion"
|
|
3543
|
+
},
|
|
3544
|
+
{
|
|
3545
|
+
"campaignId": "winter-promo"
|
|
3546
|
+
}
|
|
3547
|
+
],
|
|
3548
|
+
"dataBindings": [
|
|
3549
|
+
{
|
|
3550
|
+
"type": "content_asset",
|
|
3551
|
+
"id": "homepage-banner"
|
|
3552
|
+
}
|
|
3553
|
+
]
|
|
3554
|
+
}
|
|
3555
|
+
},
|
|
3556
|
+
"QualifierResolveResponse": {
|
|
3557
|
+
"value": {
|
|
3558
|
+
"customerGroups": {
|
|
3559
|
+
"VIP": true
|
|
3560
|
+
},
|
|
3561
|
+
"campaignQualifiers": {
|
|
3562
|
+
"my-campaign": {
|
|
3563
|
+
"my-promotion": false
|
|
3564
|
+
}
|
|
3565
|
+
},
|
|
3566
|
+
"campaigns": {
|
|
3567
|
+
"winter-promo": false
|
|
3568
|
+
},
|
|
3569
|
+
"dataBindings": {
|
|
3570
|
+
"content_asset": {
|
|
3571
|
+
"homepage-banner": {
|
|
3572
|
+
"title": "Winter Sale",
|
|
3573
|
+
"body": "<div>Shop our winter collection</div>",
|
|
3574
|
+
"showCountdown": true,
|
|
3575
|
+
"endDate": "2026-03-31T23:59:59Z"
|
|
3576
|
+
}
|
|
3577
|
+
}
|
|
3578
|
+
}
|
|
3579
|
+
}
|
|
3580
|
+
},
|
|
3581
|
+
"QualifierResolveBadRequest": {
|
|
3582
|
+
"value": {
|
|
3583
|
+
"title": "Bad Request",
|
|
3584
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request",
|
|
3585
|
+
"detail": "Invalid request body. The 'campaignQualifiers' array contains entries missing the required field 'campaignId'."
|
|
3586
|
+
}
|
|
3587
|
+
},
|
|
3588
|
+
"QualifierResolveTooManyItems": {
|
|
3589
|
+
"value": {
|
|
3590
|
+
"title": "Bad Request",
|
|
3591
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request",
|
|
3592
|
+
"detail": "'campaignQualifiers' violates the value constraint. The expected value is between '(0..50)'."
|
|
3593
|
+
}
|
|
3594
|
+
},
|
|
3595
|
+
"QualifierResolveInvalidIdentifier": {
|
|
3596
|
+
"value": {
|
|
3597
|
+
"title": "Bad Request",
|
|
3598
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request",
|
|
3599
|
+
"detail": "Invalid request body. The 'customerGroups' array contains empty or invalid identifiers."
|
|
3600
|
+
}
|
|
3601
|
+
},
|
|
3602
|
+
"QualifierResolveInvalidDataBindingType": {
|
|
3603
|
+
"value": {
|
|
3604
|
+
"title": "Bad Request",
|
|
3605
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request",
|
|
3606
|
+
"detail": "Invalid request body. The 'dataBindings' array contains entries missing the required 'type' field."
|
|
3607
|
+
}
|
|
3608
|
+
},
|
|
3609
|
+
"QualifierResolveInvalidDataBindingId": {
|
|
3610
|
+
"value": {
|
|
3611
|
+
"title": "Bad Request",
|
|
3612
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request",
|
|
3613
|
+
"detail": "Invalid request body. The 'dataBindings' array contains entries missing the required 'id' field."
|
|
3614
|
+
}
|
|
3615
|
+
}
|
|
3616
|
+
},
|
|
2275
3617
|
"securitySchemes": {
|
|
2276
3618
|
"ShopperToken": {
|
|
2277
3619
|
"type": "oauth2",
|
|
3620
|
+
"description": "ShopperToken authentication follows the authorization code grant flow, as defined by the OAuth 2.1 standard. Depending on the type of OAuth client (public or private), this authorization flow has further requirements.\nFor a detailed description of the authorization flow, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary).\nA shopper token allows you to access the Shopper API endpoints of both the Open Commerce API (OCAPI) and the B2C Commerce API. These endpoints can be used to build headless storefronts and other applications.\nThe `ShopperToken` security scheme is a parent of other security schemes, such as `ShopperTokenTsob`. A Shopper API endpoint can require a specific child scheme (`ShopperTokenTsob`, for example) that cannot be accessed with a regular shopper token.\n",
|
|
2278
3621
|
"flows": {
|
|
2279
3622
|
"clientCredentials": {
|
|
2280
3623
|
"tokenUrl": "https://{shortCode}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token",
|
|
@@ -2301,6 +3644,7 @@
|
|
|
2301
3644
|
},
|
|
2302
3645
|
"ShopperClientContextToken": {
|
|
2303
3646
|
"type": "oauth2",
|
|
3647
|
+
"description": "ShopperClientContextToken is a separate security scheme used to track and validate client context information.\nIt is valid for Guest shoppers flows only using SLAS private clients. For registered shoppers, use existing ShopperToken flows.\nFor authentication details, see the [SLAS overview](https://developer.salesforce.com/docs/commerce/commerce-api/references?meta=shopper-login:Summary).\nThis token allows access to Shopper API endpoints for guest shoppers only.\n",
|
|
2304
3648
|
"flows": {
|
|
2305
3649
|
"clientCredentials": {
|
|
2306
3650
|
"tokenUrl": "https://{shortCode}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token?hint=client_context",
|