@salesforce/b2c-tooling-sdk 2.3.0 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/data/guides/enrichment.json +291 -0
- package/data/guides/index.json +426 -37
- package/data/schemas/dw.schema.json +590 -0
- package/data/tooling/index.json +18 -9
- package/dist/esm/cli/base-command.d.ts +20 -1
- package/dist/esm/cli/base-command.js +61 -11
- package/dist/esm/cli/base-command.js.map +1 -1
- package/dist/esm/cli/cartridge-command.js +2 -1
- package/dist/esm/cli/cartridge-command.js.map +1 -1
- package/dist/esm/cli/command-search.d.ts +85 -0
- package/dist/esm/cli/command-search.js +147 -0
- package/dist/esm/cli/command-search.js.map +1 -0
- package/dist/esm/cli/config.d.ts +10 -1
- package/dist/esm/cli/config.js +18 -9
- package/dist/esm/cli/config.js.map +1 -1
- package/dist/esm/cli/hooks.d.ts +13 -0
- package/dist/esm/cli/hooks.js +11 -0
- package/dist/esm/cli/hooks.js.map +1 -1
- package/dist/esm/cli/index.d.ts +2 -0
- package/dist/esm/cli/index.js +2 -0
- package/dist/esm/cli/index.js.map +1 -1
- package/dist/esm/cli/instance-command.d.ts +1 -0
- package/dist/esm/cli/instance-command.js +2 -1
- package/dist/esm/cli/instance-command.js.map +1 -1
- package/dist/esm/cli/mrt-command.d.ts +3 -2
- package/dist/esm/cli/mrt-command.js +4 -4
- package/dist/esm/cli/mrt-command.js.map +1 -1
- package/dist/esm/cli/oauth-command.d.ts +1 -0
- package/dist/esm/cli/ods-command.d.ts +1 -0
- package/dist/esm/cli/webdav-command.d.ts +1 -0
- package/dist/esm/clients/custom-apis.d.ts +36 -2
- package/dist/esm/clients/custom-apis.js +57 -4
- package/dist/esm/clients/custom-apis.js.map +1 -1
- package/dist/esm/clients/index.d.ts +1 -1
- package/dist/esm/clients/index.js +1 -1
- package/dist/esm/clients/index.js.map +1 -1
- package/dist/esm/clients/scapi-backend-utils.d.ts +15 -0
- package/dist/esm/clients/scapi-backend-utils.js +28 -1
- package/dist/esm/clients/scapi-backend-utils.js.map +1 -1
- package/dist/esm/clients/scapi-fallback-backend.js +2 -2
- package/dist/esm/clients/scapi-fallback-backend.js.map +1 -1
- package/dist/esm/clients/scapi-schemas.generated.d.ts +2 -2
- package/dist/esm/compat/dispatcher.js +2 -2
- package/dist/esm/compat/dispatcher.js.map +1 -1
- package/dist/esm/config/config-origins.d.ts +19 -0
- package/dist/esm/config/config-origins.js +11 -0
- package/dist/esm/config/config-origins.js.map +1 -0
- package/dist/esm/config/config-write.d.ts +86 -0
- package/dist/esm/config/config-write.js +296 -0
- package/dist/esm/config/config-write.js.map +1 -0
- package/dist/esm/config/dw-json-schema.d.ts +14 -0
- package/dist/esm/config/dw-json-schema.js +269 -0
- package/dist/esm/config/dw-json-schema.js.map +1 -0
- package/dist/esm/config/dw-json.d.ts +2 -0
- package/dist/esm/config/dw-json.js +10 -6
- package/dist/esm/config/dw-json.js.map +1 -1
- package/dist/esm/config/index.d.ts +13 -4
- package/dist/esm/config/index.js +8 -3
- package/dist/esm/config/index.js.map +1 -1
- package/dist/esm/config/instance-manager.d.ts +64 -28
- package/dist/esm/config/instance-manager.js +145 -63
- package/dist/esm/config/instance-manager.js.map +1 -1
- package/dist/esm/config/mapping.d.ts +5 -0
- package/dist/esm/config/mapping.js +20 -1
- package/dist/esm/config/mapping.js.map +1 -1
- package/dist/esm/config/project-environment.d.ts +62 -0
- package/dist/esm/config/project-environment.js +113 -0
- package/dist/esm/config/project-environment.js.map +1 -1
- package/dist/esm/config/resolver.d.ts +22 -0
- package/dist/esm/config/resolver.js +106 -37
- package/dist/esm/config/resolver.js.map +1 -1
- package/dist/esm/config/sources/dw-json-source.d.ts +9 -1
- package/dist/esm/config/sources/dw-json-source.js +59 -23
- package/dist/esm/config/sources/dw-json-source.js.map +1 -1
- package/dist/esm/config/sources/env-source.d.ts +70 -9
- package/dist/esm/config/sources/env-source.js +205 -47
- package/dist/esm/config/sources/env-source.js.map +1 -1
- package/dist/esm/config/sources/index.d.ts +1 -1
- package/dist/esm/config/sources/index.js +1 -1
- package/dist/esm/config/sources/index.js.map +1 -1
- package/dist/esm/config/types.d.ts +53 -3
- package/dist/esm/docs/search.js +3 -1
- package/dist/esm/docs/search.js.map +1 -1
- package/dist/esm/docs/types.d.ts +3 -1
- package/dist/esm/guidance/bundle.d.ts +33 -0
- package/dist/esm/guidance/bundle.js +268 -0
- package/dist/esm/guidance/bundle.js.map +1 -0
- package/dist/esm/guidance/catalog.d.ts +8 -1
- package/dist/esm/guidance/catalog.js +48 -6
- package/dist/esm/guidance/catalog.js.map +1 -1
- package/dist/esm/guidance/index.d.ts +1 -0
- package/dist/esm/guidance/index.js +1 -0
- package/dist/esm/guidance/index.js.map +1 -1
- package/dist/esm/guidance/types.d.ts +17 -1
- package/dist/esm/guidance/types.js.map +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/operations/jobs/run-system-job.js +2 -2
- package/dist/esm/operations/jobs/run-system-job.js.map +1 -1
- package/dist/esm/plugins/discovery.js +2 -1
- package/dist/esm/plugins/discovery.js.map +1 -1
- package/dist/esm/scapi/catalog.d.ts +5 -2
- package/dist/esm/scapi/catalog.js.map +1 -1
- package/dist/esm/scapi/index.d.ts +6 -2
- package/dist/esm/scapi/index.js +4 -2
- package/dist/esm/scapi/index.js.map +1 -1
- package/dist/esm/scapi/live.d.ts +14 -3
- package/dist/esm/scapi/live.js +33 -5
- package/dist/esm/scapi/live.js.map +1 -1
- package/dist/esm/scapi/local.d.ts +26 -0
- package/dist/esm/scapi/local.js +143 -0
- package/dist/esm/scapi/local.js.map +1 -0
- package/dist/esm/scapi/request.d.ts +2 -2
- package/dist/esm/scapi/request.js +4 -2
- package/dist/esm/scapi/request.js.map +1 -1
- package/dist/esm/scapi/runtime.d.ts +5 -0
- package/dist/esm/scapi/runtime.js.map +1 -1
- package/dist/esm/scapi/schema-source.d.ts +90 -0
- package/dist/esm/scapi/schema-source.js +146 -0
- package/dist/esm/scapi/schema-source.js.map +1 -0
- package/dist/esm/scapi/worker-source.js +31 -7
- package/dist/esm/scapi/worker-source.js.map +1 -1
- package/dist/esm/telemetry/telemetry.d.ts +1 -0
- package/dist/esm/telemetry/telemetry.js +18 -1
- package/dist/esm/telemetry/telemetry.js.map +1 -1
- package/dist/esm/telemetry/types.d.ts +9 -0
- package/dist/esm/test-utils/config-isolation.js +21 -15
- package/dist/esm/test-utils/config-isolation.js.map +1 -1
- package/dist/esm/ux/agent-context.d.ts +69 -0
- package/dist/esm/ux/agent-context.js +133 -0
- package/dist/esm/ux/agent-context.js.map +1 -0
- package/dist/esm/ux/confirm.d.ts +27 -0
- package/dist/esm/ux/confirm.js +32 -0
- package/dist/esm/ux/confirm.js.map +1 -1
- package/dist/esm/ux/index.d.ts +2 -1
- package/dist/esm/ux/index.js +2 -1
- package/dist/esm/ux/index.js.map +1 -1
- package/node_modules/@salesforce/b2c-api-schemas/manifest.json +83 -42
- package/node_modules/@salesforce/b2c-api-schemas/package.json +1 -1
- package/node_modules/@salesforce/b2c-api-schemas/scapi/cdn/zones/v1.json +6798 -238
- package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/orders/v1.json +2296 -205
- package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-baskets/v1.json +5571 -666
- package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-baskets/v2.json +6062 -371
- package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-orders/v1.json +3426 -360
- package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-payments/v1.json +351 -99
- package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/cors/v1.json +172 -12
- package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/preferences/v1.json +1497 -111
- package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/shopper-configurations/v1.json +202 -36
- package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/timeouts/v1.json +79 -10
- package/node_modules/@salesforce/b2c-api-schemas/scapi/custom-object/custom-objects/v1.json +785 -49
- package/node_modules/@salesforce/b2c-api-schemas/scapi/custom-object/shopper-custom-objects/v1.json +191 -40
- package/node_modules/@salesforce/b2c-api-schemas/scapi/customer/customers/v1.json +1483 -107
- package/node_modules/@salesforce/b2c-api-schemas/scapi/customer/shopper-customers/v1.json +4854 -787
- package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/custom-apis/v1.json +119 -15
- package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/object-definitions/v1.json +1699 -80
- package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/scapi-schemas/v1.json +252 -18
- package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/scripts/v1.json +329 -23
- package/node_modules/@salesforce/b2c-api-schemas/scapi/experience/experiences/v1.json +4208 -234
- package/node_modules/@salesforce/b2c-api-schemas/scapi/experience/shopper-experience/v1.json +1591 -247
- package/node_modules/@salesforce/b2c-api-schemas/scapi/intelligence/analytics/v1.json +396 -8
- package/node_modules/@salesforce/b2c-api-schemas/scapi/inventory/availability/v1.json +1242 -69
- package/node_modules/@salesforce/b2c-api-schemas/scapi/inventory/impex/v1.json +2354 -248
- package/node_modules/@salesforce/b2c-api-schemas/scapi/inventory/reservation/v1.json +1550 -45
- package/node_modules/@salesforce/b2c-api-schemas/scapi/inventory/segmentation/v1.json +6615 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/merchant/roles/v1.json +1520 -59
- package/node_modules/@salesforce/b2c-api-schemas/scapi/merchant/users/v1.json +397 -17
- package/node_modules/@salesforce/b2c-api-schemas/scapi/observability/metrics/v1.json +1241 -27
- package/node_modules/@salesforce/b2c-api-schemas/scapi/operation/jobs/v1.json +1069 -68
- package/node_modules/@salesforce/b2c-api-schemas/scapi/operation/replications/v1.json +410 -23
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/assignments/v1.json +502 -102
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/campaigns/v1.json +1112 -94
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/coupons/v1.json +820 -93
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/gift-certificates/v1.json +845 -92
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/promotions/v1.json +2716 -674
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/shopper-gift-certificates/v1.json +130 -47
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/shopper-promotions/v1.json +233 -63
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/source-code-groups/v1.json +630 -70
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/catalogs/v1.json +2886 -348
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/inventory-lists/v1.json +520 -19
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/price-books/v1.json +3115 -293
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/products/v1.json +3313 -138
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/shopper-availability/v1.json +266 -52
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/shopper-delivery-estimates/v1.json +256 -48
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/shopper-products/v1.json +1744 -306
- package/node_modules/@salesforce/b2c-api-schemas/scapi/search/shopper-search/v1.json +1661 -120
- package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/auth/v1.json +2174 -118
- package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/auth-admin/v1.json +1373 -24
- package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/consents/v1.json +531 -20
- package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/shopper-agents/v1.json +154 -6
- package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/shopper-consents/v1.json +596 -79
- package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/shopper-context/v1.json +456 -42
- package/node_modules/@salesforce/b2c-api-schemas/scapi/site/seo/v1.json +101 -23
- package/node_modules/@salesforce/b2c-api-schemas/scapi/site/shopper-seo/v1.json +184 -41
- package/node_modules/@salesforce/b2c-api-schemas/scapi/site/sites/v1.json +995 -47
- package/node_modules/@salesforce/b2c-api-schemas/scapi/store/shopper-stores/v1.json +370 -67
- package/node_modules/@salesforce/b2c-api-schemas/scapi/store/store-redirect-mappings/v1.json +319 -11
- package/node_modules/@salesforce/b2c-api-schemas/scapi/store/stores/v1.json +1109 -64
- package/node_modules/@salesforce/b2c-api-schemas/scapi/storefront/deployments/v1.json +1442 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/storefront/environments/v1.json +4293 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/storefront/storefronts/v1.json +1371 -0
- package/package.json +5 -2
- package/specs/scapi-schemas-v1.yaml +4 -1
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
"openapi": "3.0.3",
|
|
3
3
|
"info": {
|
|
4
4
|
"title": "Shopper Search",
|
|
5
|
-
"version": "1.14.0",
|
|
5
|
+
"description": "[Download API specification](https://developer.salesforce.com/static/commercecloud/commerce-api/shopper-search/shopper-search-oas-v1-public.yaml)\n\n# API Overview\n\nUse the Shopper Search API for search functionality that lets shoppers search for products using keywords and refinement. The search results can be products or suggestions based on the endpoint you choose in the API.\n\n## Authentication & Authorization\n\nThe client requesting the API must have access to the product search and search suggestion resources. \n\nThe Shopper Search API requires a JWT acquired via the Shopper Customers endpoint:\n\n```\nhttps://{shortCode}.api.commercecloud.salesforce.com/customer/shopper-customers/v1/organizations/{organizationId}/customers/actions/login\n```\n\nYou must include the relevant scopes in the client ID used to generate the SLAS token. For a full list of permissions, see the [Authorization Scopes Catalog.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/auth-z-scope-catalog.html)\n\n## Customization\n\n### Custom Properties\n\nThis API supports custom properties (prefixed with `c_`). For details, see [Custom Properties.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/custom-properties.html)\n\n### Hooks\n\nFor details on working with hooks, see [Extensibility with Hooks.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/extensibility_via_hooks.html)\n\n## Request Details\n\n### Property Selection\n\nThis API supports the `select` query parameter for filtering response properties. For details, see [Property Selection.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/scapi-property-selection.html)\n\n### URL Encoding\n\nIf resource identifiers in request parameters contain commas (`,`) or percent signs (`%`), they must be URL encoded. For details, see [Encode URL Special Characters.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/url-encode.html)\n\n## Response Details\n\n### Personalization\n\nResponses from this API can be personalized using the [Shopper Context API.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/shopper-context-api.html) By setting context attributes such as customer group, source code, or store ID, you can retrieve personalized promotions, pricing, and shipping methods. For details on how personalization interacts with caching, see [Personalized Caching.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/server-side-web-tier-caching.html#personalized-caching)\n\n### Caching\n\nCaching is provided for this API. For details, see [Server-Side Web-Tier Caching.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/server-side-web-tier-caching.html)\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### Search for Products\n\nSearch for products by keyword. Replace `{access_token}` with a valid SLAS token.\n\n```sh\ncurl \"https://{shortCode}.api.commercecloud.salesforce.com/search/shopper-search/v1/organizations/{organizationId}/product-search?q=dress&siteId=RefArch&limit=5\" \\\n -H \"Authorization: Bearer {access_token}\"\n```\n\n\n### Provide Search Suggestions\n\nUse the Shopper Search API to provide search suggestions as a shopper searches.\n\nFor example, a developer who is building a shopping app using the Salesforce Commerce API would like to provide product, brand, and category suggestions. When a shopper types in a search phrase that exceeds a definable minimum length and the GET Search Suggestion endpoint is requested, the platform delivers a set of suggestions with products (name, ID), brands (name), and categories (name, ID). Shoppers can reach their desired search results more quickly using the suggested completion and correction.\n\n### Provide Search Results\n\nUse the Shopper Search API to gather product results for a shoppers search query.\n\nFor example, a developer who is building a shopping app using the Salesforce Commerce API would like to implement a product search functionality. When a shopper enters a search phrase and the GET Product Search endpoint is requested, the platform performs a keyword search and a sorted search result is returned. The sorted search result can be refined according to given values (for example, a price range).\nThe product search result contains a definable number of product search hits. A product search hit describes a matching product with its ID and name. Furthermore, the search hit contains product images, prices, represented products, and variations. In addition to the search hits, the search results also deliver refinement and sorting options.\n\n### Retrieve Promotion Information\n\nNote: This only applies if `promotions` expand is provided in the query parameter.\n\nPromotions provide discounts to shoppers when they meet certain purchase requirements.\n\nPromotion information is described in detail in [Promotion Details](https://developer.salesforce.com/docs/commerce/commerce-api/guide/promotion-details.html), but the following list provides several key points:\n\n- Pricing discounts for basket and shipping promotions are NEVER returned by the 'getProduct' or 'getProducts' endpoint.\n- Promotional pricing is ONLY returned for products that are included with non-conditional promotions.\n- Callout messages are ALWAYS returned by the 'getProduct' and 'getProducts' endpoints.\n\nBy default, 'getProduct' and 'getProducts' return promotion information for a queried product. Promotion information includes both pricing and callout message information. However, the specific pricing and callout information that is fetched is determined by:\n\n- Promotion Type\n- Product Type\n- Product Purchase Requirements\n\nSome promotions can be displayed on a Product Data Page (PDP) or Product Listing page (PLP), while other promotions are displayed in the context of a basket, such as an order level promotion: \"add the product to your basket to view price information\". It is important to understand what is included in the response when designing a PDP or PLP on top of SCAPI to ensure your design aligns with implementable features.\n\nNote: When you search for a variant product, the Product Search API returns the master or main product as the primary search hit. When promotion data (productPromotion) is returned, it does not contain pricing information because the returned product is the main product. To retrieve pricing information, pass the query string `allVariationProperties=true` with the `promotions` expand parameter, which returns pricing data for variant products if the promotion is unconditional. The `allVariationProperties` flag specifies the variation properties to be included in the result.\n\n### Filter Products by Promotion Role\n\nYou can filter products by their role in a promotion using the `pmid` (promotion ID) and `pmpt` (promotion product type) refinement parameters together. This allows you to find specific types of products within a promotion:\n\n- `pmid`: Specifies the promotion ID to filter by\n- `pmpt`: Specifies the type of products to return within that promotion:\n - `all`: Returns all products related to the promotion (default behavior)\n - `qualifying`: Returns only products that qualify for the promotion but don't receive the discount/bonus\n - `discounted`: Returns only products that receive a discount in the promotion \n - `bonus`: Returns only products that are given as bonuses in the promotion\n\nExample Usage:\n```\nGET /organizations/{organizationId}/product-search?refine=pmid=summer-sale&refine=pmpt=discounted\n```\n\nThis would return only the products that receive discounts in the \"summer-sale\" promotion.\n\n**Note:** The `pmpt` parameter only has an effect when used with `pmid`. If `pmpt` is specified without `pmid`, it will be ignored and all products will be returned.\n\n### Shopper Personalization\nThe SCAPI response can be personalized using the Shopper Context API or hooks. By setting specific values in the Shopper Context API, you can modify the response of the 'getProduct' or 'getProducts' endpoint based on the shopper's context. For instance, you can offer a 5% discount or free shipping to shoppers using mobile devices.\n\n## JWA Caching\n\nThe response is cached in JWA, which means promotion data contained in the response is also cached based on the TTL (Time to Live) specified in the Business Manager [Feature Switches](https://help.salesforce.com/s/articleView?id=cc.b2c_feature_switches.htm&type=5) configuration.\nWhen the shopper context value is updated, a check is conducted to see if the updated shopper context affects the retrieval of product-promotion data. If it does, then the response is fetched from the source and cached in the JWA.\n\nFor details, see [Server-Side Web-Tier Caching.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/server-side-web-tier-caching.html)\n\n## Best Practices\n\nThese best practices refer to features that are generally available with B2C Commerce 24.3.\n\nFor better performance, when you call the GET Product Search endpoint, we recommend that you:\n\n- Use the `select` query parameter to filter the response of a specified field or set of fields, and remove default outputs that you don't need. For example, filter the response to return only the relevant product names, ids, variants, and product IDs of the variants.\n- Limit API requests to the GET Product Search endpoint instead of calling both the GET Product Search and GET Products endpoints to show information on a product listing page (PLP). Use these features to provide the additional product information needed to render product tiles:\n - **Allowable value:** `promotions` value in the `expand` query parameter\n - **Query parameters:** `perPricebook`, `allImages`, and `allVariationProperties`\n - **Responses:** `productPromotions`, `imageGroups`, `priceRanges`, `tieredPrices`, `variants`, and `variationGroups`\n- Pass in only the `expand` values and query parameters that you consider necessary to meet your PLP requirements. Requesting large amounts of information can increase the latency, especially if there's a lot of data to be returned (for example, many imageGroups and variants).",
|
|
6
|
+
"version": "1.15.2",
|
|
6
7
|
"x-api-type": "Shopper",
|
|
7
8
|
"x-api-family": "Search"
|
|
8
9
|
},
|
|
@@ -11,6 +12,7 @@
|
|
|
11
12
|
"url": "https://{shortCode}.api.commercecloud.salesforce.com/search/shopper-search/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,46 +21,60 @@
|
|
|
19
21
|
"paths": {
|
|
20
22
|
"/organizations/{organizationId}/product-search": {
|
|
21
23
|
"get": {
|
|
24
|
+
"summary": "Provides keyword and refinement-based search for products, returning only product ID, link, and name. Results \nare limited to products that are online and part of the site catalog.",
|
|
25
|
+
"description": "Provide keyword and refinement search functionality for products. Only returns the product ID, link, and name in\nthe product search hit. The search result only contains products that are online and assigned to the site \ncatalog.",
|
|
22
26
|
"operationId": "productSearch",
|
|
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": "select",
|
|
36
42
|
"in": "query",
|
|
43
|
+
"description": "The property selector declaring which fields are included in the product search response payload. For details, see [Property Selection.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/scapi-property-selection.html)",
|
|
37
44
|
"required": false,
|
|
38
45
|
"style": "form",
|
|
39
46
|
"explode": true,
|
|
40
47
|
"schema": {
|
|
41
48
|
"$ref": "#/components/schemas/Select"
|
|
42
|
-
}
|
|
49
|
+
},
|
|
50
|
+
"example": "(hits.(**), refinements, sortingOptions.(id))"
|
|
43
51
|
},
|
|
44
52
|
{
|
|
45
53
|
"name": "siteId",
|
|
46
54
|
"in": "query",
|
|
55
|
+
"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.",
|
|
47
56
|
"required": true,
|
|
48
57
|
"style": "form",
|
|
49
58
|
"explode": true,
|
|
50
59
|
"schema": {
|
|
51
60
|
"$ref": "#/components/schemas/SiteId"
|
|
61
|
+
},
|
|
62
|
+
"examples": {
|
|
63
|
+
"SiteId": {
|
|
64
|
+
"value": "RefArch"
|
|
65
|
+
}
|
|
52
66
|
}
|
|
53
67
|
},
|
|
54
68
|
{
|
|
55
69
|
"name": "q",
|
|
56
70
|
"in": "query",
|
|
71
|
+
"description": "The query phrase to search for. For example to search for a product \"shirt\", type q=shirt. **Note:** - Lexical search queries are limited to a maximum of 50 characters.",
|
|
57
72
|
"required": false,
|
|
58
73
|
"style": "form",
|
|
59
74
|
"explode": true,
|
|
60
75
|
"schema": {
|
|
61
76
|
"type": "string",
|
|
77
|
+
"example": "shirt",
|
|
62
78
|
"maxLength": 500,
|
|
63
79
|
"minLength": 1
|
|
64
80
|
}
|
|
@@ -66,6 +82,7 @@
|
|
|
66
82
|
{
|
|
67
83
|
"name": "refine",
|
|
68
84
|
"in": "query",
|
|
85
|
+
"description": "Parameter that represents a refinement attribute or values pair. Refinement attribute ID and values are separated by '='.<br> \nMultiple values are supported by a subset of refinement attributes and can be provided by separating them using a pipe (URL encoded = \\\"|\\\"), for example: refine=c_refinementColor=red|green|blue.<br> \nValue ranges can be specified like this: refine=price=(100..500).<br> \nMultiple refine parameters can be provided by using the refine as the key, for example: refine=price=(0..10)&refine=c_refinementColor=green.<br> \nThe refinements can be a collection of custom defined attributes IDs and the system defined attributes IDs but the search can only accept a total of 9 refinements at a time.<br> \n\nThe following system refinement attribute ids are supported:<br>\n`cgid`: Allows refinement per single category ID. Multiple category IDs are not supported.<br>\n`cgslug`: Allows refinement by a category URL slug (for example, `mens/clothing`). The server resolves the slug to a category ID using the site's storefront URL mapping. If the slug can't be resolved to a category, the API returns a 400 error. This parameter is mutually exclusive with `cgid`. If both are provided, `cgid` takes priority and `cgslug` is ignored.<br>\n`price`: Allows refinement per single price range. Multiple price ranges are not supported.<br>\n`htype`: Allow refinement by including only the provided hit types. Accepted types are 'product', 'master', 'set', 'bundle', 'slicing_group' (deprecated), 'variation_group'.<br>\n`orderable_only`: Unavailable products are excluded from the search results if true is set. Multiple refinement values are not supported.<br>\n`ilids`: Allows refining by inventory list IDs. Supports up to 10 inventory list IDs per request.<br>\n`pmid`: Allows refinement on the supplied promotion ID(s). When used with `pmpt`, filters products by their role in the promotion.<br>\n`pmpt`: Allows refinement per promotion product type. Must be used with `pmid` to filter products by their role in the promotion. Valid values are:\n - `all`: Returns all products related to the promotion (default)\n - `qualifying`: Returns only products that qualify for the promotion but don't receive the discount/bonus\n - `discounted`: Returns only products that receive a discount in the promotion\n - `bonus`: Returns only products that are given as bonuses in the promotion\n\n**Note:** To refine a search using multiple promotion filters—for example, to find products in both the spring and summer campaigns—see [Refining by Multiple Promotions](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/b2c-promotions-for-developers.html#refining-by-multiple-promotions).",
|
|
69
86
|
"required": false,
|
|
70
87
|
"style": "form",
|
|
71
88
|
"explode": true,
|
|
@@ -73,6 +90,7 @@
|
|
|
73
90
|
"type": "array",
|
|
74
91
|
"items": {
|
|
75
92
|
"type": "string",
|
|
93
|
+
"example": "price=(0..10)",
|
|
76
94
|
"maxLength": 4000
|
|
77
95
|
},
|
|
78
96
|
"maxItems": 9
|
|
@@ -81,17 +99,20 @@
|
|
|
81
99
|
{
|
|
82
100
|
"name": "sort",
|
|
83
101
|
"in": "query",
|
|
102
|
+
"description": "The ID of the sorting option to sort the search hits.",
|
|
84
103
|
"required": false,
|
|
85
104
|
"style": "form",
|
|
86
105
|
"explode": true,
|
|
87
106
|
"schema": {
|
|
88
107
|
"type": "string",
|
|
108
|
+
"example": "brand",
|
|
89
109
|
"maxLength": 256
|
|
90
110
|
}
|
|
91
111
|
},
|
|
92
112
|
{
|
|
93
113
|
"name": "searchMode",
|
|
94
114
|
"in": "query",
|
|
115
|
+
"description": "A hint for the search matching approach the platform should use for this request. `semantic` selects meaning-based matching; `lexical` selects keyword/token-based matching.\n\nThe hint is non-authoritative and applies only to this request: the platform runs its full routing cascade and may demote a `semantic` request to `lexical` (for example when the semantic index is unavailable). Always read the resolved `effectiveSearchMode` field in the response rather than assuming the requested mode was honored. When omitted, the platform's configured default applies.",
|
|
95
116
|
"required": false,
|
|
96
117
|
"style": "form",
|
|
97
118
|
"explode": true,
|
|
@@ -100,32 +121,49 @@
|
|
|
100
121
|
"enum": [
|
|
101
122
|
"semantic",
|
|
102
123
|
"lexical"
|
|
103
|
-
]
|
|
124
|
+
],
|
|
125
|
+
"example": "semantic"
|
|
104
126
|
}
|
|
105
127
|
},
|
|
106
128
|
{
|
|
107
129
|
"name": "currency",
|
|
108
130
|
"in": "query",
|
|
131
|
+
"description": "A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable.",
|
|
109
132
|
"required": false,
|
|
110
133
|
"style": "form",
|
|
111
134
|
"explode": true,
|
|
112
135
|
"schema": {
|
|
113
136
|
"$ref": "#/components/schemas/CurrencyCode"
|
|
137
|
+
},
|
|
138
|
+
"examples": {
|
|
139
|
+
"CurrencyCode": {
|
|
140
|
+
"value": "USD"
|
|
141
|
+
}
|
|
114
142
|
}
|
|
115
143
|
},
|
|
116
144
|
{
|
|
117
145
|
"name": "locale",
|
|
118
146
|
"in": "query",
|
|
147
|
+
"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.",
|
|
119
148
|
"required": false,
|
|
120
149
|
"style": "form",
|
|
121
150
|
"explode": true,
|
|
122
151
|
"schema": {
|
|
123
152
|
"$ref": "#/components/schemas/LocaleCode"
|
|
153
|
+
},
|
|
154
|
+
"examples": {
|
|
155
|
+
"LanguageCountry": {
|
|
156
|
+
"value": "en-US"
|
|
157
|
+
},
|
|
158
|
+
"CountryCode": {
|
|
159
|
+
"value": "US"
|
|
160
|
+
}
|
|
124
161
|
}
|
|
125
162
|
},
|
|
126
163
|
{
|
|
127
164
|
"name": "expand",
|
|
128
165
|
"in": "query",
|
|
166
|
+
"description": "A comma-separated list with allowed values - `availability`, `images`, `prices`, `represented_products`, `variations`, `promotions`, `custom_properties`, `slug`. \nBy default, the expand parameter includes `availability, images, prices, represented_products, variations`. \nUse none to disable all expand options.",
|
|
129
167
|
"required": false,
|
|
130
168
|
"style": "form",
|
|
131
169
|
"explode": true,
|
|
@@ -144,54 +182,64 @@
|
|
|
144
182
|
"custom_properties",
|
|
145
183
|
"page_meta_tags",
|
|
146
184
|
"slug"
|
|
147
|
-
]
|
|
185
|
+
],
|
|
186
|
+
"example": "prices"
|
|
148
187
|
}
|
|
149
188
|
}
|
|
150
189
|
},
|
|
151
190
|
{
|
|
152
191
|
"name": "allImages",
|
|
153
192
|
"in": "query",
|
|
193
|
+
"description": "When the `images` expand parameter is used with this flag, the response includes the `imageGroups` property, which contains an image model.\nIf this flag is true, the full image model is returned and you can combine with `imgTypes` to filter image types and counts. If false, only matching images are included.\nIf no flag is passed, the `imageGroups` property is omitted from the response.",
|
|
154
194
|
"required": false,
|
|
155
195
|
"style": "form",
|
|
156
196
|
"explode": true,
|
|
157
197
|
"schema": {
|
|
158
|
-
"type": "boolean"
|
|
198
|
+
"type": "boolean",
|
|
199
|
+
"example": true
|
|
159
200
|
}
|
|
160
201
|
},
|
|
161
202
|
{
|
|
162
203
|
"name": "imgTypes",
|
|
163
204
|
"in": "query",
|
|
205
|
+
"description": "Filters product images by type with optional count limits per type. This parameter requires both the `images` expand parameter and `allImages=true`.\nWhen used, the response includes the `imageGroups` property filtered by the specified image types.\nThe format is a comma-separated list of image types with optional counts: `<imageType>:<count>,<imageType>:<count>`.\nIf the count is omitted, all images of that type are returned. If specified, the count limits the number of images returned for that type.\nFor example, `imgTypes=large:2,small:1` returns up to 2 large images and 1 small image per product in the imageGroups.\nIf `imgTypes` is used without `allImages=true`, it is ignored and imageGroups aren't included in the response.",
|
|
164
206
|
"required": false,
|
|
165
207
|
"style": "form",
|
|
166
208
|
"explode": true,
|
|
167
209
|
"schema": {
|
|
168
210
|
"type": "string",
|
|
211
|
+
"example": "large:2,small:1",
|
|
169
212
|
"maxLength": 50
|
|
170
213
|
}
|
|
171
214
|
},
|
|
172
215
|
{
|
|
173
216
|
"name": "perPricebook",
|
|
174
217
|
"in": "query",
|
|
218
|
+
"description": "When this flag is set to `true` and is used with the `prices` expand parameter, the response includes per PriceBook prices and tiered prices (if available).",
|
|
175
219
|
"required": false,
|
|
176
220
|
"style": "form",
|
|
177
221
|
"explode": true,
|
|
178
222
|
"schema": {
|
|
179
|
-
"type": "boolean"
|
|
223
|
+
"type": "boolean",
|
|
224
|
+
"example": true
|
|
180
225
|
}
|
|
181
226
|
},
|
|
182
227
|
{
|
|
183
228
|
"name": "allVariationProperties",
|
|
184
229
|
"in": "query",
|
|
230
|
+
"description": "The flag that determines which variation properties are included in the result. When set to `true` with the `variations` expand parameter, all variation properties (`variationAttributes`, `variationGroups`, `variants`) are returned. When set to false, only the default property `variationAttributes` is returned.",
|
|
185
231
|
"required": false,
|
|
186
232
|
"style": "form",
|
|
187
233
|
"explode": true,
|
|
188
234
|
"schema": {
|
|
189
|
-
"type": "boolean"
|
|
235
|
+
"type": "boolean",
|
|
236
|
+
"example": false
|
|
190
237
|
}
|
|
191
238
|
},
|
|
192
239
|
{
|
|
193
240
|
"name": "includedCustomVariationProperties",
|
|
194
241
|
"in": "query",
|
|
242
|
+
"description": "A comma-separated list of custom property ids to be returned for variant products. The `variants` expand parameter and `allVariationProperties` query parameter are required for these properties to be returned.",
|
|
195
243
|
"required": false,
|
|
196
244
|
"style": "form",
|
|
197
245
|
"explode": true,
|
|
@@ -199,6 +247,7 @@
|
|
|
199
247
|
"type": "array",
|
|
200
248
|
"items": {
|
|
201
249
|
"type": "string",
|
|
250
|
+
"example": "c_batteryLife",
|
|
202
251
|
"maxLength": 256,
|
|
203
252
|
"pattern": "^c_.*"
|
|
204
253
|
},
|
|
@@ -208,6 +257,7 @@
|
|
|
208
257
|
{
|
|
209
258
|
"name": "limit",
|
|
210
259
|
"in": "query",
|
|
260
|
+
"description": "Number of records to retrieve per request. Must be between 1 (minimum) and 200 (maximum). Defaults to 25.",
|
|
211
261
|
"required": false,
|
|
212
262
|
"style": "form",
|
|
213
263
|
"explode": true,
|
|
@@ -222,6 +272,7 @@
|
|
|
222
272
|
{
|
|
223
273
|
"name": "offset",
|
|
224
274
|
"in": "query",
|
|
275
|
+
"description": "Used to retrieve the results based on a particular resource offset.",
|
|
225
276
|
"required": false,
|
|
226
277
|
"style": "form",
|
|
227
278
|
"explode": true,
|
|
@@ -235,31 +286,20 @@
|
|
|
235
286
|
{
|
|
236
287
|
"name": "sfdc_usid",
|
|
237
288
|
"in": "header",
|
|
289
|
+
"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.",
|
|
238
290
|
"required": false,
|
|
239
291
|
"style": "simple",
|
|
240
292
|
"explode": false,
|
|
241
293
|
"schema": {
|
|
242
294
|
"type": "string",
|
|
243
|
-
"format": "uuid"
|
|
244
|
-
|
|
245
|
-
},
|
|
246
|
-
{
|
|
247
|
-
"name": "sfdc_dw_dnt",
|
|
248
|
-
"in": "header",
|
|
249
|
-
"required": false,
|
|
250
|
-
"style": "simple",
|
|
251
|
-
"explode": false,
|
|
252
|
-
"schema": {
|
|
253
|
-
"type": "string",
|
|
254
|
-
"enum": [
|
|
255
|
-
"0",
|
|
256
|
-
"1"
|
|
257
|
-
]
|
|
295
|
+
"format": "uuid",
|
|
296
|
+
"example": "550e8400-e29b-41d4-a716-446655440000"
|
|
258
297
|
}
|
|
259
298
|
},
|
|
260
299
|
{
|
|
261
300
|
"name": "personalized",
|
|
262
301
|
"in": "query",
|
|
302
|
+
"description": "Controls whether personalization is applied to the response. When set to `none`, the server skips applying personalization to the response.",
|
|
263
303
|
"required": false,
|
|
264
304
|
"style": "form",
|
|
265
305
|
"explode": true,
|
|
@@ -267,12 +307,14 @@
|
|
|
267
307
|
"type": "string",
|
|
268
308
|
"enum": [
|
|
269
309
|
"none"
|
|
270
|
-
]
|
|
310
|
+
],
|
|
311
|
+
"example": "none"
|
|
271
312
|
}
|
|
272
313
|
},
|
|
273
314
|
{
|
|
274
315
|
"name": "sfdc_shopper_context",
|
|
275
316
|
"in": "header",
|
|
317
|
+
"description": "Shopper context information (for example clientIP, sourceCode, and customQualifiers)\npassed in from a trusted backend application.",
|
|
276
318
|
"required": false,
|
|
277
319
|
"style": "simple",
|
|
278
320
|
"explode": false,
|
|
@@ -288,6 +330,26 @@
|
|
|
288
330
|
"application/json": {
|
|
289
331
|
"schema": {
|
|
290
332
|
"$ref": "#/components/schemas/ProductSearchResult"
|
|
333
|
+
},
|
|
334
|
+
"examples": {
|
|
335
|
+
"ProductSearchResultExample": {
|
|
336
|
+
"$ref": "#/components/examples/ProductSearchResultExample"
|
|
337
|
+
},
|
|
338
|
+
"ProductSearchWithPromotionFilterExample": {
|
|
339
|
+
"$ref": "#/components/examples/ProductSearchWithPromotionFilterExample"
|
|
340
|
+
},
|
|
341
|
+
"ProductSearchResultWithCustomVariationPropertiesExample": {
|
|
342
|
+
"$ref": "#/components/examples/ProductSearchResultWithCustomVariationPropertiesExample"
|
|
343
|
+
},
|
|
344
|
+
"ProductSearchWithProcessedQueryExample": {
|
|
345
|
+
"$ref": "#/components/examples/ProductSearchWithProcessedQueryExample"
|
|
346
|
+
},
|
|
347
|
+
"ProductSearchWithFallbackModeExample": {
|
|
348
|
+
"$ref": "#/components/examples/ProductSearchWithFallbackModeExample"
|
|
349
|
+
},
|
|
350
|
+
"ProductSearchWithConfiguredModeExample": {
|
|
351
|
+
"$ref": "#/components/examples/ProductSearchWithConfiguredModeExample"
|
|
352
|
+
}
|
|
291
353
|
}
|
|
292
354
|
}
|
|
293
355
|
}
|
|
@@ -298,6 +360,20 @@
|
|
|
298
360
|
"application/problem+json": {
|
|
299
361
|
"schema": {
|
|
300
362
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
363
|
+
},
|
|
364
|
+
"examples": {
|
|
365
|
+
"MalformedSelectorGetProductsSearchForSelect": {
|
|
366
|
+
"$ref": "#/components/examples/MalformedSelectorGetProductsSearchForSelect"
|
|
367
|
+
},
|
|
368
|
+
"TooManyCustomVariationAttributes": {
|
|
369
|
+
"$ref": "#/components/examples/TooManyCustomVariationAttributes"
|
|
370
|
+
},
|
|
371
|
+
"InvalidCategorySlugRefinement": {
|
|
372
|
+
"$ref": "#/components/examples/InvalidCategorySlugRefinement"
|
|
373
|
+
},
|
|
374
|
+
"InvalidSearchMode": {
|
|
375
|
+
"$ref": "#/components/examples/InvalidSearchMode"
|
|
376
|
+
}
|
|
301
377
|
}
|
|
302
378
|
}
|
|
303
379
|
}
|
|
@@ -321,36 +397,48 @@
|
|
|
321
397
|
},
|
|
322
398
|
"/organizations/{organizationId}/search-suggestions": {
|
|
323
399
|
"get": {
|
|
400
|
+
"summary": "Provides keyword-based search suggestions for products, categories, and brands. Returns suggested items for each \nbased on the search phrase.",
|
|
401
|
+
"description": "Provide keyword search functionality for products, categories, and brands suggestions. Returns suggested \nproducts, suggested categories, and suggested brands for the given search phrase.",
|
|
324
402
|
"operationId": "getSearchSuggestions",
|
|
325
403
|
"parameters": [
|
|
326
404
|
{
|
|
327
405
|
"name": "organizationId",
|
|
328
406
|
"in": "path",
|
|
407
|
+
"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).",
|
|
329
408
|
"required": true,
|
|
330
409
|
"style": "simple",
|
|
331
410
|
"explode": false,
|
|
332
411
|
"schema": {
|
|
333
412
|
"$ref": "#/components/schemas/OrganizationId"
|
|
334
|
-
}
|
|
413
|
+
},
|
|
414
|
+
"example": "f_ecom_zzxy_prd"
|
|
335
415
|
},
|
|
336
416
|
{
|
|
337
417
|
"name": "siteId",
|
|
338
418
|
"in": "query",
|
|
419
|
+
"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.",
|
|
339
420
|
"required": true,
|
|
340
421
|
"style": "form",
|
|
341
422
|
"explode": true,
|
|
342
423
|
"schema": {
|
|
343
424
|
"$ref": "#/components/schemas/SiteId"
|
|
425
|
+
},
|
|
426
|
+
"examples": {
|
|
427
|
+
"SiteId": {
|
|
428
|
+
"value": "RefArch"
|
|
429
|
+
}
|
|
344
430
|
}
|
|
345
431
|
},
|
|
346
432
|
{
|
|
347
433
|
"name": "q",
|
|
348
434
|
"in": "query",
|
|
435
|
+
"description": "The search phrase (q) for which suggestions are evaluated. Search suggestions are determined when the search phrase input is at least three (default) characters long. The value is configurable in the Business Manager.",
|
|
349
436
|
"required": true,
|
|
350
437
|
"style": "form",
|
|
351
438
|
"explode": true,
|
|
352
439
|
"schema": {
|
|
353
440
|
"type": "string",
|
|
441
|
+
"example": "sho",
|
|
354
442
|
"maxLength": 50,
|
|
355
443
|
"minLength": 3
|
|
356
444
|
}
|
|
@@ -358,6 +446,7 @@
|
|
|
358
446
|
{
|
|
359
447
|
"name": "searchMode",
|
|
360
448
|
"in": "query",
|
|
449
|
+
"description": "A hint for the search matching approach the platform should use for this request. `semantic` selects meaning-based matching; `lexical` selects keyword/token-based matching.\n\nThe hint is non-authoritative and applies only to this request: the platform runs its full routing cascade and may demote a `semantic` request to `lexical` (for example when the semantic index is unavailable). Always read the resolved `effectiveSearchMode` field in the response rather than assuming the requested mode was honored. When omitted, the platform's configured default applies.",
|
|
361
450
|
"required": false,
|
|
362
451
|
"style": "form",
|
|
363
452
|
"explode": true,
|
|
@@ -366,18 +455,21 @@
|
|
|
366
455
|
"enum": [
|
|
367
456
|
"semantic",
|
|
368
457
|
"lexical"
|
|
369
|
-
]
|
|
458
|
+
],
|
|
459
|
+
"example": "semantic"
|
|
370
460
|
}
|
|
371
461
|
},
|
|
372
462
|
{
|
|
373
463
|
"name": "limit",
|
|
374
464
|
"in": "query",
|
|
465
|
+
"description": "The maximum number of suggestions made per request. If no value is defined, by default five suggestions per suggestion type are evaluated. This affects all types of suggestions (category, product, brand, and custom suggestions).",
|
|
375
466
|
"required": false,
|
|
376
467
|
"style": "form",
|
|
377
468
|
"explode": true,
|
|
378
469
|
"schema": {
|
|
379
470
|
"type": "integer",
|
|
380
471
|
"default": 5,
|
|
472
|
+
"example": 5,
|
|
381
473
|
"maximum": 10,
|
|
382
474
|
"minimum": 1
|
|
383
475
|
}
|
|
@@ -385,26 +477,42 @@
|
|
|
385
477
|
{
|
|
386
478
|
"name": "currency",
|
|
387
479
|
"in": "query",
|
|
480
|
+
"description": "A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable.",
|
|
388
481
|
"required": false,
|
|
389
482
|
"style": "form",
|
|
390
483
|
"explode": true,
|
|
391
484
|
"schema": {
|
|
392
485
|
"$ref": "#/components/schemas/CurrencyCode"
|
|
486
|
+
},
|
|
487
|
+
"examples": {
|
|
488
|
+
"CurrencyCode": {
|
|
489
|
+
"value": "USD"
|
|
490
|
+
}
|
|
393
491
|
}
|
|
394
492
|
},
|
|
395
493
|
{
|
|
396
494
|
"name": "locale",
|
|
397
495
|
"in": "query",
|
|
496
|
+
"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.",
|
|
398
497
|
"required": false,
|
|
399
498
|
"style": "form",
|
|
400
499
|
"explode": true,
|
|
401
500
|
"schema": {
|
|
402
501
|
"$ref": "#/components/schemas/LocaleCode"
|
|
502
|
+
},
|
|
503
|
+
"examples": {
|
|
504
|
+
"LanguageCountry": {
|
|
505
|
+
"value": "en-US"
|
|
506
|
+
},
|
|
507
|
+
"CountryCode": {
|
|
508
|
+
"value": "US"
|
|
509
|
+
}
|
|
403
510
|
}
|
|
404
511
|
},
|
|
405
512
|
{
|
|
406
513
|
"name": "expand",
|
|
407
514
|
"in": "query",
|
|
515
|
+
"description": "A comma-separated list of the values `images`, `prices`, `custom_product_properties`, and `slug`.\nBy default, the expand parameter includes `prices`.",
|
|
408
516
|
"required": false,
|
|
409
517
|
"style": "form",
|
|
410
518
|
"explode": true,
|
|
@@ -415,14 +523,17 @@
|
|
|
415
523
|
"enum": [
|
|
416
524
|
"images",
|
|
417
525
|
"prices",
|
|
418
|
-
"custom_product_properties"
|
|
419
|
-
|
|
526
|
+
"custom_product_properties",
|
|
527
|
+
"slug"
|
|
528
|
+
],
|
|
529
|
+
"example": "prices"
|
|
420
530
|
}
|
|
421
531
|
}
|
|
422
532
|
},
|
|
423
533
|
{
|
|
424
534
|
"name": "includedCustomProductProperties",
|
|
425
535
|
"in": "query",
|
|
536
|
+
"description": "A comma-separated list of custom property ids to be returned for product suggestions. The `custom_product_properties` expand parameter is required for these properties to be returned.",
|
|
426
537
|
"required": false,
|
|
427
538
|
"style": "form",
|
|
428
539
|
"explode": true,
|
|
@@ -430,6 +541,7 @@
|
|
|
430
541
|
"type": "array",
|
|
431
542
|
"items": {
|
|
432
543
|
"type": "string",
|
|
544
|
+
"example": "c_batteryLife",
|
|
433
545
|
"maxLength": 256,
|
|
434
546
|
"pattern": "^c_.*"
|
|
435
547
|
},
|
|
@@ -439,41 +551,32 @@
|
|
|
439
551
|
{
|
|
440
552
|
"name": "includeEinsteinSuggestedPhrases",
|
|
441
553
|
"in": "query",
|
|
554
|
+
"description": "The flag that determines whether or not to show recent and popular suggested phrases from Einstein.",
|
|
442
555
|
"required": false,
|
|
443
556
|
"style": "form",
|
|
444
557
|
"explode": true,
|
|
445
558
|
"schema": {
|
|
446
|
-
"type": "boolean"
|
|
559
|
+
"type": "boolean",
|
|
560
|
+
"example": false
|
|
447
561
|
}
|
|
448
562
|
},
|
|
449
563
|
{
|
|
450
564
|
"name": "sfdc_usid",
|
|
451
565
|
"in": "header",
|
|
566
|
+
"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.",
|
|
452
567
|
"required": false,
|
|
453
568
|
"style": "simple",
|
|
454
569
|
"explode": false,
|
|
455
570
|
"schema": {
|
|
456
571
|
"type": "string",
|
|
457
|
-
"format": "uuid"
|
|
458
|
-
|
|
459
|
-
},
|
|
460
|
-
{
|
|
461
|
-
"name": "sfdc_dw_dnt",
|
|
462
|
-
"in": "header",
|
|
463
|
-
"required": false,
|
|
464
|
-
"style": "simple",
|
|
465
|
-
"explode": false,
|
|
466
|
-
"schema": {
|
|
467
|
-
"type": "string",
|
|
468
|
-
"enum": [
|
|
469
|
-
"0",
|
|
470
|
-
"1"
|
|
471
|
-
]
|
|
572
|
+
"format": "uuid",
|
|
573
|
+
"example": "550e8400-e29b-41d4-a716-446655440000"
|
|
472
574
|
}
|
|
473
575
|
},
|
|
474
576
|
{
|
|
475
577
|
"name": "personalized",
|
|
476
578
|
"in": "query",
|
|
579
|
+
"description": "Controls whether personalization is applied to the response. When set to `none`, the server skips applying personalization to the response.",
|
|
477
580
|
"required": false,
|
|
478
581
|
"style": "form",
|
|
479
582
|
"explode": true,
|
|
@@ -481,12 +584,14 @@
|
|
|
481
584
|
"type": "string",
|
|
482
585
|
"enum": [
|
|
483
586
|
"none"
|
|
484
|
-
]
|
|
587
|
+
],
|
|
588
|
+
"example": "none"
|
|
485
589
|
}
|
|
486
590
|
},
|
|
487
591
|
{
|
|
488
592
|
"name": "sfdc_shopper_context",
|
|
489
593
|
"in": "header",
|
|
594
|
+
"description": "Shopper context information (for example clientIP, sourceCode, and customQualifiers)\npassed in from a trusted backend application.",
|
|
490
595
|
"required": false,
|
|
491
596
|
"style": "simple",
|
|
492
597
|
"explode": false,
|
|
@@ -502,6 +607,20 @@
|
|
|
502
607
|
"application/json": {
|
|
503
608
|
"schema": {
|
|
504
609
|
"$ref": "#/components/schemas/SuggestionResult"
|
|
610
|
+
},
|
|
611
|
+
"examples": {
|
|
612
|
+
"SearchSuggestionResultExample": {
|
|
613
|
+
"$ref": "#/components/examples/SearchSuggestionResultExample"
|
|
614
|
+
},
|
|
615
|
+
"SearchSuggestionResultWithCustomProductPropertiesExample": {
|
|
616
|
+
"$ref": "#/components/examples/SearchSuggestionResultWithCustomProductPropertiesExample"
|
|
617
|
+
},
|
|
618
|
+
"SearchSuggestionWithFallbackModeExample": {
|
|
619
|
+
"$ref": "#/components/examples/SearchSuggestionWithFallbackModeExample"
|
|
620
|
+
},
|
|
621
|
+
"SearchSuggestionWithConfiguredModeExample": {
|
|
622
|
+
"$ref": "#/components/examples/SearchSuggestionWithConfiguredModeExample"
|
|
623
|
+
}
|
|
505
624
|
}
|
|
506
625
|
}
|
|
507
626
|
}
|
|
@@ -512,6 +631,20 @@
|
|
|
512
631
|
"application/problem+json": {
|
|
513
632
|
"schema": {
|
|
514
633
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
634
|
+
},
|
|
635
|
+
"examples": {
|
|
636
|
+
"StringConstraintViolation": {
|
|
637
|
+
"$ref": "#/components/examples/StringConstraintViolation"
|
|
638
|
+
},
|
|
639
|
+
"TooManyCustomProductAttributes": {
|
|
640
|
+
"$ref": "#/components/examples/TooManyCustomProductAttributes"
|
|
641
|
+
},
|
|
642
|
+
"InvalidExpandParameter": {
|
|
643
|
+
"$ref": "#/components/examples/InvalidExpandParameter"
|
|
644
|
+
},
|
|
645
|
+
"InvalidSearchMode": {
|
|
646
|
+
"$ref": "#/components/examples/InvalidSearchMode"
|
|
647
|
+
}
|
|
515
648
|
}
|
|
516
649
|
}
|
|
517
650
|
}
|
|
@@ -538,36 +671,51 @@
|
|
|
538
671
|
"schemas": {
|
|
539
672
|
"OrganizationId": {
|
|
540
673
|
"type": "string",
|
|
674
|
+
"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).",
|
|
675
|
+
"example": "f_ecom_zzxy_prd",
|
|
541
676
|
"pattern": "^f_ecom_[a-z]{4}_(prd|stg|dev|s[0-9]{2}|[0-9]{3})$"
|
|
542
677
|
},
|
|
543
678
|
"Select": {
|
|
544
679
|
"type": "string",
|
|
680
|
+
"description": "The property selector declaring which fields are included into the response payload. You can specify a single field name, a comma-separated list of names or work with wildcards. You can also specify array operations and filter expressions. The actual selector value must be enclosed within parentheses. For more information, please read the documentation about property selectors [here](https://developer.salesforce.com/docs/commerce/commerce-api/guide/scapi-property-selection.html).",
|
|
681
|
+
"example": "(name,id,variationAttributes.(**))",
|
|
545
682
|
"minLength": 1,
|
|
546
683
|
"pattern": "^[(].*[)]$"
|
|
547
684
|
},
|
|
548
685
|
"SiteId": {
|
|
549
686
|
"type": "string",
|
|
687
|
+
"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",
|
|
688
|
+
"example": "RefArch",
|
|
550
689
|
"maxLength": 32,
|
|
551
690
|
"minLength": 1
|
|
552
691
|
},
|
|
553
692
|
"CurrencyCode": {
|
|
554
693
|
"type": "string",
|
|
694
|
+
"description": "A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable.",
|
|
695
|
+
"example": "USD",
|
|
555
696
|
"pattern": "^([A-Z][A-Z][A-Z]|N/A)$"
|
|
556
697
|
},
|
|
557
698
|
"LanguageCountry": {
|
|
558
699
|
"type": "string",
|
|
700
|
+
"description": "A concatenated version of the standard Language and Country codes, combined with a hyphen '`-`'.",
|
|
701
|
+
"example": "en-US",
|
|
559
702
|
"pattern": "^[a-z][a-z]-[A-Z][A-Z]$"
|
|
560
703
|
},
|
|
561
704
|
"LanguageCode": {
|
|
562
705
|
"type": "string",
|
|
706
|
+
"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).",
|
|
707
|
+
"example": "en",
|
|
563
708
|
"pattern": "^[a-z][a-z]$"
|
|
564
709
|
},
|
|
565
710
|
"DefaultFallback": {
|
|
566
711
|
"type": "string",
|
|
567
712
|
"default": "default",
|
|
713
|
+
"description": "A specialized value indicating the system default values for locales.",
|
|
714
|
+
"example": "default",
|
|
568
715
|
"pattern": "^default$"
|
|
569
716
|
},
|
|
570
717
|
"LocaleCode": {
|
|
718
|
+
"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.",
|
|
571
719
|
"oneOf": [
|
|
572
720
|
{
|
|
573
721
|
"$ref": "#/components/schemas/LanguageCountry"
|
|
@@ -584,14 +732,19 @@
|
|
|
584
732
|
"type": "integer",
|
|
585
733
|
"format": "int32",
|
|
586
734
|
"default": 0,
|
|
735
|
+
"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.",
|
|
736
|
+
"example": 10,
|
|
587
737
|
"minimum": 0
|
|
588
738
|
},
|
|
589
739
|
"ResultBase": {
|
|
590
740
|
"type": "object",
|
|
741
|
+
"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.",
|
|
591
742
|
"properties": {
|
|
592
743
|
"limit": {
|
|
593
744
|
"type": "integer",
|
|
594
|
-
"format": "int32"
|
|
745
|
+
"format": "int32",
|
|
746
|
+
"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.",
|
|
747
|
+
"example": 10
|
|
595
748
|
},
|
|
596
749
|
"total": {
|
|
597
750
|
"$ref": "#/components/schemas/Total"
|
|
@@ -606,6 +759,8 @@
|
|
|
606
759
|
"type": "integer",
|
|
607
760
|
"format": "int32",
|
|
608
761
|
"default": 0,
|
|
762
|
+
"description": "The zero-based index of the first hit/data to include in the result.",
|
|
763
|
+
"example": 0,
|
|
609
764
|
"minimum": 0
|
|
610
765
|
},
|
|
611
766
|
"PaginatedResultBase": {
|
|
@@ -614,6 +769,7 @@
|
|
|
614
769
|
"$ref": "#/components/schemas/ResultBase"
|
|
615
770
|
}
|
|
616
771
|
],
|
|
772
|
+
"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`.",
|
|
617
773
|
"properties": {
|
|
618
774
|
"offset": {
|
|
619
775
|
"$ref": "#/components/schemas/Offset"
|
|
@@ -630,19 +786,23 @@
|
|
|
630
786
|
"properties": {
|
|
631
787
|
"alt": {
|
|
632
788
|
"type": "string",
|
|
789
|
+
"example": "The White Dress Shirt",
|
|
633
790
|
"maxLength": 4000
|
|
634
791
|
},
|
|
635
792
|
"disBaseLink": {
|
|
636
793
|
"type": "string",
|
|
794
|
+
"example": "https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZEU_006/on/demandware.static/-/Sites-apparel-catalog/default/dw9368b001/images/large/70284588_100_0.jpg",
|
|
637
795
|
"maxLength": 4000
|
|
638
796
|
},
|
|
639
797
|
"link": {
|
|
640
798
|
"type": "string",
|
|
799
|
+
"example": "https://zzeu-006.sandbox.us01.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-catalog/default/dw9368b001/images/large/70284588_100_0.jpg",
|
|
641
800
|
"maxLength": 4000,
|
|
642
801
|
"minLength": 1
|
|
643
802
|
},
|
|
644
803
|
"title": {
|
|
645
804
|
"type": "string",
|
|
805
|
+
"example": "The White Dress Shirt",
|
|
646
806
|
"maxLength": 4000
|
|
647
807
|
}
|
|
648
808
|
},
|
|
@@ -652,35 +812,53 @@
|
|
|
652
812
|
},
|
|
653
813
|
"ProductType": {
|
|
654
814
|
"type": "object",
|
|
815
|
+
"description": "Document representing a product type.",
|
|
655
816
|
"properties": {
|
|
656
817
|
"bundle": {
|
|
657
|
-
"type": "boolean"
|
|
818
|
+
"type": "boolean",
|
|
819
|
+
"description": "A flag indicating whether the product is a bundle.",
|
|
820
|
+
"example": true
|
|
658
821
|
},
|
|
659
822
|
"item": {
|
|
660
|
-
"type": "boolean"
|
|
823
|
+
"type": "boolean",
|
|
824
|
+
"description": "A flag indicating whether the product is a standard item.",
|
|
825
|
+
"example": true
|
|
661
826
|
},
|
|
662
827
|
"master": {
|
|
663
|
-
"type": "boolean"
|
|
828
|
+
"type": "boolean",
|
|
829
|
+
"description": "A flag indicating whether the product is a master.",
|
|
830
|
+
"example": true
|
|
664
831
|
},
|
|
665
832
|
"option": {
|
|
666
|
-
"type": "boolean"
|
|
833
|
+
"type": "boolean",
|
|
834
|
+
"description": "A flag indicating whether the product is an option.",
|
|
835
|
+
"example": true
|
|
667
836
|
},
|
|
668
837
|
"set": {
|
|
669
|
-
"type": "boolean"
|
|
838
|
+
"type": "boolean",
|
|
839
|
+
"description": "A flag indicating whether the product is a set.",
|
|
840
|
+
"example": true
|
|
670
841
|
},
|
|
671
842
|
"variant": {
|
|
672
|
-
"type": "boolean"
|
|
843
|
+
"type": "boolean",
|
|
844
|
+
"description": "A flag indicating whether the product is a variant.",
|
|
845
|
+
"example": true
|
|
673
846
|
},
|
|
674
847
|
"variationGroup": {
|
|
675
|
-
"type": "boolean"
|
|
848
|
+
"type": "boolean",
|
|
849
|
+
"description": "A flag indicating whether the product is a variation group.",
|
|
850
|
+
"example": true
|
|
676
851
|
}
|
|
677
852
|
}
|
|
678
853
|
},
|
|
679
854
|
"ProductRef": {
|
|
680
855
|
"type": "object",
|
|
856
|
+
"description": "Document representing a product reference.",
|
|
681
857
|
"properties": {
|
|
682
858
|
"id": {
|
|
683
859
|
"type": "string",
|
|
860
|
+
"description": "The ID of the product reference.",
|
|
861
|
+
"example": "74974310",
|
|
684
862
|
"maxLength": 100,
|
|
685
863
|
"minLength": 1
|
|
686
864
|
}
|
|
@@ -691,9 +869,12 @@
|
|
|
691
869
|
},
|
|
692
870
|
"VariationAttributeValue": {
|
|
693
871
|
"type": "object",
|
|
872
|
+
"description": "Document representing a variation attribute value.",
|
|
694
873
|
"properties": {
|
|
695
874
|
"description": {
|
|
696
875
|
"type": "string",
|
|
876
|
+
"description": "The localized description of the variation value.",
|
|
877
|
+
"example": "Size 15R",
|
|
697
878
|
"maxLength": 4000
|
|
698
879
|
},
|
|
699
880
|
"image": {
|
|
@@ -701,24 +882,32 @@
|
|
|
701
882
|
{
|
|
702
883
|
"$ref": "#/components/schemas/Image"
|
|
703
884
|
}
|
|
704
|
-
]
|
|
885
|
+
],
|
|
886
|
+
"description": "The first product image for the configured viewtype and this variation value."
|
|
705
887
|
},
|
|
706
888
|
"imageSwatch": {
|
|
707
889
|
"allOf": [
|
|
708
890
|
{
|
|
709
891
|
"$ref": "#/components/schemas/Image"
|
|
710
892
|
}
|
|
711
|
-
]
|
|
893
|
+
],
|
|
894
|
+
"description": "The first product image for the configured viewtype and this variation value. Typically the swatch image."
|
|
712
895
|
},
|
|
713
896
|
"name": {
|
|
714
897
|
"type": "string",
|
|
898
|
+
"description": "The localized display name of the variation value.",
|
|
899
|
+
"example": "15R",
|
|
715
900
|
"maxLength": 4000
|
|
716
901
|
},
|
|
717
902
|
"orderable": {
|
|
718
|
-
"type": "boolean"
|
|
903
|
+
"type": "boolean",
|
|
904
|
+
"description": "A flag indicating whether at least one variant with this variation attribute value is available to sell.",
|
|
905
|
+
"example": true
|
|
719
906
|
},
|
|
720
907
|
"value": {
|
|
721
908
|
"type": "string",
|
|
909
|
+
"description": "The actual variation value.",
|
|
910
|
+
"example": "15R",
|
|
722
911
|
"maxLength": 4000,
|
|
723
912
|
"minLength": 1
|
|
724
913
|
}
|
|
@@ -729,18 +918,24 @@
|
|
|
729
918
|
},
|
|
730
919
|
"VariationAttribute": {
|
|
731
920
|
"type": "object",
|
|
921
|
+
"description": "Document representing a variation attribute.",
|
|
732
922
|
"properties": {
|
|
733
923
|
"id": {
|
|
734
924
|
"type": "string",
|
|
925
|
+
"description": "The ID of the variation attribute.",
|
|
926
|
+
"example": "size",
|
|
735
927
|
"maxLength": 256,
|
|
736
928
|
"minLength": 1
|
|
737
929
|
},
|
|
738
930
|
"name": {
|
|
739
931
|
"type": "string",
|
|
932
|
+
"description": "The localized display name of the variation attribute.",
|
|
933
|
+
"example": "size",
|
|
740
934
|
"maxLength": 4000
|
|
741
935
|
},
|
|
742
936
|
"values": {
|
|
743
937
|
"type": "array",
|
|
938
|
+
"description": "The sorted array of variation values. This array can be empty.",
|
|
744
939
|
"items": {
|
|
745
940
|
"$ref": "#/components/schemas/VariationAttributeValue"
|
|
746
941
|
}
|
|
@@ -752,9 +947,11 @@
|
|
|
752
947
|
},
|
|
753
948
|
"ImageGroup": {
|
|
754
949
|
"type": "object",
|
|
950
|
+
"description": "Document representing an image group containing a list of images for a particular view type and an optional variation value.",
|
|
755
951
|
"properties": {
|
|
756
952
|
"images": {
|
|
757
953
|
"type": "array",
|
|
954
|
+
"description": "The images of the image group.",
|
|
758
955
|
"items": {
|
|
759
956
|
"$ref": "#/components/schemas/Image"
|
|
760
957
|
},
|
|
@@ -762,12 +959,15 @@
|
|
|
762
959
|
},
|
|
763
960
|
"variationAttributes": {
|
|
764
961
|
"type": "array",
|
|
962
|
+
"description": "Returns a list of variation attributes applying to this image group.",
|
|
765
963
|
"items": {
|
|
766
964
|
"$ref": "#/components/schemas/VariationAttribute"
|
|
767
965
|
}
|
|
768
966
|
},
|
|
769
967
|
"viewType": {
|
|
770
968
|
"type": "string",
|
|
969
|
+
"description": "The image view type.",
|
|
970
|
+
"example": "hi-res",
|
|
771
971
|
"maxLength": 256,
|
|
772
972
|
"minLength": 1
|
|
773
973
|
}
|
|
@@ -779,37 +979,51 @@
|
|
|
779
979
|
},
|
|
780
980
|
"PriceRange": {
|
|
781
981
|
"type": "object",
|
|
982
|
+
"description": "Document representing price ranges for a product which happens to be a master product (per Pricebook)",
|
|
782
983
|
"properties": {
|
|
783
984
|
"maxPrice": {
|
|
784
985
|
"type": "number",
|
|
785
|
-
"format": "double"
|
|
986
|
+
"format": "double",
|
|
987
|
+
"description": "Maximum price for the given pricebook (usually for a master Product would be the price for the Variant which has the highest price out of all Variants in that pricebook)",
|
|
988
|
+
"example": 10.89
|
|
786
989
|
},
|
|
787
990
|
"minPrice": {
|
|
788
991
|
"type": "number",
|
|
789
|
-
"format": "double"
|
|
992
|
+
"format": "double",
|
|
993
|
+
"description": "Minimum price for the given pricebook (usually for a master Product would be the price for the Variant which has the least price out of all Variants in that pricebook)",
|
|
994
|
+
"example": 10.89
|
|
790
995
|
},
|
|
791
996
|
"pricebook": {
|
|
792
997
|
"type": "string",
|
|
998
|
+
"description": "The active pricebook from which the min and the max prices are calculated. The pricebook is based on the site context of the request as defined in ECOM.",
|
|
999
|
+
"example": "usd-list-pricebook",
|
|
793
1000
|
"maxLength": 256
|
|
794
1001
|
}
|
|
795
1002
|
}
|
|
796
1003
|
},
|
|
797
1004
|
"ProductPromotion": {
|
|
798
1005
|
"type": "object",
|
|
1006
|
+
"description": "Document representing a product promotion.",
|
|
799
1007
|
"properties": {
|
|
800
1008
|
"calloutMsg": {
|
|
801
1009
|
"type": "string",
|
|
1010
|
+
"description": "The localized call-out message of the promotion.",
|
|
1011
|
+
"example": "Fantastic promotion",
|
|
802
1012
|
"maxLength": 4000,
|
|
803
1013
|
"minLength": 1
|
|
804
1014
|
},
|
|
805
1015
|
"promotionId": {
|
|
806
1016
|
"type": "string",
|
|
1017
|
+
"description": "The unique ID of the promotion.",
|
|
1018
|
+
"example": "summerSale",
|
|
807
1019
|
"maxLength": 260,
|
|
808
1020
|
"minLength": 1
|
|
809
1021
|
},
|
|
810
1022
|
"promotionalPrice": {
|
|
811
1023
|
"type": "number",
|
|
812
1024
|
"format": "double",
|
|
1025
|
+
"description": "The promotional price for this product.",
|
|
1026
|
+
"example": 12.99,
|
|
813
1027
|
"minLength": 1
|
|
814
1028
|
}
|
|
815
1029
|
},
|
|
@@ -821,39 +1035,58 @@
|
|
|
821
1035
|
},
|
|
822
1036
|
"ProductPriceTable": {
|
|
823
1037
|
"type": "object",
|
|
1038
|
+
"description": "Tiered Price Level Object",
|
|
824
1039
|
"properties": {
|
|
825
1040
|
"price": {
|
|
826
1041
|
"type": "number",
|
|
827
|
-
"format": "double"
|
|
1042
|
+
"format": "double",
|
|
1043
|
+
"description": "Price for the product for the specified tier for the specified pricebook",
|
|
1044
|
+
"example": 12.99
|
|
828
1045
|
},
|
|
829
1046
|
"pricebook": {
|
|
830
1047
|
"type": "string",
|
|
1048
|
+
"description": "The active pricebook for which this price is defined",
|
|
1049
|
+
"example": "usd-list-pricebook",
|
|
831
1050
|
"maxLength": 256
|
|
832
1051
|
},
|
|
833
1052
|
"quantity": {
|
|
834
1053
|
"type": "number",
|
|
835
|
-
"format": "double"
|
|
1054
|
+
"format": "double",
|
|
1055
|
+
"description": "Quantity tier for which the price is defined.",
|
|
1056
|
+
"example": 1
|
|
836
1057
|
}
|
|
837
1058
|
}
|
|
838
1059
|
},
|
|
839
1060
|
"Variant": {
|
|
840
1061
|
"type": "object",
|
|
841
|
-
"additionalProperties": {
|
|
1062
|
+
"additionalProperties": {
|
|
1063
|
+
"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.",
|
|
1064
|
+
"example": "c_trackingId",
|
|
1065
|
+
"title": "Additional Property Support"
|
|
1066
|
+
},
|
|
1067
|
+
"description": "A product which is a variation within a master product that describes different colors, sizes, or other variation attributes. *Has a SKU.*",
|
|
842
1068
|
"properties": {
|
|
843
1069
|
"orderable": {
|
|
844
|
-
"type": "boolean"
|
|
1070
|
+
"type": "boolean",
|
|
1071
|
+
"description": "A flag indicating whether the variant is orderable.",
|
|
1072
|
+
"example": true
|
|
845
1073
|
},
|
|
846
1074
|
"price": {
|
|
847
1075
|
"type": "number",
|
|
848
|
-
"format": "double"
|
|
1076
|
+
"format": "double",
|
|
1077
|
+
"description": "The sales price of the variant.",
|
|
1078
|
+
"example": 25.99
|
|
849
1079
|
},
|
|
850
1080
|
"productId": {
|
|
851
1081
|
"type": "string",
|
|
1082
|
+
"description": "The ID (SKU) of the variant.",
|
|
1083
|
+
"example": "8W4756834",
|
|
852
1084
|
"maxLength": 100,
|
|
853
1085
|
"minLength": 1
|
|
854
1086
|
},
|
|
855
1087
|
"tieredPrices": {
|
|
856
1088
|
"type": "array",
|
|
1089
|
+
"description": "List of tiered prices if the product is a variant",
|
|
857
1090
|
"items": {
|
|
858
1091
|
"$ref": "#/components/schemas/ProductPriceTable"
|
|
859
1092
|
}
|
|
@@ -862,11 +1095,14 @@
|
|
|
862
1095
|
"type": "object",
|
|
863
1096
|
"additionalProperties": {
|
|
864
1097
|
"type": "string",
|
|
1098
|
+
"example": "Beige",
|
|
865
1099
|
"maxLength": 4000
|
|
866
|
-
}
|
|
1100
|
+
},
|
|
1101
|
+
"description": "The actual variation attribute ID - value pairs."
|
|
867
1102
|
},
|
|
868
1103
|
"productPromotions": {
|
|
869
1104
|
"type": "array",
|
|
1105
|
+
"description": "The array of active customer product promotions for this product. This array can be empty.\n Coupon promotions are not returned in this array.",
|
|
870
1106
|
"items": {
|
|
871
1107
|
"$ref": "#/components/schemas/ProductPromotion"
|
|
872
1108
|
}
|
|
@@ -878,18 +1114,25 @@
|
|
|
878
1114
|
},
|
|
879
1115
|
"VariationGroup": {
|
|
880
1116
|
"type": "object",
|
|
1117
|
+
"description": "Representation of a group of variant products by an attribute. This can't be purchased by a shopper. It provides inheritable attributes for its product variants and is used for navigation. A VariationGroup doesn't have a SKU.",
|
|
881
1118
|
"properties": {
|
|
882
1119
|
"orderable": {
|
|
883
1120
|
"type": "boolean",
|
|
1121
|
+
"description": "A flag indicating whether the variation group is orderable.",
|
|
1122
|
+
"example": false,
|
|
884
1123
|
"minLength": 1
|
|
885
1124
|
},
|
|
886
1125
|
"price": {
|
|
887
1126
|
"type": "number",
|
|
888
1127
|
"format": "double",
|
|
1128
|
+
"description": "The sales price of the variation group.",
|
|
1129
|
+
"example": 24.99,
|
|
889
1130
|
"minLength": 1
|
|
890
1131
|
},
|
|
891
1132
|
"productId": {
|
|
892
1133
|
"type": "string",
|
|
1134
|
+
"description": "The ID (SKU) of the variation group.",
|
|
1135
|
+
"example": "49345VG",
|
|
893
1136
|
"maxLength": 100,
|
|
894
1137
|
"minLength": 1
|
|
895
1138
|
},
|
|
@@ -897,8 +1140,10 @@
|
|
|
897
1140
|
"type": "object",
|
|
898
1141
|
"additionalProperties": {
|
|
899
1142
|
"type": "string",
|
|
1143
|
+
"example": "Beige",
|
|
900
1144
|
"maxLength": 4000
|
|
901
1145
|
},
|
|
1146
|
+
"description": "The actual variation attribute ID - value pairs.",
|
|
902
1147
|
"minLength": 1
|
|
903
1148
|
}
|
|
904
1149
|
},
|
|
@@ -911,13 +1156,20 @@
|
|
|
911
1156
|
},
|
|
912
1157
|
"ProductSearchHit": {
|
|
913
1158
|
"type": "object",
|
|
914
|
-
"additionalProperties": {
|
|
1159
|
+
"additionalProperties": {
|
|
1160
|
+
"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.",
|
|
1161
|
+
"example": "c_trackingId",
|
|
1162
|
+
"title": "Additional Property Support"
|
|
1163
|
+
},
|
|
1164
|
+
"description": "Document representing a product search hit.",
|
|
915
1165
|
"properties": {
|
|
916
1166
|
"currency": {
|
|
917
1167
|
"$ref": "#/components/schemas/CurrencyCode"
|
|
918
1168
|
},
|
|
919
1169
|
"hitType": {
|
|
920
1170
|
"type": "string",
|
|
1171
|
+
"description": "The type information for the search hit.",
|
|
1172
|
+
"example": "product",
|
|
921
1173
|
"maxLength": 256
|
|
922
1174
|
},
|
|
923
1175
|
"image": {
|
|
@@ -925,26 +1177,37 @@
|
|
|
925
1177
|
{
|
|
926
1178
|
"$ref": "#/components/schemas/Image"
|
|
927
1179
|
}
|
|
928
|
-
]
|
|
1180
|
+
],
|
|
1181
|
+
"description": "The first image of the product hit for the configured viewtype."
|
|
929
1182
|
},
|
|
930
1183
|
"orderable": {
|
|
931
|
-
"type": "boolean"
|
|
1184
|
+
"type": "boolean",
|
|
1185
|
+
"description": "A flag indicating whether the product is orderable.",
|
|
1186
|
+
"example": true
|
|
932
1187
|
},
|
|
933
1188
|
"price": {
|
|
934
1189
|
"type": "number",
|
|
935
|
-
"format": "double"
|
|
1190
|
+
"format": "double",
|
|
1191
|
+
"description": "The sales price of the product. In complex products, like master or set, this is the minimum price of\n related child products.",
|
|
1192
|
+
"example": 135
|
|
936
1193
|
},
|
|
937
1194
|
"priceMax": {
|
|
938
1195
|
"type": "number",
|
|
939
|
-
"format": "double"
|
|
1196
|
+
"format": "double",
|
|
1197
|
+
"description": "The maximum sales of related child products in complex products like master or set.",
|
|
1198
|
+
"example": 150
|
|
940
1199
|
},
|
|
941
1200
|
"productId": {
|
|
942
1201
|
"type": "string",
|
|
1202
|
+
"description": "The ID (SKU) of the product.",
|
|
1203
|
+
"example": "74974310",
|
|
943
1204
|
"maxLength": 100,
|
|
944
1205
|
"minLength": 1
|
|
945
1206
|
},
|
|
946
1207
|
"productName": {
|
|
947
1208
|
"type": "string",
|
|
1209
|
+
"description": "The localized name of the product.",
|
|
1210
|
+
"example": "Modern Dress Shirt",
|
|
948
1211
|
"maxLength": 4000
|
|
949
1212
|
},
|
|
950
1213
|
"productType": {
|
|
@@ -952,66 +1215,78 @@
|
|
|
952
1215
|
{
|
|
953
1216
|
"$ref": "#/components/schemas/ProductType"
|
|
954
1217
|
}
|
|
955
|
-
]
|
|
1218
|
+
],
|
|
1219
|
+
"description": "The type information for the product."
|
|
956
1220
|
},
|
|
957
1221
|
"representedProduct": {
|
|
958
1222
|
"allOf": [
|
|
959
1223
|
{
|
|
960
1224
|
"$ref": "#/components/schemas/ProductRef"
|
|
961
1225
|
}
|
|
962
|
-
]
|
|
1226
|
+
],
|
|
1227
|
+
"description": "The first represented product."
|
|
963
1228
|
},
|
|
964
1229
|
"representedProducts": {
|
|
965
1230
|
"type": "array",
|
|
1231
|
+
"description": "All the represented products.",
|
|
966
1232
|
"items": {
|
|
967
1233
|
"$ref": "#/components/schemas/ProductRef"
|
|
968
1234
|
}
|
|
969
1235
|
},
|
|
970
1236
|
"variationAttributes": {
|
|
971
1237
|
"type": "array",
|
|
1238
|
+
"description": "The array of represented variation attributes, for the master product only. This array can be empty.",
|
|
972
1239
|
"items": {
|
|
973
1240
|
"$ref": "#/components/schemas/VariationAttribute"
|
|
974
1241
|
}
|
|
975
1242
|
},
|
|
976
1243
|
"imageGroups": {
|
|
977
1244
|
"type": "array",
|
|
1245
|
+
"description": "The array of product image groups.",
|
|
978
1246
|
"items": {
|
|
979
1247
|
"$ref": "#/components/schemas/ImageGroup"
|
|
980
1248
|
}
|
|
981
1249
|
},
|
|
982
1250
|
"priceRanges": {
|
|
983
1251
|
"type": "array",
|
|
1252
|
+
"description": "Array of one or more price range objects representing one or more Pricebooks in context for the site.",
|
|
984
1253
|
"items": {
|
|
985
1254
|
"$ref": "#/components/schemas/PriceRange"
|
|
986
1255
|
}
|
|
987
1256
|
},
|
|
988
1257
|
"productPromotions": {
|
|
989
1258
|
"type": "array",
|
|
1259
|
+
"description": "The array of active customer product promotions for this product. This array can be empty.\n Coupon promotions are not returned in this array.",
|
|
990
1260
|
"items": {
|
|
991
1261
|
"$ref": "#/components/schemas/ProductPromotion"
|
|
992
1262
|
}
|
|
993
1263
|
},
|
|
994
1264
|
"tieredPrices": {
|
|
995
1265
|
"type": "array",
|
|
1266
|
+
"description": "The document represents list of tiered prices if the product is a variant",
|
|
996
1267
|
"items": {
|
|
997
1268
|
"$ref": "#/components/schemas/ProductPriceTable"
|
|
998
1269
|
}
|
|
999
1270
|
},
|
|
1000
1271
|
"variants": {
|
|
1001
1272
|
"type": "array",
|
|
1273
|
+
"description": "The array of actual variants. Only for master, variation group, and variant types. This array can be empty.",
|
|
1002
1274
|
"items": {
|
|
1003
1275
|
"$ref": "#/components/schemas/Variant"
|
|
1004
1276
|
}
|
|
1005
1277
|
},
|
|
1006
1278
|
"variationGroups": {
|
|
1007
1279
|
"type": "array",
|
|
1280
|
+
"description": "The array of actual variation groups. Only for master, variation group, and variant types. This array can be empty.",
|
|
1008
1281
|
"items": {
|
|
1009
1282
|
"$ref": "#/components/schemas/VariationGroup"
|
|
1010
1283
|
}
|
|
1011
1284
|
},
|
|
1012
1285
|
"slug": {
|
|
1013
1286
|
"type": "string",
|
|
1014
|
-
"
|
|
1287
|
+
"description": "SEO-friendly slug for the product, derived from the site's configured product URL rule.\nThis is the slug segment only, not a full URL. Returned only when `expand=slug` is requested.\nUse the slug to construct user-friendly product detail page URLs (for example,\n/products/{slug}/{productId}).",
|
|
1288
|
+
"example": "modern-dress-shirt",
|
|
1289
|
+
"maxLength": 4000
|
|
1015
1290
|
}
|
|
1016
1291
|
},
|
|
1017
1292
|
"required": [
|
|
@@ -1020,36 +1295,50 @@
|
|
|
1020
1295
|
},
|
|
1021
1296
|
"PageMetaTag": {
|
|
1022
1297
|
"type": "object",
|
|
1298
|
+
"description": "Document representing a Page Meta Tag object.",
|
|
1023
1299
|
"properties": {
|
|
1024
1300
|
"id": {
|
|
1025
1301
|
"type": "string",
|
|
1026
|
-
"
|
|
1302
|
+
"description": "The ID of the Page Meta Tag.",
|
|
1303
|
+
"example": "title",
|
|
1304
|
+
"maxLength": 100
|
|
1027
1305
|
},
|
|
1028
1306
|
"value": {
|
|
1029
|
-
"type": "string"
|
|
1307
|
+
"type": "string",
|
|
1308
|
+
"description": "Locale-specific value of the Page Meta Tag, evaluated by resolving the rule set for the given Business Manager ID.",
|
|
1309
|
+
"example": "Buy the Long Sleeve Covered Placket Blouse for USD 61.99."
|
|
1030
1310
|
},
|
|
1031
1311
|
"type": {
|
|
1032
1312
|
"type": "string",
|
|
1313
|
+
"description": "The kind of Page Meta Tag, indicating how the storefront should render the value.\nDocumented values are `name`, `property`, `title`, and `jsonld`:\n * `name` — render as `<meta name=\"...\">`.\n * `property` — render as `<meta property=\"...\">` (e.g. Open Graph tags).\n * `title` — render as the HTML `<title>` element.\n * `jsonld` — JSON-LD structured data, intended for rendering inside `<script type=\"application/ld+json\">`.\nThe field may be absent when the kind cannot be determined. Clients should treat unknown values as opaque so additional kinds can be introduced without breaking the contract.",
|
|
1314
|
+
"example": "name",
|
|
1033
1315
|
"maxLength": 64
|
|
1034
1316
|
}
|
|
1035
1317
|
}
|
|
1036
1318
|
},
|
|
1037
1319
|
"SearchMode": {
|
|
1038
1320
|
"type": "string",
|
|
1321
|
+
"description": "A search matching approach. `semantic` is meaning-based matching; `lexical` is keyword/token-based matching.",
|
|
1039
1322
|
"enum": [
|
|
1040
1323
|
"semantic",
|
|
1041
1324
|
"lexical"
|
|
1042
|
-
]
|
|
1325
|
+
],
|
|
1326
|
+
"example": "semantic"
|
|
1043
1327
|
},
|
|
1044
1328
|
"query": {
|
|
1045
1329
|
"type": "string",
|
|
1330
|
+
"description": "The query string that was searched for.",
|
|
1331
|
+
"example": "dresses",
|
|
1046
1332
|
"maxLength": 50
|
|
1047
1333
|
},
|
|
1048
1334
|
"AppliedProcessor": {
|
|
1049
1335
|
"type": "object",
|
|
1336
|
+
"description": "The result of a processor execution.",
|
|
1050
1337
|
"properties": {
|
|
1051
1338
|
"processorName": {
|
|
1052
1339
|
"type": "string",
|
|
1340
|
+
"description": "The name of the processor.",
|
|
1341
|
+
"example": "Attribute Aware Search",
|
|
1053
1342
|
"maxLength": 256
|
|
1054
1343
|
},
|
|
1055
1344
|
"result": {
|
|
@@ -1059,19 +1348,23 @@
|
|
|
1059
1348
|
"type": "object",
|
|
1060
1349
|
"additionalProperties": {
|
|
1061
1350
|
"type": "string",
|
|
1351
|
+
"example": "Beige",
|
|
1062
1352
|
"maxLength": 256
|
|
1063
|
-
}
|
|
1353
|
+
},
|
|
1354
|
+
"description": "The refinements that were applied to the query."
|
|
1064
1355
|
}
|
|
1065
1356
|
}
|
|
1066
1357
|
},
|
|
1067
1358
|
"ProcessedQuery": {
|
|
1068
1359
|
"type": "object",
|
|
1360
|
+
"description": "The result of query processing.",
|
|
1069
1361
|
"properties": {
|
|
1070
1362
|
"query": {
|
|
1071
1363
|
"$ref": "#/components/schemas/query"
|
|
1072
1364
|
},
|
|
1073
1365
|
"appliedProcessors": {
|
|
1074
1366
|
"type": "array",
|
|
1367
|
+
"description": "The processors that were executed for the search query and their results.",
|
|
1075
1368
|
"items": {
|
|
1076
1369
|
"$ref": "#/components/schemas/AppliedProcessor"
|
|
1077
1370
|
},
|
|
@@ -1081,32 +1374,44 @@
|
|
|
1081
1374
|
},
|
|
1082
1375
|
"ProductSearchRefinementValue": {
|
|
1083
1376
|
"type": "object",
|
|
1377
|
+
"description": "Document representing a product search refinement value.",
|
|
1084
1378
|
"properties": {
|
|
1085
1379
|
"description": {
|
|
1086
1380
|
"type": "string",
|
|
1381
|
+
"description": "The localized description of the refinement value.",
|
|
1382
|
+
"example": "The Beige objects",
|
|
1087
1383
|
"maxLength": 4000
|
|
1088
1384
|
},
|
|
1089
1385
|
"hitCount": {
|
|
1090
1386
|
"type": "integer",
|
|
1091
1387
|
"format": "int32",
|
|
1388
|
+
"description": "The number of search hits when selecting the refinement value. Can be 0.",
|
|
1389
|
+
"example": 3,
|
|
1092
1390
|
"minLength": 1
|
|
1093
1391
|
},
|
|
1094
1392
|
"label": {
|
|
1095
1393
|
"type": "string",
|
|
1394
|
+
"description": "The localized label of the refinement value.",
|
|
1395
|
+
"example": "Beige",
|
|
1096
1396
|
"maxLength": 4000,
|
|
1097
1397
|
"minLength": 1
|
|
1098
1398
|
},
|
|
1099
1399
|
"presentationId": {
|
|
1100
1400
|
"type": "string",
|
|
1401
|
+
"description": "The optional presentation ID associated with the refinement value.\n The presentation ID can be used, for example, to associate an ID with\n an HTML widget.",
|
|
1402
|
+
"example": "beige",
|
|
1101
1403
|
"maxLength": 256
|
|
1102
1404
|
},
|
|
1103
1405
|
"value": {
|
|
1104
1406
|
"type": "string",
|
|
1407
|
+
"description": "The refinement value. In the case of an attribute refinement, this is the bucket, the attribute value, or a \nvalue range. In the case of a category refinement, this is the category ID. In the case of a price \nrefinement, this is the price range. Ranges are enclosed by parentheses and delimited by \"..\"; for example, \n\"(100..999)\" and \"(Aa..Fa)\" are valid ranges.",
|
|
1408
|
+
"example": "Beige",
|
|
1105
1409
|
"maxLength": 4000,
|
|
1106
1410
|
"minLength": 1
|
|
1107
1411
|
},
|
|
1108
1412
|
"values": {
|
|
1109
1413
|
"type": "array",
|
|
1414
|
+
"description": "The array of hierarchical refinement values. This array can be empty.",
|
|
1110
1415
|
"items": {
|
|
1111
1416
|
"$ref": "#/components/schemas/ProductSearchRefinementValue"
|
|
1112
1417
|
}
|
|
@@ -1120,18 +1425,24 @@
|
|
|
1120
1425
|
},
|
|
1121
1426
|
"ProductSearchRefinement": {
|
|
1122
1427
|
"type": "object",
|
|
1428
|
+
"description": "Document representing a product search refinement attribute.",
|
|
1123
1429
|
"properties": {
|
|
1124
1430
|
"attributeId": {
|
|
1125
1431
|
"type": "string",
|
|
1432
|
+
"description": "The ID of the search refinement attribute. In the case of an attribute refinement, this is the attribute ID.\n Custom attributes are marked by the prefix \"c_\" (for example, \"c_refinementColor\"). In the case of a\n category refinement, the ID must be \"cgid\". In the case of a price refinement, the ID must be \"price\".",
|
|
1433
|
+
"example": "refinementColor",
|
|
1126
1434
|
"maxLength": 256,
|
|
1127
1435
|
"minLength": 1
|
|
1128
1436
|
},
|
|
1129
1437
|
"label": {
|
|
1130
1438
|
"type": "string",
|
|
1439
|
+
"description": "The localized label of the refinement.",
|
|
1440
|
+
"example": "Color",
|
|
1131
1441
|
"maxLength": 256
|
|
1132
1442
|
},
|
|
1133
1443
|
"values": {
|
|
1134
1444
|
"type": "array",
|
|
1445
|
+
"description": "The sorted array of refinement values. This array can be empty.",
|
|
1135
1446
|
"items": {
|
|
1136
1447
|
"$ref": "#/components/schemas/ProductSearchRefinementValue"
|
|
1137
1448
|
}
|
|
@@ -1143,14 +1454,23 @@
|
|
|
1143
1454
|
},
|
|
1144
1455
|
"SuggestedPhrase": {
|
|
1145
1456
|
"type": "object",
|
|
1146
|
-
"additionalProperties": {
|
|
1457
|
+
"additionalProperties": {
|
|
1458
|
+
"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.",
|
|
1459
|
+
"example": "c_trackingId",
|
|
1460
|
+
"title": "Additional Property Support"
|
|
1461
|
+
},
|
|
1462
|
+
"description": "Document representing a suggested search phrase.",
|
|
1147
1463
|
"properties": {
|
|
1148
1464
|
"exactMatch": {
|
|
1149
1465
|
"type": "boolean",
|
|
1466
|
+
"description": "Returns whether this suggested phrase exactly matches the user input search phrase.",
|
|
1467
|
+
"example": true,
|
|
1150
1468
|
"minLength": 1
|
|
1151
1469
|
},
|
|
1152
1470
|
"phrase": {
|
|
1153
1471
|
"type": "string",
|
|
1472
|
+
"description": "Returns the suggested search phrase.",
|
|
1473
|
+
"example": "sony",
|
|
1154
1474
|
"maxLength": 50,
|
|
1155
1475
|
"minLength": 1
|
|
1156
1476
|
}
|
|
@@ -1162,21 +1482,30 @@
|
|
|
1162
1482
|
},
|
|
1163
1483
|
"SuggestedTerm": {
|
|
1164
1484
|
"type": "object",
|
|
1485
|
+
"description": "Document representing a suggested term.",
|
|
1165
1486
|
"properties": {
|
|
1166
1487
|
"completed": {
|
|
1167
1488
|
"type": "boolean",
|
|
1489
|
+
"description": "Returns whether this term value is a completion match.",
|
|
1490
|
+
"example": true,
|
|
1168
1491
|
"minLength": 1
|
|
1169
1492
|
},
|
|
1170
1493
|
"corrected": {
|
|
1171
1494
|
"type": "boolean",
|
|
1495
|
+
"description": "Returns whether this term value is a correction match.",
|
|
1496
|
+
"example": false,
|
|
1172
1497
|
"minLength": 1
|
|
1173
1498
|
},
|
|
1174
1499
|
"exactMatch": {
|
|
1175
1500
|
"type": "boolean",
|
|
1501
|
+
"description": "Returns whether this term value is a exact match.",
|
|
1502
|
+
"example": false,
|
|
1176
1503
|
"minLength": 1
|
|
1177
1504
|
},
|
|
1178
1505
|
"value": {
|
|
1179
1506
|
"type": "string",
|
|
1507
|
+
"description": "Returns the term value.",
|
|
1508
|
+
"example": "sony",
|
|
1180
1509
|
"maxLength": 50,
|
|
1181
1510
|
"minLength": 1
|
|
1182
1511
|
}
|
|
@@ -1190,14 +1519,18 @@
|
|
|
1190
1519
|
},
|
|
1191
1520
|
"SuggestedTerms": {
|
|
1192
1521
|
"type": "object",
|
|
1522
|
+
"description": "Document representing a list of suggested terms for each term of a search phrase.",
|
|
1193
1523
|
"properties": {
|
|
1194
1524
|
"originalTerm": {
|
|
1195
1525
|
"type": "string",
|
|
1526
|
+
"description": "Returns the original term that the suggested terms relates to.",
|
|
1527
|
+
"example": "son",
|
|
1196
1528
|
"maxLength": 50,
|
|
1197
1529
|
"minLength": 1
|
|
1198
1530
|
},
|
|
1199
1531
|
"terms": {
|
|
1200
1532
|
"type": "array",
|
|
1533
|
+
"description": "Returns the suggested terms.",
|
|
1201
1534
|
"items": {
|
|
1202
1535
|
"$ref": "#/components/schemas/SuggestedTerm"
|
|
1203
1536
|
}
|
|
@@ -1209,16 +1542,23 @@
|
|
|
1209
1542
|
},
|
|
1210
1543
|
"Suggestion": {
|
|
1211
1544
|
"type": "object",
|
|
1212
|
-
"additionalProperties": {
|
|
1545
|
+
"additionalProperties": {
|
|
1546
|
+
"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.",
|
|
1547
|
+
"example": "c_trackingId",
|
|
1548
|
+
"title": "Additional Property Support"
|
|
1549
|
+
},
|
|
1550
|
+
"description": "Document representing a suggestion.",
|
|
1213
1551
|
"properties": {
|
|
1214
1552
|
"suggestedPhrases": {
|
|
1215
1553
|
"type": "array",
|
|
1554
|
+
"description": "A list of suggested phrases. This list can be empty.",
|
|
1216
1555
|
"items": {
|
|
1217
1556
|
"$ref": "#/components/schemas/SuggestedPhrase"
|
|
1218
1557
|
}
|
|
1219
1558
|
},
|
|
1220
1559
|
"suggestedTerms": {
|
|
1221
1560
|
"type": "array",
|
|
1561
|
+
"description": "A list of suggested terms. This list can be empty.",
|
|
1222
1562
|
"items": {
|
|
1223
1563
|
"$ref": "#/components/schemas/SuggestedTerms"
|
|
1224
1564
|
},
|
|
@@ -1231,14 +1571,19 @@
|
|
|
1231
1571
|
},
|
|
1232
1572
|
"ProductSearchSortingOption": {
|
|
1233
1573
|
"type": "object",
|
|
1574
|
+
"description": "Document representing a product search sorting option.",
|
|
1234
1575
|
"properties": {
|
|
1235
1576
|
"id": {
|
|
1236
1577
|
"type": "string",
|
|
1578
|
+
"description": "The ID of the sorting option.",
|
|
1579
|
+
"example": "best-matches",
|
|
1237
1580
|
"maxLength": 256,
|
|
1238
1581
|
"minLength": 1
|
|
1239
1582
|
},
|
|
1240
1583
|
"label": {
|
|
1241
1584
|
"type": "string",
|
|
1585
|
+
"description": "The localized label of the sorting option.",
|
|
1586
|
+
"example": "Best Matches",
|
|
1242
1587
|
"maxLength": 4000,
|
|
1243
1588
|
"minLength": 1
|
|
1244
1589
|
}
|
|
@@ -1254,9 +1599,11 @@
|
|
|
1254
1599
|
"$ref": "#/components/schemas/PaginatedResultBase"
|
|
1255
1600
|
}
|
|
1256
1601
|
],
|
|
1602
|
+
"description": "Document representing a product search result.",
|
|
1257
1603
|
"properties": {
|
|
1258
1604
|
"hits": {
|
|
1259
1605
|
"type": "array",
|
|
1606
|
+
"description": "A sorted array of search hits (`ProductSearchHit` objects). The array can be empty.",
|
|
1260
1607
|
"items": {
|
|
1261
1608
|
"$ref": "#/components/schemas/ProductSearchHit"
|
|
1262
1609
|
},
|
|
@@ -1264,12 +1611,15 @@
|
|
|
1264
1611
|
},
|
|
1265
1612
|
"pageMetaTags": {
|
|
1266
1613
|
"type": "array",
|
|
1614
|
+
"description": "Page Meta tags associated with the search result.",
|
|
1267
1615
|
"items": {
|
|
1268
1616
|
"$ref": "#/components/schemas/PageMetaTag"
|
|
1269
1617
|
}
|
|
1270
1618
|
},
|
|
1271
1619
|
"query": {
|
|
1272
1620
|
"type": "string",
|
|
1621
|
+
"description": "The query string that was searched for.",
|
|
1622
|
+
"example": "dresses",
|
|
1273
1623
|
"maxLength": 50
|
|
1274
1624
|
},
|
|
1275
1625
|
"searchMode": {
|
|
@@ -1277,24 +1627,28 @@
|
|
|
1277
1627
|
{
|
|
1278
1628
|
"$ref": "#/components/schemas/SearchMode"
|
|
1279
1629
|
}
|
|
1280
|
-
]
|
|
1630
|
+
],
|
|
1631
|
+
"description": "The search matching approach the client requested for this search, echoed back from the `searchMode` query parameter. Omitted when the request did not supply one. This is the requested hint, not necessarily the mode that served the result — see `effectiveSearchMode`."
|
|
1281
1632
|
},
|
|
1282
1633
|
"effectiveSearchMode": {
|
|
1283
1634
|
"allOf": [
|
|
1284
1635
|
{
|
|
1285
1636
|
"$ref": "#/components/schemas/SearchMode"
|
|
1286
1637
|
}
|
|
1287
|
-
]
|
|
1638
|
+
],
|
|
1639
|
+
"description": "The search matching approach the platform actually used to serve this result. May differ from the requested `searchMode` when the platform demoted the mode (for example when the semantic index is unavailable)."
|
|
1288
1640
|
},
|
|
1289
1641
|
"processedQuery": {
|
|
1290
1642
|
"allOf": [
|
|
1291
1643
|
{
|
|
1292
1644
|
"$ref": "#/components/schemas/ProcessedQuery"
|
|
1293
1645
|
}
|
|
1294
|
-
]
|
|
1646
|
+
],
|
|
1647
|
+
"description": "The result of query processing."
|
|
1295
1648
|
},
|
|
1296
1649
|
"refinements": {
|
|
1297
1650
|
"type": "array",
|
|
1651
|
+
"description": "The sorted array of search refinements. This array can be empty.",
|
|
1298
1652
|
"items": {
|
|
1299
1653
|
"$ref": "#/components/schemas/ProductSearchRefinement"
|
|
1300
1654
|
},
|
|
@@ -1306,21 +1660,27 @@
|
|
|
1306
1660
|
"$ref": "#/components/schemas/Suggestion"
|
|
1307
1661
|
}
|
|
1308
1662
|
],
|
|
1663
|
+
"description": "The suggestion given by the system for the submitted search phrase.",
|
|
1309
1664
|
"minLength": 1
|
|
1310
1665
|
},
|
|
1311
1666
|
"selectedRefinements": {
|
|
1312
1667
|
"type": "object",
|
|
1313
1668
|
"additionalProperties": {
|
|
1314
1669
|
"type": "string",
|
|
1670
|
+
"example": "Beige",
|
|
1315
1671
|
"maxLength": 4000
|
|
1316
|
-
}
|
|
1672
|
+
},
|
|
1673
|
+
"description": "A map of selected refinement attribute ID or value pairs. The sorting order is the same as in request URL."
|
|
1317
1674
|
},
|
|
1318
1675
|
"selectedSortingOption": {
|
|
1319
1676
|
"type": "string",
|
|
1677
|
+
"description": "The ID of the applied sorting option.",
|
|
1678
|
+
"example": "best-matches",
|
|
1320
1679
|
"maxLength": 4000
|
|
1321
1680
|
},
|
|
1322
1681
|
"sortingOptions": {
|
|
1323
1682
|
"type": "array",
|
|
1683
|
+
"description": "The sorted array of search sorting options. This array can be empty.",
|
|
1324
1684
|
"items": {
|
|
1325
1685
|
"$ref": "#/components/schemas/ProductSearchSortingOption"
|
|
1326
1686
|
},
|
|
@@ -1344,17 +1704,25 @@
|
|
|
1344
1704
|
"properties": {
|
|
1345
1705
|
"title": {
|
|
1346
1706
|
"type": "string",
|
|
1707
|
+
"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",
|
|
1708
|
+
"example": "You do not have enough credit",
|
|
1347
1709
|
"maxLength": 256
|
|
1348
1710
|
},
|
|
1349
1711
|
"type": {
|
|
1350
1712
|
"type": "string",
|
|
1713
|
+
"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",
|
|
1714
|
+
"example": "NotEnoughMoney",
|
|
1351
1715
|
"maxLength": 2048
|
|
1352
1716
|
},
|
|
1353
1717
|
"detail": {
|
|
1354
|
-
"type": "string"
|
|
1718
|
+
"type": "string",
|
|
1719
|
+
"description": "A human-readable explanation specific to this occurrence of the problem.",
|
|
1720
|
+
"example": "Your current balance is 30, but that costs 50"
|
|
1355
1721
|
},
|
|
1356
1722
|
"instance": {
|
|
1357
1723
|
"type": "string",
|
|
1724
|
+
"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",
|
|
1725
|
+
"example": "/account/12345/msgs/abc",
|
|
1358
1726
|
"maxLength": 2048
|
|
1359
1727
|
}
|
|
1360
1728
|
},
|
|
@@ -1369,24 +1737,35 @@
|
|
|
1369
1737
|
{
|
|
1370
1738
|
"$ref": "#/components/schemas/Suggestion"
|
|
1371
1739
|
}
|
|
1372
|
-
]
|
|
1740
|
+
],
|
|
1741
|
+
"description": "The suggested brand names are listed in suggested phrases. If this list is empty, no brand suggestion for a given search phrase was found."
|
|
1373
1742
|
},
|
|
1374
1743
|
"SuggestedCategory": {
|
|
1375
1744
|
"type": "object",
|
|
1376
|
-
"additionalProperties": {
|
|
1745
|
+
"additionalProperties": {
|
|
1746
|
+
"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.",
|
|
1747
|
+
"example": "c_trackingId",
|
|
1748
|
+
"title": "Additional Property Support"
|
|
1749
|
+
},
|
|
1377
1750
|
"properties": {
|
|
1378
1751
|
"id": {
|
|
1379
1752
|
"type": "string",
|
|
1753
|
+
"description": "The ID of the category.",
|
|
1754
|
+
"example": "womens-clothing-dresses",
|
|
1380
1755
|
"maxLength": 260,
|
|
1381
1756
|
"minLength": 1
|
|
1382
1757
|
},
|
|
1383
1758
|
"name": {
|
|
1384
1759
|
"type": "string",
|
|
1760
|
+
"description": "The localized name of the category.",
|
|
1761
|
+
"example": "Dresses",
|
|
1385
1762
|
"maxLength": 4000,
|
|
1386
1763
|
"minLength": 1
|
|
1387
1764
|
},
|
|
1388
1765
|
"parentCategoryName": {
|
|
1389
1766
|
"type": "string",
|
|
1767
|
+
"description": "The name of the parent category.",
|
|
1768
|
+
"example": "Clothing",
|
|
1390
1769
|
"maxLength": 4000,
|
|
1391
1770
|
"minLength": 1
|
|
1392
1771
|
}
|
|
@@ -1406,6 +1785,7 @@
|
|
|
1406
1785
|
"properties": {
|
|
1407
1786
|
"categories": {
|
|
1408
1787
|
"type": "array",
|
|
1788
|
+
"description": "The sorted list of suggested categories. This list can be empty.",
|
|
1409
1789
|
"items": {
|
|
1410
1790
|
"$ref": "#/components/schemas/SuggestedCategory"
|
|
1411
1791
|
}
|
|
@@ -1414,7 +1794,12 @@
|
|
|
1414
1794
|
},
|
|
1415
1795
|
"SuggestedProduct": {
|
|
1416
1796
|
"type": "object",
|
|
1417
|
-
"additionalProperties": {
|
|
1797
|
+
"additionalProperties": {
|
|
1798
|
+
"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.",
|
|
1799
|
+
"example": "c_trackingId",
|
|
1800
|
+
"title": "Additional Property Support"
|
|
1801
|
+
},
|
|
1802
|
+
"description": "Document representing a product search hit.",
|
|
1418
1803
|
"properties": {
|
|
1419
1804
|
"currency": {
|
|
1420
1805
|
"$ref": "#/components/schemas/CurrencyCode"
|
|
@@ -1422,17 +1807,29 @@
|
|
|
1422
1807
|
"price": {
|
|
1423
1808
|
"type": "number",
|
|
1424
1809
|
"format": "double",
|
|
1810
|
+
"description": "The sales price of the product. In the case of complex products like a master or a set, this is the minimum price of\n related child products.",
|
|
1811
|
+
"example": 300,
|
|
1425
1812
|
"minLength": 1
|
|
1426
1813
|
},
|
|
1427
1814
|
"productId": {
|
|
1428
1815
|
"type": "string",
|
|
1816
|
+
"description": "The ID (SKU) of the product.",
|
|
1817
|
+
"example": "sony-ps3-bundle",
|
|
1429
1818
|
"maxLength": 100,
|
|
1430
1819
|
"minLength": 1
|
|
1431
1820
|
},
|
|
1432
1821
|
"productName": {
|
|
1433
1822
|
"type": "string",
|
|
1823
|
+
"description": "The localized name of the product.",
|
|
1824
|
+
"example": "Playstation 3 Bundle",
|
|
1434
1825
|
"maxLength": 4000,
|
|
1435
1826
|
"minLength": 1
|
|
1827
|
+
},
|
|
1828
|
+
"slug": {
|
|
1829
|
+
"type": "string",
|
|
1830
|
+
"description": "SEO-friendly slug for the product, derived from the site's configured product URL rule.\nThis is the slug segment only, not a full URL. Returned only when `expand=slug` is requested.\nUse the slug to construct user-friendly product detail page URLs (for example,\n/products/{slug}/{productId}).",
|
|
1831
|
+
"example": "modern-dress-shirt",
|
|
1832
|
+
"maxLength": 4000
|
|
1436
1833
|
}
|
|
1437
1834
|
},
|
|
1438
1835
|
"required": [
|
|
@@ -1451,6 +1848,7 @@
|
|
|
1451
1848
|
"properties": {
|
|
1452
1849
|
"products": {
|
|
1453
1850
|
"type": "array",
|
|
1851
|
+
"description": "The sorted list of suggested products. This list can be empty.",
|
|
1454
1852
|
"items": {
|
|
1455
1853
|
"$ref": "#/components/schemas/SuggestedProduct"
|
|
1456
1854
|
}
|
|
@@ -1463,17 +1861,21 @@
|
|
|
1463
1861
|
"$ref": "#/components/schemas/Suggestion"
|
|
1464
1862
|
}
|
|
1465
1863
|
],
|
|
1864
|
+
"description": "The custom suggestions are listed in suggested phrases. If this list is empty, no custom suggestion for the given search phrase was found.",
|
|
1466
1865
|
"properties": {
|
|
1467
1866
|
"customSuggestion": {
|
|
1468
|
-
"type": "string"
|
|
1867
|
+
"type": "string",
|
|
1868
|
+
"example": "Try searching for budget shoes."
|
|
1469
1869
|
}
|
|
1470
1870
|
}
|
|
1471
1871
|
},
|
|
1472
1872
|
"EinsteinSuggestedPhrases": {
|
|
1473
1873
|
"type": "object",
|
|
1874
|
+
"description": "Einstein-suggested phrases containing popular and recent search phrases.",
|
|
1474
1875
|
"properties": {
|
|
1475
1876
|
"popularSearchPhrases": {
|
|
1476
1877
|
"type": "array",
|
|
1878
|
+
"description": "A list of popular search phrases suggested by Einstein. This list can be empty.",
|
|
1477
1879
|
"items": {
|
|
1478
1880
|
"$ref": "#/components/schemas/SuggestedPhrase"
|
|
1479
1881
|
},
|
|
@@ -1481,6 +1883,7 @@
|
|
|
1481
1883
|
},
|
|
1482
1884
|
"recentSearchPhrases": {
|
|
1483
1885
|
"type": "array",
|
|
1886
|
+
"description": "A list of recent search phrases suggested by Einstein. This list can be empty.",
|
|
1484
1887
|
"items": {
|
|
1485
1888
|
"$ref": "#/components/schemas/SuggestedPhrase"
|
|
1486
1889
|
},
|
|
@@ -1490,44 +1893,52 @@
|
|
|
1490
1893
|
},
|
|
1491
1894
|
"SuggestionResult": {
|
|
1492
1895
|
"type": "object",
|
|
1896
|
+
"description": "Document representing a search suggestion result.",
|
|
1493
1897
|
"properties": {
|
|
1494
1898
|
"brandSuggestions": {
|
|
1495
1899
|
"allOf": [
|
|
1496
1900
|
{
|
|
1497
1901
|
"$ref": "#/components/schemas/BrandSuggestions"
|
|
1498
1902
|
}
|
|
1499
|
-
]
|
|
1903
|
+
],
|
|
1904
|
+
"description": "Returns the suggested brands."
|
|
1500
1905
|
},
|
|
1501
1906
|
"categorySuggestions": {
|
|
1502
1907
|
"allOf": [
|
|
1503
1908
|
{
|
|
1504
1909
|
"$ref": "#/components/schemas/CategorySuggestions"
|
|
1505
1910
|
}
|
|
1506
|
-
]
|
|
1911
|
+
],
|
|
1912
|
+
"description": "Returns the suggested categories."
|
|
1507
1913
|
},
|
|
1508
1914
|
"productSuggestions": {
|
|
1509
1915
|
"allOf": [
|
|
1510
1916
|
{
|
|
1511
1917
|
"$ref": "#/components/schemas/ProductSuggestions"
|
|
1512
1918
|
}
|
|
1513
|
-
]
|
|
1919
|
+
],
|
|
1920
|
+
"description": "Returns the suggested products."
|
|
1514
1921
|
},
|
|
1515
1922
|
"customSuggestion": {
|
|
1516
1923
|
"allOf": [
|
|
1517
1924
|
{
|
|
1518
1925
|
"$ref": "#/components/schemas/CustomSuggestions"
|
|
1519
1926
|
}
|
|
1520
|
-
]
|
|
1927
|
+
],
|
|
1928
|
+
"description": "Returns custom suggestions."
|
|
1521
1929
|
},
|
|
1522
1930
|
"einsteinSuggestedPhrases": {
|
|
1523
1931
|
"allOf": [
|
|
1524
1932
|
{
|
|
1525
1933
|
"$ref": "#/components/schemas/EinsteinSuggestedPhrases"
|
|
1526
1934
|
}
|
|
1527
|
-
]
|
|
1935
|
+
],
|
|
1936
|
+
"description": "Returns Einstein suggested phrases containing popular and recent search phrases."
|
|
1528
1937
|
},
|
|
1529
1938
|
"searchPhrase": {
|
|
1530
1939
|
"type": "string",
|
|
1940
|
+
"description": "The query phrase (q) for which suggestions where made.",
|
|
1941
|
+
"example": "dresses",
|
|
1531
1942
|
"maxLength": 50,
|
|
1532
1943
|
"minLength": 3
|
|
1533
1944
|
},
|
|
@@ -1536,14 +1947,16 @@
|
|
|
1536
1947
|
{
|
|
1537
1948
|
"$ref": "#/components/schemas/SearchMode"
|
|
1538
1949
|
}
|
|
1539
|
-
]
|
|
1950
|
+
],
|
|
1951
|
+
"description": "The search matching approach the client requested for these suggestions, echoed back from the `searchMode` query parameter. Omitted when the request did not supply one. This is the requested hint, not necessarily the mode that served the suggestions — see `effectiveSearchMode`."
|
|
1540
1952
|
},
|
|
1541
1953
|
"effectiveSearchMode": {
|
|
1542
1954
|
"allOf": [
|
|
1543
1955
|
{
|
|
1544
1956
|
"$ref": "#/components/schemas/SearchMode"
|
|
1545
1957
|
}
|
|
1546
|
-
]
|
|
1958
|
+
],
|
|
1959
|
+
"description": "The search matching approach the platform actually used to serve these suggestions. May differ from the requested `searchMode` when the platform demoted the mode (for example when the semantic index is unavailable)."
|
|
1547
1960
|
}
|
|
1548
1961
|
},
|
|
1549
1962
|
"required": [
|
|
@@ -1555,41 +1968,53 @@
|
|
|
1555
1968
|
"organizationId": {
|
|
1556
1969
|
"name": "organizationId",
|
|
1557
1970
|
"in": "path",
|
|
1971
|
+
"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).",
|
|
1558
1972
|
"required": true,
|
|
1559
1973
|
"style": "simple",
|
|
1560
1974
|
"explode": false,
|
|
1561
1975
|
"schema": {
|
|
1562
1976
|
"$ref": "#/components/schemas/OrganizationId"
|
|
1563
|
-
}
|
|
1977
|
+
},
|
|
1978
|
+
"example": "f_ecom_zzxy_prd"
|
|
1564
1979
|
},
|
|
1565
1980
|
"productSearchSelect": {
|
|
1566
1981
|
"name": "select",
|
|
1567
1982
|
"in": "query",
|
|
1983
|
+
"description": "The property selector declaring which fields are included in the product search response payload. For details, see [Property Selection.](https://developer.salesforce.com/docs/commerce/commerce-api/guide/scapi-property-selection.html)",
|
|
1568
1984
|
"required": false,
|
|
1569
1985
|
"style": "form",
|
|
1570
1986
|
"explode": true,
|
|
1571
1987
|
"schema": {
|
|
1572
1988
|
"$ref": "#/components/schemas/Select"
|
|
1573
|
-
}
|
|
1989
|
+
},
|
|
1990
|
+
"example": "(hits.(**), refinements, sortingOptions.(id))"
|
|
1574
1991
|
},
|
|
1575
1992
|
"siteId": {
|
|
1576
1993
|
"name": "siteId",
|
|
1577
1994
|
"in": "query",
|
|
1995
|
+
"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.",
|
|
1578
1996
|
"required": true,
|
|
1579
1997
|
"style": "form",
|
|
1580
1998
|
"explode": true,
|
|
1581
1999
|
"schema": {
|
|
1582
2000
|
"$ref": "#/components/schemas/SiteId"
|
|
2001
|
+
},
|
|
2002
|
+
"examples": {
|
|
2003
|
+
"SiteId": {
|
|
2004
|
+
"value": "RefArch"
|
|
2005
|
+
}
|
|
1583
2006
|
}
|
|
1584
2007
|
},
|
|
1585
2008
|
"qProductSearch": {
|
|
1586
2009
|
"name": "q",
|
|
1587
2010
|
"in": "query",
|
|
2011
|
+
"description": "The query phrase to search for. For example to search for a product \"shirt\", type q=shirt. **Note:** - Lexical search queries are limited to a maximum of 50 characters.",
|
|
1588
2012
|
"required": false,
|
|
1589
2013
|
"style": "form",
|
|
1590
2014
|
"explode": true,
|
|
1591
2015
|
"schema": {
|
|
1592
2016
|
"type": "string",
|
|
2017
|
+
"example": "shirt",
|
|
1593
2018
|
"maxLength": 500,
|
|
1594
2019
|
"minLength": 1
|
|
1595
2020
|
}
|
|
@@ -1597,6 +2022,7 @@
|
|
|
1597
2022
|
"refine": {
|
|
1598
2023
|
"name": "refine",
|
|
1599
2024
|
"in": "query",
|
|
2025
|
+
"description": "Parameter that represents a refinement attribute or values pair. Refinement attribute ID and values are separated by '='.<br> \nMultiple values are supported by a subset of refinement attributes and can be provided by separating them using a pipe (URL encoded = \\\"|\\\"), for example: refine=c_refinementColor=red|green|blue.<br> \nValue ranges can be specified like this: refine=price=(100..500).<br> \nMultiple refine parameters can be provided by using the refine as the key, for example: refine=price=(0..10)&refine=c_refinementColor=green.<br> \nThe refinements can be a collection of custom defined attributes IDs and the system defined attributes IDs but the search can only accept a total of 9 refinements at a time.<br> \n\nThe following system refinement attribute ids are supported:<br>\n`cgid`: Allows refinement per single category ID. Multiple category IDs are not supported.<br>\n`cgslug`: Allows refinement by a category URL slug (for example, `mens/clothing`). The server resolves the slug to a category ID using the site's storefront URL mapping. If the slug can't be resolved to a category, the API returns a 400 error. This parameter is mutually exclusive with `cgid`. If both are provided, `cgid` takes priority and `cgslug` is ignored.<br>\n`price`: Allows refinement per single price range. Multiple price ranges are not supported.<br>\n`htype`: Allow refinement by including only the provided hit types. Accepted types are 'product', 'master', 'set', 'bundle', 'slicing_group' (deprecated), 'variation_group'.<br>\n`orderable_only`: Unavailable products are excluded from the search results if true is set. Multiple refinement values are not supported.<br>\n`ilids`: Allows refining by inventory list IDs. Supports up to 10 inventory list IDs per request.<br>\n`pmid`: Allows refinement on the supplied promotion ID(s). When used with `pmpt`, filters products by their role in the promotion.<br>\n`pmpt`: Allows refinement per promotion product type. Must be used with `pmid` to filter products by their role in the promotion. Valid values are:\n - `all`: Returns all products related to the promotion (default)\n - `qualifying`: Returns only products that qualify for the promotion but don't receive the discount/bonus\n - `discounted`: Returns only products that receive a discount in the promotion\n - `bonus`: Returns only products that are given as bonuses in the promotion\n\n**Note:** To refine a search using multiple promotion filters—for example, to find products in both the spring and summer campaigns—see [Refining by Multiple Promotions](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/b2c-promotions-for-developers.html#refining-by-multiple-promotions).",
|
|
1600
2026
|
"required": false,
|
|
1601
2027
|
"style": "form",
|
|
1602
2028
|
"explode": true,
|
|
@@ -1604,6 +2030,7 @@
|
|
|
1604
2030
|
"type": "array",
|
|
1605
2031
|
"items": {
|
|
1606
2032
|
"type": "string",
|
|
2033
|
+
"example": "price=(0..10)",
|
|
1607
2034
|
"maxLength": 4000
|
|
1608
2035
|
},
|
|
1609
2036
|
"maxItems": 9
|
|
@@ -1612,17 +2039,20 @@
|
|
|
1612
2039
|
"sort": {
|
|
1613
2040
|
"name": "sort",
|
|
1614
2041
|
"in": "query",
|
|
2042
|
+
"description": "The ID of the sorting option to sort the search hits.",
|
|
1615
2043
|
"required": false,
|
|
1616
2044
|
"style": "form",
|
|
1617
2045
|
"explode": true,
|
|
1618
2046
|
"schema": {
|
|
1619
2047
|
"type": "string",
|
|
2048
|
+
"example": "brand",
|
|
1620
2049
|
"maxLength": 256
|
|
1621
2050
|
}
|
|
1622
2051
|
},
|
|
1623
2052
|
"searchMode": {
|
|
1624
2053
|
"name": "searchMode",
|
|
1625
2054
|
"in": "query",
|
|
2055
|
+
"description": "A hint for the search matching approach the platform should use for this request. `semantic` selects meaning-based matching; `lexical` selects keyword/token-based matching.\n\nThe hint is non-authoritative and applies only to this request: the platform runs its full routing cascade and may demote a `semantic` request to `lexical` (for example when the semantic index is unavailable). Always read the resolved `effectiveSearchMode` field in the response rather than assuming the requested mode was honored. When omitted, the platform's configured default applies.",
|
|
1626
2056
|
"required": false,
|
|
1627
2057
|
"style": "form",
|
|
1628
2058
|
"explode": true,
|
|
@@ -1631,32 +2061,49 @@
|
|
|
1631
2061
|
"enum": [
|
|
1632
2062
|
"semantic",
|
|
1633
2063
|
"lexical"
|
|
1634
|
-
]
|
|
2064
|
+
],
|
|
2065
|
+
"example": "semantic"
|
|
1635
2066
|
}
|
|
1636
2067
|
},
|
|
1637
2068
|
"currency": {
|
|
1638
2069
|
"name": "currency",
|
|
1639
2070
|
"in": "query",
|
|
2071
|
+
"description": "A three letter uppercase currency code conforming to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, or the string `N/A` indicating that a currency is not applicable.",
|
|
1640
2072
|
"required": false,
|
|
1641
2073
|
"style": "form",
|
|
1642
2074
|
"explode": true,
|
|
1643
2075
|
"schema": {
|
|
1644
2076
|
"$ref": "#/components/schemas/CurrencyCode"
|
|
2077
|
+
},
|
|
2078
|
+
"examples": {
|
|
2079
|
+
"CurrencyCode": {
|
|
2080
|
+
"value": "USD"
|
|
2081
|
+
}
|
|
1645
2082
|
}
|
|
1646
2083
|
},
|
|
1647
2084
|
"locale": {
|
|
1648
2085
|
"name": "locale",
|
|
1649
2086
|
"in": "query",
|
|
2087
|
+
"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.",
|
|
1650
2088
|
"required": false,
|
|
1651
2089
|
"style": "form",
|
|
1652
2090
|
"explode": true,
|
|
1653
2091
|
"schema": {
|
|
1654
2092
|
"$ref": "#/components/schemas/LocaleCode"
|
|
2093
|
+
},
|
|
2094
|
+
"examples": {
|
|
2095
|
+
"LanguageCountry": {
|
|
2096
|
+
"value": "en-US"
|
|
2097
|
+
},
|
|
2098
|
+
"CountryCode": {
|
|
2099
|
+
"value": "US"
|
|
2100
|
+
}
|
|
1655
2101
|
}
|
|
1656
2102
|
},
|
|
1657
2103
|
"expandProductSearch": {
|
|
1658
2104
|
"name": "expand",
|
|
1659
2105
|
"in": "query",
|
|
2106
|
+
"description": "A comma-separated list with allowed values - `availability`, `images`, `prices`, `represented_products`, `variations`, `promotions`, `custom_properties`, `slug`. \nBy default, the expand parameter includes `availability, images, prices, represented_products, variations`. \nUse none to disable all expand options.",
|
|
1660
2107
|
"required": false,
|
|
1661
2108
|
"style": "form",
|
|
1662
2109
|
"explode": true,
|
|
@@ -1675,54 +2122,64 @@
|
|
|
1675
2122
|
"custom_properties",
|
|
1676
2123
|
"page_meta_tags",
|
|
1677
2124
|
"slug"
|
|
1678
|
-
]
|
|
2125
|
+
],
|
|
2126
|
+
"example": "prices"
|
|
1679
2127
|
}
|
|
1680
2128
|
}
|
|
1681
2129
|
},
|
|
1682
2130
|
"allImages": {
|
|
1683
2131
|
"name": "allImages",
|
|
1684
2132
|
"in": "query",
|
|
2133
|
+
"description": "When the `images` expand parameter is used with this flag, the response includes the `imageGroups` property, which contains an image model.\nIf this flag is true, the full image model is returned and you can combine with `imgTypes` to filter image types and counts. If false, only matching images are included.\nIf no flag is passed, the `imageGroups` property is omitted from the response.",
|
|
1685
2134
|
"required": false,
|
|
1686
2135
|
"style": "form",
|
|
1687
2136
|
"explode": true,
|
|
1688
2137
|
"schema": {
|
|
1689
|
-
"type": "boolean"
|
|
2138
|
+
"type": "boolean",
|
|
2139
|
+
"example": true
|
|
1690
2140
|
}
|
|
1691
2141
|
},
|
|
1692
2142
|
"imgTypes": {
|
|
1693
2143
|
"name": "imgTypes",
|
|
1694
2144
|
"in": "query",
|
|
2145
|
+
"description": "Filters product images by type with optional count limits per type. This parameter requires both the `images` expand parameter and `allImages=true`.\nWhen used, the response includes the `imageGroups` property filtered by the specified image types.\nThe format is a comma-separated list of image types with optional counts: `<imageType>:<count>,<imageType>:<count>`.\nIf the count is omitted, all images of that type are returned. If specified, the count limits the number of images returned for that type.\nFor example, `imgTypes=large:2,small:1` returns up to 2 large images and 1 small image per product in the imageGroups.\nIf `imgTypes` is used without `allImages=true`, it is ignored and imageGroups aren't included in the response.",
|
|
1695
2146
|
"required": false,
|
|
1696
2147
|
"style": "form",
|
|
1697
2148
|
"explode": true,
|
|
1698
2149
|
"schema": {
|
|
1699
2150
|
"type": "string",
|
|
2151
|
+
"example": "large:2,small:1",
|
|
1700
2152
|
"maxLength": 50
|
|
1701
2153
|
}
|
|
1702
2154
|
},
|
|
1703
2155
|
"perPricebook": {
|
|
1704
2156
|
"name": "perPricebook",
|
|
1705
2157
|
"in": "query",
|
|
2158
|
+
"description": "When this flag is set to `true` and is used with the `prices` expand parameter, the response includes per PriceBook prices and tiered prices (if available).",
|
|
1706
2159
|
"required": false,
|
|
1707
2160
|
"style": "form",
|
|
1708
2161
|
"explode": true,
|
|
1709
2162
|
"schema": {
|
|
1710
|
-
"type": "boolean"
|
|
2163
|
+
"type": "boolean",
|
|
2164
|
+
"example": true
|
|
1711
2165
|
}
|
|
1712
2166
|
},
|
|
1713
2167
|
"allVariationProperties": {
|
|
1714
2168
|
"name": "allVariationProperties",
|
|
1715
2169
|
"in": "query",
|
|
2170
|
+
"description": "The flag that determines which variation properties are included in the result. When set to `true` with the `variations` expand parameter, all variation properties (`variationAttributes`, `variationGroups`, `variants`) are returned. When set to false, only the default property `variationAttributes` is returned.",
|
|
1716
2171
|
"required": false,
|
|
1717
2172
|
"style": "form",
|
|
1718
2173
|
"explode": true,
|
|
1719
2174
|
"schema": {
|
|
1720
|
-
"type": "boolean"
|
|
2175
|
+
"type": "boolean",
|
|
2176
|
+
"example": false
|
|
1721
2177
|
}
|
|
1722
2178
|
},
|
|
1723
2179
|
"includedCustomVariationProperties": {
|
|
1724
2180
|
"name": "includedCustomVariationProperties",
|
|
1725
2181
|
"in": "query",
|
|
2182
|
+
"description": "A comma-separated list of custom property ids to be returned for variant products. The `variants` expand parameter and `allVariationProperties` query parameter are required for these properties to be returned.",
|
|
1726
2183
|
"required": false,
|
|
1727
2184
|
"style": "form",
|
|
1728
2185
|
"explode": true,
|
|
@@ -1730,6 +2187,7 @@
|
|
|
1730
2187
|
"type": "array",
|
|
1731
2188
|
"items": {
|
|
1732
2189
|
"type": "string",
|
|
2190
|
+
"example": "c_batteryLife",
|
|
1733
2191
|
"maxLength": 256,
|
|
1734
2192
|
"pattern": "^c_.*"
|
|
1735
2193
|
},
|
|
@@ -1739,11 +2197,13 @@
|
|
|
1739
2197
|
"qSearchSuggestion": {
|
|
1740
2198
|
"name": "q",
|
|
1741
2199
|
"in": "query",
|
|
2200
|
+
"description": "The search phrase (q) for which suggestions are evaluated. Search suggestions are determined when the search phrase input is at least three (default) characters long. The value is configurable in the Business Manager.",
|
|
1742
2201
|
"required": true,
|
|
1743
2202
|
"style": "form",
|
|
1744
2203
|
"explode": true,
|
|
1745
2204
|
"schema": {
|
|
1746
2205
|
"type": "string",
|
|
2206
|
+
"example": "sho",
|
|
1747
2207
|
"maxLength": 50,
|
|
1748
2208
|
"minLength": 3
|
|
1749
2209
|
}
|
|
@@ -1751,12 +2211,14 @@
|
|
|
1751
2211
|
"limitSearchSuggestion": {
|
|
1752
2212
|
"name": "limit",
|
|
1753
2213
|
"in": "query",
|
|
2214
|
+
"description": "The maximum number of suggestions made per request. If no value is defined, by default five suggestions per suggestion type are evaluated. This affects all types of suggestions (category, product, brand, and custom suggestions).",
|
|
1754
2215
|
"required": false,
|
|
1755
2216
|
"style": "form",
|
|
1756
2217
|
"explode": true,
|
|
1757
2218
|
"schema": {
|
|
1758
2219
|
"type": "integer",
|
|
1759
2220
|
"default": 5,
|
|
2221
|
+
"example": 5,
|
|
1760
2222
|
"maximum": 10,
|
|
1761
2223
|
"minimum": 1
|
|
1762
2224
|
}
|
|
@@ -1764,6 +2226,7 @@
|
|
|
1764
2226
|
"expandSearchSuggestion": {
|
|
1765
2227
|
"name": "expand",
|
|
1766
2228
|
"in": "query",
|
|
2229
|
+
"description": "A comma-separated list of the values `images`, `prices`, `custom_product_properties`, and `slug`.\nBy default, the expand parameter includes `prices`.",
|
|
1767
2230
|
"required": false,
|
|
1768
2231
|
"style": "form",
|
|
1769
2232
|
"explode": true,
|
|
@@ -1774,14 +2237,17 @@
|
|
|
1774
2237
|
"enum": [
|
|
1775
2238
|
"images",
|
|
1776
2239
|
"prices",
|
|
1777
|
-
"custom_product_properties"
|
|
1778
|
-
|
|
2240
|
+
"custom_product_properties",
|
|
2241
|
+
"slug"
|
|
2242
|
+
],
|
|
2243
|
+
"example": "prices"
|
|
1779
2244
|
}
|
|
1780
2245
|
}
|
|
1781
2246
|
},
|
|
1782
2247
|
"includedCustomProductProperties": {
|
|
1783
2248
|
"name": "includedCustomProductProperties",
|
|
1784
2249
|
"in": "query",
|
|
2250
|
+
"description": "A comma-separated list of custom property ids to be returned for product suggestions. The `custom_product_properties` expand parameter is required for these properties to be returned.",
|
|
1785
2251
|
"required": false,
|
|
1786
2252
|
"style": "form",
|
|
1787
2253
|
"explode": true,
|
|
@@ -1789,6 +2255,7 @@
|
|
|
1789
2255
|
"type": "array",
|
|
1790
2256
|
"items": {
|
|
1791
2257
|
"type": "string",
|
|
2258
|
+
"example": "c_batteryLife",
|
|
1792
2259
|
"maxLength": 256,
|
|
1793
2260
|
"pattern": "^c_.*"
|
|
1794
2261
|
},
|
|
@@ -1798,41 +2265,32 @@
|
|
|
1798
2265
|
"includeEinsteinSuggestedPhrases": {
|
|
1799
2266
|
"name": "includeEinsteinSuggestedPhrases",
|
|
1800
2267
|
"in": "query",
|
|
2268
|
+
"description": "The flag that determines whether or not to show recent and popular suggested phrases from Einstein.",
|
|
1801
2269
|
"required": false,
|
|
1802
2270
|
"style": "form",
|
|
1803
2271
|
"explode": true,
|
|
1804
2272
|
"schema": {
|
|
1805
|
-
"type": "boolean"
|
|
2273
|
+
"type": "boolean",
|
|
2274
|
+
"example": false
|
|
1806
2275
|
}
|
|
1807
2276
|
},
|
|
1808
2277
|
"sfdcUsid": {
|
|
1809
2278
|
"name": "sfdc_usid",
|
|
1810
2279
|
"in": "header",
|
|
2280
|
+
"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.",
|
|
1811
2281
|
"required": false,
|
|
1812
2282
|
"style": "simple",
|
|
1813
2283
|
"explode": false,
|
|
1814
2284
|
"schema": {
|
|
1815
2285
|
"type": "string",
|
|
1816
|
-
"format": "uuid"
|
|
1817
|
-
|
|
1818
|
-
},
|
|
1819
|
-
"sfdcDwDnt": {
|
|
1820
|
-
"name": "sfdc_dw_dnt",
|
|
1821
|
-
"in": "header",
|
|
1822
|
-
"required": false,
|
|
1823
|
-
"style": "simple",
|
|
1824
|
-
"explode": false,
|
|
1825
|
-
"schema": {
|
|
1826
|
-
"type": "string",
|
|
1827
|
-
"enum": [
|
|
1828
|
-
"0",
|
|
1829
|
-
"1"
|
|
1830
|
-
]
|
|
2286
|
+
"format": "uuid",
|
|
2287
|
+
"example": "550e8400-e29b-41d4-a716-446655440000"
|
|
1831
2288
|
}
|
|
1832
2289
|
},
|
|
1833
2290
|
"personalized": {
|
|
1834
2291
|
"name": "personalized",
|
|
1835
2292
|
"in": "query",
|
|
2293
|
+
"description": "Controls whether personalization is applied to the response. When set to `none`, the server skips applying personalization to the response.",
|
|
1836
2294
|
"required": false,
|
|
1837
2295
|
"style": "form",
|
|
1838
2296
|
"explode": true,
|
|
@@ -1840,12 +2298,14 @@
|
|
|
1840
2298
|
"type": "string",
|
|
1841
2299
|
"enum": [
|
|
1842
2300
|
"none"
|
|
1843
|
-
]
|
|
2301
|
+
],
|
|
2302
|
+
"example": "none"
|
|
1844
2303
|
}
|
|
1845
2304
|
},
|
|
1846
2305
|
"sfdcShopperContext": {
|
|
1847
2306
|
"name": "sfdc_shopper_context",
|
|
1848
2307
|
"in": "header",
|
|
2308
|
+
"description": "Shopper context information (for example clientIP, sourceCode, and customQualifiers)\npassed in from a trusted backend application.",
|
|
1849
2309
|
"required": false,
|
|
1850
2310
|
"style": "simple",
|
|
1851
2311
|
"explode": false,
|
|
@@ -1854,9 +2314,1089 @@
|
|
|
1854
2314
|
}
|
|
1855
2315
|
}
|
|
1856
2316
|
},
|
|
2317
|
+
"examples": {
|
|
2318
|
+
"ProductSearchResultExample": {
|
|
2319
|
+
"value": {
|
|
2320
|
+
"limit": 3,
|
|
2321
|
+
"hits": [
|
|
2322
|
+
{
|
|
2323
|
+
"currency": "USD",
|
|
2324
|
+
"hitType": "master",
|
|
2325
|
+
"image": {
|
|
2326
|
+
"alt": "Modern Dress Shirt, , large",
|
|
2327
|
+
"disBaseLink": "https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZEU_006/on/demandware.static/-/Sites-apparel-catalog/default/dw7671b929/images/large/B0174501_GY9_0.jpg",
|
|
2328
|
+
"link": "https://zzeu-006.sandbox.us01.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-catalog/default/dw7671b929/images/large/B0174501_GY9_0.jpg",
|
|
2329
|
+
"title": "Modern Dress Shirt, "
|
|
2330
|
+
},
|
|
2331
|
+
"orderable": true,
|
|
2332
|
+
"price": 135,
|
|
2333
|
+
"productId": "74974310",
|
|
2334
|
+
"productName": "Modern Dress Shirt",
|
|
2335
|
+
"productType": {
|
|
2336
|
+
"master": true
|
|
2337
|
+
},
|
|
2338
|
+
"representedProduct": {
|
|
2339
|
+
"id": "74974310-1"
|
|
2340
|
+
},
|
|
2341
|
+
"representedProducts": [
|
|
2342
|
+
{
|
|
2343
|
+
"id": "74974310-1"
|
|
2344
|
+
},
|
|
2345
|
+
{
|
|
2346
|
+
"id": "74974310-2"
|
|
2347
|
+
},
|
|
2348
|
+
{
|
|
2349
|
+
"id": "74974310-3"
|
|
2350
|
+
},
|
|
2351
|
+
{
|
|
2352
|
+
"id": "74974310-4"
|
|
2353
|
+
}
|
|
2354
|
+
],
|
|
2355
|
+
"variationAttributes": [
|
|
2356
|
+
{
|
|
2357
|
+
"id": "color",
|
|
2358
|
+
"name": "color",
|
|
2359
|
+
"values": [
|
|
2360
|
+
{
|
|
2361
|
+
"name": "Blue",
|
|
2362
|
+
"orderable": true,
|
|
2363
|
+
"value": "002"
|
|
2364
|
+
}
|
|
2365
|
+
]
|
|
2366
|
+
},
|
|
2367
|
+
{
|
|
2368
|
+
"id": "size",
|
|
2369
|
+
"name": "size",
|
|
2370
|
+
"values": [
|
|
2371
|
+
{
|
|
2372
|
+
"name": "15R",
|
|
2373
|
+
"orderable": true,
|
|
2374
|
+
"value": "15R"
|
|
2375
|
+
},
|
|
2376
|
+
{
|
|
2377
|
+
"name": "15L",
|
|
2378
|
+
"orderable": true,
|
|
2379
|
+
"value": "15L"
|
|
2380
|
+
},
|
|
2381
|
+
{
|
|
2382
|
+
"name": "16L",
|
|
2383
|
+
"orderable": true,
|
|
2384
|
+
"value": "16L"
|
|
2385
|
+
}
|
|
2386
|
+
]
|
|
2387
|
+
}
|
|
2388
|
+
]
|
|
2389
|
+
},
|
|
2390
|
+
{
|
|
2391
|
+
"currency": "USD",
|
|
2392
|
+
"hitType": "master",
|
|
2393
|
+
"image": {
|
|
2394
|
+
"alt": "The White Dress Shirt, , large",
|
|
2395
|
+
"disBaseLink": "https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZEU_006/on/demandware.static/-/Sites-apparel-catalog/default/dw9368b001/images/large/70284588_100_0.jpg",
|
|
2396
|
+
"link": "https://zzeu-006.sandbox.us01.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-catalog/default/dw9368b001/images/large/70284588_100_0.jpg",
|
|
2397
|
+
"title": "The White Dress Shirt, "
|
|
2398
|
+
},
|
|
2399
|
+
"orderable": true,
|
|
2400
|
+
"price": 135,
|
|
2401
|
+
"productId": "78916783",
|
|
2402
|
+
"productName": "The White Dress Shirt",
|
|
2403
|
+
"productType": {
|
|
2404
|
+
"master": true
|
|
2405
|
+
},
|
|
2406
|
+
"representedProduct": {
|
|
2407
|
+
"id": "78916783-1"
|
|
2408
|
+
},
|
|
2409
|
+
"representedProducts": [
|
|
2410
|
+
{
|
|
2411
|
+
"id": "78916783-1"
|
|
2412
|
+
},
|
|
2413
|
+
{
|
|
2414
|
+
"id": "78916783-2"
|
|
2415
|
+
},
|
|
2416
|
+
{
|
|
2417
|
+
"id": "78916783-3"
|
|
2418
|
+
},
|
|
2419
|
+
{
|
|
2420
|
+
"id": "78916783-4"
|
|
2421
|
+
}
|
|
2422
|
+
],
|
|
2423
|
+
"variationAttributes": [
|
|
2424
|
+
{
|
|
2425
|
+
"id": "color",
|
|
2426
|
+
"name": "Color",
|
|
2427
|
+
"values": [
|
|
2428
|
+
{
|
|
2429
|
+
"name": "White",
|
|
2430
|
+
"orderable": true,
|
|
2431
|
+
"value": "white"
|
|
2432
|
+
}
|
|
2433
|
+
]
|
|
2434
|
+
},
|
|
2435
|
+
{
|
|
2436
|
+
"id": "size",
|
|
2437
|
+
"name": "size",
|
|
2438
|
+
"values": [
|
|
2439
|
+
{
|
|
2440
|
+
"name": "15L",
|
|
2441
|
+
"orderable": true,
|
|
2442
|
+
"value": "15L"
|
|
2443
|
+
},
|
|
2444
|
+
{
|
|
2445
|
+
"name": "15R",
|
|
2446
|
+
"orderable": true,
|
|
2447
|
+
"value": "15R"
|
|
2448
|
+
}
|
|
2449
|
+
]
|
|
2450
|
+
}
|
|
2451
|
+
]
|
|
2452
|
+
},
|
|
2453
|
+
{
|
|
2454
|
+
"currency": "USD",
|
|
2455
|
+
"hitType": "master",
|
|
2456
|
+
"image": {
|
|
2457
|
+
"alt": "Striped Shirt, , large",
|
|
2458
|
+
"disBaseLink": "https://edge.disstg.commercecloud.salesforce.com/dw/image/v2/ZZEU_006/on/demandware.static/-/Sites-apparel-catalog/default/dw83b22281/images/large/PG.10213135.JJ9VSA5.PZ.jpg",
|
|
2459
|
+
"link": "https://zzeu-006.sandbox.us01.dx.commercecloud.salesforce.com/on/demandware.static/-/Sites-apparel-catalog/default/dw83b22281/images/large/PG.10213135.JJ9VSA5.PZ.jpg",
|
|
2460
|
+
"title": "Striped Shirt, "
|
|
2461
|
+
},
|
|
2462
|
+
"orderable": true,
|
|
2463
|
+
"price": 40.99,
|
|
2464
|
+
"productId": "25518484",
|
|
2465
|
+
"productName": "Striped Shirt",
|
|
2466
|
+
"productType": {
|
|
2467
|
+
"master": true
|
|
2468
|
+
},
|
|
2469
|
+
"representedProduct": {
|
|
2470
|
+
"id": "701642854760"
|
|
2471
|
+
},
|
|
2472
|
+
"representedProducts": [
|
|
2473
|
+
{
|
|
2474
|
+
"id": "701642854760"
|
|
2475
|
+
},
|
|
2476
|
+
{
|
|
2477
|
+
"id": "701642854784"
|
|
2478
|
+
},
|
|
2479
|
+
{
|
|
2480
|
+
"id": "701642854791"
|
|
2481
|
+
},
|
|
2482
|
+
{
|
|
2483
|
+
"id": "701642854777"
|
|
2484
|
+
}
|
|
2485
|
+
],
|
|
2486
|
+
"variationAttributes": [
|
|
2487
|
+
{
|
|
2488
|
+
"id": "color",
|
|
2489
|
+
"name": "Color",
|
|
2490
|
+
"values": [
|
|
2491
|
+
{
|
|
2492
|
+
"name": "Royal Multi",
|
|
2493
|
+
"orderable": true,
|
|
2494
|
+
"value": "JJ9VSA5"
|
|
2495
|
+
}
|
|
2496
|
+
]
|
|
2497
|
+
},
|
|
2498
|
+
{
|
|
2499
|
+
"id": "size",
|
|
2500
|
+
"name": "Size",
|
|
2501
|
+
"values": [
|
|
2502
|
+
{
|
|
2503
|
+
"name": "S",
|
|
2504
|
+
"orderable": true,
|
|
2505
|
+
"value": "9SM"
|
|
2506
|
+
},
|
|
2507
|
+
{
|
|
2508
|
+
"name": "M",
|
|
2509
|
+
"orderable": true,
|
|
2510
|
+
"value": "9MD"
|
|
2511
|
+
},
|
|
2512
|
+
{
|
|
2513
|
+
"name": "L",
|
|
2514
|
+
"orderable": true,
|
|
2515
|
+
"value": "9LG"
|
|
2516
|
+
},
|
|
2517
|
+
{
|
|
2518
|
+
"name": "XL",
|
|
2519
|
+
"orderable": true,
|
|
2520
|
+
"value": "9XL"
|
|
2521
|
+
}
|
|
2522
|
+
]
|
|
2523
|
+
}
|
|
2524
|
+
]
|
|
2525
|
+
}
|
|
2526
|
+
],
|
|
2527
|
+
"pageMetaTags": [
|
|
2528
|
+
{
|
|
2529
|
+
"id": "description",
|
|
2530
|
+
"value": "Browse our latest selection of shirts. Free shipping on orders over $50.",
|
|
2531
|
+
"type": "name"
|
|
2532
|
+
},
|
|
2533
|
+
{
|
|
2534
|
+
"id": "robots",
|
|
2535
|
+
"value": "index,follow",
|
|
2536
|
+
"type": "name"
|
|
2537
|
+
},
|
|
2538
|
+
{
|
|
2539
|
+
"id": "title",
|
|
2540
|
+
"value": "Find amazing products in Storefront Catalog - EN' today",
|
|
2541
|
+
"type": "title"
|
|
2542
|
+
},
|
|
2543
|
+
{
|
|
2544
|
+
"id": "og:title",
|
|
2545
|
+
"value": "Shirts - Storefront Catalog",
|
|
2546
|
+
"type": "property"
|
|
2547
|
+
},
|
|
2548
|
+
{
|
|
2549
|
+
"id": "itemList",
|
|
2550
|
+
"value": "{\"@context\":\"https://schema.org/\",\"@type\":\"ItemList\",\"name\":\"Shirts\",\"numberOfItems\":4}",
|
|
2551
|
+
"type": "jsonld"
|
|
2552
|
+
}
|
|
2553
|
+
],
|
|
2554
|
+
"query": "shirt",
|
|
2555
|
+
"searchMode": "semantic",
|
|
2556
|
+
"effectiveSearchMode": "semantic",
|
|
2557
|
+
"refinements": [
|
|
2558
|
+
{
|
|
2559
|
+
"attributeId": "cgid",
|
|
2560
|
+
"label": "Category",
|
|
2561
|
+
"values": [
|
|
2562
|
+
{
|
|
2563
|
+
"hitCount": 4,
|
|
2564
|
+
"label": "New Arrivals",
|
|
2565
|
+
"value": "newarrivals"
|
|
2566
|
+
}
|
|
2567
|
+
]
|
|
2568
|
+
},
|
|
2569
|
+
{
|
|
2570
|
+
"attributeId": "c_refinementColor",
|
|
2571
|
+
"label": "Color",
|
|
2572
|
+
"values": [
|
|
2573
|
+
{
|
|
2574
|
+
"hitCount": 0,
|
|
2575
|
+
"label": "Beige",
|
|
2576
|
+
"presentationId": "beige",
|
|
2577
|
+
"value": "Beige"
|
|
2578
|
+
},
|
|
2579
|
+
{
|
|
2580
|
+
"hitCount": 0,
|
|
2581
|
+
"label": "Yellow",
|
|
2582
|
+
"presentationId": "yellow",
|
|
2583
|
+
"value": "Yellow"
|
|
2584
|
+
},
|
|
2585
|
+
{
|
|
2586
|
+
"hitCount": 7,
|
|
2587
|
+
"label": "Miscellaneous",
|
|
2588
|
+
"presentationId": "miscellaneous",
|
|
2589
|
+
"value": "Miscellaneous"
|
|
2590
|
+
}
|
|
2591
|
+
]
|
|
2592
|
+
},
|
|
2593
|
+
{
|
|
2594
|
+
"attributeId": "price",
|
|
2595
|
+
"label": "Price",
|
|
2596
|
+
"values": [
|
|
2597
|
+
{
|
|
2598
|
+
"hitCount": 14,
|
|
2599
|
+
"label": "$20 - $49.99",
|
|
2600
|
+
"value": "(20..50)"
|
|
2601
|
+
},
|
|
2602
|
+
{
|
|
2603
|
+
"hitCount": 26,
|
|
2604
|
+
"label": "$50 - $99.99",
|
|
2605
|
+
"value": "(50..100)"
|
|
2606
|
+
},
|
|
2607
|
+
{
|
|
2608
|
+
"hitCount": 6,
|
|
2609
|
+
"label": "$100 - $499.99",
|
|
2610
|
+
"value": "(100..500)"
|
|
2611
|
+
}
|
|
2612
|
+
]
|
|
2613
|
+
},
|
|
2614
|
+
{
|
|
2615
|
+
"attributeId": "c_isNew",
|
|
2616
|
+
"label": "New Arrival",
|
|
2617
|
+
"values": [
|
|
2618
|
+
{
|
|
2619
|
+
"hitCount": 1,
|
|
2620
|
+
"label": "true",
|
|
2621
|
+
"value": "true"
|
|
2622
|
+
}
|
|
2623
|
+
]
|
|
2624
|
+
},
|
|
2625
|
+
{
|
|
2626
|
+
"attributeId": "brand",
|
|
2627
|
+
"label": "brand",
|
|
2628
|
+
"values": [
|
|
2629
|
+
{
|
|
2630
|
+
"hitCount": 1,
|
|
2631
|
+
"label": "Lacy-S",
|
|
2632
|
+
"value": "Lacy-S"
|
|
2633
|
+
}
|
|
2634
|
+
]
|
|
2635
|
+
}
|
|
2636
|
+
],
|
|
2637
|
+
"searchPhraseSuggestions": {
|
|
2638
|
+
"suggestedPhrases": [
|
|
2639
|
+
{
|
|
2640
|
+
"exactMatch": true,
|
|
2641
|
+
"phrase": "shirt"
|
|
2642
|
+
}
|
|
2643
|
+
],
|
|
2644
|
+
"suggestedTerms": [
|
|
2645
|
+
{
|
|
2646
|
+
"originalTerm": "shirt",
|
|
2647
|
+
"terms": [
|
|
2648
|
+
{
|
|
2649
|
+
"completed": false,
|
|
2650
|
+
"corrected": false,
|
|
2651
|
+
"exactMatch": true,
|
|
2652
|
+
"value": "shirt"
|
|
2653
|
+
}
|
|
2654
|
+
]
|
|
2655
|
+
}
|
|
2656
|
+
]
|
|
2657
|
+
},
|
|
2658
|
+
"sortingOptions": [
|
|
2659
|
+
{
|
|
2660
|
+
"id": "best-matches",
|
|
2661
|
+
"label": "Best Matches"
|
|
2662
|
+
},
|
|
2663
|
+
{
|
|
2664
|
+
"id": "price-low-to-high",
|
|
2665
|
+
"label": "Price Low To High"
|
|
2666
|
+
}
|
|
2667
|
+
],
|
|
2668
|
+
"offset": 0,
|
|
2669
|
+
"total": 46
|
|
2670
|
+
}
|
|
2671
|
+
},
|
|
2672
|
+
"ProductSearchWithPromotionFilterExample": {
|
|
2673
|
+
"summary": "Product search with promotion filtering using pmid and pmpt",
|
|
2674
|
+
"description": "Example showing how to filter products by their role in a promotion using pmid and pmpt parameters",
|
|
2675
|
+
"value": {
|
|
2676
|
+
"limit": 1,
|
|
2677
|
+
"hits": [
|
|
2678
|
+
{
|
|
2679
|
+
"currency": "USD",
|
|
2680
|
+
"hitType": "master",
|
|
2681
|
+
"image": {
|
|
2682
|
+
"alt": "Platinum Red Stripes Easy Care Fitted Shirt, , large",
|
|
2683
|
+
"disBaseLink": "https://image.demandware.com/dw/image/v2/zzzz_s01/on/demandware.static/-/Sites-apparel-catalog/default/dw8c838411/images/large/PG.10123426.JJ8WXXX.PZ.jpg",
|
|
2684
|
+
"link": "https://localhost/on/demandware.static/-/Sites-apparel-catalog/default/dw8c838411/images/large/PG.10123426.JJ8WXXX.PZ.jpg",
|
|
2685
|
+
"title": "Platinum Red Stripes Easy Care Fitted Shirt, "
|
|
2686
|
+
},
|
|
2687
|
+
"orderable": true,
|
|
2688
|
+
"price": 75,
|
|
2689
|
+
"pricePerUnit": 75,
|
|
2690
|
+
"productId": "25050730",
|
|
2691
|
+
"productName": "Platinum Red Stripes Easy Care Fitted Shirt",
|
|
2692
|
+
"productType": {
|
|
2693
|
+
"master": true
|
|
2694
|
+
},
|
|
2695
|
+
"representedProduct": {
|
|
2696
|
+
"id": "008884304108"
|
|
2697
|
+
},
|
|
2698
|
+
"representedProducts": [
|
|
2699
|
+
{
|
|
2700
|
+
"id": "008884304108"
|
|
2701
|
+
}
|
|
2702
|
+
],
|
|
2703
|
+
"variationAttributes": [
|
|
2704
|
+
{
|
|
2705
|
+
"id": "color",
|
|
2706
|
+
"name": "Color",
|
|
2707
|
+
"values": [
|
|
2708
|
+
{
|
|
2709
|
+
"name": "White",
|
|
2710
|
+
"orderable": true,
|
|
2711
|
+
"value": "JJ8WXXX"
|
|
2712
|
+
}
|
|
2713
|
+
]
|
|
2714
|
+
},
|
|
2715
|
+
{
|
|
2716
|
+
"id": "size",
|
|
2717
|
+
"name": "Size",
|
|
2718
|
+
"values": [
|
|
2719
|
+
{
|
|
2720
|
+
"name": "6",
|
|
2721
|
+
"orderable": true,
|
|
2722
|
+
"value": "006"
|
|
2723
|
+
}
|
|
2724
|
+
]
|
|
2725
|
+
}
|
|
2726
|
+
]
|
|
2727
|
+
}
|
|
2728
|
+
],
|
|
2729
|
+
"query": "shirts",
|
|
2730
|
+
"refinements": [
|
|
2731
|
+
{
|
|
2732
|
+
"attributeId": "cgid",
|
|
2733
|
+
"label": "Category",
|
|
2734
|
+
"values": [
|
|
2735
|
+
{
|
|
2736
|
+
"hitCount": 1,
|
|
2737
|
+
"label": "Womens",
|
|
2738
|
+
"value": "womens",
|
|
2739
|
+
"values": [
|
|
2740
|
+
{
|
|
2741
|
+
"hitCount": 1,
|
|
2742
|
+
"label": "Clothing",
|
|
2743
|
+
"value": "womens-clothing",
|
|
2744
|
+
"values": [
|
|
2745
|
+
{
|
|
2746
|
+
"hitCount": 1,
|
|
2747
|
+
"label": "Tops",
|
|
2748
|
+
"value": "womens-clothing-tops"
|
|
2749
|
+
}
|
|
2750
|
+
]
|
|
2751
|
+
}
|
|
2752
|
+
]
|
|
2753
|
+
}
|
|
2754
|
+
]
|
|
2755
|
+
},
|
|
2756
|
+
{
|
|
2757
|
+
"attributeId": "c_refinementColor",
|
|
2758
|
+
"label": "Color",
|
|
2759
|
+
"values": [
|
|
2760
|
+
{
|
|
2761
|
+
"hitCount": 0,
|
|
2762
|
+
"label": "Beige",
|
|
2763
|
+
"presentationId": "beige",
|
|
2764
|
+
"value": "Beige"
|
|
2765
|
+
},
|
|
2766
|
+
{
|
|
2767
|
+
"hitCount": 0,
|
|
2768
|
+
"label": "White",
|
|
2769
|
+
"presentationId": "white",
|
|
2770
|
+
"value": "White"
|
|
2771
|
+
}
|
|
2772
|
+
]
|
|
2773
|
+
},
|
|
2774
|
+
{
|
|
2775
|
+
"attributeId": "c_isNew",
|
|
2776
|
+
"label": "New Arrival"
|
|
2777
|
+
},
|
|
2778
|
+
{
|
|
2779
|
+
"attributeId": "c_topType",
|
|
2780
|
+
"label": "Type | Use"
|
|
2781
|
+
},
|
|
2782
|
+
{
|
|
2783
|
+
"attributeId": "c_size",
|
|
2784
|
+
"label": "Size",
|
|
2785
|
+
"values": [
|
|
2786
|
+
{
|
|
2787
|
+
"hitCount": 0,
|
|
2788
|
+
"label": "4",
|
|
2789
|
+
"value": "4"
|
|
2790
|
+
},
|
|
2791
|
+
{
|
|
2792
|
+
"hitCount": 1,
|
|
2793
|
+
"label": "6",
|
|
2794
|
+
"value": "6"
|
|
2795
|
+
},
|
|
2796
|
+
{
|
|
2797
|
+
"hitCount": 0,
|
|
2798
|
+
"label": "8",
|
|
2799
|
+
"value": "8"
|
|
2800
|
+
}
|
|
2801
|
+
]
|
|
2802
|
+
},
|
|
2803
|
+
{
|
|
2804
|
+
"attributeId": "price",
|
|
2805
|
+
"label": "Price",
|
|
2806
|
+
"values": [
|
|
2807
|
+
{
|
|
2808
|
+
"hitCount": 1,
|
|
2809
|
+
"label": "$50 - $99.99",
|
|
2810
|
+
"value": "(50..100)"
|
|
2811
|
+
}
|
|
2812
|
+
]
|
|
2813
|
+
}
|
|
2814
|
+
],
|
|
2815
|
+
"searchPhraseSuggestions": {
|
|
2816
|
+
"suggestedPhrases": [
|
|
2817
|
+
{
|
|
2818
|
+
"exactMatch": true,
|
|
2819
|
+
"phrase": "shirts"
|
|
2820
|
+
}
|
|
2821
|
+
],
|
|
2822
|
+
"suggestedTerms": [
|
|
2823
|
+
{
|
|
2824
|
+
"originalTerm": "shirts",
|
|
2825
|
+
"terms": [
|
|
2826
|
+
{
|
|
2827
|
+
"completed": false,
|
|
2828
|
+
"corrected": false,
|
|
2829
|
+
"exactMatch": true,
|
|
2830
|
+
"value": "shirts"
|
|
2831
|
+
}
|
|
2832
|
+
]
|
|
2833
|
+
}
|
|
2834
|
+
]
|
|
2835
|
+
},
|
|
2836
|
+
"selectedRefinements": {
|
|
2837
|
+
"pmid": "BonusProductOnOrderOfAmountABove250",
|
|
2838
|
+
"pmpt": "bonus"
|
|
2839
|
+
},
|
|
2840
|
+
"sortingOptions": [
|
|
2841
|
+
{
|
|
2842
|
+
"id": "best-matches",
|
|
2843
|
+
"label": "Best Matches"
|
|
2844
|
+
},
|
|
2845
|
+
{
|
|
2846
|
+
"id": "price-low-to-high",
|
|
2847
|
+
"label": "Price Low To High"
|
|
2848
|
+
},
|
|
2849
|
+
{
|
|
2850
|
+
"id": "price-high-to-low",
|
|
2851
|
+
"label": "Price High to Low"
|
|
2852
|
+
},
|
|
2853
|
+
{
|
|
2854
|
+
"id": "product-name-ascending",
|
|
2855
|
+
"label": "Product Name A - Z"
|
|
2856
|
+
},
|
|
2857
|
+
{
|
|
2858
|
+
"id": "product-name-descending",
|
|
2859
|
+
"label": "Product Name Z - A"
|
|
2860
|
+
},
|
|
2861
|
+
{
|
|
2862
|
+
"id": "brand",
|
|
2863
|
+
"label": "Brand"
|
|
2864
|
+
},
|
|
2865
|
+
{
|
|
2866
|
+
"id": "most-popular",
|
|
2867
|
+
"label": "Most Popular"
|
|
2868
|
+
},
|
|
2869
|
+
{
|
|
2870
|
+
"id": "top-sellers",
|
|
2871
|
+
"label": "Top Sellers"
|
|
2872
|
+
}
|
|
2873
|
+
],
|
|
2874
|
+
"offset": 0,
|
|
2875
|
+
"total": 1
|
|
2876
|
+
}
|
|
2877
|
+
},
|
|
2878
|
+
"ProductSearchResultWithCustomVariationPropertiesExample": {
|
|
2879
|
+
"summary": "Product search result demonstrating custom variation properties on product variants.",
|
|
2880
|
+
"value": {
|
|
2881
|
+
"limit": 1,
|
|
2882
|
+
"hits": [
|
|
2883
|
+
{
|
|
2884
|
+
"hitType": "master",
|
|
2885
|
+
"productId": "portable-media-player",
|
|
2886
|
+
"productName": "Portable Media Player",
|
|
2887
|
+
"productType": {
|
|
2888
|
+
"master": true
|
|
2889
|
+
},
|
|
2890
|
+
"representedProduct": {
|
|
2891
|
+
"id": "media-player-purple-8gb"
|
|
2892
|
+
},
|
|
2893
|
+
"variants": [
|
|
2894
|
+
{
|
|
2895
|
+
"productId": "media-player-silver-8gb",
|
|
2896
|
+
"variationValues": {
|
|
2897
|
+
"color": "Silver",
|
|
2898
|
+
"memorySize": "8 GB"
|
|
2899
|
+
},
|
|
2900
|
+
"c_badges": [
|
|
2901
|
+
"Popular"
|
|
2902
|
+
],
|
|
2903
|
+
"c_mediaFormat": [
|
|
2904
|
+
"0020",
|
|
2905
|
+
"0050"
|
|
2906
|
+
],
|
|
2907
|
+
"c_musicStorage": "2,000 songs"
|
|
2908
|
+
},
|
|
2909
|
+
{
|
|
2910
|
+
"productId": "media-player-purple-8gb",
|
|
2911
|
+
"variationValues": {
|
|
2912
|
+
"color": "Purple",
|
|
2913
|
+
"memorySize": "8 GB"
|
|
2914
|
+
},
|
|
2915
|
+
"c_badges": [
|
|
2916
|
+
"Best Seller"
|
|
2917
|
+
],
|
|
2918
|
+
"c_mediaFormat": [
|
|
2919
|
+
"0010",
|
|
2920
|
+
"0020",
|
|
2921
|
+
"0030"
|
|
2922
|
+
],
|
|
2923
|
+
"c_musicStorage": "2,000 songs"
|
|
2924
|
+
}
|
|
2925
|
+
]
|
|
2926
|
+
}
|
|
2927
|
+
],
|
|
2928
|
+
"query": "media player purple",
|
|
2929
|
+
"refinements": [],
|
|
2930
|
+
"searchPhraseSuggestions": {
|
|
2931
|
+
"suggestedPhrases": [],
|
|
2932
|
+
"suggestedTerms": []
|
|
2933
|
+
},
|
|
2934
|
+
"sortingOptions": [
|
|
2935
|
+
{
|
|
2936
|
+
"id": "best-matches",
|
|
2937
|
+
"label": "Best Matches"
|
|
2938
|
+
}
|
|
2939
|
+
],
|
|
2940
|
+
"offset": 0,
|
|
2941
|
+
"total": 1
|
|
2942
|
+
}
|
|
2943
|
+
},
|
|
2944
|
+
"ProductSearchWithProcessedQueryExample": {
|
|
2945
|
+
"summary": "Product search result demonstrating processors being executed on the search query.",
|
|
2946
|
+
"value": {
|
|
2947
|
+
"limit": 1,
|
|
2948
|
+
"hits": [
|
|
2949
|
+
{
|
|
2950
|
+
"hitType": "master",
|
|
2951
|
+
"productId": "portable-media-player",
|
|
2952
|
+
"productName": "Portable Media Player",
|
|
2953
|
+
"productType": {
|
|
2954
|
+
"master": true
|
|
2955
|
+
},
|
|
2956
|
+
"representedProduct": {
|
|
2957
|
+
"id": "media-player-purple-8gb"
|
|
2958
|
+
},
|
|
2959
|
+
"variants": [
|
|
2960
|
+
{
|
|
2961
|
+
"productId": "media-player-silver-8gb",
|
|
2962
|
+
"variationValues": {
|
|
2963
|
+
"color": "Silver",
|
|
2964
|
+
"memorySize": "8 GB"
|
|
2965
|
+
},
|
|
2966
|
+
"c_badges": [
|
|
2967
|
+
"Popular"
|
|
2968
|
+
],
|
|
2969
|
+
"c_mediaFormat": [
|
|
2970
|
+
"0020",
|
|
2971
|
+
"0050"
|
|
2972
|
+
],
|
|
2973
|
+
"c_musicStorage": "2,000 songs"
|
|
2974
|
+
},
|
|
2975
|
+
{
|
|
2976
|
+
"productId": "media-player-purple-8gb",
|
|
2977
|
+
"variationValues": {
|
|
2978
|
+
"color": "Purple",
|
|
2979
|
+
"memorySize": "8 GB"
|
|
2980
|
+
},
|
|
2981
|
+
"c_badges": [
|
|
2982
|
+
"Best Seller"
|
|
2983
|
+
],
|
|
2984
|
+
"c_mediaFormat": [
|
|
2985
|
+
"0010",
|
|
2986
|
+
"0020",
|
|
2987
|
+
"0030"
|
|
2988
|
+
],
|
|
2989
|
+
"c_musicStorage": "2,000 songs"
|
|
2990
|
+
}
|
|
2991
|
+
]
|
|
2992
|
+
}
|
|
2993
|
+
],
|
|
2994
|
+
"processedQuery": {
|
|
2995
|
+
"appliedProcessors": [
|
|
2996
|
+
{
|
|
2997
|
+
"processorName": "Attribute Aware Search",
|
|
2998
|
+
"refinements": {
|
|
2999
|
+
"price": "(..200)"
|
|
3000
|
+
},
|
|
3001
|
+
"result": "media player purple"
|
|
3002
|
+
}
|
|
3003
|
+
],
|
|
3004
|
+
"query": "media player purple"
|
|
3005
|
+
},
|
|
3006
|
+
"query": "media player purple under 200",
|
|
3007
|
+
"refinements": [],
|
|
3008
|
+
"searchPhraseSuggestions": {
|
|
3009
|
+
"suggestedPhrases": [],
|
|
3010
|
+
"suggestedTerms": []
|
|
3011
|
+
},
|
|
3012
|
+
"sortingOptions": [
|
|
3013
|
+
{
|
|
3014
|
+
"id": "best-matches",
|
|
3015
|
+
"label": "Best Matches"
|
|
3016
|
+
}
|
|
3017
|
+
],
|
|
3018
|
+
"offset": 0,
|
|
3019
|
+
"total": 1
|
|
3020
|
+
}
|
|
3021
|
+
},
|
|
3022
|
+
"ProductSearchWithFallbackModeExample": {
|
|
3023
|
+
"summary": "Product search where a semantic request was demoted to lexical.",
|
|
3024
|
+
"description": "The caller requested `searchMode=semantic`, but the platform could not serve semantically (for example a single-token SKU lookup) and demoted to `lexical`. The response echoes the requested `searchMode` and reports the mode actually used in `effectiveSearchMode`, which a client reads to detect that the requested mode was not honored.",
|
|
3025
|
+
"value": {
|
|
3026
|
+
"limit": 25,
|
|
3027
|
+
"hits": [
|
|
3028
|
+
{
|
|
3029
|
+
"currency": "USD",
|
|
3030
|
+
"hitType": "product",
|
|
3031
|
+
"orderable": true,
|
|
3032
|
+
"price": 19.99,
|
|
3033
|
+
"productId": "ABC-12345",
|
|
3034
|
+
"productName": "Classic Cotton Crew Sock",
|
|
3035
|
+
"productType": {
|
|
3036
|
+
"item": true
|
|
3037
|
+
},
|
|
3038
|
+
"representedProduct": {
|
|
3039
|
+
"id": "ABC-12345"
|
|
3040
|
+
}
|
|
3041
|
+
},
|
|
3042
|
+
{
|
|
3043
|
+
"currency": "USD",
|
|
3044
|
+
"hitType": "product",
|
|
3045
|
+
"orderable": true,
|
|
3046
|
+
"price": 24.99,
|
|
3047
|
+
"productId": "ABC-12346",
|
|
3048
|
+
"productName": "Ribbed Wool Blend Sock",
|
|
3049
|
+
"productType": {
|
|
3050
|
+
"item": true
|
|
3051
|
+
},
|
|
3052
|
+
"representedProduct": {
|
|
3053
|
+
"id": "ABC-12346"
|
|
3054
|
+
}
|
|
3055
|
+
}
|
|
3056
|
+
],
|
|
3057
|
+
"query": "ABC-12345",
|
|
3058
|
+
"searchMode": "semantic",
|
|
3059
|
+
"effectiveSearchMode": "lexical",
|
|
3060
|
+
"refinements": [],
|
|
3061
|
+
"searchPhraseSuggestions": {
|
|
3062
|
+
"suggestedPhrases": [],
|
|
3063
|
+
"suggestedTerms": []
|
|
3064
|
+
},
|
|
3065
|
+
"sortingOptions": [
|
|
3066
|
+
{
|
|
3067
|
+
"id": "best-matches",
|
|
3068
|
+
"label": "Best Matches"
|
|
3069
|
+
}
|
|
3070
|
+
],
|
|
3071
|
+
"offset": 0,
|
|
3072
|
+
"total": 2
|
|
3073
|
+
}
|
|
3074
|
+
},
|
|
3075
|
+
"ProductSearchWithConfiguredModeExample": {
|
|
3076
|
+
"summary": "Product search with no requested mode, resolved by the platform's configured default.",
|
|
3077
|
+
"description": "The request omitted `searchMode`, so the response omits the echoed hint and the platform's configured default selected the mode reported in `effectiveSearchMode`.",
|
|
3078
|
+
"value": {
|
|
3079
|
+
"limit": 25,
|
|
3080
|
+
"hits": [
|
|
3081
|
+
{
|
|
3082
|
+
"currency": "USD",
|
|
3083
|
+
"hitType": "master",
|
|
3084
|
+
"orderable": true,
|
|
3085
|
+
"price": 39.99,
|
|
3086
|
+
"productId": "74974310",
|
|
3087
|
+
"productName": "Modern Dress Shirt",
|
|
3088
|
+
"productType": {
|
|
3089
|
+
"master": true
|
|
3090
|
+
},
|
|
3091
|
+
"representedProduct": {
|
|
3092
|
+
"id": "74974310-1"
|
|
3093
|
+
}
|
|
3094
|
+
},
|
|
3095
|
+
{
|
|
3096
|
+
"currency": "USD",
|
|
3097
|
+
"hitType": "master",
|
|
3098
|
+
"orderable": true,
|
|
3099
|
+
"price": 44.99,
|
|
3100
|
+
"productId": "78916783",
|
|
3101
|
+
"productName": "The White Dress Shirt",
|
|
3102
|
+
"productType": {
|
|
3103
|
+
"master": true
|
|
3104
|
+
},
|
|
3105
|
+
"representedProduct": {
|
|
3106
|
+
"id": "78916783-1"
|
|
3107
|
+
}
|
|
3108
|
+
}
|
|
3109
|
+
],
|
|
3110
|
+
"query": "shirt",
|
|
3111
|
+
"effectiveSearchMode": "semantic",
|
|
3112
|
+
"refinements": [],
|
|
3113
|
+
"searchPhraseSuggestions": {
|
|
3114
|
+
"suggestedPhrases": [],
|
|
3115
|
+
"suggestedTerms": []
|
|
3116
|
+
},
|
|
3117
|
+
"sortingOptions": [
|
|
3118
|
+
{
|
|
3119
|
+
"id": "best-matches",
|
|
3120
|
+
"label": "Best Matches"
|
|
3121
|
+
}
|
|
3122
|
+
],
|
|
3123
|
+
"offset": 0,
|
|
3124
|
+
"total": 2
|
|
3125
|
+
}
|
|
3126
|
+
},
|
|
3127
|
+
"MalformedSelectorGetProductsSearchForSelect": {
|
|
3128
|
+
"value": {
|
|
3129
|
+
"title": "Malformed Selector",
|
|
3130
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/malformed-selector",
|
|
3131
|
+
"detail": "The property selector '(hits.(currency, hitType,image.(**))' is malformed.",
|
|
3132
|
+
"selector": "(hits.(currency, hitType,image.(**))"
|
|
3133
|
+
}
|
|
3134
|
+
},
|
|
3135
|
+
"TooManyCustomVariationAttributes": {
|
|
3136
|
+
"value": {
|
|
3137
|
+
"title": "Bad Request",
|
|
3138
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request",
|
|
3139
|
+
"detail": "'includedCustomVariationProperties' violates the value constraint. The expected value is between '(0..5)'.",
|
|
3140
|
+
"parameter": "includedCustomVariationProperties",
|
|
3141
|
+
"expected": "(0..5)"
|
|
3142
|
+
}
|
|
3143
|
+
},
|
|
3144
|
+
"InvalidCategorySlugRefinement": {
|
|
3145
|
+
"value": {
|
|
3146
|
+
"title": "Invalid Category Slug Refinement",
|
|
3147
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-category-slug-refinement",
|
|
3148
|
+
"detail": "The category slug refinement 'i-dont-exist' could not be resolved to a category.",
|
|
3149
|
+
"categorySlug": "i-dont-exist"
|
|
3150
|
+
}
|
|
3151
|
+
},
|
|
3152
|
+
"InvalidSearchMode": {
|
|
3153
|
+
"value": {
|
|
3154
|
+
"title": "Bad Request",
|
|
3155
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request",
|
|
3156
|
+
"detail": "'searchMode' violates the value constraint. The expected value is one of '[semantic, lexical]'.",
|
|
3157
|
+
"parameter": "searchMode",
|
|
3158
|
+
"expected": "[semantic, lexical]"
|
|
3159
|
+
}
|
|
3160
|
+
},
|
|
3161
|
+
"SearchSuggestionResultExample": {
|
|
3162
|
+
"value": {
|
|
3163
|
+
"brandSuggestions": {
|
|
3164
|
+
"suggestedPhrases": [
|
|
3165
|
+
{
|
|
3166
|
+
"exactMatch": false,
|
|
3167
|
+
"phrase": "Sony"
|
|
3168
|
+
}
|
|
3169
|
+
],
|
|
3170
|
+
"suggestedTerms": [
|
|
3171
|
+
{
|
|
3172
|
+
"originalTerm": "son",
|
|
3173
|
+
"terms": [
|
|
3174
|
+
{
|
|
3175
|
+
"completed": true,
|
|
3176
|
+
"corrected": false,
|
|
3177
|
+
"exactMatch": false,
|
|
3178
|
+
"value": "sony"
|
|
3179
|
+
}
|
|
3180
|
+
]
|
|
3181
|
+
}
|
|
3182
|
+
]
|
|
3183
|
+
},
|
|
3184
|
+
"categorySuggestions": {
|
|
3185
|
+
"suggestedTerms": [
|
|
3186
|
+
{
|
|
3187
|
+
"originalTerm": "son"
|
|
3188
|
+
}
|
|
3189
|
+
]
|
|
3190
|
+
},
|
|
3191
|
+
"productSuggestions": {
|
|
3192
|
+
"products": [
|
|
3193
|
+
{
|
|
3194
|
+
"currency": "EUR",
|
|
3195
|
+
"price": 300,
|
|
3196
|
+
"productId": "sony-ps3-bundle",
|
|
3197
|
+
"productName": "Playstation 3 Bundle"
|
|
3198
|
+
},
|
|
3199
|
+
{
|
|
3200
|
+
"currency": "EUR",
|
|
3201
|
+
"price": 310,
|
|
3202
|
+
"productId": "sony-alpha350-wlen",
|
|
3203
|
+
"productName": "Sony Alpha 350 Digital SLR Camera w/18-70mm Lens"
|
|
3204
|
+
},
|
|
3205
|
+
{
|
|
3206
|
+
"currency": "EUR",
|
|
3207
|
+
"price": 10,
|
|
3208
|
+
"productId": "sony-alpha900-body",
|
|
3209
|
+
"productName": "Sony Alpha 900 Digital SLR Camera (body only)"
|
|
3210
|
+
},
|
|
3211
|
+
{
|
|
3212
|
+
"currency": "EUR",
|
|
3213
|
+
"price": 50,
|
|
3214
|
+
"productId": "sony-warhawk-ps3",
|
|
3215
|
+
"productName": "Warhawk (for Sony PS3)"
|
|
3216
|
+
},
|
|
3217
|
+
{
|
|
3218
|
+
"currency": "EUR",
|
|
3219
|
+
"price": 280,
|
|
3220
|
+
"productId": "sony-psp-console",
|
|
3221
|
+
"productName": "Sony PSP® Game Console"
|
|
3222
|
+
}
|
|
3223
|
+
],
|
|
3224
|
+
"suggestedPhrases": [
|
|
3225
|
+
{
|
|
3226
|
+
"exactMatch": false,
|
|
3227
|
+
"phrase": "sony"
|
|
3228
|
+
}
|
|
3229
|
+
],
|
|
3230
|
+
"suggestedTerms": [
|
|
3231
|
+
{
|
|
3232
|
+
"originalTerm": "son",
|
|
3233
|
+
"terms": [
|
|
3234
|
+
{
|
|
3235
|
+
"completed": true,
|
|
3236
|
+
"corrected": false,
|
|
3237
|
+
"exactMatch": false,
|
|
3238
|
+
"value": "sony"
|
|
3239
|
+
},
|
|
3240
|
+
{
|
|
3241
|
+
"completed": true,
|
|
3242
|
+
"corrected": false,
|
|
3243
|
+
"exactMatch": false,
|
|
3244
|
+
"value": "sonyalpha"
|
|
3245
|
+
}
|
|
3246
|
+
]
|
|
3247
|
+
}
|
|
3248
|
+
]
|
|
3249
|
+
},
|
|
3250
|
+
"einsteinSuggestedPhrases": {
|
|
3251
|
+
"popularSearchPhrases": [
|
|
3252
|
+
{
|
|
3253
|
+
"exactMatch": false,
|
|
3254
|
+
"phrase": "sony"
|
|
3255
|
+
},
|
|
3256
|
+
{
|
|
3257
|
+
"exactMatch": false,
|
|
3258
|
+
"phrase": "sony alpha"
|
|
3259
|
+
}
|
|
3260
|
+
],
|
|
3261
|
+
"recentSearchPhrases": [
|
|
3262
|
+
{
|
|
3263
|
+
"exactMatch": false,
|
|
3264
|
+
"phrase": "sony alpha"
|
|
3265
|
+
},
|
|
3266
|
+
{
|
|
3267
|
+
"exactMatch": false,
|
|
3268
|
+
"phrase": "sony alpha 900 body"
|
|
3269
|
+
}
|
|
3270
|
+
]
|
|
3271
|
+
},
|
|
3272
|
+
"searchPhrase": "son",
|
|
3273
|
+
"searchMode": "semantic",
|
|
3274
|
+
"effectiveSearchMode": "semantic"
|
|
3275
|
+
}
|
|
3276
|
+
},
|
|
3277
|
+
"SearchSuggestionResultWithCustomProductPropertiesExample": {
|
|
3278
|
+
"summary": "Search suggestions with custom product properties.",
|
|
3279
|
+
"value": {
|
|
3280
|
+
"brandSuggestions": {
|
|
3281
|
+
"suggestedPhrases": [
|
|
3282
|
+
{
|
|
3283
|
+
"exactMatch": false,
|
|
3284
|
+
"phrase": "Media Player"
|
|
3285
|
+
}
|
|
3286
|
+
],
|
|
3287
|
+
"suggestedTerms": [
|
|
3288
|
+
{
|
|
3289
|
+
"originalTerm": "player",
|
|
3290
|
+
"terms": [
|
|
3291
|
+
{
|
|
3292
|
+
"completed": true,
|
|
3293
|
+
"corrected": false,
|
|
3294
|
+
"exactMatch": false,
|
|
3295
|
+
"value": "media"
|
|
3296
|
+
}
|
|
3297
|
+
]
|
|
3298
|
+
}
|
|
3299
|
+
]
|
|
3300
|
+
},
|
|
3301
|
+
"categorySuggestions": {
|
|
3302
|
+
"suggestedTerms": [
|
|
3303
|
+
{
|
|
3304
|
+
"originalTerm": "player"
|
|
3305
|
+
}
|
|
3306
|
+
]
|
|
3307
|
+
},
|
|
3308
|
+
"productSuggestions": {
|
|
3309
|
+
"products": [
|
|
3310
|
+
{
|
|
3311
|
+
"currency": "USD",
|
|
3312
|
+
"price": 229,
|
|
3313
|
+
"productId": "portable-media-player",
|
|
3314
|
+
"productName": "Portable Media Player",
|
|
3315
|
+
"c_badges": [],
|
|
3316
|
+
"c_mediaFormat": [
|
|
3317
|
+
"0020",
|
|
3318
|
+
"0030"
|
|
3319
|
+
],
|
|
3320
|
+
"c_musicStorage": "1,000 songs"
|
|
3321
|
+
}
|
|
3322
|
+
],
|
|
3323
|
+
"suggestedPhrases": [
|
|
3324
|
+
{
|
|
3325
|
+
"exactMatch": false,
|
|
3326
|
+
"phrase": "media player"
|
|
3327
|
+
}
|
|
3328
|
+
],
|
|
3329
|
+
"suggestedTerms": [
|
|
3330
|
+
{
|
|
3331
|
+
"originalTerm": "player",
|
|
3332
|
+
"terms": [
|
|
3333
|
+
{
|
|
3334
|
+
"completed": true,
|
|
3335
|
+
"corrected": false,
|
|
3336
|
+
"exactMatch": true,
|
|
3337
|
+
"value": "player"
|
|
3338
|
+
},
|
|
3339
|
+
{
|
|
3340
|
+
"completed": true,
|
|
3341
|
+
"corrected": false,
|
|
3342
|
+
"exactMatch": false,
|
|
3343
|
+
"value": "media player"
|
|
3344
|
+
}
|
|
3345
|
+
]
|
|
3346
|
+
}
|
|
3347
|
+
]
|
|
3348
|
+
},
|
|
3349
|
+
"searchPhrase": "player"
|
|
3350
|
+
}
|
|
3351
|
+
},
|
|
3352
|
+
"SearchSuggestionWithFallbackModeExample": {
|
|
3353
|
+
"summary": "Search suggestions where a semantic request was demoted to lexical.",
|
|
3354
|
+
"description": "The caller requested `searchMode=semantic` for type-ahead, but the platform demoted to `lexical`. The response echoes the requested `searchMode` and reports the mode actually used in `effectiveSearchMode`.",
|
|
3355
|
+
"value": {
|
|
3356
|
+
"searchPhrase": "abc12345",
|
|
3357
|
+
"searchMode": "semantic",
|
|
3358
|
+
"effectiveSearchMode": "lexical"
|
|
3359
|
+
}
|
|
3360
|
+
},
|
|
3361
|
+
"SearchSuggestionWithConfiguredModeExample": {
|
|
3362
|
+
"summary": "Search suggestions with no requested mode, resolved by the platform's configured default.",
|
|
3363
|
+
"description": "The request omitted `searchMode`, so the response omits the echoed hint and the platform's configured default selected the mode reported in `effectiveSearchMode`.",
|
|
3364
|
+
"value": {
|
|
3365
|
+
"searchPhrase": "sho",
|
|
3366
|
+
"effectiveSearchMode": "semantic"
|
|
3367
|
+
}
|
|
3368
|
+
},
|
|
3369
|
+
"StringConstraintViolation": {
|
|
3370
|
+
"value": {
|
|
3371
|
+
"title": "String Constraint Violation",
|
|
3372
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/string-constraint-violation",
|
|
3373
|
+
"detail": "The string length constraint was violated by 'q'. The expected length is '(3..50)'.",
|
|
3374
|
+
"expected": "(3..50)",
|
|
3375
|
+
"parameter": "q"
|
|
3376
|
+
}
|
|
3377
|
+
},
|
|
3378
|
+
"TooManyCustomProductAttributes": {
|
|
3379
|
+
"value": {
|
|
3380
|
+
"title": "Bad Request",
|
|
3381
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/bad-request",
|
|
3382
|
+
"detail": "'includedCustomProductProperties' violates the value constraint. The expected value is between '(0..5)'.",
|
|
3383
|
+
"parameter": "includedCustomProductProperties",
|
|
3384
|
+
"expected": "(0..5)"
|
|
3385
|
+
}
|
|
3386
|
+
},
|
|
3387
|
+
"InvalidExpandParameter": {
|
|
3388
|
+
"value": {
|
|
3389
|
+
"title": "Invalid Expand Parameter",
|
|
3390
|
+
"type": "https://api.commercecloud.salesforce.com/documentation/error/v1/errors/invalid-expand-parameter",
|
|
3391
|
+
"detail": "An invalid expand parameter 'invalidParameter' was found.",
|
|
3392
|
+
"param": "invalidParameter"
|
|
3393
|
+
}
|
|
3394
|
+
}
|
|
3395
|
+
},
|
|
1857
3396
|
"securitySchemes": {
|
|
1858
3397
|
"ShopperToken": {
|
|
1859
3398
|
"type": "oauth2",
|
|
3399
|
+
"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",
|
|
1860
3400
|
"flows": {
|
|
1861
3401
|
"clientCredentials": {
|
|
1862
3402
|
"tokenUrl": "https://{shortCode}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token",
|
|
@@ -1875,6 +3415,7 @@
|
|
|
1875
3415
|
},
|
|
1876
3416
|
"ShopperClientContextToken": {
|
|
1877
3417
|
"type": "oauth2",
|
|
3418
|
+
"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",
|
|
1878
3419
|
"flows": {
|
|
1879
3420
|
"clientCredentials": {
|
|
1880
3421
|
"tokenUrl": "https://{shortCode}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/{organizationId}/oauth2/token?hint=client_context",
|