diff --git a/SwagDigitalSalesRooms-storeapi.json b/SwagDigitalSalesRooms-storeapi.json index 95dd27d..998eb24 100644 --- a/SwagDigitalSalesRooms-storeapi.json +++ b/SwagDigitalSalesRooms-storeapi.json @@ -704,7 +704,12 @@ }, "type": { "description": "Type of categories like `page`, `folder`, `link`.", - "type": "string" + "type": "string", + "enum": [ + "page", + "link", + "folder" + ] }, "productAssignmentType": { "description": "Type of product assignment: Dynamic product group as or `product_stream` or Manual assignment as `product`.", @@ -734,7 +739,13 @@ "type": "object" }, "linkType": { - "type": "string" + "type": "string", + "enum": [ + "category", + "product", + "external", + "landing_page" + ] }, "internalLink": { "type": "string", @@ -1060,7 +1071,8 @@ "type": "string", "enum": [ "page", - "link" + "link", + "folder" ] }, "productAssignmentType": { @@ -1091,7 +1103,13 @@ "type": "object" }, "linkType": { - "type": "string" + "type": "string", + "enum": [ + "category", + "product", + "external", + "landing_page" + ] }, "internalLink": { "type": "string", @@ -1435,7 +1453,7 @@ "format": "int64" }, "type": { - "description": "Types of sections can be `sidebar` or `fullwidth`.", + "description": "Types of sections can be `default` or `sidebar`.", "type": "string", "enum": [ "default", @@ -6375,7 +6393,16 @@ }, "type": { "description": "Type refers to the entity type of an item whether it is product or promotion for instance.", - "type": "string" + "type": "string", + "enum": [ + "product", + "credit", + "custom", + "promotion", + "container", + "discount", + "quantity" + ] }, "customFields": { "type": "object" @@ -7558,7 +7585,11 @@ }, "type": { "description": "The type of the product, e.g., physical or digital.", - "type": "string" + "type": "string", + "enum": [ + "physical", + "digital" + ] }, "states": { "type": "array", @@ -10402,7 +10433,12 @@ }, "routeName": { "description": "A destination routeName that has been registered somewhere in the app's router. For example: \\\\\"frontend.detail.page\\\\\"", - "type": "string" + "type": "string", + "enum": [ + "frontend.detail.page", + "frontend.navigation.page", + "frontend.landing.page" + ] }, "pathInfo": { "description": "Path to product URL. For example: \\\\\"/detail/bbf36734504741c79a3bbe3795b91564\\\\\"", @@ -10484,9 +10520,9 @@ "description": "A destination routeName that has been registered somewhere in the app's router. For example: \\\\\"frontend.detail.page\\\\\"", "type": "string", "enum": [ + "frontend.detail.page", "frontend.navigation.page", - "frontend.landing.page", - "frontend.detail.page" + "frontend.landing.page" ] }, "pathInfo": { @@ -10531,8 +10567,7 @@ "readOnly": true } }, - "type": "object", - "title": "SeoUrlEntity" + "type": "object" }, "SeoUrlTemplate": { "description": "Added since version: 6.0.0.0", @@ -11635,34 +11670,26 @@ }, "type": "object" }, - "EntitySearchResult": { + "ProductDetailResponse": { "type": "object", + "description": "Represents a product along with detailed information required to display a variant selection.", "properties": { - "entity": { - "type": "string" - }, - "total": { - "type": "integer", - "description": "The total number of found entities" + "product": { + "$ref": "#/components/schemas/Product" }, - "aggregations": { + "configurator": { "type": "array", - "description": "Contains aggregated data. A simple example is the determination of the average price from a product search query.", + "description": "List of property groups with their corresponding options and information on how to display them.", "items": { - "type": "object" + "$ref": "#/components/schemas/PropertyGroup" } - }, - "page": { - "type": "integer", - "description": "The actual page. This can be used for pagination." - }, - "limit": { - "type": "integer", - "description": "The actual limit. This is used for pagination and goes together with the page." } - } + }, + "required": [ + "product" + ] }, - "CartDelivery": { + "CartDeliveryPosition": { "type": "object", "description": "A list of all cart errors, such as insufficient stocks, invalid addresses or vouchers.", "properties": { @@ -11679,84 +11706,136 @@ } } }, - "location": { - "type": "object", - "properties": { - "apiAlias": { - "type": "string", - "enum": [ - "cart_delivery_shipping_location" - ] - }, - "country": { - "$ref": "#/components/schemas/Country" - }, - "address": { - "$ref": "#/components/schemas/CustomerAddress" - }, - "state": { - "$ref": "#/components/schemas/CountryState" - } - } + "identifier": { + "type": "string" }, - "positions": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CartDeliveryPosition" - } + "lineItem": { + "$ref": "#/components/schemas/LineItem" }, - "shippingCosts": { + "price": { "$ref": "#/components/schemas/CalculatedPrice" - }, - "shippingMethod": { - "$ref": "#/components/schemas/ShippingMethod" } } }, - "CookieGroupCollection": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CookieGroup" + "CartItems": { + "type": "object", + "required": [ + "items" + ], + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LineItem" + } + } } }, - "OrderRouteResponse": { + "CookieGroup": { "type": "object", "properties": { - "orders": { - "type": "object", - "allOf": [ - { - "type": "object", - "required": [ - "elements" - ], - "properties": { - "elements": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Order" - } - } - } - }, - { - "$ref": "#/components/schemas/EntitySearchResult" - } + "isRequired": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "cookie": { + "type": "string" + }, + "value": { + "type": "string" + }, + "expiration": { + "type": "integer" + }, + "entries": { + "$ref": "#/components/schemas/CookieEntryCollection" + }, + "apiAlias": { + "type": "string", + "enum": [ + "cookie_group" + ] + } + }, + "not": { + "allOf": [ + { + "required": [ + "cookie" + ] + }, + { + "required": [ + "entries" + ] + } + ] + }, + "required": [ + "name", + "isRequired", + "apiAlias" + ] + }, + "CartPriceQuantity": { + "type": "object", + "properties": { + "apiAlias": { + "type": "string", + "enum": [ + "cart_price_quantity" ] }, - "paymentChangeable": { - "type": "object", - "description": "The key-value pairs contain the uuid of the order as key and a boolean as value, indicating that the payment method can still be changed.", - "additionalProperties": { - "type": "boolean" + "isCalculated": { + "type": "boolean" + }, + "listPrice": { + "$ref": "#/components/schemas/CartListPrice" + }, + "price": { + "type": "number" + }, + "quantity": { + "type": "number" + }, + "regulationPrice": { + "properties": { + "price": { + "type": "number", + "format": "float" + } + }, + "type": "object" + }, + "taxRules": { + "type": "array", + "items": { + "type": "object", + "properties": { + "taxRate": { + "type": "number", + "format": "float" + }, + "name": { + "type": "string" + } + } } + }, + "type": { + "type": "string" } }, "required": [ - "orders" + "apiAlias" ] }, - "ReferencePrice": { + "CartPriceReference": { "type": "object", "properties": { "purchaseUnit": { @@ -11780,7 +11859,7 @@ "listPrice": { "oneOf": [ { - "$ref": "#/components/schemas/ListPrice" + "$ref": "#/components/schemas/CartListPrice" }, { "type": "null" @@ -11824,6 +11903,7 @@ } }, "required": [ + "apiAlias", "hasRange", "regulationPrice", "listPrice", @@ -11833,150 +11913,55 @@ "unitName" ] }, - "SuccessResponse": { - "type": "object", - "properties": { - "success": { - "type": "boolean" - } - } - }, - "Cart": { + "CartDelivery": { "type": "object", + "description": "A list of all cart errors, such as insufficient stocks, invalid addresses or vouchers.", "properties": { - "name": { - "description": "Name of the cart - for example `guest-cart`", - "type": "string" - }, - "token": { - "description": "Context token identifying the cart and the user session", - "type": "string" - }, - "price": { - "$ref": "#/components/schemas/CalculatedPrice" - }, - "lineItems": { - "description": "All items within the cart", - "type": "array", - "items": { - "$ref": "#/components/schemas/LineItem" + "deliveryDate": { + "type": "object", + "properties": { + "earliest": { + "type": "string", + "format": "date-time" + }, + "latest": { + "type": "string", + "format": "date-time" + } } }, - "errors": { + "location": { "type": "object", - "description": "A list of all cart errors, such as insufficient stocks, invalid addresses or vouchers.", - "anyOf": [ - { - "type": "array", - "items": { - "$ref": "#/components/schemas/CartError" - } + "properties": { + "apiAlias": { + "type": "string", + "enum": [ + "cart_delivery_shipping_location" + ] }, - { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": { - "code": { - "type": "number" - }, - "key": { - "type": "string" - }, - "level": { - "type": "number" - }, - "message": { - "type": "string" - }, - "messageKey": { - "type": "string" - } - }, - "required": [ - "code", - "key", - "level", - "message", - "messageKey" - ] - } + "country": { + "$ref": "#/components/schemas/Country" + }, + "address": { + "$ref": "#/components/schemas/CustomerAddress" + }, + "state": { + "$ref": "#/components/schemas/CountryState" } - ] - }, - "deliveries": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CartDelivery" } }, - "transactions": { - "description": "A list of all payment transactions associated with the current cart.", + "positions": { "type": "array", "items": { - "type": "object", - "properties": { - "paymentMethodId": { - "type": "string" - }, - "amount": { - "$ref": "#/components/schemas/CalculatedPrice" - } - } + "$ref": "#/components/schemas/CartDeliveryPosition" } }, - "modified": { - "type": "boolean" - }, - "customerComment": { - "description": "A comment that can be added to the cart.", - "oneOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "affiliateCode": { - "description": "An affiliate tracking code", - "oneOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "campaignCode": { - "description": "A campaign tracking code", - "oneOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] + "shippingCosts": { + "$ref": "#/components/schemas/CalculatedPrice" }, - "apiAlias": { - "type": "string", - "enum": [ - "cart" - ] + "shippingMethod": { + "$ref": "#/components/schemas/ShippingMethod" } - }, - "required": [ - "price", - "apiAlias" - ] - }, - "CookieEntryCollection": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CookieEntry" } }, "CrossSellingElement": { @@ -12013,400 +11998,83 @@ "apiAlias" ] }, - "CalculatedPrice": { - "type": "object", - "description": "Represents a product along with detailed information required to display a variant selection.", - "properties": { - "unitPrice": { - "type": "number" - }, - "quantity": { - "type": "number" - }, - "rawTotal": { - "type": "number" - }, - "totalPrice": { - "type": "number" - }, - "taxStatus": { - "type": "string", - "enum": [ - "net", - "tax-free" - ] - }, - "calculatedTaxes": { - "type": "array", - "items": { + "ShippingMethodPageRouteResponse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "active": { + "type": "boolean" + }, + "description": { + "type": "string" + }, + "deliveryTimeId": { + "type": "string" + }, + "deliveryTime": { "type": "object", "properties": { - "apiAlias": { - "type": "string", - "enum": [ - "cart_tax_calculated" - ] + "name": { + "type": "string" }, - "tax": { - "type": "number" + "min": { + "type": "integer", + "format": "int32" }, - "taxRate": { - "type": "number" + "max": { + "type": "integer", + "format": "int32" }, - "price": { - "type": "number" + "unit": { + "type": "string" } - }, - "required": [ - "apiAlias", - "tax", - "taxRate", - "price" - ] - } - }, - "referencePrice": { - "oneOf": [ - { - "$ref": "#/components/schemas/CartPriceReference" - }, - { - "type": "null" - } - ] - }, - "listPrice": { - "oneOf": [ - { - "$ref": "#/components/schemas/CartListPrice" - }, - { - "type": "null" } - ] - }, - "positionPrice": { - "type": "number" - }, - "netPrice": { - "type": "number" - }, - "regulationPrice": { - "oneOf": [ - { + }, + "translations": { + "type": "array", + "items": { "type": "object", "properties": { - "price": { - "type": "number" + "shippingMethodId": { + "type": "string" }, - "apiAlias": { - "type": "string", - "enum": [ - "cart_regulation_price" - ] + "name": { + "type": "string" + }, + "description": { + "type": "string" } } - }, - { - "type": "null" - } - ] - }, - "hasRange": { - "type": "boolean" - }, - "variantId": { - "oneOf": [ - { - "type": "string", - "format": "^[0-9a-f]{32}$" - }, - { - "type": "null" - } - ] - }, - "apiAlias": { - "type": "string", - "enum": [ - "calculated_price" - ] - }, - "taxRules": { - "type": "array", - "description": "Currently active tax rules and/or rates", - "items": { - "type": "object", - "properties": { - "taxRate": { - "type": "number", - "format": "float" - }, - "name": { - "type": "string" - } - } - } - } - }, - "required": [ - "apiAlias", - "hasRange", - "regulationPrice", - "listPrice", - "referencePrice", - "calculatedTaxes", - "totalPrice", - "quantity", - "unitPrice", - "positionPrice", - "netPrice", - "taxRules", - "rawTotal", - "taxStatus" - ] - }, - "CartPriceReference": { - "type": "object", - "properties": { - "purchaseUnit": { - "type": "number" - }, - "referenceUnit": { - "type": "number" - }, - "unitName": { - "type": "string" - }, - "price": { - "type": "number" - }, - "apiAlias": { - "type": "string", - "enum": [ - "cart_price_reference" - ] - }, - "listPrice": { - "oneOf": [ - { - "$ref": "#/components/schemas/CartListPrice" - }, - { - "type": "null" } - ] - }, - "regulationPrice": { - "oneOf": [ - { + }, + "orderDeliveries": { + "type": "array", + "items": { "type": "object", "properties": { - "price": { - "type": "number" + "orderId": { + "type": "string" }, - "apiAlias": { + "shippingOrderAddressId": { + "type": "string" + }, + "shippingMethodId": { + "type": "string" + }, + "shippingDateEarliest": { "type": "string", - "enum": [ - "cart_regulation_price" - ] - } - } - }, - { - "type": "null" - } - ] - }, - "hasRange": { - "type": "boolean" - }, - "variantId": { - "oneOf": [ - { - "type": "string", - "format": "^[0-9a-f]{32}$" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "apiAlias", - "hasRange", - "regulationPrice", - "listPrice", - "calculatedTaxes", - "totalPrice", - "quantity", - "unitName" - ] - }, - "CartDeliveryPosition": { - "type": "object", - "description": "A list of all cart errors, such as insufficient stocks, invalid addresses or vouchers.", - "properties": { - "deliveryDate": { - "type": "object", - "properties": { - "earliest": { - "type": "string", - "format": "date-time" - }, - "latest": { - "type": "string", - "format": "date-time" - } - } - }, - "identifier": { - "type": "string" - }, - "lineItem": { - "$ref": "#/components/schemas/LineItem" - }, - "price": { - "$ref": "#/components/schemas/CalculatedPrice" - } - } - }, - "ProductListingFlags": { - "type": "object", - "description": "Additional flags for product listings", - "properties": { - "no-aggregations": { - "description": "Resets all aggregations in the criteria. This parameter is a flag, the value has no effect.", - "oneOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "only-aggregations": { - "description": "If this flag is set, no products are fetched. Sorting and associations are also ignored. This parameter is a flag, the value has no effect.", - "oneOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - } - }, - "CartListPrice": { - "type": "object", - "description": "", - "properties": { - "discount": { - "type": "number" - }, - "percentage": { - "type": "number" - }, - "price": { - "type": "number" - }, - "apiAlias": { - "type": "string", - "enum": [ - "cart_list_price" - ] - } - }, - "required": [ - "apiAlias" - ] - }, - "NavigationRouteResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Category" - } - }, - "ShippingMethodPageRouteResponse": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "active": { - "type": "boolean" - }, - "description": { - "type": "string" - }, - "deliveryTimeId": { - "type": "string" - }, - "deliveryTime": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "min": { - "type": "integer", - "format": "int32" - }, - "max": { - "type": "integer", - "format": "int32" - }, - "unit": { - "type": "string" - } - } - }, - "translations": { - "type": "array", - "items": { - "type": "object", - "properties": { - "shippingMethodId": { - "type": "string" - }, - "name": { - "type": "string" - }, - "description": { - "type": "string" - } - } - } - }, - "orderDeliveries": { - "type": "array", - "items": { - "type": "object", - "properties": { - "orderId": { - "type": "string" - }, - "shippingOrderAddressId": { - "type": "string" - }, - "shippingMethodId": { - "type": "string" - }, - "shippingDateEarliest": { - "type": "string", - "format": "date-time" - }, - "shippingDateLatest": { - "type": "string", - "format": "date-time" - }, - "stateId": { - "type": "string" + "format": "date-time" + }, + "shippingDateLatest": { + "type": "string", + "format": "date-time" + }, + "stateId": { + "type": "string" } } } @@ -12672,6 +12340,99 @@ } } }, + "CookieEntryCollection": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CookieEntry" + } + }, + "NavigationType": { + "type": "string", + "enum": [ + "main-navigation", + "footer-navigation", + "service-navigation" + ] + }, + "Price": { + "type": "object", + "description": "Price object", + "properties": { + "currencyId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "gross": { + "description": "", + "type": "number" + }, + "net": { + "description": "", + "type": "number" + }, + "linked": { + "description": "", + "type": "boolean" + }, + "listPrice": { + "description": "", + "type": "object", + "properties": { + "currencyId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "gross": { + "description": "", + "type": "number" + }, + "net": { + "description": "", + "type": "number" + }, + "linked": { + "description": "", + "type": "boolean" + } + }, + "required": [ + "gross", + "net" + ] + }, + "regulationPrice": { + "description": "", + "type": "object", + "properties": { + "currencyId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "gross": { + "description": "", + "type": "number" + }, + "net": { + "description": "", + "type": "number" + }, + "linked": { + "description": "", + "type": "boolean" + } + }, + "required": [ + "gross", + "net" + ] + } + }, + "required": [ + "currencyId", + "gross", + "net" + ] + }, "Sitemap": { "type": "object", "properties": { @@ -12903,143 +12664,441 @@ "ranges" ] }, - "LineItemType": { - "type": "string", - "enum": [ - "product", - "credit", - "custom", - "promotion", - "discount", - "container", - "quantity", - "dsr-line-item-discount", - "dsr-cart-discount" - ] - }, - "LineItem": { + "Breadcrumb": { "type": "object", "properties": { - "children": { - "type": "array", - "items": { - "$ref": "#/components/schemas/LineItem" - } - }, - "cover": { - "$ref": "#/components/schemas/Media" - }, - "dataContextHash": { - "type": "string" - }, - "dataTimestamp": { + "name": { "type": "string" }, - "deliveryInformation": { - "$ref": "#/components/schemas/CartDeliveryInformation" - }, - "description": { - "type": "string" + "categoryId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "good": { - "type": "boolean" + "type": { + "$ref": "#/components/schemas/Category/properties/type" }, - "id": { - "type": "string" + "translated": { + "type": "object", + "additionalProperties": true, + "properties": { + "customFields": { + "type": "object" + }, + "slotConfig": { + "type": "object" + }, + "linkType": { + "$ref": "#/components/schemas/Category/properties/linkType" + }, + "internalLink": { + "type": "string" + }, + "externalLink": { + "type": "string" + }, + "linkNewTab": { + "type": "boolean" + }, + "description": { + "type": "string" + }, + "metaTitle": { + "type": "string" + }, + "metaDescription": { + "type": "string" + }, + "keywords": { + "type": "string" + } + } }, - "label": { + "path": { "type": "string" }, - "modified": { - "type": "boolean" - }, - "modifiedByApp": { - "type": "boolean" + "seoUrls": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SeoUrl" + } }, - "payload": { - "$ref": "#/components/schemas/ProductJsonApi" + "apiAlias": { + "type": "string", + "enum": [ + "breadcrumb" + ] + } + }, + "required": [ + "name", + "categoryId", + "type", + "translated", + "path", + "apiAlias" + ] + }, + "ReferencePrice": { + "type": "object", + "properties": { + "purchaseUnit": { + "type": "number" + }, + "referenceUnit": { + "type": "number" + }, + "unitName": { + "type": "string" }, "price": { + "type": "number" + }, + "apiAlias": { + "type": "string", + "enum": [ + "cart_price_reference" + ] + }, + "listPrice": { + "oneOf": [ + { + "$ref": "#/components/schemas/ListPrice" + }, + { + "type": "null" + } + ] + }, + "regulationPrice": { + "oneOf": [ + { + "type": "object", + "properties": { + "price": { + "type": "number" + }, + "apiAlias": { + "type": "string", + "enum": [ + "cart_regulation_price" + ] + } + } + }, + { + "type": "null" + } + ] + }, + "hasRange": { + "type": "boolean" + }, + "variantId": { + "oneOf": [ + { + "type": "string", + "format": "^[0-9a-f]{32}$" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "hasRange", + "regulationPrice", + "listPrice", + "calculatedTaxes", + "totalPrice", + "quantity", + "unitName" + ] + }, + "ProductListingResult": { + "allOf": [ + { + "$ref": "#/components/schemas/EntitySearchResult" + }, + { "type": "object", "properties": { - "apiAlias": { - "type": "string", - "enum": [ - "calculated_price" + "currentFilters": { + "type": "object", + "description": "Contains the state of the filters. These can be used to create listing filters.", + "properties": { + "navigationId": { + "type": "string" + }, + "manufacturer": { + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + }, + "price": { + "type": "object", + "properties": { + "min": { + "type": "integer", + "default": 0 + }, + "max": { + "type": "integer", + "default": 0 + } + }, + "required": [ + "min", + "max" + ] + }, + "rating": { + "oneOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ] + }, + "shipping-free": { + "type": "boolean", + "default": false + }, + "properties": { + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + }, + "search": { + "type": "string" + } + }, + "required": [ + "manufacturer", + "navigationId", + "price", + "properties", + "rating", + "shipping-free" ] }, - "calculatedTaxes": { + "availableSortings": { "type": "array", + "description": "Contains the available sorting. These can be used to show a sorting select-box in the product listing.", "items": { "type": "object", "properties": { - "apiAlias": { - "type": "string", - "enum": [ - "cart_tax_calculated" + "label": { + "type": "string" + }, + "translated": { + "type": "object", + "properties": { + "label": { + "type": "string" + } + }, + "required": [ + "label" ] }, - "tax": { - "type": "number" + "key": { + "type": "string" }, - "taxRate": { + "priority": { "type": "number" }, - "price": { - "type": "number" + "apiAlias": { + "type": "string", + "enum": [ + "product_sorting" + ] } }, "required": [ - "apiAlias", - "tax", - "taxRate", - "price" + "label", + "translated", + "key", + "priority", + "apiAlias" ] } }, - "listPrice": { - "oneOf": [ - { - "$ref": "#/components/schemas/CartListPrice" - }, - { - "type": "null" - } - ] + "sorting": { + "type": "string" }, - "quantity": { - "type": "number" + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Product" + } }, - "referencePrice": { - "oneOf": [ - { - "$ref": "#/components/schemas/CartPriceReference" - }, - { - "type": "null" - } + "entity": { + "type": "string", + "enum": [ + "product" ] }, - "regulationPrice": { - "oneOf": [ - { - "type": "object", - "properties": { - "price": { - "type": "number" - }, - "apiAlias": { - "type": "string", - "enum": [ - "cart_regulation_price" - ] - } - } - }, - { - "type": "null" - } - ] + "apiAlias": { + "type": "string", + "enum": [ + "product_listing" + ] + } + }, + "required": [ + "elements", + "availableSortings", + "currentFilters", + "apiAlias" + ] + } + ] + }, + "LineItemType": { + "type": "string", + "deprecated": true, + "enum": [ + "product", + "credit", + "custom", + "promotion", + "discount", + "container", + "quantity", + "dsr-line-item-discount", + "dsr-cart-discount" + ] + }, + "LineItem": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LineItem" + } + }, + "cover": { + "$ref": "#/components/schemas/Media" + }, + "dataContextHash": { + "type": "string" + }, + "dataTimestamp": { + "type": "string" + }, + "deliveryInformation": { + "$ref": "#/components/schemas/CartDeliveryInformation" + }, + "description": { + "type": "string" + }, + "good": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "label": { + "type": "string" + }, + "modified": { + "type": "boolean" + }, + "modifiedByApp": { + "type": "boolean" + }, + "payload": { + "$ref": "#/components/schemas/ProductJsonApi" + }, + "price": { + "type": "object", + "properties": { + "apiAlias": { + "type": "string", + "enum": [ + "calculated_price" + ] + }, + "calculatedTaxes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "apiAlias": { + "type": "string", + "enum": [ + "cart_tax_calculated" + ] + }, + "tax": { + "type": "number" + }, + "taxRate": { + "type": "number" + }, + "price": { + "type": "number" + } + }, + "required": [ + "apiAlias", + "tax", + "taxRate", + "price" + ] + } + }, + "listPrice": { + "oneOf": [ + { + "$ref": "#/components/schemas/CartListPrice" + }, + { + "type": "null" + } + ] + }, + "quantity": { + "type": "number" + }, + "referencePrice": { + "oneOf": [ + { + "$ref": "#/components/schemas/CartPriceReference" + }, + { + "type": "null" + } + ] + }, + "regulationPrice": { + "oneOf": [ + { + "type": "object", + "properties": { + "price": { + "type": "number" + }, + "apiAlias": { + "type": "string", + "enum": [ + "cart_regulation_price" + ] + } + } + }, + { + "type": "null" + } + ] }, "totalPrice": { "type": "number" @@ -13112,7 +13171,7 @@ } }, "type": { - "$ref": "#/components/schemas/LineItemType" + "$ref": "#/components/schemas/OrderLineItem/properties/type" }, "uniqueIdentifier": { "type": "string" @@ -13155,216 +13214,292 @@ "states" ] }, - "CrossSellingElementCollection": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CrossSellingElement" - } - }, - "CartError": { + "SalesChannelContext": { "type": "object", - "description": "A list of all cart errors, such as insufficient stocks, invalid addresses or vouchers.", "properties": { - "key": { - "type": "string" - }, - "level": { - "type": "number", - "enum": [ - 0, - 10, - 20 - ], - "description": "* `0` - notice,\n* `10` - warning,\n* `20` - error" - }, - "message": { + "token": { + "description": "Context the user session", "type": "string" }, - "messageKey": { - "type": "string" - } - }, - "required": [ - "key", - "level", - "message", - "messageKey" - ] - }, - "FindProductVariantRouteResponse": { - "type": "object", - "properties": { - "foundCombination": { + "currentCustomerGroup": { "type": "object", + "description": "Customer group of the current user", "properties": { - "variantId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "name": { + "type": "string" }, - "options": { - "type": "array", - "items": { - "type": "string" - } + "displayGross": { + "type": "boolean" } } - } - } - }, - "ProductListingCriteria": { - "allOf": [ - { - "$ref": "#/components/schemas/Criteria" }, - { + "fallbackCustomerGroup": { + "description": "Fallback group if the default customer group is not applicable", "type": "object", - "description": "Additional search parameters for product listings", "properties": { - "order": { - "description": "Specifies the sorting of the products by `availableSortings`. If not set, the default sorting will be set according to the shop settings. The available sorting options are sent within the response under the `availableSortings` key. In order to sort by a field, consider using the `sort` parameter from the listing criteria. Do not use both parameters together, as it might lead to unexpected results.", - "type": "string" - }, - "limit": { - "description": "Number of items per result page. If not set, the limit will be set according to the default products per page, defined in the system settings.", - "type": "integer", - "minimum": 0 - }, - "p": { - "description": "Search result page", - "type": "integer", - "default": 1 - }, - "manufacturer": { - "description": "Filter by manufacturers. List of manufacturer identifiers separated by a `|`.", + "name": { "type": "string" }, - "min-price": { - "description": "Filters by a minimum product price. Has to be lower than the `max-price` filter.", - "type": "integer", - "minimum": 0, - "default": 0 - }, - "max-price": { - "description": "Filters by a maximum product price. Has to be higher than the `min-price` filter.", - "type": "integer", - "minimum": 0, - "default": 0 - }, - "rating": { - "description": "Filter products with a minimum average rating.", - "type": "integer" - }, - "shipping-free": { - "description": "Filters products that are marked as shipping-free.", - "type": "boolean", - "default": false - }, - "properties": { - "description": "Filters products by their properties. List of property identifiers separated by a `|`.", - "type": "string" + "displayGross": { + "type": "boolean" + } + } + }, + "currency": { + "$ref": "#/components/schemas/Currency" + }, + "salesChannel": { + "$ref": "#/components/schemas/SalesChannel" + }, + "measurementSystem": { + "$ref": "#/components/schemas/ContextMeasurementSystemInfo" + }, + "taxRules": { + "type": "array", + "description": "Currently active tax rules and/or rates", + "items": { + "type": "object", + "properties": { + "taxRate": { + "type": "number", + "format": "float" + }, + "name": { + "type": "string" + } + } + } + }, + "customer": { + "oneOf": [ + { + "type": "null" }, - "manufacturer-filter": { - "description": "Enables/disabled filtering by manufacturer. If set to false, the `manufacturer` filter will be ignored. Also the `aggregations[manufacturer]` key will be removed from the response.", - "type": "boolean", - "default": true + { + "$ref": "#/components/schemas/Customer" + } + ] + }, + "paymentMethod": { + "$ref": "#/components/schemas/PaymentMethod" + }, + "shippingLocation": { + "type": "object", + "properties": { + "apiAlias": { + "type": "string", + "enum": [ + "cart_delivery_shipping_location" + ] }, - "price-filter": { - "description": "Enables/disabled filtering by price. If set to false, the `min-price` and `max-price` filter will be ignored. Also the `aggregations[price]` key will be removed from the response.", - "type": "boolean", - "default": true + "country": { + "$ref": "#/components/schemas/Country" }, - "rating-filter": { - "description": "Enables/disabled filtering by rating. If set to false, the `rating` filter will be ignored. Also the `aggregations[rating]` key will be removed from the response.", - "type": "boolean", - "default": true + "address": { + "$ref": "#/components/schemas/CustomerAddress" + } + } + }, + "shippingMethod": { + "$ref": "#/components/schemas/ShippingMethod" + }, + "context": { + "description": "Core context with general configuration values and state", + "type": "object", + "properties": { + "versionId": { + "type": "string" }, - "shipping-free-filter": { - "description": "Enables/disabled filtering by shipping-free products. If set to false, the `shipping-free` filter will be ignored. Also the `aggregations[shipping-free]` key will be removed from the response.", - "type": "boolean", - "default": true + "currencyId": { + "type": "string" }, - "property-filter": { - "description": "Enables/disabled filtering by properties products. If set to false, the `properties` filter will be ignored. Also the `aggregations[properties]` key will be removed from the response.", - "type": "boolean", - "default": true + "currencyFactor": { + "type": "integer" }, - "property-whitelist": { - "description": "A whitelist of property identifiers which can be used for filtering. List of property identifiers separated by a `|`. The `property-filter` must be `true`, otherwise the whitelist has no effect.", + "currencyPrecision": { + "type": "integer", + "format": "int32" + }, + "languageIdChain": { + "type": "array", + "items": { + "type": "string" + } + }, + "scope": { "type": "string" }, - "reduce-aggregations": { - "description": "By sending the parameter `reduce-aggregations` , the post-filters that were applied by the customer, are also applied to the aggregations. This has the consequence that only values are returned in the aggregations that would lead to further filter results. This parameter is a flag, the value has no effect.", - "oneOf": [ - { - "type": "string" + "source": { + "type": "object", + "required": [ + "salesChannelId", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "sales-channel", + "shop-api" + ] }, - { - "type": "null" + "salesChannelId": { + "type": "string" } + } + }, + "taxState": { + "type": "string" + }, + "useCache": { + "type": "boolean" + } + } + }, + "itemRounding": { + "type": "object", + "required": [ + "decimals", + "interval", + "roundForNet", + "apiAlias" + ], + "properties": { + "apiAlias": { + "type": "string", + "enum": [ + "shopware_core_framework_data_abstraction_layer_pricing_cash_rounding_config" ] + }, + "decimals": { + "type": "integer", + "format": "int32" + }, + "interval": { + "type": "number", + "format": "float" + }, + "roundForNet": { + "type": "boolean" } } - } - ] - }, - "NavigationType": { - "type": "string", - "enum": [ - "main-navigation", - "footer-navigation", - "service-navigation" - ] - }, - "WishlistLoadRouteResponse": { - "type": "object", - "required": [ - "products" - ], - "properties": { - "wishlist": { + }, + "totalRounding": { "type": "object", + "required": [ + "decimals", + "interval", + "roundForNet", + "apiAlias" + ], "properties": { - "customerId": { + "apiAlias": { + "type": "string", + "enum": [ + "shopware_core_framework_data_abstraction_layer_pricing_cash_rounding_config" + ] + }, + "decimals": { + "type": "integer", + "format": "int32" + }, + "interval": { + "type": "number", + "format": "float" + }, + "roundForNet": { + "type": "boolean" + } + } + }, + "languageInfo": { + "type": "object", + "required": [ + "localeCode", + "name" + ], + "properties": { + "name": { "type": "string" }, - "salesChannelId": { + "localeCode": { "type": "string" } } }, - "products": { - "$ref": "#/components/schemas/ProductListingResult" - } - } - }, - "AggregationMetrics": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "type": { + "apiAlias": { "type": "string", "enum": [ - "avg", - "count", - "max", - "min", - "stats", - "sum" + "sales_channel_context" ] - }, - "field": { - "type": "string" } }, "required": [ - "name", - "type", - "field" + "salesChannel", + "apiAlias", + "itemRounding", + "totalRounding", + "languageInfo" ] }, - "CartDeliveryInformation": { + "CookieGroupCollection": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CookieGroup" + } + }, + "AccountNewsletterRecipient": { + "type": "object", + "properties": { + "status": { + "type": "string", + "enum": [ + "undefined", + "notSet", + "direct", + "optIn", + "optOut" + ] + }, + "apiAlias": { + "type": "string", + "enum": [ + "account_newsletter_recipient" + ] + } + }, + "required": [ + "status", + "apiAlias" + ] + }, + "FindProductVariantRouteResponse": { + "type": "object", + "properties": { + "foundCombination": { + "type": "object", + "properties": { + "variantId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "options": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "CrossSellingElementCollection": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CrossSellingElement" + } + }, + "CartDeliveryInformation": { "type": "object", "properties": { "apiAlias": { @@ -13422,822 +13557,568 @@ "apiAlias" ] }, - "CartItems": { + "SuccessResponse": { "type": "object", - "required": [ - "items" - ], "properties": { - "items": { - "type": "array", - "items": { - "$ref": "#/components/schemas/LineItem" - } + "success": { + "type": "boolean" } } }, - "Breadcrumb": { + "Criteria": { "type": "object", + "description": "Search parameters. For more information, see our documentation on [Search Queries](https://shopware.stoplight.io/docs/store-api/docs/concepts/search-queries.md#structure)", "properties": { - "name": { - "type": "string" + "page": { + "description": "Search result page", + "type": "integer" }, - "categoryId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "term": { + "description": "Search term", + "type": "string" }, - "type": { - "type": "string", - "enum": [ - "page", - "link", - "folder" - ] + "limit": { + "description": "Number of items per result page", + "type": "integer" }, - "translated": { - "type": "object", - "additionalProperties": true, - "properties": { - "customFields": { - "type": "object" - }, - "slotConfig": { - "type": "object" - }, - "linkType": { - "type": "string", - "enum": [ - "external", - "category", - "product", - "landing_page" - ] - }, - "internalLink": { - "type": "string" - }, - "externalLink": { - "type": "string" - }, - "linkNewTab": { - "type": "boolean" - }, - "description": { - "type": "string" - }, - "metaTitle": { - "type": "string" - }, - "metaDescription": { - "type": "string" - }, - "keywords": { - "type": "string" - } + "filter": { + "type": "array", + "description": "List of filters to restrict the search result. For more information, see [Search Queries > Filter](https://shopware.stoplight.io/docs/store-api/docs/concepts/search-queries.md#filter)", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/SimpleFilter" + }, + { + "$ref": "#/components/schemas/EqualsFilter" + }, + { + "$ref": "#/components/schemas/MultiNotFilter" + }, + { + "$ref": "#/components/schemas/RangeFilter" + } + ] } }, - "path": { - "type": "string" - }, - "seoUrls": { + "ids": { "type": "array", + "description": "List of ids to search for", "items": { - "$ref": "#/components/schemas/SeoUrl" + "type": "string" } }, - "apiAlias": { + "query": { "type": "string", - "enum": [ - "breadcrumb" - ] - } - }, - "required": [ - "name", - "categoryId", - "type", - "translated", - "path", - "apiAlias" - ] - }, - "SalesChannelContext": { - "type": "object", - "properties": { - "token": { - "description": "Context the user session", - "type": "string" - }, - "currentCustomerGroup": { - "type": "object", - "description": "Customer group of the current user", - "properties": { - "name": { - "type": "string" - }, - "displayGross": { - "type": "boolean" - } - } - }, - "fallbackCustomerGroup": { - "description": "Fallback group if the default customer group is not applicable", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "displayGross": { - "type": "boolean" - } - } - }, - "currency": { - "$ref": "#/components/schemas/Currency" - }, - "salesChannel": { - "$ref": "#/components/schemas/SalesChannel" + "description": "The query string to search for" }, - "measurementSystem": { - "$ref": "#/components/schemas/ContextMeasurementSystemInfo" + "associations": { + "$ref": "#/components/schemas/Associations" }, - "taxRules": { + "post-filter": { "type": "array", - "description": "Currently active tax rules and/or rates", + "description": "Filters that applied without affecting aggregations. For more information, see [Search Queries > Post Filter](https://shopware.stoplight.io/docs/store-api/docs/concepts/search-queries.md#post-filter)", "items": { - "type": "object", - "properties": { - "taxRate": { - "type": "number", - "format": "float" + "anyOf": [ + { + "$ref": "#/components/schemas/SimpleFilter" }, - "name": { - "type": "string" + { + "$ref": "#/components/schemas/EqualsFilter" + }, + { + "$ref": "#/components/schemas/MultiNotFilter" + }, + { + "$ref": "#/components/schemas/RangeFilter" } - } + ] } }, - "customer": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/Customer" - } - ] + "sort": { + "type": "array", + "description": "Sorting in the search result.", + "items": { + "$ref": "#/components/schemas/Sort" + } }, - "paymentMethod": { - "$ref": "#/components/schemas/PaymentMethod" + "aggregations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Aggregation" + } }, - "shippingLocation": { - "type": "object", - "properties": { - "apiAlias": { - "type": "string", - "enum": [ - "cart_delivery_shipping_location" - ] - }, - "country": { - "$ref": "#/components/schemas/Country" - }, - "address": { - "$ref": "#/components/schemas/CustomerAddress" - } - } - }, - "shippingMethod": { - "$ref": "#/components/schemas/ShippingMethod" - }, - "context": { - "description": "Core context with general configuration values and state", - "type": "object", - "properties": { - "versionId": { - "type": "string" - }, - "currencyId": { - "type": "string" - }, - "currencyFactor": { - "type": "integer" - }, - "currencyPrecision": { - "type": "integer", - "format": "int32" - }, - "languageIdChain": { - "type": "array", - "items": { - "type": "string" - } - }, - "scope": { - "type": "string" - }, - "source": { - "type": "object", - "required": [ - "salesChannelId", - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "sales-channel", - "shop-api" - ] - }, - "salesChannelId": { - "type": "string" - } - } - }, - "taxState": { - "type": "string" - }, - "useCache": { - "type": "boolean" - } + "fields": { + "type": "array", + "description": "Fields which should be returned in the search result.", + "items": { + "type": "string", + "description": "Name of a field" } }, - "itemRounding": { - "type": "object", - "required": [ - "decimals", - "interval", - "roundForNet", - "apiAlias" - ], - "properties": { - "apiAlias": { - "type": "string", - "enum": [ - "shopware_core_framework_data_abstraction_layer_pricing_cash_rounding_config" - ] - }, - "decimals": { - "type": "integer", - "format": "int32" - }, - "interval": { - "type": "number", - "format": "float" - }, - "roundForNet": { - "type": "boolean" - } + "grouping": { + "type": "array", + "description": "Perform groupings over certain fields", + "items": { + "type": "string", + "description": "Name of a field" } }, - "totalRounding": { - "type": "object", - "required": [ - "decimals", - "interval", - "roundForNet", - "apiAlias" - ], - "properties": { - "apiAlias": { - "type": "string", - "enum": [ - "shopware_core_framework_data_abstraction_layer_pricing_cash_rounding_config" - ] - }, - "decimals": { - "type": "integer", - "format": "int32" - }, - "interval": { - "type": "number", - "format": "float" - }, - "roundForNet": { - "type": "boolean" - } - } + "total-count-mode": { + "$ref": "#/components/schemas/TotalCountMode" }, - "languageInfo": { - "type": "object", - "required": [ - "localeCode", - "name" - ], - "properties": { - "name": { - "type": "string" - }, - "localeCode": { - "type": "string" - } - } + "includes": { + "$ref": "#/components/schemas/Includes" }, - "apiAlias": { - "type": "string", - "enum": [ - "sales_channel_context" - ] + "excludes": { + "$ref": "#/components/schemas/Excludes" } - }, - "required": [ - "salesChannel", - "apiAlias", - "itemRounding", - "totalRounding", - "languageInfo" - ] - }, - "Association": { - "additionalProperties": { - "$ref": "#/components/schemas/Association" } }, - "ContextMeasurementSystemInfo": { + "NoneFieldsCriteria": { "type": "object", - "description": "Configuration of the measurement system used in the store, by default including units for length and weight.", + "description": "Search parameters. For more information, see our documentation on [Search Queries](https://shopware.stoplight.io/docs/store-api/docs/concepts/search-queries.md#structure)", "properties": { - "system": { - "type": "string", - "enum": [ - "metric", - "imperial" - ], - "default": "metric", - "description": "The measurement system used in the store. 'metric' for metric system, 'imperial' for imperial system." + "page": { + "description": "Search result page", + "type": "integer" }, - "units": { - "type": "object", - "description": "Units used in the measurement system.", - "properties": { - "length": { - "type": "string", - "enum": [ - "mm", - "cm", - "m", - "in", - "ft" - ], - "default": "mm", - "description": "Unit of length." - }, - "weight": { - "type": "string", - "enum": [ - "g", - "kg", - "oz", - "lb" - ], - "default": "kg", - "description": "Unit of weight." - } - } - } - } - }, - "ListPrice": { - "type": "object", - "description": "", - "properties": { - "discount": { - "type": "number" + "term": { + "description": "Search term", + "type": "string" }, - "percentage": { - "type": "number" + "limit": { + "description": "Number of items per result page", + "type": "integer" }, - "price": { - "type": "number" + "filter": { + "type": "array", + "description": "List of filters to restrict the search result. For more information, see [Search Queries > Filter](https://shopware.stoplight.io/docs/store-api/docs/concepts/search-queries.md#filter)", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/SimpleFilter" + }, + { + "$ref": "#/components/schemas/EqualsFilter" + }, + { + "$ref": "#/components/schemas/MultiNotFilter" + }, + { + "$ref": "#/components/schemas/RangeFilter" + } + ] + } }, - "apiAlias": { - "type": "string", - "enum": [ - "cart_list_price" - ] - } - }, - "required": [ - "apiAlias" - ] - }, - "Price": { - "type": "object", - "description": "Price object", - "properties": { - "currencyId": { + "ids": { + "type": "array", + "description": "List of ids to search for", + "items": { + "type": "string" + } + }, + "query": { "type": "string", - "pattern": "^[0-9a-f]{32}$" + "description": "The query string to search for" }, - "gross": { - "description": "", - "type": "number" + "associations": { + "$ref": "#/components/schemas/Associations" }, - "net": { - "description": "", - "type": "number" + "post-filter": { + "type": "array", + "description": "Filters that applied without affecting aggregations. For more information, see [Search Queries > Post Filter](https://shopware.stoplight.io/docs/store-api/docs/concepts/search-queries.md#post-filter)", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/SimpleFilter" + }, + { + "$ref": "#/components/schemas/EqualsFilter" + }, + { + "$ref": "#/components/schemas/MultiNotFilter" + }, + { + "$ref": "#/components/schemas/RangeFilter" + } + ] + } }, - "linked": { - "description": "", - "type": "boolean" + "sort": { + "type": "array", + "description": "Sorting in the search result.", + "items": { + "$ref": "#/components/schemas/Sort" + } }, - "listPrice": { - "description": "", - "type": "object", - "properties": { - "currencyId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "aggregations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Aggregation" + } + }, + "grouping": { + "type": "array", + "description": "Perform groupings over certain fields", + "items": { + "type": "string", + "description": "Name of a field" + } + }, + "total-count-mode": { + "$ref": "#/components/schemas/TotalCountMode" + }, + "includes": { + "$ref": "#/components/schemas/Includes" + }, + "excludes": { + "$ref": "#/components/schemas/Excludes" + } + } + }, + "Associations": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Criteria" + } + }, + "Includes": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "Excludes": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "Aggregation": { + "anyOf": [ + { + "$ref": "#/components/schemas/AggregationMetrics" + }, + { + "title": "AggregationEntity", + "allOf": [ + { + "$ref": "#/components/schemas/AggregationEntity" }, - "gross": { - "description": "", - "type": "number" + { + "$ref": "#/components/schemas/SubAggregations" + } + ] + }, + { + "title": "AggregationFilter", + "allOf": [ + { + "$ref": "#/components/schemas/AggregationFilter" }, - "net": { - "description": "", - "type": "number" + { + "$ref": "#/components/schemas/SubAggregations" + } + ] + }, + { + "title": "AggregationTerms", + "allOf": [ + { + "$ref": "#/components/schemas/AggregationTerms" }, - "linked": { - "description": "", - "type": "boolean" + { + "$ref": "#/components/schemas/SubAggregations" } - }, - "required": [ - "gross", - "net" ] }, - "regulationPrice": { - "description": "", - "type": "object", - "properties": { - "currencyId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + { + "title": "AggregationHistogram", + "allOf": [ + { + "$ref": "#/components/schemas/AggregationHistogram" }, - "gross": { - "description": "", - "type": "number" + { + "$ref": "#/components/schemas/SubAggregations" + } + ] + }, + { + "title": "AggregationRange", + "allOf": [ + { + "$ref": "#/components/schemas/AggregationRange" }, - "net": { - "description": "", - "type": "number" + { + "$ref": "#/components/schemas/SubAggregations" + } + ] + } + ] + }, + "SubAggregations": { + "type": "object", + "properties": { + "aggregation": { + "anyOf": [ + { + "$ref": "#/components/schemas/AggregationMetrics" }, - "linked": { - "description": "", - "type": "boolean" + { + "$ref": "#/components/schemas/AggregationEntity" + }, + { + "$ref": "#/components/schemas/AggregationFilter" + }, + { + "$ref": "#/components/schemas/AggregationTerms" + }, + { + "$ref": "#/components/schemas/AggregationHistogram" + }, + { + "$ref": "#/components/schemas/AggregationRange" } - }, - "required": [ - "gross", - "net" ] } - }, - "required": [ - "currencyId", - "gross", - "net" + } + }, + "TotalCountMode": { + "description": "Whether the total for the total number of hits should be determined for the search query. none = disabled total count, exact = calculate exact total amount (slow), next-pages = calculate only for next page (fast)", + "type": "string", + "default": "none", + "enum": [ + "none", + "exact", + "next-pages" ] }, - "ProductListingResult": { - "allOf": [ - { - "$ref": "#/components/schemas/EntitySearchResult" + "Query": { + "type": "object", + "properties": { + "score": { + "type": "number" }, - { - "type": "object", - "properties": { - "currentFilters": { - "type": "object", - "description": "Contains the state of the filters. These can be used to create listing filters.", - "properties": { - "navigationId": { - "type": "string" - }, - "manufacturer": { - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - }, - "price": { - "type": "object", - "properties": { - "min": { - "type": "integer", - "default": 0 - }, - "max": { - "type": "integer", - "default": 0 - } - }, - "required": [ - "min", - "max" - ] - }, - "rating": { - "oneOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - }, - "shipping-free": { - "type": "boolean", - "default": false - }, - "properties": { - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - }, - "search": { - "type": "string" - } - }, - "required": [ - "manufacturer", - "navigationId", - "price", - "properties", - "rating", - "shipping-free" - ] - }, - "availableSortings": { - "type": "array", - "description": "Contains the available sorting. These can be used to show a sorting select-box in the product listing.", - "items": { - "type": "object", - "properties": { - "label": { - "type": "string" - }, - "translated": { - "type": "object", - "properties": { - "label": { - "type": "string" - } - }, - "required": [ - "label" - ] - }, - "key": { - "type": "string" - }, - "priority": { - "type": "number" - }, - "apiAlias": { - "type": "string", - "enum": [ - "product_sorting" - ] - } - }, - "required": [ - "label", - "translated", - "key", - "priority", - "apiAlias" - ] - } - }, - "sorting": { - "type": "string" + "query": { + "oneOf": [ + { + "$ref": "#/components/schemas/SimpleFilter" }, - "elements": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Product" - } + { + "$ref": "#/components/schemas/EqualsFilter" }, - "entity": { - "type": "string", - "enum": [ - "product" - ] + { + "$ref": "#/components/schemas/MultiNotFilter" }, - "apiAlias": { - "type": "string", - "enum": [ - "product_listing" - ] + { + "$ref": "#/components/schemas/RangeFilter" } - }, - "required": [ - "elements", - "availableSortings", - "currentFilters", - "apiAlias" ] } - ] + }, + "additionalProperties": true }, - "CookieGroup": { + "Sort": { "type": "object", "properties": { - "isRequired": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "cookie": { - "type": "string" - }, - "value": { + "field": { "type": "string" }, - "expiration": { - "type": "integer" - }, - "entries": { - "$ref": "#/components/schemas/CookieEntryCollection" - }, - "apiAlias": { + "order": { "type": "string", "enum": [ - "cookie_group" + "ASC", + "DESC" ] + }, + "naturalSorting": { + "type": "boolean" + }, + "type": { + "type": "string" } }, - "not": { - "allOf": [ + "required": [ + "field", + "order" + ] + }, + "Filters": { + "type": "array", + "items": { + "anyOf": [ { - "required": [ - "cookie" - ] + "$ref": "#/components/schemas/SimpleFilter" }, { - "required": [ - "entries" - ] + "$ref": "#/components/schemas/EqualsFilter" + }, + { + "$ref": "#/components/schemas/MultiNotFilter" + }, + { + "$ref": "#/components/schemas/RangeFilter" } ] - }, - "required": [ - "name", - "isRequired", - "apiAlias" - ] + } }, - "CustomerAddressBody": { - "description": "Added since version: 6.0.0.0", - "required": [ - "countryId", - "firstName", - "lastName", - "city", - "street" - ], + "SimpleFilter": { + "type": "object", "properties": { - "countryId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "countryStateId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "salutationId": { + "type": { "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "firstName": { - "type": "string" + "enum": [ + "contains", + "equalsAny", + "prefix", + "suffix" + ] }, - "lastName": { + "field": { "type": "string" }, - "zipcode": { + "value": { "type": "string" + } + }, + "required": [ + "type", + "field", + "value" + ] + }, + "EqualsFilter": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "equals" + ] }, - "city": { + "field": { "type": "string" }, - "company": { - "type": "string" - }, - "street": { - "type": "string" - }, - "department": { - "type": "string" - }, - "title": { - "type": "string" - }, - "phoneNumber": { - "type": "string" - }, - "additionalAddressLine1": { - "type": "string" - }, - "additionalAddressLine2": { - "type": "string" - }, - "customFields": { - "type": "object" - }, - "country": { - "$ref": "#/components/schemas/Country" - }, - "countryState": { - "$ref": "#/components/schemas/CountryState" - }, - "salutation": { - "$ref": "#/components/schemas/Salutation" + "value": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "null" + } + ] } }, - "type": "object" + "required": [ + "type", + "field", + "value" + ] }, - "ProductDetailResponse": { + "MultiNotFilter": { "type": "object", - "description": "Represents a product along with detailed information required to display a variant selection.", "properties": { - "product": { - "$ref": "#/components/schemas/Product" + "type": { + "type": "string", + "enum": [ + "multi", + "not" + ] }, - "configurator": { - "type": "array", - "description": "List of property groups with their corresponding options and information on how to display them.", - "items": { - "$ref": "#/components/schemas/PropertyGroup" - } + "operator": { + "type": "string", + "enum": [ + "and", + "or", + "nor", + "nand" + ] + }, + "queries": { + "$ref": "#/components/schemas/Filters" } }, "required": [ - "product" + "type", + "operator", + "queries" ] }, - "CartPriceQuantity": { + "RangeFilter": { "type": "object", "properties": { - "apiAlias": { + "type": { "type": "string", "enum": [ - "cart_price_quantity" + "range" ] }, - "isCalculated": { - "type": "boolean" - }, - "listPrice": { - "$ref": "#/components/schemas/CartListPrice" - }, - "price": { - "type": "number" - }, - "quantity": { - "type": "number" + "field": { + "type": "string" }, - "regulationPrice": { + "parameters": { + "type": "object", "properties": { - "price": { - "type": "number", - "format": "float" - } - }, - "type": "object" - }, - "taxRules": { - "type": "array", - "items": { - "type": "object", - "properties": { - "taxRate": { - "type": "number", - "format": "float" - }, - "name": { - "type": "string" - } + "gte": { + "type": "number" + }, + "gt": { + "type": "number" + }, + "lte": { + "type": "number" + }, + "lt": { + "type": "number" } } + } + }, + "required": [ + "type", + "field", + "parameters" + ] + }, + "AggregationMetrics": { + "type": "object", + "properties": { + "name": { + "type": "string" }, "type": { + "type": "string", + "enum": [ + "avg", + "count", + "max", + "min", + "stats", + "sum" + ] + }, + "field": { "type": "string" } }, "required": [ - "apiAlias" + "name", + "type", + "field" ] }, "MeasurementUnits": { @@ -14318,57 +14199,306 @@ "apiAlias" ] }, - "CookieRouteResponse": { + "ContextMeasurementSystemInfo": { "type": "object", - "description": "Response containing cookie groups and their configuration hash.", + "description": "Configuration of the measurement system used in the store, by default including units for length and weight.", "properties": { - "apiAlias": { + "system": { "type": "string", "enum": [ - "cookie_groups_hash" - ] + "metric", + "imperial" + ], + "default": "metric", + "description": "The measurement system used in the store. 'metric' for metric system, 'imperial' for imperial system." }, - "elements": { - "type": "array", - "description": "Collection of cookie groups", - "items": { - "$ref": "#/components/schemas/CookieGroup" + "units": { + "type": "object", + "description": "Units used in the measurement system.", + "properties": { + "length": { + "type": "string", + "enum": [ + "mm", + "cm", + "m", + "in", + "ft" + ], + "default": "mm", + "description": "Unit of length." + }, + "weight": { + "type": "string", + "enum": [ + "g", + "kg", + "oz", + "lb" + ], + "default": "kg", + "description": "Unit of weight." + } } + } + } + }, + "ListPrice": { + "type": "object", + "description": "", + "properties": { + "discount": { + "type": "number" }, - "hash": { - "type": "string", - "description": "Hash of the current cookie configuration. Can be used to detect changes in cookie configuration.", - "example": "f86b6a872cb83dbd22d838ceda1aa3d4" + "percentage": { + "type": "number" }, - "languageId": { + "price": { + "type": "number" + }, + "apiAlias": { "type": "string", - "format": "uuid", - "description": "The language ID for which the cookie configuration was generated. Used to store hashes per language.", - "example": "2fbb5fe2e29a4d70aa5854ce7ce3e20b" + "enum": [ + "cart_list_price" + ] } }, "required": [ - "elements", - "hash", - "languageId", "apiAlias" - ], - "example": { - "apiAlias": "cookie_groups_hash", - "elements": [ - { - "isRequired": true, - "description": "Cookies required for this shop to function:", - "name": "Technically required", - "entries": [ - { - "name": "Session", - "hidden": false, - "cookie": "session-", - "apiAlias": "cookie_entry" - }, - { - "name": "Timezone", + ] + }, + "ProductListingFlags": { + "type": "object", + "description": "Additional flags for product listings", + "properties": { + "no-aggregations": { + "description": "Resets all aggregations in the criteria. This parameter is a flag, the value has no effect.", + "oneOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "only-aggregations": { + "description": "If this flag is set, no products are fetched. Sorting and associations are also ignored. This parameter is a flag, the value has no effect.", + "oneOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + } + }, + "CartListPrice": { + "type": "object", + "description": "", + "properties": { + "discount": { + "type": "number" + }, + "percentage": { + "type": "number" + }, + "price": { + "type": "number" + }, + "apiAlias": { + "type": "string", + "enum": [ + "cart_list_price" + ] + } + }, + "required": [ + "apiAlias" + ] + }, + "CustomerAddressBody": { + "description": "Added since version: 6.0.0.0", + "required": [ + "countryId", + "firstName", + "lastName", + "city", + "street" + ], + "properties": { + "countryId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "countryStateId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "salutationId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "firstName": { + "type": "string" + }, + "lastName": { + "type": "string" + }, + "zipcode": { + "type": "string" + }, + "city": { + "type": "string" + }, + "company": { + "type": "string" + }, + "street": { + "type": "string" + }, + "department": { + "type": "string" + }, + "title": { + "type": "string" + }, + "phoneNumber": { + "type": "string" + }, + "additionalAddressLine1": { + "type": "string" + }, + "additionalAddressLine2": { + "type": "string" + }, + "customFields": { + "type": "object" + }, + "country": { + "$ref": "#/components/schemas/Country" + }, + "countryState": { + "$ref": "#/components/schemas/CountryState" + }, + "salutation": { + "$ref": "#/components/schemas/Salutation" + } + }, + "type": "object" + }, + "OrderRouteResponse": { + "type": "object", + "properties": { + "orders": { + "type": "object", + "allOf": [ + { + "type": "object", + "required": [ + "elements" + ], + "properties": { + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Order" + } + } + } + }, + { + "$ref": "#/components/schemas/EntitySearchResult" + } + ] + }, + "paymentChangeable": { + "type": "object", + "description": "The key-value pairs contain the uuid of the order as key and a boolean as value, indicating that the payment method can still be changed.", + "additionalProperties": { + "type": "boolean" + } + } + }, + "required": [ + "orders" + ] + }, + "WishlistLoadRouteResponse": { + "type": "object", + "required": [ + "products" + ], + "properties": { + "wishlist": { + "type": "object", + "properties": { + "customerId": { + "type": "string" + }, + "salesChannelId": { + "type": "string" + } + } + }, + "products": { + "$ref": "#/components/schemas/ProductListingResult" + } + } + }, + "CookieRouteResponse": { + "type": "object", + "description": "Response containing cookie groups and their configuration hash.", + "properties": { + "apiAlias": { + "type": "string", + "enum": [ + "cookie_groups_hash" + ] + }, + "elements": { + "type": "array", + "description": "Collection of cookie groups", + "items": { + "$ref": "#/components/schemas/CookieGroup" + } + }, + "hash": { + "type": "string", + "description": "Hash of the current cookie configuration. Can be used to detect changes in cookie configuration.", + "example": "f86b6a872cb83dbd22d838ceda1aa3d4" + }, + "languageId": { + "type": "string", + "format": "uuid", + "description": "The language ID for which the cookie configuration was generated. Used to store hashes per language.", + "example": "2fbb5fe2e29a4d70aa5854ce7ce3e20b" + } + }, + "required": [ + "elements", + "hash", + "languageId", + "apiAlias" + ], + "example": { + "apiAlias": "cookie_groups_hash", + "elements": [ + { + "isRequired": true, + "description": "Cookies required for this shop to function:", + "name": "Technically required", + "entries": [ + { + "name": "Session", + "hidden": false, + "cookie": "session-", + "apiAlias": "cookie_entry" + }, + { + "name": "Timezone", "hidden": false, "cookie": "timezone", "apiAlias": "cookie_entry" @@ -14436,726 +14566,793 @@ "languageId": "2fbb5fe2e29a4d70aa5854ce7ce3e20b" } }, - "Criteria": { + "NavigationRouteResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Category" + } + }, + "EntitySearchResult": { "type": "object", - "description": "Search parameters. For more information, see our documentation on [Search Queries](https://shopware.stoplight.io/docs/store-api/docs/concepts/search-queries.md#structure)", "properties": { - "page": { - "description": "Search result page", - "type": "integer" - }, - "term": { - "description": "Search term", + "entity": { "type": "string" }, - "limit": { - "description": "Number of items per result page", - "type": "integer" - }, - "filter": { - "type": "array", - "description": "List of filters to restrict the search result. For more information, see [Search Queries > Filter](https://shopware.stoplight.io/docs/store-api/docs/concepts/search-queries.md#filter)", - "items": { - "anyOf": [ - { - "$ref": "#/components/schemas/SimpleFilter" - }, - { - "$ref": "#/components/schemas/EqualsFilter" - }, - { - "$ref": "#/components/schemas/MultiNotFilter" - }, - { - "$ref": "#/components/schemas/RangeFilter" - } - ] - } - }, - "ids": { - "type": "array", - "description": "List of ids to search for", - "items": { - "type": "string" - } - }, - "query": { - "type": "string", - "description": "The query string to search for" - }, - "associations": { - "$ref": "#/components/schemas/Associations" - }, - "post-filter": { - "type": "array", - "description": "Filters that applied without affecting aggregations. For more information, see [Search Queries > Post Filter](https://shopware.stoplight.io/docs/store-api/docs/concepts/search-queries.md#post-filter)", - "items": { - "anyOf": [ - { - "$ref": "#/components/schemas/SimpleFilter" - }, - { - "$ref": "#/components/schemas/EqualsFilter" - }, - { - "$ref": "#/components/schemas/MultiNotFilter" - }, - { - "$ref": "#/components/schemas/RangeFilter" - } - ] - } - }, - "sort": { - "type": "array", - "description": "Sorting in the search result.", - "items": { - "$ref": "#/components/schemas/Sort" - } + "total": { + "type": "integer", + "description": "The total number of found entities" }, "aggregations": { "type": "array", + "description": "Contains aggregated data. A simple example is the determination of the average price from a product search query.", "items": { - "$ref": "#/components/schemas/Aggregation" - } - }, - "fields": { - "type": "array", - "description": "Fields which should be returned in the search result.", - "items": { - "type": "string", - "description": "Name of a field" - } - }, - "grouping": { - "type": "array", - "description": "Perform groupings over certain fields", - "items": { - "type": "string", - "description": "Name of a field" + "type": "object" } }, - "total-count-mode": { - "$ref": "#/components/schemas/TotalCountMode" - }, - "includes": { - "$ref": "#/components/schemas/Includes" + "page": { + "type": "integer", + "description": "The actual page. This can be used for pagination." }, - "excludes": { - "$ref": "#/components/schemas/Excludes" + "limit": { + "type": "integer", + "description": "The actual limit. This is used for pagination and goes together with the page." } } }, - "NoneFieldsCriteria": { + "CartError": { "type": "object", - "description": "Search parameters. For more information, see our documentation on [Search Queries](https://shopware.stoplight.io/docs/store-api/docs/concepts/search-queries.md#structure)", + "description": "A list of all cart errors, such as insufficient stocks, invalid addresses or vouchers.", "properties": { - "page": { - "description": "Search result page", - "type": "integer" - }, - "term": { - "description": "Search term", + "key": { "type": "string" }, - "limit": { - "description": "Number of items per result page", - "type": "integer" - }, - "filter": { - "type": "array", - "description": "List of filters to restrict the search result. For more information, see [Search Queries > Filter](https://shopware.stoplight.io/docs/store-api/docs/concepts/search-queries.md#filter)", - "items": { - "anyOf": [ - { - "$ref": "#/components/schemas/SimpleFilter" - }, - { - "$ref": "#/components/schemas/EqualsFilter" - }, - { - "$ref": "#/components/schemas/MultiNotFilter" - }, - { - "$ref": "#/components/schemas/RangeFilter" - } - ] - } + "level": { + "type": "number", + "enum": [ + 0, + 10, + 20 + ], + "description": "* `0` - notice,\n* `10` - warning,\n* `20` - error" }, - "ids": { - "type": "array", - "description": "List of ids to search for", - "items": { - "type": "string" - } + "message": { + "type": "string" }, - "query": { + "messageKey": { + "type": "string" + } + }, + "required": [ + "key", + "level", + "message", + "messageKey" + ] + }, + "CustomerAddressRead": { + "type": "object", + "properties": { + "id": { "type": "string", - "description": "The query string to search for" - }, - "associations": { - "$ref": "#/components/schemas/Associations" - }, - "post-filter": { - "type": "array", - "description": "Filters that applied without affecting aggregations. For more information, see [Search Queries > Post Filter](https://shopware.stoplight.io/docs/store-api/docs/concepts/search-queries.md#post-filter)", - "items": { - "anyOf": [ - { - "$ref": "#/components/schemas/SimpleFilter" - }, - { - "$ref": "#/components/schemas/EqualsFilter" - }, - { - "$ref": "#/components/schemas/MultiNotFilter" - }, - { - "$ref": "#/components/schemas/RangeFilter" - } - ] - } + "pattern": "^[0-9a-f]{32}$", + "readOnly": true }, - "sort": { - "type": "array", - "description": "Sorting in the search result.", - "items": { - "$ref": "#/components/schemas/Sort" - } + "customerId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$", + "readOnly": true }, - "aggregations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Aggregation" - } + "createdAt": { + "type": "string", + "format": "date-time" }, - "grouping": { - "type": "array", - "description": "Perform groupings over certain fields", - "items": { - "type": "string", - "description": "Name of a field" - } + "updatedAt": { + "oneOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ] }, - "total-count-mode": { - "$ref": "#/components/schemas/TotalCountMode" + "country": { + "$ref": "#/components/schemas/Country" }, - "includes": { - "$ref": "#/components/schemas/Includes" + "countryState": { + "oneOf": [ + { + "$ref": "#/components/schemas/CountryState" + }, + { + "type": "null" + } + ] }, - "excludes": { - "$ref": "#/components/schemas/Excludes" + "salutation": { + "$ref": "#/components/schemas/Salutation" } - } - }, - "Associations": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/Criteria" - } + }, + "required": [ + "customerId", + "createdAt", + "updatedAt", + "country", + "salutation" + ] }, - "Includes": { - "type": "object", - "additionalProperties": { - "type": "array", - "items": { - "type": "string" + "ProductListingCriteria": { + "allOf": [ + { + "$ref": "#/components/schemas/Criteria" + }, + { + "type": "object", + "description": "Additional search parameters for product listings", + "properties": { + "order": { + "description": "Specifies the sorting of the products by `availableSortings`. If not set, the default sorting will be set according to the shop settings. The available sorting options are sent within the response under the `availableSortings` key. In order to sort by a field, consider using the `sort` parameter from the listing criteria. Do not use both parameters together, as it might lead to unexpected results.", + "type": "string" + }, + "limit": { + "description": "Number of items per result page. If not set, the limit will be set according to the default products per page, defined in the system settings.", + "type": "integer", + "minimum": 0 + }, + "p": { + "description": "Search result page", + "type": "integer", + "default": 1 + }, + "manufacturer": { + "description": "Filter by manufacturers. List of manufacturer identifiers separated by a `|`.", + "type": "string" + }, + "min-price": { + "description": "Filters by a minimum product price. Has to be lower than the `max-price` filter.", + "type": "integer", + "minimum": 0, + "default": 0 + }, + "max-price": { + "description": "Filters by a maximum product price. Has to be higher than the `min-price` filter.", + "type": "integer", + "minimum": 0, + "default": 0 + }, + "rating": { + "description": "Filter products with a minimum average rating.", + "type": "integer" + }, + "shipping-free": { + "description": "Filters products that are marked as shipping-free.", + "type": "boolean", + "default": false + }, + "properties": { + "description": "Filters products by their properties. List of property identifiers separated by a `|`.", + "type": "string" + }, + "manufacturer-filter": { + "description": "Enables/disabled filtering by manufacturer. If set to false, the `manufacturer` filter will be ignored. Also the `aggregations[manufacturer]` key will be removed from the response.", + "type": "boolean", + "default": true + }, + "price-filter": { + "description": "Enables/disabled filtering by price. If set to false, the `min-price` and `max-price` filter will be ignored. Also the `aggregations[price]` key will be removed from the response.", + "type": "boolean", + "default": true + }, + "rating-filter": { + "description": "Enables/disabled filtering by rating. If set to false, the `rating` filter will be ignored. Also the `aggregations[rating]` key will be removed from the response.", + "type": "boolean", + "default": true + }, + "shipping-free-filter": { + "description": "Enables/disabled filtering by shipping-free products. If set to false, the `shipping-free` filter will be ignored. Also the `aggregations[shipping-free]` key will be removed from the response.", + "type": "boolean", + "default": true + }, + "property-filter": { + "description": "Enables/disabled filtering by properties products. If set to false, the `properties` filter will be ignored. Also the `aggregations[properties]` key will be removed from the response.", + "type": "boolean", + "default": true + }, + "property-whitelist": { + "description": "A whitelist of property identifiers which can be used for filtering. List of property identifiers separated by a `|`. The `property-filter` must be `true`, otherwise the whitelist has no effect.", + "type": "string" + }, + "reduce-aggregations": { + "description": "By sending the parameter `reduce-aggregations` , the post-filters that were applied by the customer, are also applied to the aggregations. This has the consequence that only values are returned in the aggregations that would lead to further filter results. This parameter is a flag, the value has no effect.", + "oneOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + } } - } + ] }, - "Excludes": { + "Cart": { "type": "object", - "additionalProperties": { - "type": "array", - "items": { + "properties": { + "name": { + "description": "Name of the cart - for example `guest-cart`", "type": "string" - } - } - }, - "Aggregation": { - "anyOf": [ - { - "$ref": "#/components/schemas/AggregationMetrics" }, - { - "title": "AggregationEntity", - "allOf": [ + "token": { + "description": "Context token identifying the cart and the user session", + "type": "string" + }, + "price": { + "$ref": "#/components/schemas/CalculatedPrice" + }, + "lineItems": { + "description": "All items within the cart", + "type": "array", + "items": { + "$ref": "#/components/schemas/LineItem" + } + }, + "errors": { + "type": "object", + "description": "A list of all cart errors, such as insufficient stocks, invalid addresses or vouchers.", + "anyOf": [ { - "$ref": "#/components/schemas/AggregationEntity" + "type": "array", + "items": { + "$ref": "#/components/schemas/CartError" + } }, { - "$ref": "#/components/schemas/SubAggregations" + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "code": { + "type": "number" + }, + "key": { + "type": "string" + }, + "level": { + "type": "number" + }, + "message": { + "type": "string" + }, + "messageKey": { + "type": "string" + } + }, + "required": [ + "code", + "key", + "level", + "message", + "messageKey" + ] + } } ] }, - { - "title": "AggregationFilter", - "allOf": [ - { - "$ref": "#/components/schemas/AggregationFilter" - }, - { - "$ref": "#/components/schemas/SubAggregations" + "deliveries": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CartDelivery" + } + }, + "transactions": { + "description": "A list of all payment transactions associated with the current cart.", + "type": "array", + "items": { + "type": "object", + "properties": { + "paymentMethodId": { + "type": "string" + }, + "amount": { + "$ref": "#/components/schemas/CalculatedPrice" + } } - ] + } }, - { - "title": "AggregationTerms", - "allOf": [ + "modified": { + "type": "boolean" + }, + "customerComment": { + "description": "A comment that can be added to the cart.", + "oneOf": [ { - "$ref": "#/components/schemas/AggregationTerms" + "type": "string" }, { - "$ref": "#/components/schemas/SubAggregations" + "type": "null" } ] }, - { - "title": "AggregationHistogram", - "allOf": [ + "affiliateCode": { + "description": "An affiliate tracking code", + "oneOf": [ { - "$ref": "#/components/schemas/AggregationHistogram" + "type": "string" }, { - "$ref": "#/components/schemas/SubAggregations" + "type": "null" } ] }, - { - "title": "AggregationRange", - "allOf": [ + "campaignCode": { + "description": "A campaign tracking code", + "oneOf": [ { - "$ref": "#/components/schemas/AggregationRange" + "type": "string" }, { - "$ref": "#/components/schemas/SubAggregations" + "type": "null" } ] + }, + "apiAlias": { + "type": "string", + "enum": [ + "cart" + ] } + }, + "required": [ + "price", + "apiAlias" ] }, - "SubAggregations": { + "Association": { + "additionalProperties": { + "$ref": "#/components/schemas/Association" + } + }, + "ProductMeasurements": { "type": "object", + "description": "Runtime field, cannot be used as part of the criteria. Measurements of a product, including dimensions and weight.", "properties": { - "aggregation": { - "anyOf": [ - { - "$ref": "#/components/schemas/AggregationMetrics" - }, - { - "$ref": "#/components/schemas/AggregationEntity" - }, - { - "$ref": "#/components/schemas/AggregationFilter" - }, - { - "$ref": "#/components/schemas/AggregationTerms" - }, - { - "$ref": "#/components/schemas/AggregationHistogram" + "width": { + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "mm", + "cm", + "m", + "in", + "ft" + ], + "default": "mm" }, - { - "$ref": "#/components/schemas/AggregationRange" + "value": { + "type": "number" } - ] - } - } - }, - "TotalCountMode": { - "description": "Whether the total for the total number of hits should be determined for the search query. none = disabled total count, exact = calculate exact total amount (slow), next-pages = calculate only for next page (fast)", - "type": "string", - "default": "none", - "enum": [ - "none", - "exact", - "next-pages" - ] - }, - "Query": { - "type": "object", - "properties": { - "score": { - "type": "number" + } }, - "query": { - "oneOf": [ - { - "$ref": "#/components/schemas/SimpleFilter" + "height": { + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "mm", + "cm", + "m", + "in", + "ft" + ], + "default": "mm" }, - { - "$ref": "#/components/schemas/EqualsFilter" + "value": { + "type": "number" + } + } + }, + "length": { + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "mm", + "cm", + "m", + "in", + "ft" + ], + "default": "mm" }, - { - "$ref": "#/components/schemas/MultiNotFilter" + "value": { + "type": "number" + } + } + }, + "weight": { + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "g", + "kg", + "oz", + "lb" + ], + "default": "kg" }, - { - "$ref": "#/components/schemas/RangeFilter" + "value": { + "type": "number" } - ] + } } - }, - "additionalProperties": true + } }, - "Sort": { + "CalculatedPrice": { "type": "object", + "description": "Represents a product along with detailed information required to display a variant selection.", "properties": { - "field": { - "type": "string" - }, - "order": { - "type": "string", - "enum": [ - "ASC", - "DESC" - ] + "unitPrice": { + "type": "number" }, - "naturalSorting": { - "type": "boolean" + "quantity": { + "type": "number" }, - "type": { - "type": "string" - } - }, - "required": [ - "field", - "order" - ] - }, - "Filters": { - "type": "array", - "items": { - "anyOf": [ - { - "$ref": "#/components/schemas/SimpleFilter" - }, - { - "$ref": "#/components/schemas/EqualsFilter" - }, - { - "$ref": "#/components/schemas/MultiNotFilter" - }, - { - "$ref": "#/components/schemas/RangeFilter" - } - ] - } - }, - "SimpleFilter": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "contains", - "equalsAny", - "prefix", - "suffix" - ] + "rawTotal": { + "type": "number" }, - "field": { - "type": "string" + "totalPrice": { + "type": "number" }, - "value": { - "type": "string" - } - }, - "required": [ - "type", - "field", - "value" - ] - }, - "EqualsFilter": { - "type": "object", - "properties": { - "type": { + "taxStatus": { "type": "string", "enum": [ - "equals" + "net", + "tax-free" ] }, - "field": { - "type": "string" + "calculatedTaxes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "apiAlias": { + "type": "string", + "enum": [ + "cart_tax_calculated" + ] + }, + "tax": { + "type": "number" + }, + "taxRate": { + "type": "number" + }, + "price": { + "type": "number" + } + }, + "required": [ + "apiAlias", + "tax", + "taxRate", + "price" + ] + } }, - "value": { + "referencePrice": { "oneOf": [ { - "type": "string" + "$ref": "#/components/schemas/CartPriceReference" }, { - "type": "number" - }, + "type": "null" + } + ] + }, + "listPrice": { + "oneOf": [ { - "type": "boolean" + "$ref": "#/components/schemas/CartListPrice" }, { "type": "null" } ] - } - }, - "required": [ - "type", - "field", - "value" - ] - }, - "MultiNotFilter": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "multi", - "not" - ] }, - "operator": { - "type": "string", - "enum": [ - "and", - "or", - "nor", - "nand" + "positionPrice": { + "type": "number" + }, + "netPrice": { + "type": "number" + }, + "regulationPrice": { + "oneOf": [ + { + "type": "object", + "properties": { + "price": { + "type": "number" + }, + "apiAlias": { + "type": "string", + "enum": [ + "cart_regulation_price" + ] + } + } + }, + { + "type": "null" + } ] }, - "queries": { - "$ref": "#/components/schemas/Filters" + "hasRange": { + "type": "boolean" + }, + "variantId": { + "oneOf": [ + { + "type": "string", + "format": "^[0-9a-f]{32}$" + }, + { + "type": "null" + } + ] + }, + "apiAlias": { + "type": "string", + "enum": [ + "calculated_price" + ] + }, + "taxRules": { + "type": "array", + "description": "Currently active tax rules and/or rates", + "items": { + "type": "object", + "properties": { + "taxRate": { + "type": "number", + "format": "float" + }, + "name": { + "type": "string" + } + } + } } }, "required": [ - "type", - "operator", - "queries" + "apiAlias", + "hasRange", + "regulationPrice", + "listPrice", + "referencePrice", + "calculatedTaxes", + "totalPrice", + "quantity", + "unitPrice", + "positionPrice", + "netPrice", + "taxRules", + "rawTotal", + "taxStatus" ] }, - "RangeFilter": { + "AttendeeProductCollectionLastSeenResponse": { "type": "object", "properties": { - "type": { - "type": "string", - "enum": [ - "range" - ] - }, - "field": { - "type": "string" - }, - "parameters": { + "collection": { "type": "object", "properties": { - "gte": { - "type": "number" - }, - "gt": { - "type": "number" - }, - "lte": { - "type": "number" - }, - "lt": { - "type": "number" + "lastSeen": { + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$", + "description": "Product ids from the collection" + } } } } }, - "required": [ - "type", - "field", - "parameters" - ] + "example": { + "collection": { + "lastSeen": [ + "0015b3d83df441e490da7f6880a9c2da", + "60793d25cbab473f92c405ce0525f3ec" + ] + } + } }, - "CustomerAddressRead": { + "JoinAppointmentResponse": { "type": "object", + "description": "Includes all data you will need to attend to a appointment.", "properties": { + "mercureSubscriberTopics": { + "type": "array", + "items": { + "type": "string", + "description": "mercure topic" + }, + "description": "The topics to which the attendee/guide can subscribe for" + }, + "mercurePublisherTopic": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The topic to which the attendee/guide can send updates" + }, + "JWTMercureSubscriberToken": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The JWT mercure token to publish updates" + }, + "mercureHubPublicUrl": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The mercure hub url to connect for subscribing and updating" + }, + "JWTMercurePublisherToken": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The JWT mercure token to subscribe for updates" + }, "id": { "type": "string", "pattern": "^[0-9a-f]{32}$", - "readOnly": true + "description": "The appointment id" }, - "customerId": { + "newContextToken": { + "type": "string", + "description": "The new context token will be used in the header (sw-context-token) for calling the other routes" + }, + "attendeeId": { "type": "string", "pattern": "^[0-9a-f]{32}$", - "readOnly": true + "description": "The created Id for the attendee" }, - "createdAt": { + "salesChannelId": { "type": "string", - "format": "date-time" + "pattern": "^[0-9a-f]{32}$", + "description": "The id of the current sales channel" }, - "updatedAt": { + "salesChannelName": { + "type": "string", + "description": "The name of the current sales channel" + }, + "appointmentName": { + "type": "string", + "description": "The name of the appointment" + }, + "presentationGuideMode": { + "type": "string", + "enum": [ + "self", + "guided" + ], + "description": "The type of the appointment" + }, + "isPreview": { + "type": "boolean", + "description": "To see if it's a preview appointment" + }, + "attendeeName": { "oneOf": [ { - "type": "string", - "format": "date-time" + "type": "string" }, { "type": "null" } - ] - }, - "country": { - "$ref": "#/components/schemas/Country" + ], + "description": "The name of the attendee" }, - "countryState": { + "videoUserId": { "oneOf": [ { - "$ref": "#/components/schemas/CountryState" + "type": "string" }, { "type": "null" } - ] + ], + "description": "The video user id that attendee could use" }, - "salutation": { - "$ref": "#/components/schemas/Salutation" - } - }, - "required": [ - "customerId", - "createdAt", - "updatedAt", - "country", - "salutation" - ] - }, - "ProductMeasurements": { - "type": "object", - "description": "Runtime field, cannot be used as part of the criteria. Measurements of a product, including dimensions and weight.", - "properties": { - "width": { + "b2bFeatures": { "type": "object", + "description": "The b2b features that available for the appointment", "properties": { - "unit": { - "type": "string", - "enum": [ - "mm", - "cm", - "m", - "in", - "ft" - ], - "default": "mm" - }, - "value": { - "type": "number" - } - } - }, - "height": { - "type": "object", - "properties": { - "unit": { - "type": "string", - "enum": [ - "mm", - "cm", - "m", - "in", - "ft" - ], - "default": "mm" - }, - "value": { - "type": "number" - } - } - }, - "length": { - "type": "object", - "properties": { - "unit": { - "type": "string", - "enum": [ - "mm", - "cm", - "m", - "in", - "ft" - ], - "default": "mm" - }, - "value": { - "type": "number" - } - } - }, - "weight": { - "type": "object", - "properties": { - "unit": { - "type": "string", - "enum": [ - "g", - "kg", - "oz", - "lb" - ], - "default": "kg" - }, - "value": { - "type": "number" + "quoteManagement": { + "type": "boolean", + "description": "To know if the quote management is enabled for current customer" } } } - } - }, - "AccountNewsletterRecipient": { - "type": "object", - "properties": { - "status": { - "type": "string", - "enum": [ - "undefined", - "notSet", - "direct", - "optIn", - "optOut" - ] - }, - "apiAlias": { - "type": "string", - "enum": [ - "account_newsletter_recipient" - ] - } }, - "required": [ - "status", - "apiAlias" - ] + "example": { + "mercureSubscriberTopics": [ + "gs-guide-actions-2d2c358f1ca04098aacf12873c2eed82", + "gs-presentation-state-for-client-2d2c358f1ca04098aacf12873c2eed82", + "gs-presentation-state-for-all-2d2c358f1ca04098aacf12873c2eed82" + ], + "mercurePublisherTopic": "gs-client-actions-2d2c358f1ca04098aacf12873c2eed82", + "JWTMercureSubscriberToken": "jwt token for subscribing to updates", + "mercureHubPublicUrl": "http://localhost:8081/.well-known/mercure", + "JWTMercurePublisherToken": "jwt token for publishing updates", + "attendeeName": "attendee name", + "videoUserId": null, + "b2bFeatures": { + "feature1": false, + "feature2": true + }, + "id": "2d2c358f1ca04098aacf12873c2eed82", + "newContextToken": "new context token to call the other routes", + "attendeeId": "b6358241e4ad4a4e99d0f729d21d63be", + "salesChannelId": "4a791ec7f9ff46b2ad67ae2f562891d3", + "salesChannelName": "Storefront", + "appointmentName": "Test Appointment", + "presentationGuideMode": "guided", + "isPreview": false, + "apiAlias": "swag_digital_sales_rooms_content_appointment_struct_appointment_join_struct" + } }, - "PageViewedPayload": { + "AbstractDynamicPageOpenedPayload": { "type": "object", "required": [ "pageId", - "sectionId", - "slideAlias" + "type" ], "properties": { "pageId": { "type": "string", - "pattern": "^[0-9a-f]{32}$", - "description": "the id from the page which was viewed" + "pattern": "^[a-f0-9]{32}$", + "description": "The id of the current dynamic page" }, - "sectionId": { + "type": { "type": "string", - "pattern": "^[0-9a-f]{32}$", - "description": "the id from the section within the page which was viewed" + "description": "The type of the current dynamic page" }, - "slideAlias": { - "type": "number", - "description": "the alias of the slide which was viewed" + "opened": { + "type": "boolean", + "default": true }, - "pageNumber": { - "oneOf": [ - { - "type": "integer", - "description": "the number of the page which was viewed" - }, - { - "type": "null" - } - ] + "position": { + "type": "integer", + "description": "The position of the dynamic page in the list of dynamic pages" } } }, @@ -15171,135 +15368,76 @@ } } }, - "ProductPayload": { + "UpdateAttendeeRequestBody": { "type": "object", - "required": [ - "productId" - ], "properties": { - "productId": { + "attendeeName": { "type": "string", - "pattern": "^[0-9a-f]{32}$", - "description": "the id from the product which is used in the interaction" + "description": "Name of the attendee" + }, + "videoUserId": { + "type": "string", + "description": "Id of the attendee in the video chat tool" } } }, - "GuideHoveredPayload": { - "type": "object", + "BasePresentationSlideData": { "properties": { - "hoveredElementId": { - "anyOf": [ - { - "type": "string", - "pattern": "^[0-9a-f]{32}$", - "description": "the id from the product which is used in the interaction" - }, - { - "type": "null" + "cmsPage": { + "$ref": "#/components/schemas/CmsPage" + }, + "extensions": { + "type": "object", + "properties": { + "cmsPageRelation": { + "$ref": "#/components/schemas/PresentationCmsPage" } - ] + } } } }, - "PresentationStructure": { + "PresentationSlideData": { "type": "object", - "required": [ - "cmsPageResults", - "navigation" - ], "properties": { - "cmsPageResults": { - "type": "array", - "items": { - "type": "object", - "properties": { - "resourceType": { - "type": "string", - "description": "The type of presentation page", - "default": "frontend.presentation.page" - }, - "resourceIdentifier": { - "type": "string", - "pattern": "^[0-9a-f]{32}$", - "description": "The presentation id" - }, - "cmsPage": { - "$ref": "#/components/schemas/CmsPage" - } + "cmsPage": { + "$ref": "#/components/schemas/CmsPage" + }, + "extensions": { + "type": "object", + "properties": { + "cmsPageRelation": { + "$ref": "#/components/schemas/PresentationCmsPage" } } }, - "navigation": { + "product": { + "$ref": "#/components/schemas/Product" + }, + "category": { + "$ref": "#/components/schemas/Category" + }, + "configurator": { "type": "array", "items": { - "type": "object", - "required": [ - "cmsPageId", - "groupId", - "groupName", - "index", - "sectionId", - "sectionName" - ], - "properties": { - "index": { - "type": "integer", - "description": "The slide position" - }, - "sectionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$", - "description": "The section id" - }, - "sectionName": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "The section name" - }, - "groupId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$", - "description": "The presentation CMS page id" - }, - "groupName": { - "type": "string", - "description": "The slide name" - }, - "cmsPageId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$", - "description": "The CMS page id" - }, - "isInstantListing": { - "type": "boolean", - "description": "If the slide is an instant listing" - }, - "pickedProductsCount": { - "type": "integer", - "description": "The number of picked products of the instant listing" - }, - "notes": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CmsSlot" - }, - "default": [] - } - } + "$ref": "#/components/schemas/PropertyGroup" } } }, "example": { - "cmsPageResults": [ - { - "resourceType": "frontend.presentation.page", - "resourceIdentifier": "45a2b8ad0bb544e48f61eab564a2171c", + "extensions": { + "cmsPageRelation": { + "translated": { + "title": null + }, + "createdAt": "2023-08-09T11:00:13.160+00:00", + "updatedAt": null, + "presentationId": "506cce706e914c1e8b083f05670d85c4", + "cmsPageId": "33e88c7994fa4cf79a1265e5105b93b2", + "title": null, + "productId": null, + "productStreamId": null, + "position": 2, + "isInstantListing": false, "cmsPage": { "versionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", "translated": { @@ -15307,25 +15445,22 @@ "customFields": [] }, "createdAt": "2023-08-03T17:24:09.000+00:00", - "updatedAt": "2023-08-10T04:30:28.668+00:00", + "updatedAt": null, "name": "Default Digital Sales Rooms product listing page", "type": "presentation_product_list", "entity": null, "sections": [ { - "extensions": { - "translations": [] - }, "translated": [], "createdAt": "2023-08-03T17:24:09.000+00:00", - "updatedAt": "2023-08-10T04:30:28.668+00:00", + "updatedAt": null, "type": "default", "blocks": [ { "versionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", "translated": [], "createdAt": "2023-08-03T17:24:09.000+00:00", - "updatedAt": "2023-08-10T04:30:28.667+00:00", + "updatedAt": null, "type": "product-listing", "slots": [ { @@ -15409,7 +15544,7 @@ } ], "sectionId": "2229e1f1208a4b8086baf7aec84f5e2c", - "position": 1, + "position": 0, "name": null, "sectionPosition": "main", "marginTop": "20px", @@ -15422,11 +15557,7 @@ "backgroundMediaMode": "cover", "cssClass": null, "cmsSectionVersionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", - "visibility": { - "mobile": true, - "tablet": true, - "desktop": true - }, + "visibility": null, "customFields": null, "apiAlias": "cms_block" } @@ -15442,11 +15573,7 @@ "backgroundMediaMode": "cover", "cssClass": null, "cmsPageVersionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", - "visibility": { - "mobile": true, - "tablet": true, - "desktop": true - }, + "visibility": null, "customFields": null, "apiAlias": "cms_section" } @@ -15461,1045 +15588,498 @@ "customFields": null, "apiAlias": "cms_page" }, - "apiAlias": "pwa_page_result" + "pickedProductIds": null, + "dsrPresentationVersionId": "213769ba28dd4ee788bdb49dc9ce53d2", + "id": "4ee08e142ed046eb99681594f67599f1", + "customFields": null, + "cmsPageVersionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", + "apiAlias": "dsr_presentation_cms_page" + } + }, + "cmsPage": { + "versionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", + "translated": { + "name": "Default Digital Sales Rooms product listing page", + "customFields": [] }, - { - "resourceType": "frontend.presentation.page", - "resourceIdentifier": "45a2b8ad0bb544e48f61eab564a2171c", - "cmsPage": { - "versionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", - "translated": { - "name": "Default Digital Sales Rooms product detail page", - "customFields": [] - }, + "createdAt": "2023-08-03T17:24:09.000+00:00", + "updatedAt": null, + "name": "Default Digital Sales Rooms product listing page", + "type": "presentation_product_list", + "entity": null, + "sections": [ + { + "translated": [], "createdAt": "2023-08-03T17:24:09.000+00:00", "updatedAt": null, - "name": "Default Digital Sales Rooms product detail page", - "type": "presentation_product_detail", - "entity": null, - "sections": [ + "type": "default", + "blocks": [ { - "extensions": { - "translations": [] - }, + "versionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", "translated": [], "createdAt": "2023-08-03T17:24:09.000+00:00", "updatedAt": null, - "type": "default", - "blocks": [ + "type": "product-listing", + "slots": [ { "versionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", - "translated": [], - "createdAt": "2023-08-03T17:24:09.000+00:00", - "updatedAt": null, - "type": "product-heading", - "slots": [ - { - "versionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", - "translated": { - "config": [], - "customFields": [] + "translated": { + "config": { + "filters": { + "value": "manufacturer-filter,rating-filter,price-filter,shipping-free-filter,property-filter", + "source": "static" }, - "createdAt": "2023-08-03T17:24:09.000+00:00", - "updatedAt": null, - "type": "like", - "slot": "right", - "block": null, - "blockId": "c0d3daba2e244122947438c28f776d41", - "config": [], - "fieldConfig": null, - "translations": null, - "data": null, - "locked": false, - "cmsBlockVersionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", - "customFields": null, - "apiAlias": "cms_slot" - }, - { - "versionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", - "translated": { - "config": { - "content": { - "value": "product.name", - "source": "mapped" - }, - "verticalAlign": { - "value": null, - "source": "static" - } - }, - "customFields": [] + "boxLayout": { + "value": "standard", + "source": "static" }, - "createdAt": "2023-08-03T17:24:09.000+00:00", - "updatedAt": null, - "type": "product-name", - "slot": "left", - "block": null, - "blockId": "c0d3daba2e244122947438c28f776d41", - "config": { - "content": { - "value": "product.name", - "source": "mapped" - }, - "verticalAlign": { - "value": null, - "source": "static" - } + "showSorting": { + "value": true, + "source": "static" }, - "fieldConfig": null, - "translations": null, - "data": null, - "locked": false, - "cmsBlockVersionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", - "customFields": null, - "apiAlias": "cms_slot" - } - ], - "sectionId": "f4aaa27972314e3c9b7f3bb35c7f8a10", - "position": 0, - "name": null, - "sectionPosition": "main", - "marginTop": "0", - "marginBottom": "20px", - "marginLeft": "0", - "marginRight": "0", - "backgroundColor": null, - "backgroundMediaId": null, - "backgroundMedia": null, - "backgroundMediaMode": "cover", - "cssClass": null, - "cmsSectionVersionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", - "visibility": null, - "customFields": null, - "apiAlias": "cms_block" - }, - { - "versionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", - "translated": [], + "defaultSorting": { + "value": "", + "source": "static" + }, + "useCustomSorting": { + "value": false, + "source": "static" + }, + "availableSortings": { + "value": [], + "source": "static" + }, + "propertyWhitelist": { + "value": [], + "source": "static" + } + }, + "customFields": [] + }, "createdAt": "2023-08-03T17:24:09.000+00:00", "updatedAt": null, - "type": "image-gallery-big", - "slots": [ - { - "versionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", - "translated": { - "config": { - "zoom": { - "value": true, - "source": "static" - }, - "minHeight": { - "value": "430px", - "source": "static" - }, - "fullScreen": { - "value": true, - "source": "static" - }, - "displayMode": { - "value": "contain", - "source": "static" - }, - "sliderItems": { - "value": "product.media", - "source": "mapped" - }, - "bigImageMode": { - "value": true, - "source": "static" - }, - "verticalAlign": { - "value": null, - "source": "static" - }, - "navigationDots": { - "value": "inside", - "source": "static" - }, - "galleryPosition": { - "value": "left", - "source": "static" - }, - "navigationArrows": { - "value": "inside", - "source": "static" - } - }, - "customFields": [] - }, - "createdAt": "2023-08-03T17:24:09.000+00:00", - "updatedAt": null, - "type": "image-gallery", - "slot": "imageGallery", - "block": null, - "blockId": "47cc4a3919794162982ea83f64a836fe", - "config": { - "zoom": { - "value": true, - "source": "static" - }, - "minHeight": { - "value": "430px", - "source": "static" - }, - "fullScreen": { - "value": true, - "source": "static" - }, - "displayMode": { - "value": "contain", - "source": "static" - }, - "sliderItems": { - "value": "product.media", - "source": "mapped" - }, - "bigImageMode": { - "value": true, - "source": "static" - }, - "verticalAlign": { - "value": null, - "source": "static" - }, - "navigationDots": { - "value": "inside", - "source": "static" - }, - "galleryPosition": { - "value": "left", - "source": "static" - }, - "navigationArrows": { - "value": "inside", - "source": "static" - } - }, - "fieldConfig": null, - "translations": null, - "data": null, - "locked": false, - "cmsBlockVersionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", - "customFields": null, - "apiAlias": "cms_slot" - } - ], - "sectionId": "f4aaa27972314e3c9b7f3bb35c7f8a10", - "position": 1, - "name": null, - "sectionPosition": "main", - "marginTop": "20px", - "marginBottom": "20px", - "marginLeft": "20px", - "marginRight": "20px", - "backgroundColor": null, - "backgroundMediaId": null, - "backgroundMedia": null, - "backgroundMediaMode": "cover", - "cssClass": null, - "cmsSectionVersionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", - "visibility": null, - "customFields": null, - "apiAlias": "cms_block" - }, - { - "versionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", - "translated": [], - "createdAt": "2023-08-03T17:24:09.000+00:00", - "updatedAt": null, - "type": "text-two-column", - "slots": [ - { - "versionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", - "translated": { - "config": { - "product": { - "value": null, - "source": "static" - }, - "alignment": { - "value": null, - "source": "static" - } - }, - "customFields": [] - }, - "createdAt": "2023-08-03T17:24:09.000+00:00", - "updatedAt": null, - "type": "buy-box", - "slot": "right", - "block": null, - "blockId": "095cd9a4eb49493aa95ea1e7a84a9503", - "config": { - "product": { - "value": null, - "source": "static" - }, - "alignment": { - "value": null, - "source": "static" - } - }, - "fieldConfig": null, - "translations": null, - "data": null, - "locked": false, - "cmsBlockVersionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", - "customFields": null, - "apiAlias": "cms_slot" + "type": "product-listing", + "slot": "content", + "block": null, + "blockId": "96ea8b9676a5461c9149d205d792ecf2", + "config": { + "filters": { + "value": "manufacturer-filter,rating-filter,price-filter,shipping-free-filter,property-filter", + "source": "static" }, - { - "versionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", - "translated": { - "config": { - "product": { - "value": null, - "source": "static" - }, - "alignment": { - "value": null, - "source": "static" - } - }, - "customFields": [] - }, - "createdAt": "2023-08-03T17:24:09.000+00:00", - "updatedAt": null, - "type": "product-description-reviews", - "slot": "left", - "block": null, - "blockId": "095cd9a4eb49493aa95ea1e7a84a9503", - "config": { - "product": { - "value": null, - "source": "static" - }, - "alignment": { - "value": null, - "source": "static" - } - }, - "fieldConfig": null, - "translations": null, - "data": null, - "locked": false, - "cmsBlockVersionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", - "customFields": null, - "apiAlias": "cms_slot" + "boxLayout": { + "value": "standard", + "source": "static" + }, + "showSorting": { + "value": true, + "source": "static" + }, + "defaultSorting": { + "value": "", + "source": "static" + }, + "useCustomSorting": { + "value": false, + "source": "static" + }, + "availableSortings": { + "value": [], + "source": "static" + }, + "propertyWhitelist": { + "value": [], + "source": "static" } - ], - "sectionId": "f4aaa27972314e3c9b7f3bb35c7f8a10", - "position": 2, - "name": null, - "sectionPosition": "main", - "marginTop": "20px", - "marginBottom": "20px", - "marginLeft": "20px", - "marginRight": "20px", - "backgroundColor": null, - "backgroundMediaId": null, - "backgroundMedia": null, - "backgroundMediaMode": "cover", - "cssClass": null, - "cmsSectionVersionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", - "visibility": null, - "customFields": null, - "apiAlias": "cms_block" - }, - { - "versionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", - "translated": [], - "createdAt": "2023-08-03T17:24:09.000+00:00", - "updatedAt": null, - "type": "cross-selling", - "slots": [ - { - "versionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", - "translated": { - "config": { - "product": { - "value": null, - "source": "static" - }, - "boxLayout": { - "value": "standard", - "source": "static" - }, - "elMinWidth": { - "value": "300px", - "source": "static" - }, - "displayMode": { - "value": "standard", - "source": "static" - } - }, - "customFields": [] - }, - "createdAt": "2023-08-03T17:24:09.000+00:00", - "updatedAt": null, - "type": "cross-selling", - "slot": "content", - "block": null, - "blockId": "2d69edd4faab493baa056c81ea8d131f", - "config": { - "product": { - "value": null, - "source": "static" - }, - "boxLayout": { - "value": "standard", - "source": "static" - }, - "elMinWidth": { - "value": "300px", - "source": "static" - }, - "displayMode": { - "value": "standard", - "source": "static" + }, + "fieldConfig": null, + "translations": null, + "data": { + "listing": { + "elements": [ + { + "versionId": null, + "translated": [], + "createdAt": null, + "updatedAt": null, + "parentId": null, + "childCount": null, + "taxId": null, + "manufacturerId": null, + "unitId": null, + "active": null, + "displayGroup": null, + "manufacturerNumber": null, + "ean": null, + "sales": null, + "productNumber": null, + "stock": null, + "availableStock": null, + "available": null, + "deliveryTimeId": null, + "deliveryTime": null, + "restockTime": null, + "isCloseout": null, + "purchaseSteps": null, + "maxPurchase": null, + "minPurchase": null, + "purchaseUnit": null, + "referenceUnit": null, + "shippingFree": null, + "markAsTopseller": null, + "weight": null, + "width": null, + "height": null, + "length": null, + "releaseDate": null, + "categoryTree": null, + "streamIds": null, + "optionIds": null, + "propertyIds": null, + "name": null, + "keywords": null, + "description": null, + "metaDescription": null, + "metaTitle": null, + "packUnit": null, + "packUnitPlural": null, + "tax": null, + "manufacturer": null, + "unit": null, + "cover": null, + "parent": null, + "children": null, + "media": null, + "cmsPageId": null, + "cmsPage": null, + "translations": null, + "categories": null, + "properties": null, + "options": null, + "configuratorSettings": null, + "categoriesRo": null, + "coverId": null, + "categoryIds": null, + "productReviews": null, + "ratingAverage": null, + "mainCategories": null, + "seoUrls": null, + "crossSellings": null, + "canonicalProductId": null, + "canonicalProduct": null, + "streams": null, + "downloads": null, + "states": [], + "id": "a32702bb0b1443e3881c3b9a38c09169", + "customFields": null, + "apiAlias": "product" } - }, - "fieldConfig": null, - "translations": null, - "data": null, - "locked": false, - "cmsBlockVersionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", - "customFields": null, - "apiAlias": "cms_slot" - } - ], - "sectionId": "f4aaa27972314e3c9b7f3bb35c7f8a10", - "position": 3, - "name": null, - "sectionPosition": "main", - "marginTop": "0", - "marginBottom": "0", - "marginLeft": "0", - "marginRight": "0", - "backgroundColor": null, - "backgroundMediaId": null, - "backgroundMedia": null, - "backgroundMediaMode": "cover", - "cssClass": null, - "cmsSectionVersionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", - "visibility": null, + ], + "aggregations": [], + "page": 1, + "limit": null, + "entity": "product", + "total": 0, + "states": [], + "apiAlias": "dal_entity_search_result" + }, + "apiAlias": "cms_product_listing" + }, + "locked": false, + "cmsBlockVersionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", "customFields": null, - "apiAlias": "cms_block" + "apiAlias": "cms_slot" } ], - "pageId": "bea211b5099241719830df8026624f7f", - "page": null, + "sectionId": "2229e1f1208a4b8086baf7aec84f5e2c", "position": 0, - "sizingMode": "boxed", - "mobileBehavior": "wrap", + "name": null, + "sectionPosition": "main", + "marginTop": "20px", + "marginBottom": "20px", + "marginLeft": "20px", + "marginRight": "20px", "backgroundColor": null, "backgroundMediaId": null, "backgroundMedia": null, "backgroundMediaMode": "cover", "cssClass": null, - "cmsPageVersionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", + "cmsSectionVersionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", "visibility": null, "customFields": null, - "apiAlias": "cms_section" + "apiAlias": "cms_block" } ], - "translations": null, + "pageId": "33e88c7994fa4cf79a1265e5105b93b2", + "page": null, + "position": 0, + "sizingMode": "boxed", + "mobileBehavior": "wrap", + "backgroundColor": null, + "backgroundMediaId": null, + "backgroundMedia": null, + "backgroundMediaMode": "cover", "cssClass": null, - "config": null, - "previewMediaId": null, - "previewMedia": null, - "landingPages": null, - "id": "bea211b5099241719830df8026624f7f", + "cmsPageVersionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", + "visibility": null, "customFields": null, - "apiAlias": "cms_page" - }, - "apiAlias": "pwa_page_result" + "apiAlias": "cms_section" + } + ], + "translations": null, + "cssClass": null, + "config": null, + "previewMediaId": null, + "previewMedia": null, + "landingPages": null, + "id": "33e88c7994fa4cf79a1265e5105b93b2", + "customFields": null, + "apiAlias": "cms_page" + }, + "category": { + "versionId": null, + "translated": { + "breadcrumb": [] }, - { - "resourceType": "frontend.presentation.page", - "resourceIdentifier": "45a2b8ad0bb544e48f61eab564a2171c", - "cmsPage": { - "versionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", - "translated": { - "name": "Ended presentation page", - "customFields": [] - }, - "createdAt": "2023-08-03T17:24:09.000+00:00", - "updatedAt": null, - "name": "Ended presentation page", - "type": "presentation_product_list", - "entity": null, - "sections": [ - { - "extensions": { - "translations": [] - }, - "translated": [], - "createdAt": "2023-08-03T17:24:09.000+00:00", - "updatedAt": null, - "type": "default", - "blocks": [ - { - "versionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", - "translated": [], - "createdAt": "2023-08-03T17:24:09.000+00:00", - "updatedAt": null, - "type": "text-hero", - "slots": [ - { - "versionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", - "translated": { - "config": { - "content": { - "value": "
Thank you for your attention!
Below you can find all products wich were presented to you.
", - "source": "static" - }, - "verticalAlign": { - "value": null, - "source": "static" - } - }, - "customFields": [] - }, - "createdAt": "2023-08-03T17:24:09.000+00:00", - "updatedAt": null, - "type": "text", - "slot": "content", - "block": null, - "blockId": "c49b01e9c6624973b9cdd1992d3c009a", - "config": { - "content": { - "value": "Thank you for your attention!
Below you can find all products wich were presented to you.
", - "source": "static" - }, - "verticalAlign": { - "value": null, - "source": "static" - } - }, - "fieldConfig": null, - "translations": null, - "data": null, - "locked": false, - "cmsBlockVersionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", - "customFields": null, - "apiAlias": "cms_slot" - } - ], - "sectionId": "0a5e89814463470684a734b975add4ed", - "position": 0, - "name": null, - "sectionPosition": "main", - "marginTop": "20px", - "marginBottom": "20px", - "marginLeft": "20px", - "marginRight": "20px", - "backgroundColor": null, - "backgroundMediaId": null, - "backgroundMedia": null, - "backgroundMediaMode": "cover", - "cssClass": null, - "cmsSectionVersionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", - "visibility": null, - "customFields": null, - "apiAlias": "cms_block" - }, - { - "versionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", - "translated": [], - "createdAt": "2023-08-03T17:24:09.000+00:00", - "updatedAt": null, - "type": "product-listing", - "slots": [ - { - "versionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", - "translated": { - "config": { - "filters": { - "value": "manufacturer-filter,rating-filter,price-filter,shipping-free-filter,property-filter", - "source": "static" - }, - "boxLayout": { - "value": "standard", - "source": "static" - }, - "showSorting": { - "value": true, - "source": "static" - }, - "defaultSorting": { - "value": "", - "source": "static" - }, - "useCustomSorting": { - "value": false, - "source": "static" - }, - "availableSortings": { - "value": [], - "source": "static" - }, - "propertyWhitelist": { - "value": [], - "source": "static" - } - }, - "customFields": [] - }, - "createdAt": "2023-08-03T17:24:09.000+00:00", - "updatedAt": null, - "type": "product-listing", - "slot": "content", - "block": null, - "blockId": "0a13f5daa9be4e7b8ed5e3ecaba79fe6", - "config": { - "filters": { - "value": "manufacturer-filter,rating-filter,price-filter,shipping-free-filter,property-filter", - "source": "static" - }, - "boxLayout": { - "value": "standard", - "source": "static" - }, - "showSorting": { - "value": true, - "source": "static" - }, - "defaultSorting": { - "value": "", - "source": "static" - }, - "useCustomSorting": { - "value": false, - "source": "static" - }, - "availableSortings": { - "value": [], - "source": "static" - }, - "propertyWhitelist": { - "value": [], - "source": "static" - } - }, - "fieldConfig": null, - "translations": null, - "data": null, - "locked": false, - "cmsBlockVersionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", - "customFields": null, - "apiAlias": "cms_slot" - } - ], - "sectionId": "0a5e89814463470684a734b975add4ed", - "position": 1, - "name": null, - "sectionPosition": "main", - "marginTop": "20px", - "marginBottom": "20px", - "marginLeft": "20px", - "marginRight": "20px", - "backgroundColor": null, - "backgroundMediaId": null, - "backgroundMedia": null, - "backgroundMediaMode": "cover", - "cssClass": null, - "cmsSectionVersionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", - "visibility": null, - "customFields": null, - "apiAlias": "cms_block" - } - ], - "pageId": "8ea80092faa744559409f3e9f7adcc6b", - "page": null, - "position": 0, - "sizingMode": "boxed", - "mobileBehavior": "wrap", - "backgroundColor": null, - "backgroundMediaId": null, - "backgroundMedia": null, - "backgroundMediaMode": "cover", - "cssClass": null, - "cmsPageVersionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", - "visibility": null, - "customFields": null, - "apiAlias": "cms_section" + "createdAt": null, + "updatedAt": null, + "afterCategoryId": null, + "parentId": null, + "mediaId": null, + "name": null, + "breadcrumb": [], + "path": null, + "level": null, + "active": null, + "childCount": null, + "visibleChildCount": 0, + "displayNestedProducts": null, + "parent": null, + "children": null, + "translations": null, + "media": null, + "cmsPageId": null, + "cmsPageIdSwitched": false, + "cmsPage": null, + "linkType": null, + "linkNewTab": null, + "internalLink": null, + "externalLink": null, + "visible": null, + "type": null, + "productAssignmentType": null, + "description": null, + "metaTitle": null, + "metaDescription": null, + "keywords": null, + "seoUrls": null, + "customEntityTypeId": null, + "id": "34f21c5eb6d54a939f10973204aa5f08", + "customFields": null, + "apiAlias": "category" + }, + "apiAlias": "pwa_page_result" + } + }, + "ProductPayload": { + "type": "object", + "required": [ + "productId" + ], + "properties": { + "productId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$", + "description": "the id from the product which is used in the interaction" + } + } + }, + "DiscountLineItemPayload": { + "type": "object", + "properties": { + "discountType": { + "type": "string", + "enum": [ + "percentage", + "absolute" + ] + }, + "discountValue": { + "type": "number", + "format": "float", + "maximum": 0 + }, + "discountPrice": { + "type": "number", + "format": "float", + "maximum": 0 + } + } + }, + "PresentationCmsPage": { + "allOf": [ + { + "$ref": "#/components/schemas/DsrPresentationCmsPage" + }, + { + "type": "object", + "properties": { + "pickedProductIds": { + "anyOf": [ + { + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$", + "description": "Product id" + } + }, + { + "type": "null" } ], - "translations": null, - "cssClass": null, - "config": null, - "previewMediaId": null, - "previewMedia": null, - "landingPages": null, - "id": "8ea80092faa744559409f3e9f7adcc6b", - "customFields": null, - "apiAlias": "cms_page" - }, - "apiAlias": "pwa_page_result" - } - ], - "navigation": [ - { - "groupName": "Default Digital Sales Rooms product listing page", - "groupId": "468b0e34237a44ad8f8a8d5e0b72b78f", - "cmsPageId": "33e88c7994fa4cf79a1265e5105b93b2", - "name": null, - "id": "2229e1f1208a4b8086baf7aec84f5e2c", - "index": 1, - "notes": [ - { - "extensions": { - "foreignKeys": { - "extensions": [], - "apiAlias": "cms_slot_foreign_keys_extension" - } - }, - "_uniqueIdentifier": "de28c711c20b4ad0a54871d5a23109fc", - "versionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", - "translated": { - "config": { - "content": { - "value": "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, \n sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, \n sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. \n Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. \n Lorem ipsum dolor sit amet, consetetur sadipscing elitr, \n sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. \n At vero eos et accusam et justo duo dolores et ea rebum. \n Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
", - "source": "static" - }, - "verticalAlign": { - "value": null, - "source": "static" - } - }, - "customFields": [] - }, - "createdAt": "2023-08-10T04:30:28.649+00:00", - "updatedAt": null, - "type": "notes", - "slot": "content", - "block": null, - "blockId": "978ca9beff6e4edca6d5263fac254e13", - "config": { - "content": { - "value": "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, \n sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, \n sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. \n Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. \n Lorem ipsum dolor sit amet, consetetur sadipscing elitr, \n sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. \n At vero eos et accusam et justo duo dolores et ea rebum. \n Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
", - "source": "static" - }, - "verticalAlign": { - "value": null, - "source": "static" - } - }, - "fieldConfig": null, - "translations": null, - "data": null, - "locked": false, - "cmsBlockVersionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", - "id": "de28c711c20b4ad0a54871d5a23109fc", - "customFields": null - } - ] - }, - { - "groupName": "Default Digital Sales Rooms product detail page", - "groupId": "52f1e61cd45945a0b72bd613d1268d65", - "cmsPageId": "bea211b5099241719830df8026624f7f", - "name": null, - "id": "f4aaa27972314e3c9b7f3bb35c7f8a10", - "index": 2, - "notes": [] - }, - { - "groupName": "Ended presentation page", - "groupId": "b073190abe03407993f41b8d5bc8ba57", - "cmsPageId": "8ea80092faa744559409f3e9f7adcc6b", - "name": null, - "id": "0a5e89814463470684a734b975add4ed", - "index": 3, - "notes": [] + "description": "The product id is assigned to presentation if it's product listing or instant listing" + } } - ], - "apiAlias": "pwa_page_result" - } + } + ] }, - "JoinAppointmentResponse": { + "ProductPageResult": { "type": "object", - "description": "Includes all data you will need to attend to a appointment.", "properties": { - "mercureSubscriberTopics": { - "type": "array", - "items": { - "type": "string", - "description": "mercure topic" - }, - "description": "The topics to which the attendee/guide can subscribe for" + "cmsPage": { + "$ref": "#/components/schemas/CmsPage" }, - "mercurePublisherTopic": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "The topic to which the attendee/guide can send updates" + "product": { + "$ref": "#/components/schemas/Product" }, - "JWTMercureSubscriberToken": { + "configurator": { "oneOf": [ { - "type": "string" + "$ref": "#/components/schemas/PropertyGroup" }, { "type": "null" } - ], - "description": "The JWT mercure token to publish updates" + ] }, - "mercureHubPublicUrl": { - "oneOf": [ - { - "type": "string" + "apiAlias": { + "type": "string" + } + } + }, + "AttendeeRespondInvitationResponse": { + "type": "object", + "properties": { + "appointment": { + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$", + "description": "The appointment id" }, - { - "type": "null" + "accessibleFrom": { + "type": "string", + "format": "date-time", + "description": "The time the client can access the appointment" + }, + "accessibleTo": { + "type": "string", + "format": "date-time", + "description": "The time the appointment will be closed, the client can not access" + }, + "status": { + "anyOf": [ + { + "type": "string", + "enum": [ + "started", + "ended" + ] + }, + { + "type": "null" + } + ], + "description": "The appointment status" } - ], - "description": "The mercure hub url to connect for subscribing and updating" + } }, - "JWTMercurePublisherToken": { + "answer": { + "type": "string", + "enum": [ + "accepted", + "maybe", + "declined" + ], + "description": "The invitation status that client responded to" + } + } + }, + "DynamicPageClosedPayload": { + "type": "object", + "properties": { + "pageId": { "oneOf": [ { - "type": "string" + "type": "string", + "pattern": "^[a-f0-9]{32}$" }, { "type": "null" } ], - "description": "The JWT mercure token to subscribe for updates" + "pattern": "^[a-f0-9]{32}$", + "description": "The id of the page that was closed" }, - "id": { + "all": { + "type": "boolean", + "default": false, + "description": "Whether all pages were closed" + } + } + }, + "CreateAppointmentRequestBody": { + "type": "object", + "description": "Includes all data you will need to attend to a appointment.", + "required": [ + "salutationId", + "firstName", + "lastName", + "emailAddress", + "subject" + ], + "properties": { + "salutationId": { "type": "string", "pattern": "^[0-9a-f]{32}$", - "description": "The appointment id" + "description": "The id of the salutation" }, - "newContextToken": { + "firstName": { "type": "string", - "description": "The new context token will be used in the header (sw-context-token) for calling the other routes" + "description": "The first name of the requester" }, - "attendeeId": { + "lastName": { "type": "string", - "pattern": "^[0-9a-f]{32}$", - "description": "The created Id for the attendee" + "description": "The last name of the requester" }, - "salesChannelId": { + "emailAddress": { "type": "string", - "pattern": "^[0-9a-f]{32}$", - "description": "The id of the current sales channel" + "format": "email", + "description": "The email address of the requester" }, - "salesChannelName": { + "companyName": { "type": "string", - "description": "The name of the current sales channel" + "description": "The company name of the requester" }, - "appointmentName": { + "phoneNumber": { "type": "string", - "description": "The name of the appointment" + "description": "The phone number of the requester" }, - "presentationGuideMode": { + "subject": { "type": "string", - "enum": [ - "self", - "guided" - ], - "description": "The type of the appointment" - }, - "isPreview": { - "type": "boolean", - "description": "To see if it's a preview appointment" - }, - "attendeeName": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "The name of the attendee" - }, - "videoUserId": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "The video user id that attendee could use" - }, - "b2bFeatures": { - "type": "object", - "description": "The b2b features that available for the appointment", - "properties": { - "quoteManagement": { - "type": "boolean", - "description": "To know if the quote management is enabled for current customer" - } - } - } - }, - "example": { - "mercureSubscriberTopics": [ - "gs-guide-actions-2d2c358f1ca04098aacf12873c2eed82", - "gs-presentation-state-for-client-2d2c358f1ca04098aacf12873c2eed82", - "gs-presentation-state-for-all-2d2c358f1ca04098aacf12873c2eed82" - ], - "mercurePublisherTopic": "gs-client-actions-2d2c358f1ca04098aacf12873c2eed82", - "JWTMercureSubscriberToken": "jwt token for subscribing to updates", - "mercureHubPublicUrl": "http://localhost:8081/.well-known/mercure", - "JWTMercurePublisherToken": "jwt token for publishing updates", - "attendeeName": "attendee name", - "videoUserId": null, - "b2bFeatures": { - "feature1": false, - "feature2": true - }, - "id": "2d2c358f1ca04098aacf12873c2eed82", - "newContextToken": "new context token to call the other routes", - "attendeeId": "b6358241e4ad4a4e99d0f729d21d63be", - "salesChannelId": "4a791ec7f9ff46b2ad67ae2f562891d3", - "salesChannelName": "Storefront", - "appointmentName": "Test Appointment", - "presentationGuideMode": "guided", - "isPreview": false, - "apiAlias": "swag_digital_sales_rooms_content_appointment_struct_appointment_join_struct" - } - }, - "AttendeeProductCollectionResponse": { - "type": "object", - "properties": { - "collection": { - "type": "object", - "anyOf": [ - { - "type": "object", - "properties": { - "liked": { - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$", - "description": "Product ids from the collection" - } - } - } - }, - { - "type": "object", - "properties": { - "disliked": { - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$", - "description": "Product ids from the collection" - } - } - } - } - ] - } - }, - "example": { - "collection": { - "liked": [ - "0015b3d83df441e490da7f6880a9c2da", - "60793d25cbab473f92c405ce0525f3ec" - ] - } - } - }, - "DynamicProductPageOpenedPayload": { - "allOf": [ - { - "$ref": "#/components/schemas/AbstractDynamicPageOpenedPayload" - } - ], - "required": [ - "productId" - ], - "properties": { - "productId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$", - "description": "the id from the product which is shown on the dynamic page" - } - } - }, - "UpdateAttendeeRequestBody": { - "type": "object", - "properties": { - "attendeeName": { - "type": "string", - "description": "Name of the attendee" - }, - "videoUserId": { - "type": "string", - "description": "Id of the attendee in the video chat tool" - } - } - }, - "ScreenSharingToggledPayload": { - "type": "object", - "required": [ - "active" - ], - "properties": { - "active": { - "type": "boolean", - "description": "Whether the screen sharing is active or not" - } - } - }, - "CreateAppointmentRequestBody": { - "type": "object", - "description": "Includes all data you will need to attend to a appointment.", - "required": [ - "salutationId", - "firstName", - "lastName", - "emailAddress", - "subject" - ], - "properties": { - "salutationId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$", - "description": "The id of the salutation" - }, - "firstName": { - "type": "string", - "description": "The first name of the requester" - }, - "lastName": { - "type": "string", - "description": "The last name of the requester" - }, - "emailAddress": { - "type": "string", - "format": "email", - "description": "The email address of the requester" - }, - "companyName": { - "type": "string", - "description": "The company name of the requester" - }, - "phoneNumber": { - "type": "string", - "description": "The phone number of the requester" - }, - "subject": { - "type": "string", - "description": "The subject of the appointment" + "description": "The subject of the appointment" }, "message": { "type": "string", @@ -16520,115 +16100,200 @@ "requestedById": "7b7c358f1ca04098aacf12873c2eed94" } }, - "DiscountLineItemPayload": { + "PageViewedPayload": { "type": "object", + "required": [ + "pageId", + "sectionId", + "slideAlias" + ], "properties": { - "discountType": { + "pageId": { "type": "string", - "enum": [ - "percentage", - "absolute" - ] + "pattern": "^[0-9a-f]{32}$", + "description": "the id from the page which was viewed" }, - "discountValue": { - "type": "number", - "format": "float", - "maximum": 0 + "sectionId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$", + "description": "the id from the section within the page which was viewed" }, - "discountPrice": { + "slideAlias": { "type": "number", - "format": "float", - "maximum": 0 + "description": "the alias of the slide which was viewed" + }, + "pageNumber": { + "oneOf": [ + { + "type": "integer", + "description": "the number of the page which was viewed" + }, + { + "type": "null" + } + ] } } }, - "EmptyPayload": { - "type": "object", - "properties": [] - }, - "AttendeeProductCollectionLastSeenResponse": { + "ClientPresentationStateResponse": { "type": "object", "properties": { - "collection": { - "type": "object", - "properties": { - "lastSeen": { - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$", - "description": "Product ids from the collection" - } - } - } + "stateForAll": { + "$ref": "#/components/schemas/StateForAll" + }, + "stateForClients": { + "$ref": "#/components/schemas/StateForClients" } }, "example": { - "collection": { - "lastSeen": [ - "0015b3d83df441e490da7f6880a9c2da", - "60793d25cbab473f92c405ce0525f3ec" - ] - } - } - }, - "BasePresentationSlideData": { - "properties": { - "cmsPage": { - "$ref": "#/components/schemas/CmsPage" - }, - "extensions": { - "type": "object", - "properties": { - "cmsPageRelation": { - "$ref": "#/components/schemas/PresentationCmsPage" + "stateForAll": { + "currentGuideProductId": null, + "lastActiveGuideSection": null, + "currentPageId": null, + "currentSectionId": null, + "currentSlideAlias": 0, + "currentDynamicPage": null, + "started": false, + "running": false, + "ended": false, + "startedAt": null, + "endedAt": null, + "accessibleFrom": null, + "accessibleTo": null, + "appointmentMode": "guided", + "videoAudioSettings": "both", + "videoRoomUrl": "", + "attendeeRestrictionType": "open", + "productDetailDefaultPageId": "bea211b5099241719830df8026624f7f", + "quickviewPageId": "182d3f7f988044adbba449b70c8bc472", + "productListingDefaultPageId": "33e88c7994fa4cf79a1265e5105b93b2", + "broadcastMode": false, + "extensions": [] + }, + "stateForClients": { + "videoClientToken": null, + "hoveredElementId": null, + "extensions": [] + }, + "apiAlias": "swag_digital_sales_rooms_content_presentation_state_sales_channel_get_get_client_presentation_state_struct" + } + }, + "GuideHoveredPayload": { + "type": "object", + "properties": { + "hoveredElementId": { + "anyOf": [ + { + "type": "string", + "pattern": "^[0-9a-f]{32}$", + "description": "the id from the product which is used in the interaction" + }, + { + "type": "null" } - } + ] } } }, - "PresentationSlideData": { + "PresentationStructure": { "type": "object", + "required": [ + "cmsPageResults", + "navigation" + ], "properties": { - "cmsPage": { - "$ref": "#/components/schemas/CmsPage" - }, - "extensions": { - "type": "object", - "properties": { - "cmsPageRelation": { - "$ref": "#/components/schemas/PresentationCmsPage" + "cmsPageResults": { + "type": "array", + "items": { + "type": "object", + "properties": { + "resourceType": { + "type": "string", + "description": "The type of presentation page", + "default": "frontend.presentation.page" + }, + "resourceIdentifier": { + "type": "string", + "pattern": "^[0-9a-f]{32}$", + "description": "The presentation id" + }, + "cmsPage": { + "$ref": "#/components/schemas/CmsPage" + } } } }, - "product": { - "$ref": "#/components/schemas/Product" - }, - "category": { - "$ref": "#/components/schemas/Category" - }, - "configurator": { + "navigation": { "type": "array", "items": { - "$ref": "#/components/schemas/PropertyGroup" + "type": "object", + "required": [ + "cmsPageId", + "groupId", + "groupName", + "index", + "sectionId", + "sectionName" + ], + "properties": { + "index": { + "type": "integer", + "description": "The slide position" + }, + "sectionId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$", + "description": "The section id" + }, + "sectionName": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "The section name" + }, + "groupId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$", + "description": "The presentation CMS page id" + }, + "groupName": { + "type": "string", + "description": "The slide name" + }, + "cmsPageId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$", + "description": "The CMS page id" + }, + "isInstantListing": { + "type": "boolean", + "description": "If the slide is an instant listing" + }, + "pickedProductsCount": { + "type": "integer", + "description": "The number of picked products of the instant listing" + }, + "notes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CmsSlot" + }, + "default": [] + } + } } } }, "example": { - "extensions": { - "cmsPageRelation": { - "translated": { - "title": null - }, - "createdAt": "2023-08-09T11:00:13.160+00:00", - "updatedAt": null, - "presentationId": "506cce706e914c1e8b083f05670d85c4", - "cmsPageId": "33e88c7994fa4cf79a1265e5105b93b2", - "title": null, - "productId": null, - "productStreamId": null, - "position": 2, - "isInstantListing": false, + "cmsPageResults": [ + { + "resourceType": "frontend.presentation.page", + "resourceIdentifier": "45a2b8ad0bb544e48f61eab564a2171c", "cmsPage": { "versionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", "translated": { @@ -16636,22 +16301,25 @@ "customFields": [] }, "createdAt": "2023-08-03T17:24:09.000+00:00", - "updatedAt": null, + "updatedAt": "2023-08-10T04:30:28.668+00:00", "name": "Default Digital Sales Rooms product listing page", "type": "presentation_product_list", "entity": null, "sections": [ { + "extensions": { + "translations": [] + }, "translated": [], "createdAt": "2023-08-03T17:24:09.000+00:00", - "updatedAt": null, + "updatedAt": "2023-08-10T04:30:28.668+00:00", "type": "default", "blocks": [ { "versionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", "translated": [], "createdAt": "2023-08-03T17:24:09.000+00:00", - "updatedAt": null, + "updatedAt": "2023-08-10T04:30:28.667+00:00", "type": "product-listing", "slots": [ { @@ -16735,7 +16403,7 @@ } ], "sectionId": "2229e1f1208a4b8086baf7aec84f5e2c", - "position": 0, + "position": 1, "name": null, "sectionPosition": "main", "marginTop": "20px", @@ -16748,7 +16416,11 @@ "backgroundMediaMode": "cover", "cssClass": null, "cmsSectionVersionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", - "visibility": null, + "visibility": { + "mobile": true, + "tablet": true, + "desktop": true + }, "customFields": null, "apiAlias": "cms_block" } @@ -16764,7 +16436,11 @@ "backgroundMediaMode": "cover", "cssClass": null, "cmsPageVersionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", - "visibility": null, + "visibility": { + "mobile": true, + "tablet": true, + "desktop": true + }, "customFields": null, "apiAlias": "cms_section" } @@ -16779,2458 +16455,2376 @@ "customFields": null, "apiAlias": "cms_page" }, - "pickedProductIds": null, - "dsrPresentationVersionId": "213769ba28dd4ee788bdb49dc9ce53d2", - "id": "4ee08e142ed046eb99681594f67599f1", - "customFields": null, - "cmsPageVersionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", - "apiAlias": "dsr_presentation_cms_page" - } - }, - "cmsPage": { - "versionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", - "translated": { - "name": "Default Digital Sales Rooms product listing page", - "customFields": [] + "apiAlias": "pwa_page_result" }, - "createdAt": "2023-08-03T17:24:09.000+00:00", - "updatedAt": null, - "name": "Default Digital Sales Rooms product listing page", - "type": "presentation_product_list", - "entity": null, - "sections": [ - { - "translated": [], + { + "resourceType": "frontend.presentation.page", + "resourceIdentifier": "45a2b8ad0bb544e48f61eab564a2171c", + "cmsPage": { + "versionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", + "translated": { + "name": "Default Digital Sales Rooms product detail page", + "customFields": [] + }, "createdAt": "2023-08-03T17:24:09.000+00:00", "updatedAt": null, - "type": "default", - "blocks": [ + "name": "Default Digital Sales Rooms product detail page", + "type": "presentation_product_detail", + "entity": null, + "sections": [ { - "versionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", + "extensions": { + "translations": [] + }, "translated": [], "createdAt": "2023-08-03T17:24:09.000+00:00", "updatedAt": null, - "type": "product-listing", - "slots": [ + "type": "default", + "blocks": [ { "versionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", - "translated": { - "config": { - "filters": { - "value": "manufacturer-filter,rating-filter,price-filter,shipping-free-filter,property-filter", - "source": "static" - }, - "boxLayout": { - "value": "standard", - "source": "static" + "translated": [], + "createdAt": "2023-08-03T17:24:09.000+00:00", + "updatedAt": null, + "type": "product-heading", + "slots": [ + { + "versionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", + "translated": { + "config": [], + "customFields": [] }, - "showSorting": { - "value": true, - "source": "static" + "createdAt": "2023-08-03T17:24:09.000+00:00", + "updatedAt": null, + "type": "like", + "slot": "right", + "block": null, + "blockId": "c0d3daba2e244122947438c28f776d41", + "config": [], + "fieldConfig": null, + "translations": null, + "data": null, + "locked": false, + "cmsBlockVersionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", + "customFields": null, + "apiAlias": "cms_slot" + }, + { + "versionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", + "translated": { + "config": { + "content": { + "value": "product.name", + "source": "mapped" + }, + "verticalAlign": { + "value": null, + "source": "static" + } + }, + "customFields": [] }, - "defaultSorting": { - "value": "", - "source": "static" + "createdAt": "2023-08-03T17:24:09.000+00:00", + "updatedAt": null, + "type": "product-name", + "slot": "left", + "block": null, + "blockId": "c0d3daba2e244122947438c28f776d41", + "config": { + "content": { + "value": "product.name", + "source": "mapped" + }, + "verticalAlign": { + "value": null, + "source": "static" + } }, - "useCustomSorting": { - "value": false, - "source": "static" + "fieldConfig": null, + "translations": null, + "data": null, + "locked": false, + "cmsBlockVersionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", + "customFields": null, + "apiAlias": "cms_slot" + } + ], + "sectionId": "f4aaa27972314e3c9b7f3bb35c7f8a10", + "position": 0, + "name": null, + "sectionPosition": "main", + "marginTop": "0", + "marginBottom": "20px", + "marginLeft": "0", + "marginRight": "0", + "backgroundColor": null, + "backgroundMediaId": null, + "backgroundMedia": null, + "backgroundMediaMode": "cover", + "cssClass": null, + "cmsSectionVersionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", + "visibility": null, + "customFields": null, + "apiAlias": "cms_block" + }, + { + "versionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", + "translated": [], + "createdAt": "2023-08-03T17:24:09.000+00:00", + "updatedAt": null, + "type": "image-gallery-big", + "slots": [ + { + "versionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", + "translated": { + "config": { + "zoom": { + "value": true, + "source": "static" + }, + "minHeight": { + "value": "430px", + "source": "static" + }, + "fullScreen": { + "value": true, + "source": "static" + }, + "displayMode": { + "value": "contain", + "source": "static" + }, + "sliderItems": { + "value": "product.media", + "source": "mapped" + }, + "bigImageMode": { + "value": true, + "source": "static" + }, + "verticalAlign": { + "value": null, + "source": "static" + }, + "navigationDots": { + "value": "inside", + "source": "static" + }, + "galleryPosition": { + "value": "left", + "source": "static" + }, + "navigationArrows": { + "value": "inside", + "source": "static" + } + }, + "customFields": [] }, - "availableSortings": { - "value": [], - "source": "static" + "createdAt": "2023-08-03T17:24:09.000+00:00", + "updatedAt": null, + "type": "image-gallery", + "slot": "imageGallery", + "block": null, + "blockId": "47cc4a3919794162982ea83f64a836fe", + "config": { + "zoom": { + "value": true, + "source": "static" + }, + "minHeight": { + "value": "430px", + "source": "static" + }, + "fullScreen": { + "value": true, + "source": "static" + }, + "displayMode": { + "value": "contain", + "source": "static" + }, + "sliderItems": { + "value": "product.media", + "source": "mapped" + }, + "bigImageMode": { + "value": true, + "source": "static" + }, + "verticalAlign": { + "value": null, + "source": "static" + }, + "navigationDots": { + "value": "inside", + "source": "static" + }, + "galleryPosition": { + "value": "left", + "source": "static" + }, + "navigationArrows": { + "value": "inside", + "source": "static" + } }, - "propertyWhitelist": { - "value": [], - "source": "static" - } - }, - "customFields": [] - }, + "fieldConfig": null, + "translations": null, + "data": null, + "locked": false, + "cmsBlockVersionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", + "customFields": null, + "apiAlias": "cms_slot" + } + ], + "sectionId": "f4aaa27972314e3c9b7f3bb35c7f8a10", + "position": 1, + "name": null, + "sectionPosition": "main", + "marginTop": "20px", + "marginBottom": "20px", + "marginLeft": "20px", + "marginRight": "20px", + "backgroundColor": null, + "backgroundMediaId": null, + "backgroundMedia": null, + "backgroundMediaMode": "cover", + "cssClass": null, + "cmsSectionVersionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", + "visibility": null, + "customFields": null, + "apiAlias": "cms_block" + }, + { + "versionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", + "translated": [], "createdAt": "2023-08-03T17:24:09.000+00:00", "updatedAt": null, - "type": "product-listing", - "slot": "content", - "block": null, - "blockId": "96ea8b9676a5461c9149d205d792ecf2", - "config": { - "filters": { - "value": "manufacturer-filter,rating-filter,price-filter,shipping-free-filter,property-filter", - "source": "static" - }, - "boxLayout": { - "value": "standard", - "source": "static" - }, - "showSorting": { - "value": true, - "source": "static" - }, - "defaultSorting": { - "value": "", - "source": "static" - }, - "useCustomSorting": { - "value": false, - "source": "static" - }, - "availableSortings": { - "value": [], - "source": "static" - }, - "propertyWhitelist": { - "value": [], - "source": "static" - } - }, - "fieldConfig": null, - "translations": null, - "data": { - "listing": { - "elements": [ - { - "versionId": null, - "translated": [], - "createdAt": null, - "updatedAt": null, - "parentId": null, - "childCount": null, - "taxId": null, - "manufacturerId": null, - "unitId": null, - "active": null, - "displayGroup": null, - "manufacturerNumber": null, - "ean": null, - "sales": null, - "productNumber": null, - "stock": null, - "availableStock": null, - "available": null, - "deliveryTimeId": null, - "deliveryTime": null, - "restockTime": null, - "isCloseout": null, - "purchaseSteps": null, - "maxPurchase": null, - "minPurchase": null, - "purchaseUnit": null, - "referenceUnit": null, - "shippingFree": null, - "markAsTopseller": null, - "weight": null, - "width": null, - "height": null, - "length": null, - "releaseDate": null, - "categoryTree": null, - "streamIds": null, - "optionIds": null, - "propertyIds": null, - "name": null, - "keywords": null, - "description": null, - "metaDescription": null, - "metaTitle": null, - "packUnit": null, - "packUnitPlural": null, - "tax": null, - "manufacturer": null, - "unit": null, - "cover": null, - "parent": null, - "children": null, - "media": null, - "cmsPageId": null, - "cmsPage": null, - "translations": null, - "categories": null, - "properties": null, - "options": null, - "configuratorSettings": null, - "categoriesRo": null, - "coverId": null, - "categoryIds": null, - "productReviews": null, - "ratingAverage": null, - "mainCategories": null, - "seoUrls": null, - "crossSellings": null, - "canonicalProductId": null, - "canonicalProduct": null, - "streams": null, - "downloads": null, - "states": [], - "id": "a32702bb0b1443e3881c3b9a38c09169", - "customFields": null, - "apiAlias": "product" - } - ], - "aggregations": [], - "page": 1, - "limit": null, - "entity": "product", - "total": 0, - "states": [], - "apiAlias": "dal_entity_search_result" - }, - "apiAlias": "cms_product_listing" - }, - "locked": false, - "cmsBlockVersionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", - "customFields": null, - "apiAlias": "cms_slot" - } - ], - "sectionId": "2229e1f1208a4b8086baf7aec84f5e2c", - "position": 0, - "name": null, - "sectionPosition": "main", - "marginTop": "20px", - "marginBottom": "20px", - "marginLeft": "20px", - "marginRight": "20px", - "backgroundColor": null, - "backgroundMediaId": null, - "backgroundMedia": null, - "backgroundMediaMode": "cover", - "cssClass": null, - "cmsSectionVersionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", - "visibility": null, - "customFields": null, - "apiAlias": "cms_block" - } - ], - "pageId": "33e88c7994fa4cf79a1265e5105b93b2", - "page": null, - "position": 0, - "sizingMode": "boxed", - "mobileBehavior": "wrap", - "backgroundColor": null, - "backgroundMediaId": null, - "backgroundMedia": null, - "backgroundMediaMode": "cover", - "cssClass": null, - "cmsPageVersionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", - "visibility": null, - "customFields": null, - "apiAlias": "cms_section" - } - ], - "translations": null, - "cssClass": null, - "config": null, - "previewMediaId": null, - "previewMedia": null, - "landingPages": null, - "id": "33e88c7994fa4cf79a1265e5105b93b2", - "customFields": null, - "apiAlias": "cms_page" - }, - "category": { - "versionId": null, - "translated": { - "breadcrumb": [] - }, - "createdAt": null, - "updatedAt": null, - "afterCategoryId": null, - "parentId": null, - "mediaId": null, - "name": null, - "breadcrumb": [], - "path": null, - "level": null, - "active": null, - "childCount": null, - "visibleChildCount": 0, - "displayNestedProducts": null, - "parent": null, - "children": null, - "translations": null, - "media": null, - "cmsPageId": null, - "cmsPageIdSwitched": false, - "cmsPage": null, - "linkType": null, - "linkNewTab": null, - "internalLink": null, - "externalLink": null, - "visible": null, - "type": null, - "productAssignmentType": null, - "description": null, - "metaTitle": null, - "metaDescription": null, - "keywords": null, - "seoUrls": null, - "customEntityTypeId": null, - "id": "34f21c5eb6d54a939f10973204aa5f08", - "customFields": null, - "apiAlias": "category" - }, - "apiAlias": "pwa_page_result" - } - }, - "DynamicPageOpenedPayload": { - "allOf": [ - { - "$ref": "#/components/schemas/AbstractDynamicPageOpenedPayload" - } - ] - }, - "StateForClients": { - "type": "object", - "properties": { - "videoClientToken": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "hoveredElementId": { - "anyOf": [ - { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - { - "type": "null" - } - ] - }, - "extensions": { - "type": "array", - "default": [] - } - } - }, - "AttendeeRespondInvitationResponse": { - "type": "object", - "properties": { - "appointment": { - "type": "object", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$", - "description": "The appointment id" - }, - "accessibleFrom": { - "type": "string", - "format": "date-time", - "description": "The time the client can access the appointment" - }, - "accessibleTo": { - "type": "string", - "format": "date-time", - "description": "The time the appointment will be closed, the client can not access" - }, - "status": { - "anyOf": [ - { - "type": "string", - "enum": [ - "started", - "ended" - ] - }, - { - "type": "null" - } - ], - "description": "The appointment status" - } - } - }, - "answer": { - "type": "string", - "enum": [ - "accepted", - "maybe", - "declined" - ], - "description": "The invitation status that client responded to" - } - } - }, - "ProductPageResult": { - "type": "object", - "properties": { - "cmsPage": { - "$ref": "#/components/schemas/CmsPage" - }, - "product": { - "$ref": "#/components/schemas/Product" - }, - "configurator": { - "oneOf": [ - { - "$ref": "#/components/schemas/PropertyGroup" - }, - { - "type": "null" - } - ] - }, - "apiAlias": { - "type": "string" - } - } - }, - "ViewModeChangedPayload": { - "type": "object", - "properties": { - "mode": { - "type": "string", - "description": "The view mode of presentation", - "enum": [ - "onlyYou", - "presentation", - "videoGrid" - ], - "default": "presentation" - } - } - }, - "DynamicProductListingPageOpenedPayload": { - "required": [ - "page" - ], - "properties": { - "page": { - "type": "integer", - "description": "Current page position in the pagination" - } - } - }, - "DynamicPageClosedPayload": { - "type": "object", - "properties": { - "pageId": { - "oneOf": [ - { - "type": "string", - "pattern": "^[a-f0-9]{32}$" - }, - { - "type": "null" - } - ], - "pattern": "^[a-f0-9]{32}$", - "description": "The id of the page that was closed" - }, - "all": { - "type": "boolean", - "default": false, - "description": "Whether all pages were closed" - } - } - }, - "ClientPresentationStateResponse": { - "type": "object", - "properties": { - "stateForAll": { - "$ref": "#/components/schemas/StateForAll" - }, - "stateForClients": { - "$ref": "#/components/schemas/StateForClients" - } - }, - "example": { - "stateForAll": { - "currentGuideProductId": null, - "lastActiveGuideSection": null, - "currentPageId": null, - "currentSectionId": null, - "currentSlideAlias": 0, - "currentDynamicPage": null, - "started": false, - "running": false, - "ended": false, - "startedAt": null, - "endedAt": null, - "accessibleFrom": null, - "accessibleTo": null, - "appointmentMode": "guided", - "videoAudioSettings": "both", - "videoRoomUrl": "", - "attendeeRestrictionType": "open", - "productDetailDefaultPageId": "bea211b5099241719830df8026624f7f", - "quickviewPageId": "182d3f7f988044adbba449b70c8bc472", - "productListingDefaultPageId": "33e88c7994fa4cf79a1265e5105b93b2", - "broadcastMode": false, - "extensions": [] - }, - "stateForClients": { - "videoClientToken": null, - "hoveredElementId": null, - "extensions": [] - }, - "apiAlias": "swag_digital_sales_rooms_content_presentation_state_sales_channel_get_get_client_presentation_state_struct" - } - }, - "PresentationCmsPage": { - "allOf": [ - { - "$ref": "#/components/schemas/DsrPresentationCmsPage" - }, - { - "type": "object", - "properties": { - "pickedProductIds": { - "anyOf": [ - { - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$", - "description": "Product id" - } - }, - { - "type": "null" - } - ], - "description": "The product id is assigned to presentation if it's product listing or instant listing" - } - } - } - ] - }, - "AppointmentBasicSettingResponse": { - "type": "object", - "properties": { - "apiAlias": { - "type": "string", - "description": "The API alias of the appointment basic setting" - }, - "mode": { - "type": "string", - "description": "The mode of the interaction", - "enum": [ - "guided", - "self" - ] - }, - "attendeeRestrictionType": { - "type": "string", - "description": "The type of attendee restriction", - "enum": [ - "open", - "customer", - "rules" - ] - }, - "videoAudioSettings": { - "type": "string", - "description": "The video and audio settings", - "enum": [ - "none", - "both", - "audio-only" - ] - }, - "canSendRequestEmail": { - "type": "boolean", - "description": "Indicates if request emails can be sent", - "default": false - }, - "canBookAppointment": { - "type": "boolean", - "description": "Indicates if appointments can be booked", - "default": false - }, - "enableWishlist": { - "type": "boolean", - "description": "Indicates if the wishlist is enabled", - "default": false - }, - "bookingLink": { - "description": "The booking link", - "oneOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "appointmentName": { - "type": "string", - "description": "The name of the appointment" - }, - "salesChannelName": { - "type": "string", - "description": "The name of the sales channel" - } - }, - "example": { - "apiAlias": "appointment_basic_setting", - "mode": "self", - "attendeeRestrictionType": "open", - "videoAudioSettings": "none", - "canSendRequestEmail": false, - "canBookAppointment": false, - "enableWishlist": false, - "bookingLink": null, - "appointmentName": "dsr11", - "salesChannelName": "Storefront" - } - }, - "AbstractDynamicPageOpenedPayload": { - "type": "object", - "required": [ - "pageId", - "type" - ], - "properties": { - "pageId": { - "type": "string", - "pattern": "^[a-f0-9]{32}$", - "description": "The id of the current dynamic page" - }, - "type": { - "type": "string", - "description": "The type of the current dynamic page" - }, - "opened": { - "type": "boolean", - "default": true - }, - "position": { - "type": "integer", - "description": "The position of the dynamic page in the list of dynamic pages" - } - } - }, - "StateForAll": { - "type": "object", - "properties": { - "currentGuideProductId": { - "anyOf": [ - { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - { - "type": "null" - } - ] - }, - "lastActiveGuideSection": { - "anyOf": [ - { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - { - "type": "null" - } - ] - }, - "currentPageId": { - "anyOf": [ - { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - { - "type": "null" - } - ] - }, - "currentSectionId": { - "anyOf": [ - { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - { - "type": "null" - } - ] - }, - "currentSlideAlias": { - "type": "integer", - "default": 0 - }, - "currentSlideData": { - "anyOf": [ - { - "$ref": "#/components/schemas/DynamicProductListingPageOpenedPayload" - }, - { - "type": "null" - } - ] - }, - "currentDynamicPage": { - "$ref": "#/components/schemas/DynamicPageOpenedPayload" - }, - "started": { - "type": "boolean", - "default": false - }, - "running": { - "type": "boolean", - "default": false - }, - "ended": { - "type": "boolean", - "default": false - }, - "startedAt": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "null" - } - ] - }, - "endedAt": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "null" - } - ] - }, - "accessibleFrom": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "null" - } - ] - }, - "accessibleTo": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "null" - } - ] - }, - "appointmentMode": { - "type": "string", - "enum": [ - "guided", - "self" - ] - }, - "videoAudioSettings": { - "type": "string", - "enum": [ - "both", - "none", - "audio-only" - ], - "default": "none" - }, - "videoRoomUrl": { - "type": "string", - "default": "" - }, - "attendeeRestrictionType": { - "anyOf": [ - { - "type": "string", - "enum": [ - "open", - "customer", - "rules" - ] - }, - { - "type": "null" - } - ] - }, - "productDetailDefaultPageId": { - "anyOf": [ - { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - { - "type": "null" - } - ] - }, - "quickviewPageId": { - "anyOf": [ - { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - { - "type": "null" - } - ] - }, - "productListingDefaultPageId": { - "anyOf": [ - { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - { - "type": "null" - } - ] - }, - "broadcastMode": { - "type": "boolean", - "default": false - }, - "viewMode": { - "type": "string", - "enum": [ - "onlyYou", - "presentation", - "videoGrid" - ], - "default": "presentation" - }, - "allowScreenSharing": { - "type": "boolean", - "default": false - }, - "extensions": { - "type": "array", - "default": [] - } - } - }, - "DynamicInteractionBody": { - "oneOf": [ - { - "$ref": "#/components/schemas/EmptyInteraction" - }, - { - "$ref": "#/components/schemas/ProductInteraction" - }, - { - "$ref": "#/components/schemas/DynamicPageOpenedInteraction" - }, - { - "$ref": "#/components/schemas/DynamicPageClosedInteraction" - }, - { - "$ref": "#/components/schemas/DynamicProductPageOpenedInteraction" - }, - { - "$ref": "#/components/schemas/PageViewedInteraction" - }, - { - "$ref": "#/components/schemas/GuideHoveredInteraction" - }, - { - "$ref": "#/components/schemas/ToggleBroadcastModeInteraction" - }, - { - "$ref": "#/components/schemas/ViewModeChangedInteraction" - }, - { - "$ref": "#/components/schemas/ScreenSharingToggledInteraction" - } - ], - "discriminator": { - "propertyName": "name", - "mapping": { - "keep.alive": "#/components/schemas/EmptyInteraction", - "quickview.opened": "#/components/schemas/EmptyInteraction", - "quickview.closed": "#/components/schemas/EmptyInteraction", - "attendee.leave": "#/components/schemas/EmptyInteraction", - "remote.checkout.accepted": "#/components/schemas/EmptyInteraction", - "remote.checkout.denied": "#/components/schemas/EmptyInteraction", - "product.viewed": "#/components/schemas/ProductInteraction", - "attendee.product.collection.liked": "#/components/schemas/ProductInteraction", - "attendee.product.collection.disliked": "#/components/schemas/ProductInteraction", - "attendee.product.collection.removed": "#/components/schemas/ProductInteraction", - "dynamicPage.opened": "#/components/schemas/DynamicPageOpenedInteraction", - "dynamicPage.closed": "#/components/schemas/DynamicPageClosedInteraction", - "dynamicProductPage.opened": "#/components/schemas/DynamicProductPageOpenedInteraction", - "page.viewed": "#/components/schemas/PageViewedInteraction", - "guide.hovered": "#/components/schemas/GuideHoveredInteraction", - "broadcastMode.toggled": "#/components/schemas/ToggleBroadcastModeInteraction", - "viewMode.changed": "#/components/schemas/ViewModeChangedInteraction", - "screenSharing.toggled": "#/components/schemas/ScreenSharingToggledInteraction" - } - } - }, - "BaseInteraction": { - "type": "object", - "properties": { - "triggeredAt": { - "type": "string", - "description": "The time when the interaction was triggered", - "default": "now" - }, - "lifeTimeInSeconds": { - "type": "integer", - "description": "The time in seconds how long the interaction should be stored in the database", - "default": -1 - } - } - }, - "EmptyInteraction": { - "allOf": [ - { - "$ref": "#/components/schemas/BaseInteraction" - }, - { - "type": "object", - "required": [ - "name", - "payload" - ], - "properties": { - "name": { - "type": "string" - }, - "payload": { - "type": "object", - "additionalProperties": false, - "minProperties": 0, - "maxProperties": 0 - } - } - } - ] - }, - "ProductInteraction": { - "allOf": [ - { - "$ref": "#/components/schemas/BaseInteraction" - }, - { - "type": "object", - "required": [ - "name", - "payload" - ], - "properties": { - "name": { - "type": "string" - }, - "payload": { - "$ref": "#/components/schemas/ProductPayload" - } - } - } - ] - }, - "DynamicPageOpenedInteraction": { - "allOf": [ - { - "$ref": "#/components/schemas/BaseInteraction" - }, - { - "type": "object", - "required": [ - "name", - "payload" - ], - "properties": { - "name": { - "type": "string" - }, - "payload": { - "$ref": "#/components/schemas/DynamicPageOpenedPayload" - } - } - } - ] - }, - "DynamicProductPageOpenedInteraction": { - "allOf": [ - { - "$ref": "#/components/schemas/BaseInteraction" - }, - { - "type": "object", - "required": [ - "name", - "payload" - ], - "properties": { - "name": { - "type": "string" - }, - "payload": { - "$ref": "#/components/schemas/DynamicProductPageOpenedPayload" - } - } - } - ] - }, - "DynamicPageClosedInteraction": { - "allOf": [ - { - "$ref": "#/components/schemas/BaseInteraction" - }, - { - "type": "object", - "required": [ - "name", - "payload" - ], - "properties": { - "name": { - "type": "string" - }, - "payload": { - "$ref": "#/components/schemas/DynamicPageClosedPayload" - } - } - } - ] - }, - "PageViewedInteraction": { - "allOf": [ - { - "$ref": "#/components/schemas/BaseInteraction" - }, - { - "type": "object", - "required": [ - "name", - "payload" - ], - "properties": { - "name": { - "type": "string" - }, - "payload": { - "$ref": "#/components/schemas/PageViewedPayload" - } - } - } - ] - }, - "GuideHoveredInteraction": { - "allOf": [ - { - "$ref": "#/components/schemas/BaseInteraction" - }, - { - "type": "object", - "required": [ - "name", - "payload" - ], - "properties": { - "name": { - "type": "string" - }, - "payload": { - "$ref": "#/components/schemas/GuideHoveredPayload" - } - } - } - ] - }, - "ToggleBroadcastModeInteraction": { - "allOf": [ - { - "$ref": "#/components/schemas/BaseInteraction" - }, - { - "type": "object", - "required": [ - "name", - "payload" - ], - "properties": { - "name": { - "type": "string" - }, - "payload": { - "$ref": "#/components/schemas/ToggleBroadcastModePayload" - } - } - } - ] - }, - "ViewModeChangedInteraction": { - "allOf": [ - { - "$ref": "#/components/schemas/BaseInteraction" - }, - { - "type": "object", - "required": [ - "name", - "payload" - ], - "properties": { - "name": { - "type": "string" - }, - "payload": { - "$ref": "#/components/schemas/ViewModeChangedPayload" - } - } - } - ] - }, - "ScreenSharingToggledInteraction": { - "allOf": [ - { - "$ref": "#/components/schemas/BaseInteraction" - }, - { - "type": "object", - "required": [ - "name", - "payload" - ], - "properties": { - "name": { - "type": "string" - }, - "payload": { - "$ref": "#/components/schemas/ScreenSharingToggledPayload" - } - } - } - ] - }, - "CreateInteractionRequestBody": { - "$ref": "#/components/schemas/DynamicInteractionBody" - } - }, - "responses": { - "404": { - "description": "Not Found", - "content": { - "application/vnd.api+json": { - "schema": { - "$ref": "#/components/schemas/failure" - }, - "example": { - "errors": [ - { - "status": "404", - "title": "Not Found", - "description": "Resource with given parameter was not found." - } - ] - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/failure" - }, - "example": { - "errors": [ - { - "status": "404", - "title": "Not Found", - "description": "Resource with given parameter was not found." - } - ] - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/vnd.api+json": { - "schema": { - "$ref": "#/components/schemas/failure" - }, - "example": { - "errors": [ - { - "status": "403", - "title": "Forbidden", - "description": "This operation is restricted to logged in users." - } - ] - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/failure" - }, - "example": { - "errors": [ - { - "status": "403", - "title": "Forbidden", - "description": "This operation is restricted to logged in users." - } - ] - } - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "application/vnd.api+json": { - "schema": { - "$ref": "#/components/schemas/failure" - }, - "example": { - "errors": [ - { - "status": "401", - "title": "Unauthorized", - "description": "Authorization information is missing or invalid." - } - ] - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/failure" - }, - "example": { - "errors": [ - { - "status": "401", - "title": "Unauthorized", - "description": "Authorization information is missing or invalid." - } - ] - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/vnd.api+json": { - "schema": { - "$ref": "#/components/schemas/failure" - }, - "example": { - "errors": [ - { - "status": "400", - "title": "Bad Request", - "description": "Bad parameters for this endpoint. See documentation for the correct ones." - } - ] - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/failure" - }, - "example": { - "errors": [ - { - "status": "400", - "title": "Bad Request", - "description": "Bad parameters for this endpoint. See documentation for the correct ones." - } - ] - } - } - } - }, - "204": { - "description": "No Content" - }, - "ProductListResponse": { - "description": "Entity search result containing products", - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "required": [ - "elements" - ], - "properties": { - "elements": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Product" - } - } - }, - "type": "object" - }, - { - "$ref": "#/components/schemas/EntitySearchResult" - } - ] - } - } - } - }, - "CategoryListResponse": { - "description": "Entity search result containing categories.", - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "type": "object", - "properties": { - "elements": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Category" - } - } - } - }, - { - "$ref": "#/components/schemas/EntitySearchResult" - } - ] - } - } - } - }, - "OpenApi3": { - "description": "Returns information about the store API.", - "content": { - "application/json": { - "schema": { - "properties": { - "openapi": { - "type": "string" - }, - "info": { - "type": "object", - "properties": { - "title": { - "type": "string" - }, - "summary": { - "type": "string" - }, - "description": { - "type": "string" - }, - "termsOfService": { - "type": "string", - "format": "uri" - }, - "contact": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - }, - "email": { - "type": "string", - "format": "email" - } - } - }, - "license": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "identifier": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } + "type": "text-two-column", + "slots": [ + { + "versionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", + "translated": { + "config": { + "product": { + "value": null, + "source": "static" + }, + "alignment": { + "value": null, + "source": "static" + } + }, + "customFields": [] + }, + "createdAt": "2023-08-03T17:24:09.000+00:00", + "updatedAt": null, + "type": "buy-box", + "slot": "right", + "block": null, + "blockId": "095cd9a4eb49493aa95ea1e7a84a9503", + "config": { + "product": { + "value": null, + "source": "static" + }, + "alignment": { + "value": null, + "source": "static" + } + }, + "fieldConfig": null, + "translations": null, + "data": null, + "locked": false, + "cmsBlockVersionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", + "customFields": null, + "apiAlias": "cms_slot" + }, + { + "versionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", + "translated": { + "config": { + "product": { + "value": null, + "source": "static" + }, + "alignment": { + "value": null, + "source": "static" + } + }, + "customFields": [] + }, + "createdAt": "2023-08-03T17:24:09.000+00:00", + "updatedAt": null, + "type": "product-description-reviews", + "slot": "left", + "block": null, + "blockId": "095cd9a4eb49493aa95ea1e7a84a9503", + "config": { + "product": { + "value": null, + "source": "static" + }, + "alignment": { + "value": null, + "source": "static" + } + }, + "fieldConfig": null, + "translations": null, + "data": null, + "locked": false, + "cmsBlockVersionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", + "customFields": null, + "apiAlias": "cms_slot" + } + ], + "sectionId": "f4aaa27972314e3c9b7f3bb35c7f8a10", + "position": 2, + "name": null, + "sectionPosition": "main", + "marginTop": "20px", + "marginBottom": "20px", + "marginLeft": "20px", + "marginRight": "20px", + "backgroundColor": null, + "backgroundMediaId": null, + "backgroundMedia": null, + "backgroundMediaMode": "cover", + "cssClass": null, + "cmsSectionVersionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", + "visibility": null, + "customFields": null, + "apiAlias": "cms_block" }, - "required": [ - "name" - ] - }, - "version": { - "type": "string" - } - }, - "required": [ - "title", - "version" - ] - }, - "jsonSchemaDialect": { - "type": "string" - }, - "webhooks": { - "type": "object" - }, - "servers": { - "type": "array", - "items": { - "type": "object", - "properties": { - "url": { - "type": "string" + { + "versionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", + "translated": [], + "createdAt": "2023-08-03T17:24:09.000+00:00", + "updatedAt": null, + "type": "cross-selling", + "slots": [ + { + "versionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", + "translated": { + "config": { + "product": { + "value": null, + "source": "static" + }, + "boxLayout": { + "value": "standard", + "source": "static" + }, + "elMinWidth": { + "value": "300px", + "source": "static" + }, + "displayMode": { + "value": "standard", + "source": "static" + } + }, + "customFields": [] + }, + "createdAt": "2023-08-03T17:24:09.000+00:00", + "updatedAt": null, + "type": "cross-selling", + "slot": "content", + "block": null, + "blockId": "2d69edd4faab493baa056c81ea8d131f", + "config": { + "product": { + "value": null, + "source": "static" + }, + "boxLayout": { + "value": "standard", + "source": "static" + }, + "elMinWidth": { + "value": "300px", + "source": "static" + }, + "displayMode": { + "value": "standard", + "source": "static" + } + }, + "fieldConfig": null, + "translations": null, + "data": null, + "locked": false, + "cmsBlockVersionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", + "customFields": null, + "apiAlias": "cms_slot" + } + ], + "sectionId": "f4aaa27972314e3c9b7f3bb35c7f8a10", + "position": 3, + "name": null, + "sectionPosition": "main", + "marginTop": "0", + "marginBottom": "0", + "marginLeft": "0", + "marginRight": "0", + "backgroundColor": null, + "backgroundMediaId": null, + "backgroundMedia": null, + "backgroundMediaMode": "cover", + "cssClass": null, + "cmsSectionVersionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", + "visibility": null, + "customFields": null, + "apiAlias": "cms_block" } - }, - "required": [ - "url" - ] - } - }, - "components": { - "type": "object", - "properties": { - "schemas": { - "type": "object" - }, - "responses": { - "type": "object" - }, - "parameters": { - "type": "object" - }, - "examples": { - "type": "object" - }, - "requestBodies": { - "type": "object" - }, - "headers": { - "type": "object" - }, - "securitySchemes": { - "type": "object" - }, - "links": { - "type": "object" - }, - "callbacks": { - "type": "object" - }, - "pathItems": { - "type": "object" - } - } - }, - "security": { - "type": "array", - "items": { - "type": "object" + ], + "pageId": "bea211b5099241719830df8026624f7f", + "page": null, + "position": 0, + "sizingMode": "boxed", + "mobileBehavior": "wrap", + "backgroundColor": null, + "backgroundMediaId": null, + "backgroundMedia": null, + "backgroundMediaMode": "cover", + "cssClass": null, + "cmsPageVersionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", + "visibility": null, + "customFields": null, + "apiAlias": "cms_section" } + ], + "translations": null, + "cssClass": null, + "config": null, + "previewMediaId": null, + "previewMedia": null, + "landingPages": null, + "id": "bea211b5099241719830df8026624f7f", + "customFields": null, + "apiAlias": "cms_page" + }, + "apiAlias": "pwa_page_result" + }, + { + "resourceType": "frontend.presentation.page", + "resourceIdentifier": "45a2b8ad0bb544e48f61eab564a2171c", + "cmsPage": { + "versionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", + "translated": { + "name": "Ended presentation page", + "customFields": [] }, - "paths": { - "type": "object" - }, - "tags": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string" + "createdAt": "2023-08-03T17:24:09.000+00:00", + "updatedAt": null, + "name": "Ended presentation page", + "type": "presentation_product_list", + "entity": null, + "sections": [ + { + "extensions": { + "translations": [] + }, + "translated": [], + "createdAt": "2023-08-03T17:24:09.000+00:00", + "updatedAt": null, + "type": "default", + "blocks": [ + { + "versionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", + "translated": [], + "createdAt": "2023-08-03T17:24:09.000+00:00", + "updatedAt": null, + "type": "text-hero", + "slots": [ + { + "versionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", + "translated": { + "config": { + "content": { + "value": "Thank you for your attention!
Below you can find all products wich were presented to you.
", + "source": "static" + }, + "verticalAlign": { + "value": null, + "source": "static" + } + }, + "customFields": [] + }, + "createdAt": "2023-08-03T17:24:09.000+00:00", + "updatedAt": null, + "type": "text", + "slot": "content", + "block": null, + "blockId": "c49b01e9c6624973b9cdd1992d3c009a", + "config": { + "content": { + "value": "Thank you for your attention!
Below you can find all products wich were presented to you.
", + "source": "static" + }, + "verticalAlign": { + "value": null, + "source": "static" + } + }, + "fieldConfig": null, + "translations": null, + "data": null, + "locked": false, + "cmsBlockVersionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", + "customFields": null, + "apiAlias": "cms_slot" + } + ], + "sectionId": "0a5e89814463470684a734b975add4ed", + "position": 0, + "name": null, + "sectionPosition": "main", + "marginTop": "20px", + "marginBottom": "20px", + "marginLeft": "20px", + "marginRight": "20px", + "backgroundColor": null, + "backgroundMediaId": null, + "backgroundMedia": null, + "backgroundMediaMode": "cover", + "cssClass": null, + "cmsSectionVersionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", + "visibility": null, + "customFields": null, + "apiAlias": "cms_block" }, - "description": { - "type": "string" + { + "versionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", + "translated": [], + "createdAt": "2023-08-03T17:24:09.000+00:00", + "updatedAt": null, + "type": "product-listing", + "slots": [ + { + "versionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", + "translated": { + "config": { + "filters": { + "value": "manufacturer-filter,rating-filter,price-filter,shipping-free-filter,property-filter", + "source": "static" + }, + "boxLayout": { + "value": "standard", + "source": "static" + }, + "showSorting": { + "value": true, + "source": "static" + }, + "defaultSorting": { + "value": "", + "source": "static" + }, + "useCustomSorting": { + "value": false, + "source": "static" + }, + "availableSortings": { + "value": [], + "source": "static" + }, + "propertyWhitelist": { + "value": [], + "source": "static" + } + }, + "customFields": [] + }, + "createdAt": "2023-08-03T17:24:09.000+00:00", + "updatedAt": null, + "type": "product-listing", + "slot": "content", + "block": null, + "blockId": "0a13f5daa9be4e7b8ed5e3ecaba79fe6", + "config": { + "filters": { + "value": "manufacturer-filter,rating-filter,price-filter,shipping-free-filter,property-filter", + "source": "static" + }, + "boxLayout": { + "value": "standard", + "source": "static" + }, + "showSorting": { + "value": true, + "source": "static" + }, + "defaultSorting": { + "value": "", + "source": "static" + }, + "useCustomSorting": { + "value": false, + "source": "static" + }, + "availableSortings": { + "value": [], + "source": "static" + }, + "propertyWhitelist": { + "value": [], + "source": "static" + } + }, + "fieldConfig": null, + "translations": null, + "data": null, + "locked": false, + "cmsBlockVersionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", + "customFields": null, + "apiAlias": "cms_slot" + } + ], + "sectionId": "0a5e89814463470684a734b975add4ed", + "position": 1, + "name": null, + "sectionPosition": "main", + "marginTop": "20px", + "marginBottom": "20px", + "marginLeft": "20px", + "marginRight": "20px", + "backgroundColor": null, + "backgroundMediaId": null, + "backgroundMedia": null, + "backgroundMediaMode": "cover", + "cssClass": null, + "cmsSectionVersionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", + "visibility": null, + "customFields": null, + "apiAlias": "cms_block" + } + ], + "pageId": "8ea80092faa744559409f3e9f7adcc6b", + "page": null, + "position": 0, + "sizingMode": "boxed", + "mobileBehavior": "wrap", + "backgroundColor": null, + "backgroundMediaId": null, + "backgroundMedia": null, + "backgroundMediaMode": "cover", + "cssClass": null, + "cmsPageVersionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", + "visibility": null, + "customFields": null, + "apiAlias": "cms_section" + } + ], + "translations": null, + "cssClass": null, + "config": null, + "previewMediaId": null, + "previewMedia": null, + "landingPages": null, + "id": "8ea80092faa744559409f3e9f7adcc6b", + "customFields": null, + "apiAlias": "cms_page" + }, + "apiAlias": "pwa_page_result" + } + ], + "navigation": [ + { + "groupName": "Default Digital Sales Rooms product listing page", + "groupId": "468b0e34237a44ad8f8a8d5e0b72b78f", + "cmsPageId": "33e88c7994fa4cf79a1265e5105b93b2", + "name": null, + "id": "2229e1f1208a4b8086baf7aec84f5e2c", + "index": 1, + "notes": [ + { + "extensions": { + "foreignKeys": { + "extensions": [], + "apiAlias": "cms_slot_foreign_keys_extension" + } + }, + "_uniqueIdentifier": "de28c711c20b4ad0a54871d5a23109fc", + "versionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", + "translated": { + "config": { + "content": { + "value": "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, \n sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, \n sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. \n Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. \n Lorem ipsum dolor sit amet, consetetur sadipscing elitr, \n sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. \n At vero eos et accusam et justo duo dolores et ea rebum. \n Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
", + "source": "static" }, - "externalDocs": { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } - }, - "required": [ - "url" - ] + "verticalAlign": { + "value": null, + "source": "static" } }, - "required": [ - "name" - ] - } - }, - "externalDocs": { - "type": "object", - "properties": { - "description": { - "type": "string" + "customFields": [] + }, + "createdAt": "2023-08-10T04:30:28.649+00:00", + "updatedAt": null, + "type": "notes", + "slot": "content", + "block": null, + "blockId": "978ca9beff6e4edca6d5263fac254e13", + "config": { + "content": { + "value": "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, \n sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, \n sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. \n Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. \n Lorem ipsum dolor sit amet, consetetur sadipscing elitr, \n sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. \n At vero eos et accusam et justo duo dolores et ea rebum. \n Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
", + "source": "static" }, - "url": { - "type": "string", - "format": "uri" + "verticalAlign": { + "value": null, + "source": "static" } }, - "required": [ - "url" - ] + "fieldConfig": null, + "translations": null, + "data": null, + "locked": false, + "cmsBlockVersionId": "0fa91ce3e96a4bc2be4bd9ce752c3425", + "id": "de28c711c20b4ad0a54871d5a23109fc", + "customFields": null } - }, - "type": "object", - "required": [ - "openapi", - "info" ] + }, + { + "groupName": "Default Digital Sales Rooms product detail page", + "groupId": "52f1e61cd45945a0b72bd613d1268d65", + "cmsPageId": "bea211b5099241719830df8026624f7f", + "name": null, + "id": "f4aaa27972314e3c9b7f3bb35c7f8a10", + "index": 2, + "notes": [] + }, + { + "groupName": "Ended presentation page", + "groupId": "b073190abe03407993f41b8d5bc8ba57", + "cmsPageId": "8ea80092faa744559409f3e9f7adcc6b", + "name": null, + "id": "0a5e89814463470684a734b975add4ed", + "index": 3, + "notes": [] } + ], + "apiAlias": "pwa_page_result" + } + }, + "EmptyPayload": { + "type": "object", + "properties": [] + }, + "ViewModeChangedPayload": { + "type": "object", + "properties": { + "mode": { + "type": "string", + "description": "The view mode of presentation", + "enum": [ + "onlyYou", + "presentation", + "videoGrid" + ], + "default": "presentation" } } }, - "CountryStateListResponse": { - "description": "Entity search result containing countries.", - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "properties": { - "elements": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CountryState" - } - } - }, - "type": "object" - }, - { - "$ref": "#/components/schemas/EntitySearchResult" - } - ] - } + "StateForClients": { + "type": "object", + "properties": { + "videoClientToken": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "hoveredElementId": { + "anyOf": [ + { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + { + "type": "null" + } + ] + }, + "extensions": { + "type": "array", + "default": [] + } + } + }, + "DynamicProductPageOpenedPayload": { + "allOf": [ + { + "$ref": "#/components/schemas/AbstractDynamicPageOpenedPayload" + } + ], + "required": [ + "productId" + ], + "properties": { + "productId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$", + "description": "the id from the product which is shown on the dynamic page" + } + } + }, + "DynamicPageOpenedPayload": { + "allOf": [ + { + "$ref": "#/components/schemas/AbstractDynamicPageOpenedPayload" + } + ] + }, + "DynamicInteractionBody": { + "oneOf": [ + { + "$ref": "#/components/schemas/EmptyInteraction" + }, + { + "$ref": "#/components/schemas/ProductInteraction" + }, + { + "$ref": "#/components/schemas/DynamicPageOpenedInteraction" + }, + { + "$ref": "#/components/schemas/DynamicPageClosedInteraction" + }, + { + "$ref": "#/components/schemas/DynamicProductPageOpenedInteraction" + }, + { + "$ref": "#/components/schemas/PageViewedInteraction" + }, + { + "$ref": "#/components/schemas/GuideHoveredInteraction" + }, + { + "$ref": "#/components/schemas/ToggleBroadcastModeInteraction" + }, + { + "$ref": "#/components/schemas/ViewModeChangedInteraction" + }, + { + "$ref": "#/components/schemas/ScreenSharingToggledInteraction" + } + ], + "discriminator": { + "propertyName": "name", + "mapping": { + "keep.alive": "#/components/schemas/EmptyInteraction", + "quickview.opened": "#/components/schemas/EmptyInteraction", + "quickview.closed": "#/components/schemas/EmptyInteraction", + "attendee.leave": "#/components/schemas/EmptyInteraction", + "remote.checkout.accepted": "#/components/schemas/EmptyInteraction", + "remote.checkout.denied": "#/components/schemas/EmptyInteraction", + "product.viewed": "#/components/schemas/ProductInteraction", + "attendee.product.collection.liked": "#/components/schemas/ProductInteraction", + "attendee.product.collection.disliked": "#/components/schemas/ProductInteraction", + "attendee.product.collection.removed": "#/components/schemas/ProductInteraction", + "dynamicPage.opened": "#/components/schemas/DynamicPageOpenedInteraction", + "dynamicPage.closed": "#/components/schemas/DynamicPageClosedInteraction", + "dynamicProductPage.opened": "#/components/schemas/DynamicProductPageOpenedInteraction", + "page.viewed": "#/components/schemas/PageViewedInteraction", + "guide.hovered": "#/components/schemas/GuideHoveredInteraction", + "broadcastMode.toggled": "#/components/schemas/ToggleBroadcastModeInteraction", + "viewMode.changed": "#/components/schemas/ViewModeChangedInteraction", + "screenSharing.toggled": "#/components/schemas/ScreenSharingToggledInteraction" + } + } + }, + "BaseInteraction": { + "type": "object", + "properties": { + "triggeredAt": { + "type": "string", + "description": "The time when the interaction was triggered", + "default": "now" + }, + "lifeTimeInSeconds": { + "type": "integer", + "description": "The time in seconds how long the interaction should be stored in the database", + "default": -1 } } }, - "CurrencyListResponse": { - "description": "Entity search result containing currencies.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Currency" + "EmptyInteraction": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseInteraction" + }, + { + "type": "object", + "required": [ + "name", + "payload" + ], + "properties": { + "name": { + "type": "string" + }, + "payload": { + "type": "object", + "additionalProperties": false, + "minProperties": 0, + "maxProperties": 0 } } } - } + ] }, - "SeoUrlListResponse": { - "description": "Entity search result containing seo urls.", - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "properties": { - "elements": { - "type": "array", - "items": { - "$ref": "#/components/schemas/SeoUrl" - } - } - }, - "type": "object", - "required": [ - "elements" - ] - }, - { - "$ref": "#/components/schemas/EntitySearchResult" - } - ] + "ProductInteraction": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseInteraction" + }, + { + "type": "object", + "required": [ + "name", + "payload" + ], + "properties": { + "name": { + "type": "string" + }, + "payload": { + "$ref": "#/components/schemas/ProductPayload" + } } } - } + ] }, - "PaymentMethodListResponse": { - "description": "", - "content": { - "application/json": { - "schema": { - "properties": { - "total": { - "description": "Total amount", - "type": "integer" - }, - "aggregations": { - "description": "aggregation result", - "type": "object" - }, - "elements": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PaymentMethod" - } - } + "DynamicPageOpenedInteraction": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseInteraction" + }, + { + "type": "object", + "required": [ + "name", + "payload" + ], + "properties": { + "name": { + "type": "string" }, - "type": "object" + "payload": { + "$ref": "#/components/schemas/DynamicPageOpenedPayload" + } } } - } + ] }, - "ShippingMethodListResponse": { - "description": "Entity search result containing shipping methods.", - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "required": [ - "elements" - ], - "properties": { - "total": { - "description": "Total amount", - "type": "integer" - }, - "aggregations": { - "description": "aggregation result", - "type": "object" - }, - "elements": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ShippingMethod" - } - } - }, - "type": "object" - }, - { - "$ref": "#/components/schemas/EntitySearchResult" - } - ] + "DynamicProductPageOpenedInteraction": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseInteraction" + }, + { + "type": "object", + "required": [ + "name", + "payload" + ], + "properties": { + "name": { + "type": "string" + }, + "payload": { + "$ref": "#/components/schemas/DynamicProductPageOpenedPayload" + } } } - } + ] }, - "SalutationListResponse": { - "description": "Entity search result containing salutations.", - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "properties": { - "elements": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Salutation" - } - } - }, - "type": "object" - }, - { - "$ref": "#/components/schemas/EntitySearchResult" - } - ] + "DynamicPageClosedInteraction": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseInteraction" + }, + { + "type": "object", + "required": [ + "name", + "payload" + ], + "properties": { + "name": { + "type": "string" + }, + "payload": { + "$ref": "#/components/schemas/DynamicPageClosedPayload" + } } } - } + ] }, - "ContextTokenResponse": { - "description": "Returns the context token. Use that as your `sw-context-token` header for subsequent requests. Redirect if getRedirectUrl is set.", - "headers": { - "sw-context-token": { - "description": "Contains sw-context-token value", - "schema": { - "type": "string" + "PageViewedInteraction": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseInteraction" + }, + { + "type": "object", + "required": [ + "name", + "payload" + ], + "properties": { + "name": { + "type": "string" + }, + "payload": { + "$ref": "#/components/schemas/PageViewedPayload" + } } } - }, - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "redirectUrl": { - "description": "Define the URL which browser will be redirected to", - "type": "string" - } + ] + }, + "GuideHoveredInteraction": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseInteraction" + }, + { + "type": "object", + "required": [ + "name", + "payload" + ], + "properties": { + "name": { + "type": "string" + }, + "payload": { + "$ref": "#/components/schemas/GuideHoveredPayload" } } } - } + ] }, - "CountryListResponse": { - "description": "Entity search result containing countries.", - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "properties": { - "elements": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Country" - } - } - }, - "type": "object" - }, - { - "$ref": "#/components/schemas/EntitySearchResult" - } - ] + "ToggleBroadcastModeInteraction": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseInteraction" + }, + { + "type": "object", + "required": [ + "name", + "payload" + ], + "properties": { + "name": { + "type": "string" + }, + "payload": { + "$ref": "#/components/schemas/ToggleBroadcastModePayload" + } } } - } + ] }, - "LanguageListResponse": { - "description": "Entity search result containing languages.", - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "properties": { - "elements": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Language" - } - } - }, - "required": [ - "elements" - ], - "type": "object" - }, - { - "$ref": "#/components/schemas/EntitySearchResult" - } - ] + "ViewModeChangedInteraction": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseInteraction" + }, + { + "type": "object", + "required": [ + "name", + "payload" + ], + "properties": { + "name": { + "type": "string" + }, + "payload": { + "$ref": "#/components/schemas/ViewModeChangedPayload" + } } } - } - } - }, - "parameters": { - "contentType": { - "name": "Content-Type", - "in": "header", - "description": "Content type of the request", - "required": true, - "schema": { - "type": "string", - "default": "application/json" - } - }, - "accept": { - "name": "Accept", - "in": "header", - "description": "Accepted response content types", - "required": true, - "schema": { - "type": "string", - "default": "application/json" - } - }, - "noAggregations": { - "name": "no-aggregations", - "in": "query", - "description": "Resets all aggregations in the criteria. This parameter is a flag, the value has no effect.", - "required": false, - "schema": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } + ] }, - "onlyAggregations": { - "name": "only-aggregations", - "in": "query", - "description": "If this flag is set, no products are fetched. Sorting and associations are also ignored. This parameter is a flag, the value has no effect.", - "required": false, - "schema": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "null" + "ScreenSharingToggledInteraction": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseInteraction" + }, + { + "type": "object", + "required": [ + "name", + "payload" + ], + "properties": { + "name": { + "type": "string" + }, + "payload": { + "$ref": "#/components/schemas/ScreenSharingToggledPayload" + } } - ] - } + } + ] }, - "criteriaPage": { - "name": "page", - "in": "query", - "description": "Search result page", - "schema": { - "type": "integer" - } + "CreateInteractionRequestBody": { + "$ref": "#/components/schemas/DynamicInteractionBody" }, - "criteriaLimit": { - "name": "limit", - "in": "query", - "description": "Number of items per result page", - "schema": { - "type": "integer" + "ScreenSharingToggledPayload": { + "type": "object", + "required": [ + "active" + ], + "properties": { + "active": { + "type": "boolean", + "description": "Whether the screen sharing is active or not" + } } }, - "criteriaTerm": { - "name": "term", - "in": "query", - "description": "Search term", - "schema": { - "type": "string" + "DynamicProductListingPageOpenedPayload": { + "required": [ + "page" + ], + "properties": { + "page": { + "type": "integer", + "description": "Current page position in the pagination" + } } }, - "criteriaFilter": { - "name": "filter[]", - "in": "query", - "description": "List of filters to restrict the search result. For more information, see [Search Queries > Filter](https://shopware.stoplight.io/docs/store-api/docs/concepts/search-queries.md#filter)", - "schema": { - "type": "array", - "items": { + "StateForAll": { + "type": "object", + "properties": { + "currentGuideProductId": { + "anyOf": [ + { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + { + "type": "null" + } + ] + }, + "lastActiveGuideSection": { + "anyOf": [ + { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + { + "type": "null" + } + ] + }, + "currentPageId": { + "anyOf": [ + { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + { + "type": "null" + } + ] + }, + "currentSectionId": { + "anyOf": [ + { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + { + "type": "null" + } + ] + }, + "currentSlideAlias": { + "type": "integer", + "default": 0 + }, + "currentSlideData": { "anyOf": [ { - "$ref": "#/components/schemas/SimpleFilter" + "$ref": "#/components/schemas/DynamicProductListingPageOpenedPayload" }, { - "$ref": "#/components/schemas/EqualsFilter" + "type": "null" + } + ] + }, + "currentDynamicPage": { + "$ref": "#/components/schemas/DynamicPageOpenedPayload" + }, + "started": { + "type": "boolean", + "default": false + }, + "running": { + "type": "boolean", + "default": false + }, + "ended": { + "type": "boolean", + "default": false + }, + "startedAt": { + "anyOf": [ + { + "type": "string", + "format": "date-time" }, { - "$ref": "#/components/schemas/MultiNotFilter" + "type": "null" + } + ] + }, + "endedAt": { + "anyOf": [ + { + "type": "string", + "format": "date-time" }, { - "$ref": "#/components/schemas/RangeFilter" + "type": "null" } ] + }, + "accessibleFrom": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ] + }, + "accessibleTo": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ] + }, + "appointmentMode": { + "type": "string", + "enum": [ + "guided", + "self" + ] + }, + "videoAudioSettings": { + "type": "string", + "enum": [ + "both", + "none", + "audio-only" + ], + "default": "none" + }, + "videoRoomUrl": { + "type": "string", + "default": "" + }, + "attendeeRestrictionType": { + "anyOf": [ + { + "type": "string", + "enum": [ + "open", + "customer", + "rules" + ] + }, + { + "type": "null" + } + ] + }, + "productDetailDefaultPageId": { + "anyOf": [ + { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + { + "type": "null" + } + ] + }, + "quickviewPageId": { + "anyOf": [ + { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + { + "type": "null" + } + ] + }, + "productListingDefaultPageId": { + "anyOf": [ + { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + { + "type": "null" + } + ] + }, + "broadcastMode": { + "type": "boolean", + "default": false + }, + "viewMode": { + "type": "string", + "enum": [ + "onlyYou", + "presentation", + "videoGrid" + ], + "default": "presentation" + }, + "allowScreenSharing": { + "type": "boolean", + "default": false + }, + "extensions": { + "type": "array", + "default": [] } } }, - "criteriaIds": { - "name": "ids[]", - "in": "query", - "description": "List of ids to search for", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "criteriaQuery": { - "name": "query", - "in": "query", - "description": "The query string to search for", - "schema": { - "type": "string" - } - }, - "criteriaAssociations": { - "name": "associations", - "in": "query", - "description": "", - "schema": { - "$ref": "#/components/schemas/Associations" - }, - "style": "deepObject", - "explode": true - }, - "criteriaPostFilter": { - "name": "post-filter[]", - "in": "query", - "description": "Filters that applied without affecting aggregations. For more information, see [Search Queries > Post Filter](https://shopware.stoplight.io/docs/store-api/docs/concepts/search-queries.md#post-filter)", - "schema": { - "type": "array", - "items": { + "AttendeeProductCollectionResponse": { + "type": "object", + "properties": { + "collection": { + "type": "object", "anyOf": [ { - "$ref": "#/components/schemas/SimpleFilter" + "type": "object", + "properties": { + "liked": { + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$", + "description": "Product ids from the collection" + } + } + } }, { - "$ref": "#/components/schemas/EqualsFilter" - }, + "type": "object", + "properties": { + "disliked": { + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$", + "description": "Product ids from the collection" + } + } + } + } + ] + } + }, + "example": { + "collection": { + "liked": [ + "0015b3d83df441e490da7f6880a9c2da", + "60793d25cbab473f92c405ce0525f3ec" + ] + } + } + }, + "AppointmentBasicSettingResponse": { + "type": "object", + "properties": { + "apiAlias": { + "type": "string", + "description": "The API alias of the appointment basic setting" + }, + "mode": { + "type": "string", + "description": "The mode of the interaction", + "enum": [ + "guided", + "self" + ] + }, + "attendeeRestrictionType": { + "type": "string", + "description": "The type of attendee restriction", + "enum": [ + "open", + "customer", + "rules" + ] + }, + "videoAudioSettings": { + "type": "string", + "description": "The video and audio settings", + "enum": [ + "none", + "both", + "audio-only" + ] + }, + "canSendRequestEmail": { + "type": "boolean", + "description": "Indicates if request emails can be sent", + "default": false + }, + "canBookAppointment": { + "type": "boolean", + "description": "Indicates if appointments can be booked", + "default": false + }, + "enableWishlist": { + "type": "boolean", + "description": "Indicates if the wishlist is enabled", + "default": false + }, + "bookingLink": { + "description": "The booking link", + "oneOf": [ { - "$ref": "#/components/schemas/MultiNotFilter" + "type": "string" }, { - "$ref": "#/components/schemas/RangeFilter" + "type": "null" } ] + }, + "appointmentName": { + "type": "string", + "description": "The name of the appointment" + }, + "salesChannelName": { + "type": "string", + "description": "The name of the sales channel" } + }, + "example": { + "apiAlias": "appointment_basic_setting", + "mode": "self", + "attendeeRestrictionType": "open", + "videoAudioSettings": "none", + "canSendRequestEmail": false, + "canBookAppointment": false, + "enableWishlist": false, + "bookingLink": null, + "appointmentName": "dsr11", + "salesChannelName": "Storefront" } - }, - "criteriaSort": { - "name": "sort[]", - "in": "query", - "description": "Sorting in the search result.", - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Sort" + } + }, + "responses": { + "404": { + "description": "Not Found", + "content": { + "application/vnd.api+json": { + "schema": { + "$ref": "#/components/schemas/failure" + }, + "example": { + "errors": [ + { + "status": "404", + "title": "Not Found", + "description": "Resource with given parameter was not found." + } + ] + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/failure" + }, + "example": { + "errors": [ + { + "status": "404", + "title": "Not Found", + "description": "Resource with given parameter was not found." + } + ] + } } } }, - "criteriaAggregations": { - "name": "aggregations[]", - "in": "query", - "description": "", - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Aggregation" + "403": { + "description": "Forbidden", + "content": { + "application/vnd.api+json": { + "schema": { + "$ref": "#/components/schemas/failure" + }, + "example": { + "errors": [ + { + "status": "403", + "title": "Forbidden", + "description": "This operation is restricted to logged in users." + } + ] + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/failure" + }, + "example": { + "errors": [ + { + "status": "403", + "title": "Forbidden", + "description": "This operation is restricted to logged in users." + } + ] + } } } }, - "criteriaFields": { - "name": "fields[]", - "in": "query", - "description": "Fields which should be returned in the search result.", - "schema": { - "type": "array", - "items": { - "type": "string", - "description": "Name of a field" + "401": { + "description": "Unauthorized", + "content": { + "application/vnd.api+json": { + "schema": { + "$ref": "#/components/schemas/failure" + }, + "example": { + "errors": [ + { + "status": "401", + "title": "Unauthorized", + "description": "Authorization information is missing or invalid." + } + ] + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/failure" + }, + "example": { + "errors": [ + { + "status": "401", + "title": "Unauthorized", + "description": "Authorization information is missing or invalid." + } + ] + } } } }, - "criteriaGrouping": { - "name": "grouping[]", - "in": "query", - "description": "Perform groupings over certain fields", - "schema": { - "type": "array", - "items": { - "type": "string", - "description": "Name of a field" + "400": { + "description": "Bad Request", + "content": { + "application/vnd.api+json": { + "schema": { + "$ref": "#/components/schemas/failure" + }, + "example": { + "errors": [ + { + "status": "400", + "title": "Bad Request", + "description": "Bad parameters for this endpoint. See documentation for the correct ones." + } + ] + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/failure" + }, + "example": { + "errors": [ + { + "status": "400", + "title": "Bad Request", + "description": "Bad parameters for this endpoint. See documentation for the correct ones." + } + ] + } } } }, - "criteriaTotalCountMode": { - "name": "total-count-mode", - "in": "query", - "description": "", - "schema": { - "$ref": "#/components/schemas/TotalCountMode" - } - }, - "criteriaIncludes": { - "name": "includes", - "in": "query", - "description": "Specify the fields that should be returned for the given entities. Object key needs to be the entity name, and the list of fields needs to be the value. Fields will not be included, if they are also specified in the excludes. Note that the include fields will only be stripped on the API-Level, consider using the `fields` parameter for performance reasons.", - "schema": { - "$ref": "#/components/schemas/Includes" - }, - "style": "deepObject", - "explode": true - }, - "criteriaExcludes": { - "name": "excludes", - "in": "query", - "description": "Specify the fields that should be excluded from the response for the given entities. Object key needs to be the entity name, and the list of fields needs to be the value. Note that the exclude fields will only be stripped on the API-Level, consider using the `fields` parameter for performance reasons.", - "schema": { - "$ref": "#/components/schemas/Excludes" - }, - "style": "deepObject", - "explode": true - }, - "CompressedCriteria": { - "name": "_criteria", - "in": "query", - "description": "Compressed and encoded criteria object. Format: base64url(gzip(json_encode(criteria))). This parameter allows passing complex criteria as a single encoded string instead of multiple query parameters. The criteria object should be JSON-encoded, then gzipped, and finally base64url-encoded. The criteria object structure is defined in the Criteria schema (see #/components/schemas/Criteria).", - "required": false, - "schema": { - "type": "string", - "format": "base64url", - "example": "H4sIAAAAAAAAA6tWykpNzFGyqlbKz8lPTSxRslJKSi0pzSsFAGcQr7sHAAAA" - } + "204": { + "description": "No Content" }, - "CompressedNoneFieldsCriteria": { - "name": "_criteria", - "in": "query", - "description": "Compressed and encoded criteria object. Format: base64url(gzip(json_encode(criteria))). This parameter allows passing complex criteria as a single encoded string instead of multiple query parameters. The criteria object should be JSON-encoded, then gzipped, and finally base64url-encoded. The criteria object structure is defined in the NoneFieldsCriteria schema (see #/components/schemas/NoneFieldsCriteria).", - "required": false, - "schema": { - "type": "string", - "format": "base64url", - "example": "H4sIAAAAAAAAA6tWykpNzFGyqlbKz8lPTSxRslJKSi0pzSsFAGcQr7sHAAAA" + "LanguageListResponse": { + "description": "Entity search result containing languages.", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "properties": { + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Language" + } + } + }, + "required": [ + "elements" + ], + "type": "object" + }, + { + "$ref": "#/components/schemas/EntitySearchResult" + } + ] + } + } } - } - }, - "securitySchemes": { - "ApiKey": { - "type": "apiKey", - "description": "Identifies the sales channel you want to access the API through", - "name": "sw-access-key", - "in": "header" }, - "ContextToken": { - "type": "apiKey", - "description": "Identifies an anonymous or identified user session", - "name": "sw-context-token", - "in": "header" - } - } - }, - "security": [ - { - "ApiKey": [] - } - ], - "paths": { - "/dsr/appointment/presentation": { - "get": { - "tags": [ - "Presentation" - ], - "summary": "Fetch presentation structure and flat navigation", - "description": "Resolves the presentation structure and navigation by using the attendeeContext information. There will be NO Slot-Data inside call store-api.dsr.presentation-data for that", - "operationId": "getPresentationStructure", - "parameters": [], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PresentationStructure" + "OpenApi3": { + "description": "Returns information about the store API.", + "content": { + "application/json": { + "schema": { + "properties": { + "openapi": { + "type": "string" + }, + "info": { + "type": "object", + "properties": { + "title": { + "type": "string" + }, + "summary": { + "type": "string" + }, + "description": { + "type": "string" + }, + "termsOfService": { + "type": "string", + "format": "uri" + }, + "contact": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" + }, + "email": { + "type": "string", + "format": "email" + } + } + }, + "license": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "identifier": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" + } + }, + "required": [ + "name" + ] + }, + "version": { + "type": "string" + } + }, + "required": [ + "title", + "version" + ] + }, + "jsonSchemaDialect": { + "type": "string" + }, + "webhooks": { + "type": "object" + }, + "servers": { + "type": "array", + "items": { + "type": "object", + "properties": { + "url": { + "type": "string" + } + }, + "required": [ + "url" + ] + } + }, + "components": { + "type": "object", + "properties": { + "schemas": { + "type": "object" + }, + "responses": { + "type": "object" + }, + "parameters": { + "type": "object" + }, + "examples": { + "type": "object" + }, + "requestBodies": { + "type": "object" + }, + "headers": { + "type": "object" + }, + "securitySchemes": { + "type": "object" + }, + "links": { + "type": "object" + }, + "callbacks": { + "type": "object" + }, + "pathItems": { + "type": "object" + } + } + }, + "security": { + "type": "array", + "items": { + "type": "object" + } + }, + "paths": { + "type": "object" + }, + "tags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "externalDocs": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" + } + }, + "required": [ + "url" + ] + } + }, + "required": [ + "name" + ] + } + }, + "externalDocs": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" + } + }, + "required": [ + "url" + ] } - } + }, + "type": "object", + "required": [ + "openapi", + "info" + ] } } - }, - "security": [ - { - "ApiKey": [], - "ContextToken": [] - } - ] - } - }, - "/dsr/appointment/presentation/{presentationCmsPageId}/slide/{sectionId}": { - "get": { - "tags": [ - "Presentation" - ], - "summary": "Fetch resolved data for specific slide", - "description": "Gives the resolved slot-data for the given slide index (slot-config)", - "operationId": "getSlideData", - "parameters": [ - { - "name": "presentationCmsPageId", - "in": "path", - "description": "Presentation CMS page id for which the data is requested", - "required": true, - "schema": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - }, - { - "name": "sectionId", - "in": "path", - "description": "CMS section id for which the data is requested", - "required": true, + } + }, + "CountryListResponse": { + "description": "Entity search result containing countries.", + "content": { + "application/json": { "schema": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PresentationSlideData" + "allOf": [ + { + "properties": { + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Country" + } + } + }, + "type": "object" + }, + { + "$ref": "#/components/schemas/EntitySearchResult" } - } + ] } } - }, - "security": [ - { - "ApiKey": [], - "ContextToken": [] - } - ] - } - }, - "/dsr/appointment/presentation/{presentationCmsPageId}/slide/{sectionId}/products": { - "post": { - "tags": [ - "Presentation" - ], - "summary": "Fetch all products for specific slide", - "description": "Fetches all products for a specific slide", - "operationId": "getSlideProducts", - "parameters": [ - { - "name": "presentationCmsPageId", - "in": "path", - "description": "Presentation CMS page id for which the data is requested", - "required": true, - "schema": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - }, - { - "name": "sectionId", - "in": "path", - "description": "CMS section id for which the data is requested", - "required": true, + } + }, + "CategoryListResponse": { + "description": "Entity search result containing categories.", + "content": { + "application/json": { "schema": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/Criteria" - }, - { - "type": "object", - "properties": { - "interaction": { - "type": "boolean" + "allOf": [ + { + "type": "object", + "properties": { + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Category" } } } - ] - } + }, + { + "$ref": "#/components/schemas/EntitySearchResult" + } + ] + } + } + } + }, + "ContextTokenResponse": { + "description": "Returns the context token. Use that as your `sw-context-token` header for subsequent requests. Redirect if getRedirectUrl is set.", + "headers": { + "sw-context-token": { + "description": "Contains sw-context-token value", + "schema": { + "type": "string" } } }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProductListingResult" + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "redirectUrl": { + "description": "Define the URL which browser will be redirected to", + "type": "string" } } } } - }, - "security": [ - { - "ApiKey": [], - "ContextToken": [] - } - ] - } - }, - "/dsr/appointment/presentation/state": { - "get": { - "tags": [ - "Presentation" - ], - "summary": "Get the current presentation state", - "description": "Returns the presentation state for all and the client", - "operationId": "getClientPresentationState", - "parameters": [], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientPresentationStateResponse" + } + }, + "ShippingMethodListResponse": { + "description": "Entity search result containing shipping methods.", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "required": [ + "elements" + ], + "properties": { + "total": { + "description": "Total amount", + "type": "integer" + }, + "aggregations": { + "description": "aggregation result", + "type": "object" + }, + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ShippingMethod" + } + } + }, + "type": "object" + }, + { + "$ref": "#/components/schemas/EntitySearchResult" } - } + ] } } - }, - "security": [ - { - "ApiKey": [], - "ContextToken": [] + } + }, + "PaymentMethodListResponse": { + "description": "", + "content": { + "application/json": { + "schema": { + "properties": { + "total": { + "description": "Total amount", + "type": "integer" + }, + "aggregations": { + "description": "aggregation result", + "type": "object" + }, + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentMethod" + } + } + }, + "type": "object" + } } - ] - } - }, - "/dsr/quickview/{productId}/{cmsPageLayoutId}": { - "get": { - "tags": [ - "Presentation" - ], - "summary": "Fetch a cms page for quickview with product data", - "description": "Takes a product identifier and returns the preconfigured quickview CMS layout (defined in SwagDigitalSalesRooms.config.quickviewPageId ) hydrated with the product specific data", - "operationId": "resolveQuickviewPage", - "parameters": [ - { - "name": "productId", - "in": "path", - "description": "The product id", - "required": true, + } + }, + "CurrencyListResponse": { + "description": "Entity search result containing currencies.", + "content": { + "application/json": { "schema": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "type": "array", + "items": { + "$ref": "#/components/schemas/Currency" + } } - }, - { - "name": "cmsPageLayoutId", - "in": "path", - "description": "The cms page id using as product quick view", - "required": true, + } + } + }, + "SeoUrlListResponse": { + "description": "Entity search result containing seo urls.", + "content": { + "application/json": { "schema": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "allOf": [ + { + "properties": { + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SeoUrl" + } + } + }, + "type": "object", + "required": [ + "elements" + ] + }, + { + "$ref": "#/components/schemas/EntitySearchResult" + } + ] } } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", + } + }, + "SalutationListResponse": { + "description": "Entity search result containing salutations.", + "content": { + "application/json": { + "schema": { + "allOf": [ + { "properties": { - "cmsPage": { - "$ref": "#/components/schemas/CmsPage" - }, - "product": { - "$ref": "#/components/schemas/Product" - }, - "configurator": { + "elements": { "type": "array", "items": { - "$ref": "#/components/schemas/PropertyGroup" + "$ref": "#/components/schemas/Salutation" } } - } + }, + "type": "object" + }, + { + "$ref": "#/components/schemas/EntitySearchResult" } - } + ] } } - }, - "security": [ - { - "ApiKey": [], - "ContextToken": [] - } - ] - } - }, - "/dsr/account/update-default-info": { - "post": { - "tags": [ - "Customer account" - ], - "summary": "Update customer default info", - "description": "Mark the customer who was created by admin from DSR has already updated the default info when the customer first login", - "operationId": "dsrAccountUpdateDefaultInfo", - "parameters": [], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SuccessResponse" + } + }, + "ProductListResponse": { + "description": "Entity search result containing products", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "required": [ + "elements" + ], + "properties": { + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Product" + } + } + }, + "type": "object" + }, + { + "$ref": "#/components/schemas/EntitySearchResult" } - } + ] } } - }, - "security": [ - { - "ApiKey": [], - "ContextToken": [] - } - ] - } - }, - "/dsr/customer/wishlist-product-ids": { - "post": { - "tags": [ - "Wishlist" - ], - "summary": "Load customer wishlist product ids", - "description": "Load customer wishlist product ids", - "operationId": "dsrLoadCustomerWishlistProductIds", - "parameters": [], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", + } + }, + "CountryStateListResponse": { + "description": "Entity search result containing countries.", + "content": { + "application/json": { + "schema": { + "allOf": [ + { "properties": { - "apiAlias": { - "type": "string", - "default": "array_struct" - }, - "wishlistProductIds": { + "elements": { "type": "array", "items": { - "type": "string" + "$ref": "#/components/schemas/CountryState" } } - } + }, + "type": "object" }, - "example": { - "apiAlias": "array_struct", - "wishlistProductIds": [ - "01951c1b08247366b6c29989c74b048d", - "01951c1b0ad070b689596328fa27568b", - "01951c359620703b833179608409e270", - "01951c3d327b72d59694fc992aac69a5", - "01951c3fe62a71c5a5f0523d87af0800" - ] + { + "$ref": "#/components/schemas/EntitySearchResult" } + ] + } + } + } + } + }, + "parameters": { + "contentType": { + "name": "Content-Type", + "in": "header", + "description": "Content type of the request", + "required": true, + "schema": { + "type": "string", + "default": "application/json" + } + }, + "accept": { + "name": "Accept", + "in": "header", + "description": "Accepted response content types", + "required": true, + "schema": { + "type": "string", + "default": "application/json" + } + }, + "criteriaPage": { + "name": "page", + "in": "query", + "description": "Search result page", + "schema": { + "type": "integer" + } + }, + "criteriaLimit": { + "name": "limit", + "in": "query", + "description": "Number of items per result page", + "schema": { + "type": "integer" + } + }, + "criteriaTerm": { + "name": "term", + "in": "query", + "description": "Search term", + "schema": { + "type": "string" + } + }, + "criteriaFilter": { + "name": "filter[]", + "in": "query", + "description": "List of filters to restrict the search result. For more information, see [Search Queries > Filter](https://shopware.stoplight.io/docs/store-api/docs/concepts/search-queries.md#filter)", + "schema": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/SimpleFilter" + }, + { + "$ref": "#/components/schemas/EqualsFilter" + }, + { + "$ref": "#/components/schemas/MultiNotFilter" + }, + { + "$ref": "#/components/schemas/RangeFilter" } - } - } - }, - "security": [ - { - "ApiKey": [], - "ContextToken": [] + ] } - ] - } - }, - "/dsr/customer/generate-login-token": { - "post": { - "tags": [ - "Customer account" - ], - "summary": "Generate login token that can be used to login to Storefront from DSR", - "description": "Generate login token that can be used to login to Storefront from DSR", - "operationId": "dsrGenerateLoginToken", - "body": { - "type": "object", - "properties": { - "storefrontUrl": { - "type": "string" - } + } + }, + "criteriaIds": { + "name": "ids[]", + "in": "query", + "description": "List of ids to search for", + "schema": { + "type": "array", + "items": { + "type": "string" } + } + }, + "criteriaQuery": { + "name": "query", + "in": "query", + "description": "The query string to search for", + "schema": { + "type": "string" + } + }, + "criteriaAssociations": { + "name": "associations", + "in": "query", + "description": "", + "schema": { + "$ref": "#/components/schemas/Associations" }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "apiAlias": { - "type": "string", - "default": "dsr.storefront-login.response" - }, - "token": { - "type": "string" - } - } - } + "style": "deepObject", + "explode": true + }, + "criteriaPostFilter": { + "name": "post-filter[]", + "in": "query", + "description": "Filters that applied without affecting aggregations. For more information, see [Search Queries > Post Filter](https://shopware.stoplight.io/docs/store-api/docs/concepts/search-queries.md#post-filter)", + "schema": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/SimpleFilter" + }, + { + "$ref": "#/components/schemas/EqualsFilter" + }, + { + "$ref": "#/components/schemas/MultiNotFilter" + }, + { + "$ref": "#/components/schemas/RangeFilter" } - } + ] } - }, - "security": [ - { - "ApiKey": [], - "ContextToken": [] + } + }, + "criteriaSort": { + "name": "sort[]", + "in": "query", + "description": "Sorting in the search result.", + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Sort" } - ] - } - }, - "/dsr/customer/automatic-login": { - "post": { - "tags": [ - "Customer account" - ], - "summary": "Automatic login from DSR to Storefront", - "description": "Automatic login from DSR to Storefront", - "operationId": "dsrAutomaticLogin", - "body": { - "type": "object", - "properties": { - "token": { - "type": "string" - } + } + }, + "criteriaAggregations": { + "name": "aggregations[]", + "in": "query", + "description": "", + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Aggregation" } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/responses/ContextTokenResponse" - } - } - } + } + }, + "criteriaFields": { + "name": "fields[]", + "in": "query", + "description": "Fields which should be returned in the search result.", + "schema": { + "type": "array", + "items": { + "type": "string", + "description": "Name of a field" } - }, - "security": [ - { - "ApiKey": [], - "ContextToken": [] + } + }, + "criteriaGrouping": { + "name": "grouping[]", + "in": "query", + "description": "Perform groupings over certain fields", + "schema": { + "type": "array", + "items": { + "type": "string", + "description": "Name of a field" } - ] - } - }, - "/dsr/customer/migrate-visitor-session": { - "post": { - "tags": [ - "Customer account" - ], - "summary": "Migrate visitor session from DSR to Storefront", - "description": "Migrate visitor session from DSR to Storefront", - "operationId": "dsrMigrateVisitorSession", - "body": { - "type": "object", - "properties": { - "contextToken": { + } + }, + "criteriaTotalCountMode": { + "name": "total-count-mode", + "in": "query", + "description": "", + "schema": { + "$ref": "#/components/schemas/TotalCountMode" + } + }, + "criteriaIncludes": { + "name": "includes", + "in": "query", + "description": "Specify the fields that should be returned for the given entities. Object key needs to be the entity name, and the list of fields needs to be the value. Fields will not be included, if they are also specified in the excludes. Note that the include fields will only be stripped on the API-Level, consider using the `fields` parameter for performance reasons.", + "schema": { + "$ref": "#/components/schemas/Includes" + }, + "style": "deepObject", + "explode": true + }, + "criteriaExcludes": { + "name": "excludes", + "in": "query", + "description": "Specify the fields that should be excluded from the response for the given entities. Object key needs to be the entity name, and the list of fields needs to be the value. Note that the exclude fields will only be stripped on the API-Level, consider using the `fields` parameter for performance reasons.", + "schema": { + "$ref": "#/components/schemas/Excludes" + }, + "style": "deepObject", + "explode": true + }, + "CompressedCriteria": { + "name": "_criteria", + "in": "query", + "description": "Compressed and encoded criteria object. Format: base64url(gzip(json_encode(criteria))). This parameter allows passing complex criteria as a single encoded string instead of multiple query parameters. The criteria object should be JSON-encoded, then gzipped, and finally base64url-encoded. The criteria object structure is defined in the Criteria schema (see #/components/schemas/Criteria).", + "required": false, + "schema": { + "type": "string", + "format": "base64url", + "example": "H4sIAAAAAAAAA6tWykpNzFGyqlbKz8lPTSxRslJKSi0pzSsFAGcQr7sHAAAA" + } + }, + "CompressedNoneFieldsCriteria": { + "name": "_criteria", + "in": "query", + "description": "Compressed and encoded criteria object. Format: base64url(gzip(json_encode(criteria))). This parameter allows passing complex criteria as a single encoded string instead of multiple query parameters. The criteria object should be JSON-encoded, then gzipped, and finally base64url-encoded. The criteria object structure is defined in the NoneFieldsCriteria schema (see #/components/schemas/NoneFieldsCriteria).", + "required": false, + "schema": { + "type": "string", + "format": "base64url", + "example": "H4sIAAAAAAAAA6tWykpNzFGyqlbKz8lPTSxRslJKSi0pzSsFAGcQr7sHAAAA" + } + }, + "noAggregations": { + "name": "no-aggregations", + "in": "query", + "description": "Resets all aggregations in the criteria. This parameter is a flag, the value has no effect.", + "required": false, + "schema": { + "oneOf": [ + { "type": "string" + }, + { + "type": "null" } - } - }, - "responses": { - "204": [] - }, - "security": [ - { - "ApiKey": [], - "ContextToken": [] - } - ] + ] + } + }, + "onlyAggregations": { + "name": "only-aggregations", + "in": "query", + "description": "If this flag is set, no products are fetched. Sorting and associations are also ignored. This parameter is a flag, the value has no effect.", + "required": false, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } } }, + "securitySchemes": { + "ApiKey": { + "type": "apiKey", + "description": "Identifies the sales channel you want to access the API through", + "name": "sw-access-key", + "in": "header" + }, + "ContextToken": { + "type": "apiKey", + "description": "Identifies an anonymous or identified user session", + "name": "sw-context-token", + "in": "header" + } + } + }, + "security": [ + { + "ApiKey": [] + } + ], + "paths": { "/dsr/appointment/{presentationPath}/join-as-client": { "post": { "tags": [ @@ -19825,21 +19419,212 @@ ] } }, - "/dsr/shop-pages/{layoutName}": { + "/dsr/appointment/presentation": { "get": { "tags": [ - "Shop pages" + "Presentation" ], - "summary": "Get shop pages", - "description": "Get shop pages by layout name", - "operationId": "dsrReadShopPage", + "summary": "Fetch presentation structure and flat navigation", + "description": "Resolves the presentation structure and navigation by using the attendeeContext information. There will be NO Slot-Data inside call store-api.dsr.presentation-data for that", + "operationId": "getPresentationStructure", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PresentationStructure" + } + } + } + } + }, + "security": [ + { + "ApiKey": [], + "ContextToken": [] + } + ] + } + }, + "/dsr/appointment/presentation/{presentationCmsPageId}/slide/{sectionId}": { + "get": { + "tags": [ + "Presentation" + ], + "summary": "Fetch resolved data for specific slide", + "description": "Gives the resolved slot-data for the given slide index (slot-config)", + "operationId": "getSlideData", + "parameters": [ + { + "name": "presentationCmsPageId", + "in": "path", + "description": "Presentation CMS page id for which the data is requested", + "required": true, + "schema": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + }, + { + "name": "sectionId", + "in": "path", + "description": "CMS section id for which the data is requested", + "required": true, + "schema": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PresentationSlideData" + } + } + } + } + }, + "security": [ + { + "ApiKey": [], + "ContextToken": [] + } + ] + } + }, + "/dsr/appointment/presentation/{presentationCmsPageId}/slide/{sectionId}/products": { + "post": { + "tags": [ + "Presentation" + ], + "summary": "Fetch all products for specific slide", + "description": "Fetches all products for a specific slide", + "operationId": "getSlideProducts", + "parameters": [ + { + "name": "presentationCmsPageId", + "in": "path", + "description": "Presentation CMS page id for which the data is requested", + "required": true, + "schema": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + }, + { + "name": "sectionId", + "in": "path", + "description": "CMS section id for which the data is requested", + "required": true, + "schema": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Criteria" + }, + { + "type": "object", + "properties": { + "interaction": { + "type": "boolean" + } + } + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProductListingResult" + } + } + } + } + }, + "security": [ + { + "ApiKey": [], + "ContextToken": [] + } + ] + } + }, + "/dsr/appointment/presentation/state": { + "get": { + "tags": [ + "Presentation" + ], + "summary": "Get the current presentation state", + "description": "Returns the presentation state for all and the client", + "operationId": "getClientPresentationState", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientPresentationStateResponse" + } + } + } + } + }, + "security": [ + { + "ApiKey": [], + "ContextToken": [] + } + ] + } + }, + "/dsr/quickview/{productId}/{cmsPageLayoutId}": { + "get": { + "tags": [ + "Presentation" + ], + "summary": "Fetch a cms page for quickview with product data", + "description": "Takes a product identifier and returns the preconfigured quickview CMS layout (defined in SwagDigitalSalesRooms.config.quickviewPageId ) hydrated with the product specific data", + "operationId": "resolveQuickviewPage", "parameters": [ { - "name": "layoutName", + "name": "productId", + "in": "path", + "description": "The product id", + "required": true, + "schema": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + }, + { + "name": "cmsPageLayoutId", "in": "path", + "description": "The cms page id using as product quick view", "required": true, "schema": { - "type": "string" + "type": "string", + "pattern": "^[0-9a-f]{32}$" } } ], @@ -19849,7 +19634,21 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CmsPage" + "type": "object", + "properties": { + "cmsPage": { + "$ref": "#/components/schemas/CmsPage" + }, + "product": { + "$ref": "#/components/schemas/Product" + }, + "configurator": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PropertyGroup" + } + } + } } } } @@ -19857,7 +19656,8 @@ }, "security": [ { - "ApiKey": [] + "ApiKey": [], + "ContextToken": [] } ] } @@ -19985,6 +19785,231 @@ } ] } + }, + "/dsr/shop-pages/{layoutName}": { + "get": { + "tags": [ + "Shop pages" + ], + "summary": "Get shop pages", + "description": "Get shop pages by layout name", + "operationId": "dsrReadShopPage", + "parameters": [ + { + "name": "layoutName", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CmsPage" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + } + }, + "/dsr/account/update-default-info": { + "post": { + "tags": [ + "Customer account" + ], + "summary": "Update customer default info", + "description": "Mark the customer who was created by admin from DSR has already updated the default info when the customer first login", + "operationId": "dsrAccountUpdateDefaultInfo", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SuccessResponse" + } + } + } + } + }, + "security": [ + { + "ApiKey": [], + "ContextToken": [] + } + ] + } + }, + "/dsr/customer/wishlist-product-ids": { + "post": { + "tags": [ + "Wishlist" + ], + "summary": "Load customer wishlist product ids", + "description": "Load customer wishlist product ids", + "operationId": "dsrLoadCustomerWishlistProductIds", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "apiAlias": { + "type": "string", + "default": "array_struct" + }, + "wishlistProductIds": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "example": { + "apiAlias": "array_struct", + "wishlistProductIds": [ + "01951c1b08247366b6c29989c74b048d", + "01951c1b0ad070b689596328fa27568b", + "01951c359620703b833179608409e270", + "01951c3d327b72d59694fc992aac69a5", + "01951c3fe62a71c5a5f0523d87af0800" + ] + } + } + } + } + }, + "security": [ + { + "ApiKey": [], + "ContextToken": [] + } + ] + } + }, + "/dsr/customer/generate-login-token": { + "post": { + "tags": [ + "Customer account" + ], + "summary": "Generate login token that can be used to login to Storefront from DSR", + "description": "Generate login token that can be used to login to Storefront from DSR", + "operationId": "dsrGenerateLoginToken", + "body": { + "type": "object", + "properties": { + "storefrontUrl": { + "type": "string" + } + } + }, + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "apiAlias": { + "type": "string", + "default": "dsr.storefront-login.response" + }, + "token": { + "type": "string" + } + } + } + } + } + } + }, + "security": [ + { + "ApiKey": [], + "ContextToken": [] + } + ] + } + }, + "/dsr/customer/automatic-login": { + "post": { + "tags": [ + "Customer account" + ], + "summary": "Automatic login from DSR to Storefront", + "description": "Automatic login from DSR to Storefront", + "operationId": "dsrAutomaticLogin", + "body": { + "type": "object", + "properties": { + "token": { + "type": "string" + } + } + }, + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/responses/ContextTokenResponse" + } + } + } + } + }, + "security": [ + { + "ApiKey": [], + "ContextToken": [] + } + ] + } + }, + "/dsr/customer/migrate-visitor-session": { + "post": { + "tags": [ + "Customer account" + ], + "summary": "Migrate visitor session from DSR to Storefront", + "description": "Migrate visitor session from DSR to Storefront", + "operationId": "dsrMigrateVisitorSession", + "body": { + "type": "object", + "properties": { + "contextToken": { + "type": "string" + } + } + }, + "responses": { + "204": [] + }, + "security": [ + { + "ApiKey": [], + "ContextToken": [] + } + ] + } } }, "tags": [