diff --git a/lib/shopware/api-extended.ts b/lib/shopware/api-extended.ts new file mode 100644 index 000000000..b912ced0c --- /dev/null +++ b/lib/shopware/api-extended.ts @@ -0,0 +1,142 @@ +import { operations, operationPaths, components } from '@shopware/api-client/api-types'; + +type operationsWithoutOriginal = Omit< + operations, + 'readProduct' | 'searchPage' | 'readProductListing' +>; +export type extendedPaths = 'readProduct post /product' | operationPaths; +export type extendedOperations = operationsWithoutOriginal & { + readProduct: extendedReadProduct; + searchPage: extendedSearchPage; + readProductListing: extendedReadProductListing; +}; + +export type ExtendedCriteria = Omit & { + filter?: { + field: string; + type: string; + value: string | boolean | null; + }[]; +}; + +type extendedReadProduct = { + requestBody?: { + content: { + 'application/json': ExtendedCriteria; + }; + }; + responses: { + /** Entity search result containing products */ + 200: { + content: { + 'application/json': { + elements?: components['schemas']['Product'][]; + } & components['schemas']['EntitySearchResult']; + }; + }; + }; +}; + +type ExtendedProductCriteria = ExtendedCriteria & { + /** 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. */ + limit?: number; + /** Filter by manufacturers. List of manufacturer identifiers separated by a `|`. */ + manufacturer?: string; + /** + * 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. + * @default true + */ + 'manufacturer-filter'?: boolean; + /** + * Filters by a maximum product price. Has to be higher than the `min-price` filter. + * @default 0 + */ + 'max-price'?: number; + /** + * Filters by a minimum product price. Has to be lower than the `max-price` filter. + * @default 0 + */ + 'min-price'?: number; + /** 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. */ + order?: string; + /** + * Search result page + * @default 1 + */ + p?: number; + /** + * 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. + * @default true + */ + 'price-filter'?: boolean; + /** Filters products by their properties. List of property identifiers separated by a `|`. */ + properties?: string; + /** + * 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. + * @default true + */ + 'property-filter'?: boolean; + /** 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. */ + 'property-whitelist'?: string; + /** Filter products with a minimum average rating. */ + rating?: number; + /** + * 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. + * @default true + */ + 'rating-filter'?: boolean; + /** 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. */ + 'reduce-aggregations'?: string | null; + /** + * Filters products that are marked as shipping-free. + * @default false + */ + 'shipping-free'?: boolean; + /** + * 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. + * @default true + */ + 'shipping-free-filter'?: boolean; +}; + +type extendedSearchPage = { + requestBody?: { + content: { + 'application/json': { + /** Using the search parameter, the server performs a text search on all records based on their data model and weighting as defined in the entity definition using the SearchRanking flag. */ + search: string; + } & ExtendedProductCriteria & + components['schemas']['ProductListingFlags']; + }; + }; + responses: { + /** Returns a product listing containing all products and additional fields to display a listing. */ + 200: { + content: { + 'application/json': components['schemas']['ProductListingResult']; + }; + }; + }; +}; + +type extendedReadProductListing = { + parameters: { + path: { + /** Identifier of a category. */ + categoryId: string; + }; + }; + requestBody?: { + content: { + 'application/json': ExtendedProductCriteria & components['schemas']['ProductListingFlags']; + }; + }; + responses: { + /** Returns a product listing containing all products and additional fields to display a listing. */ + 200: { + content: { + 'application/json': components['schemas']['ProductListingResult']; + }; + }; + }; +}; diff --git a/lib/shopware/api-types/apiTypes-6.5.2.0.d.ts b/lib/shopware/api-types/apiTypes-6.5.2.0.d.ts deleted file mode 100644 index 2bc67f1e3..000000000 --- a/lib/shopware/api-types/apiTypes-6.5.2.0.d.ts +++ /dev/null @@ -1,7733 +0,0 @@ -/** - * This file was auto-generated by openapi-typescript. - * Do not make direct changes to the file. - */ - -/** OneOf type helpers */ -type Without = { [P in Exclude]?: never }; -type XOR = T | U extends object ? (Without & U) | (Without & T) : T | U; -type OneOf = T extends [infer Only] - ? Only - : T extends [infer A, infer B, ...infer Rest] - ? OneOf<[XOR, ...Rest]> - : never; - -type GenericRecord = never | { [key: string]: GenericRecord }; - -export type paths = { - '/account/address': { - /** - * Create a new address for a customer - * Creates a new address for a customer. - */ - post: operations['createCustomerAddress']; - }; - '/account/address/{addressId}': { - /** - * Delete an address of a customer - * Delete an address of customer. - * - * Only addresses which are not set as default addresses for shipping or billing can be deleted. You can check the current default addresses of your customer using the profile information endpoint and change them using the default address endpoint. - * - * **A customer must have at least one address (which can be used for shipping and billing).** - * - * An automatic fallback is not applied. - */ - delete: operations['deleteCustomerAddress']; - /** - * Modify an address of a customer - * Modifies an existing address of a customer. - */ - patch: operations['updateCustomerAddress']; - }; - '/account/address/default-billing/{addressId}': { - /** - * Change a customer's default billing address - * Updates the default (preselected) billing addresses of a customer. - */ - patch: operations['defaultBillingAddress']; - }; - '/account/address/default-shipping/{addressId}': { - /** - * Change a customer's default shipping address - * Updates the default (preselected) shipping addresses of a customer. - */ - patch: operations['defaultShippingAddress']; - }; - '/account/change-email': { - /** - * Change the customer's email address - * Changes a customer's email address to a new email address, using their current password as a validation. - */ - post: operations['changeEmail']; - }; - '/account/change-language': { - /** - * Change the customer's language. - * Changes the language of the logged in customer - */ - post: operations['changeLanguage']; - }; - '/account/change-password': { - /** - * Change the customer's password - * Changes a customer's password using their current password as a validation. - */ - post: operations['changePassword']; - }; - '/account/change-payment-method/{paymentMethodId}': { - /** - * Change the customer's default payment method - * Changes a customer's default (preselected) payment method. - */ - post: operations['changePaymentMethod']; - }; - '/account/change-profile': { - /** - * Change the customer's information - * Make changes to a customer's account, like changing their name, salutation or title. - */ - post: operations['changeProfile']; - }; - '/account/customer': { - /** - * Get information about current customer - * Returns information about the current customer. - */ - post: operations['readCustomer']; - /** - * Delete the customer's profile - * Deletes a customer profile along with their addresses, wishlists and associated data. Created orders and their payment/shipping information (addresses) and reviews are not deleted. - */ - delete: operations['deleteCustomer']; - }; - '/account/customer-recovery-is-expired': { - /** - * Checks if the customer recovery entry for a given hash is expired. - * This can be used to validate a provided hash has a valid and not expired customer recovery hash. - */ - post: operations['getCustomerRecoveryIsExpired']; - }; - '/account/list-address': { - /** - * Fetch addresses of a customer - * Lists all addresses of the current customer and allows filtering them based on a criteria. - */ - post: operations['listAddress']; - }; - '/account/login': { - /** - * Log in a customer - * Logs in customers given their credentials. - */ - post: operations['loginCustomer']; - }; - '/account/logout': { - /** - * Log out a customer - * Logs out a customer. - */ - post: operations['logoutCustomer']; - }; - '/account/newsletter-recipient': { - /** - * Fetch newsletter recipients - * Perform a filtered search for newsletter recipients. - */ - post: operations['readNewsletterRecipient']; - }; - '/account/recovery-password': { - /** - * Send a password recovery mail - * This operation is Step 1 of the password reset flow. Make sure to implement Step 2 "Reset password with recovery credentials" in order to allow for the complete flow in your application. Sends a recovery mail containing a link with credentials that allows a customer to reset their password. - */ - post: operations['sendRecoveryMail']; - }; - '/account/recovery-password-confirm': { - /** - * Reset a password with recovery credentials - * This operation is Step 2 of the password reset flow. It is required to conduct Step 1 "Send a password recovery mail" in order to obtain the required credentials for this step.Resets a customer's password using credentials from a password recovery mail as a validation. - */ - post: operations['recoveryPassword']; - }; - '/account/register': { - /** - * Register a customer - * Registers a customer. Used both for normal customers and guest customers.See the Guide "Register a customer" for more information on customer registration. - */ - post: operations['register']; - }; - '/account/register-confirm': { - /** - * Confirm a customer registration - * Confirms a customer registration when double opt-in is activated. - * - * Learn more about double opt-in registration in our guide "Register a customer". - */ - post: operations['registerConfirm']; - }; - '/category': { - /** - * Fetch a list of categories - * Perform a filtered search for categories. - */ - post: operations['readCategoryList']; - }; - '/category/{navigationId}': { - /** - * Fetch a single category - * This endpoint returns information about the category, as well as a fully resolved (hydrated with mapping values) CMS page, if one is assigned to the category. You can pass slots which should be resolved exclusively. - */ - post: operations['readCategory']; - }; - '/checkout/cart': { - /** - * Fetch or create a cart - * Used to fetch the current cart or for creating a new one. - */ - get: operations['readCart']; - /** - * Delete a cart - * This route deletes the cart of the customer. - */ - delete: operations['deleteCart']; - }; - '/checkout/cart/line-item': { - /** - * Add items to the cart - * This route adds items to the cart. An item can be a product or promotion for example. They are referenced by the `referencedId`-parameter. - * - * Example: [Working with the cart - Guide](https://developer.shopware.com/docs/guides/integrations-api/store-api-guide/work-with-the-cart#adding-new-items-to-the-cart) - */ - post: operations['addLineItem']; - /** - * Remove items from the cart - * This route removes items from the cart and recalculates it. - * - * Example: [Working with the cart - Guide](https://developer.shopware.com/docs/guides/integrations-api/store-api-guide/work-with-the-cart#deleting-items-in-the-cart) - */ - delete: operations['removeLineItem']; - /** - * Update items in the cart - * This route updates items in the cart. A typical example is updating the quantity of an item. - * - * Example: [Working with the cart - Guide](https://developer.shopware.com/docs/guides/integrations-api/store-api-guide/work-with-the-cart#updating-items-in-the-cart) - */ - patch: operations['updateLineItem']; - }; - '/checkout/order': { - /** - * Create an order from a cart - * Creates a new order from the current cart and deletes the cart. - * - * If you are using the [prepared payment flow](https://developer.shopware.com/docs/concepts/commerce/checkout-concept/payments#2.1-prepare-payment-optional), this endpoint also receives additional transaction details. The exact name of the parameters depends on the implementation of the corresponding *payment handler*. - */ - post: operations['createOrder']; - }; - '/cms/{id}': { - /** - * Fetch and resolve a CMS page - * Loads a content management page by its identifier and resolve the slot data. This could be media files, product listing and so on. - * - * **Important notice** - * - * The criteria passed with this route also affects the listing, if there is one within the cms page. - */ - post: operations['readCms']; - }; - '/contact-form': { - /** - * Submit a contact form message - * Used for submitting contact forms. Be aware that there can be more required fields, depending on the system settings. - */ - post: operations['sendContactMail']; - }; - '/context': { - /** - * Fetch the current context - * Fetches the current context. This includes for example the `customerGroup`, `currency`, `taxRules` and many more. - */ - get: operations['readContext']; - /** - * Modify the current context - * Used for switching the context. A typical example would be changing the language or changing the currency. - */ - patch: operations['updateContext']; - }; - '/country': { - /** - * Fetch countries - * Perform a filtered search for countries - */ - post: operations['readCountry']; - }; - '/country-state/{countryId}': { - /** - * Fetch the states of a country - * Perform a filtered search the states for a country - */ - post: operations['readCountryState']; - }; - '/currency': { - /** - * Fetch currencies - * Perform a filtered search for currencies. - */ - post: operations['readCurrency']; - }; - '/customer-group-registration/config/{customerGroupId}': { - /** Fetch registration settings for customer group */ - get: operations['getCustomerGroupRegistrationInfo']; - }; - '/customer/wishlist': { - /** - * Fetch a wishlist - * Fetch a customer's wishlist. Products on the wishlist can be filtered using a criteria object. - * - * **Important constraints** - * - * * Anonymous (not logged-in) customers can not have wishlists. - * * The wishlist feature has to be activated. - */ - post: operations['readCustomerWishlist']; - }; - '/customer/wishlist/add/{productId}': { - /** - * Add a product to a wishlist - * Adds a product to a customers wishlist. - * - * **Important constraints** - * - * * Anonymous (not logged-in) customers can not have wishlists. - * * The wishlist feature has to be activated. - */ - post: operations['addProductOnWishlist']; - }; - '/customer/wishlist/delete/{productId}': { - /** - * Remove a product from a wishlist - * Removes a product from a customer's wishlist. - * - * **Important constraints** - * - * * Anonymous (not logged-in) customers can not have wishlists. - * * The wishlist feature has to be activated. - */ - delete: operations['deleteProductOnWishlist']; - }; - '/customer/wishlist/merge': { - /** - * Create a wishlist for a customer - * Create a new wishlist for a logged in customer or extend the existing wishlist given a set of products. - * - * **Important constraints** - * - * * Anonymous (not logged-in) customers can not have wishlists. - * * A customer can only have a single wishlist. - * * The wishlist feature has to be activated. - */ - post: operations['mergeProductOnWishlist']; - }; - '/document/download/{documentId}/{deepLinkCode}': { - /** - * Download generated document - * Returns blob file of a generated document to download. - */ - post: operations['download']; - }; - '/handle-payment': { - /** - * Initiate a payment for an order - * This generic endpoint is should be called to initiate a payment flow after an order has been created. The details of the payment flow can differ depending on the payment integration and might require calling additional operations or the setup of webhooks. - * - * The endpoint internally calls the payment handler of the payment method currently set for the order. - */ - post: operations['handlePaymentMethod']; - }; - '/landing-page/{landingPageId}': { - /** - * Fetch a landing page with the resolved CMS page - * Loads a landing page by its identifier and resolves the CMS page. - * - * **Important notice** - * - * The criteria passed with this route also affects the listing, if there is one within the cms page. - */ - post: operations['readLandingPage']; - }; - '/language': { - /** - * Fetch languages - * Perform a filtered search for languages. - */ - post: operations['readLanguages']; - }; - '/navigation/{activeId}/{rootId}': { - /** - * Fetch a navigation menu - * This endpoint returns categories that can be used as a page navigation. You can either return them as a tree or as a flat list. You can also control the depth of the tree. - * - * Instead of passing uuids, you can also use one of the following aliases for the activeId and rootId parameters to get the respective navigations of your sales channel. - * - * * main-navigation - * * service-navigation - * * footer-navigation - */ - post: operations['readNavigation']; - }; - '/newsletter/confirm': { - /** - * Confirm a newsletter registration - * You have to use the hash from the link sent out via email to confirm the user registration. - */ - post: operations['confirmNewsletter']; - }; - '/newsletter/subscribe': { - /** - * Create or remove a newsletter subscription - * This route is used to create/remove/confirm a newsletter subscription. - * - * The `option` property controls what should happen: - * * `direct`: The subscription is directly active and does not need a confirmation. - * * `subscribe`: An email will be send to the provided email addrees containing a link to the /newsletter/confirm route. - * The subscription is only successful, if the /newsletter/confirm route is called with the generated hashes. - * * `unsubscribe`: The email address will be removed from the newsletter subscriptions. - * * `confirmSubscribe`: Confirmes the newsletter subscription for the provided email address. - */ - post: operations['subscribeToNewsletter']; - }; - '/newsletter/unsubscribe': { - /** - * Remove a newsletter subscription - * Removes a newsletter recipient from the mailing lists. - */ - post: operations['unsubscribeToNewsletter']; - }; - '/order': { - /** - * Fetch a list of orders - * List orders of a customer. - */ - post: operations['readOrder']; - }; - '/order/download/{orderId}/{downloadId}': { - /** - * Download a purchased file - * Download a file included in the given order and with the given id. Access must be granted. - */ - get: operations['orderDownloadFile']; - }; - '/order/payment': { - /** - * Update the payment method of an order - * Changes the payment method of a specific order. You can use the /order route to find out if the payment method of an order can be changed - take a look at the `paymentChangeable`- array in the response. - */ - post: operations['orderSetPayment']; - }; - '/order/state/cancel': { - /** - * Cancel an order - * Cancels an order. The order state will be set to 'cancelled'. - */ - post: operations['cancelOrder']; - }; - '/payment-method': { - /** Loads all available payment methods */ - post: operations['readPaymentMethod']; - }; - '/product': { - /** - * Fetch a list of products - * List products that match the given criteria. For performance ressons a limit should always be set. - */ - post: operations['readProduct']; - }; - '/product-export/{accessKey}/{fileName}': { - /** Export product export */ - get: operations['readProductExport']; - }; - '/product-listing/{categoryId}': { - /** - * Fetch a product listing by category - * Fetches a product listing for a specific category. It also provides filters, sortings and property aggregations, analogous to the /search endpoint. - */ - post: operations['readProductListing']; - }; - '/product/{productId}': { - /** - * Fetch a single product - * This route is used to load a single product with the corresponding details. In addition to loading the data, the best variant of the product is determined when a parent id is passed. - */ - post: operations['readProductDetail']; - }; - '/product/{productId}/cross-selling': { - /** - * Fetch cross-selling groups of a product - * This route is used to load the cross sellings for a product. A product has several cross selling definitions in which several products are linked. The route returns the cross sellings together with the linked products - */ - post: operations['readProductCrossSellings']; - }; - '/product/{productId}/find-variant': { - /** - * Search for a matching variant by product options. - * Performs a search for product variants and returns the best matching variant. - */ - post: operations['searchProductVariantIds']; - }; - '/product/{productId}/review': { - /** - * Save a product review - * Saves a review for a product. Reviews have to be activated in the settings. - */ - post: operations['saveProductReview']; - }; - '/product/{productId}/reviews': { - /** - * Fetch product reviews - * Perform a filtered search for product reviews. - */ - post: operations['readProductReviews']; - }; - '/salutation': { - /** - * Fetch salutations - * Perform a filtered search for salutations. - */ - post: operations['readSalutation']; - }; - '/script/{hook}': { - /** Access point for different api logics which are provided by apps over script hooks */ - post: operations['postScriptStoreApiRoute']; - }; - '/search': { - /** - * Search for products - * Performs a search for products which can be used to display a product listing. - */ - post: operations['searchPage']; - }; - '/search-suggest': { - /** - * Search for products (suggest) - * Can be used to implement search previews or suggestion listings, that don’t require any interaction. - */ - post: operations['searchSuggest']; - }; - '/seo-url': { - /** - * Fetch SEO routes - * Perform a filtered search for seo urls. - */ - post: operations['readSeoUrl']; - }; - '/shipping-method': { - /** - * Fetch shipping methods - * Perform a filtered search for shipping methods. - */ - post: operations['readShippingMethod']; - }; - '/sitemap': { - /** - * Fetch sitemaps - * Fetches a list of compressed sitemap files, which are often used by search engines. - */ - get: operations['readSitemap']; - }; -}; - -export type webhooks = Record; - -export type components = { - schemas: { - AccountNewsletterRecipientResult: components['schemas']['Struct'] & { - status?: string; - }; - /** Added since version: 6.0.0.0 */ - AclRole: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.3.1.0 */ - App: { - /** Format: date-time */ - createdAt: string; - id?: string; - translated?: Record; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.3.1.0 */ - AppActionButton: { - /** Format: date-time */ - createdAt: string; - id?: string; - translated?: Record; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.4.15.0 */ - AppAdministrationSnippet: { - appId: string; - /** Format: date-time */ - createdAt: string; - id?: string; - localeId: string; - /** Format: date-time */ - updatedAt?: string; - value: string; - }; - /** Added since version: 6.4.2.0 */ - AppCmsBlock: { - /** Format: date-time */ - createdAt: string; - id?: string; - translated?: Record; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.4.10.0 */ - AppFlowAction: { - /** Format: date-time */ - createdAt: string; - id?: string; - translated?: Record; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.5.2.0 */ - AppFlowEvent: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.4.1.0 */ - AppPaymentMethod: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.4.10.3 */ - AppScriptCondition: { - /** Format: date-time */ - createdAt: string; - id?: string; - translated?: Record; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.3.1.0 */ - AppTemplate: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - ArrayStruct: components['schemas']['Struct']; - /** Members of the attributes object ("attributes") represent information about the resource object in which it's defined. */ - attributes: GenericRecord; - Cart: components['schemas']['ArrayStruct'] & { - /** An affiliate tracking code */ - affiliateCode?: string; - /** A campaign tracking code */ - campaignCode?: string; - /** A comment that can be added to the cart. */ - customerComment?: string; - /** A list of all cart errors, such as insufficient stocks, invalid addresses or vouchers. */ - errors?: { - key?: string; - level?: string; - message?: string; - }[]; - /** All items within the cart */ - lineItems?: components['schemas']['LineItem'][]; - modified?: boolean; - /** Name of the cart - for example `guest-cart` */ - name?: string; - price?: { - /** - * Format: float - * Net price of the cart - */ - netPrice?: number; - /** - * Format: float - * Price for all line items in the cart - */ - positionPrice?: number; - /** Tax calculation for the cart. One of `gross`, `net` or `tax-free` */ - taxStatus?: string; - /** - * Format: float - * Total price of the cart, including shipping costs, discounts and taxes - */ - totalPrice?: number; - }; - /** Context token identifying the cart and the user session */ - token?: string; - /** A list of all payment transactions associated with the current cart. */ - transactions?: { - paymentMethodId?: string; - }[]; - }; - CartItems: components['schemas']['ArrayStruct'] & { - items?: components['schemas']['LineItem'][]; - }; - /** Added since version: 6.0.0.0 */ - Category: { - active?: boolean; - afterCategoryId?: string; - afterCategoryVersionId?: string; - breadcrumb?: readonly unknown[]; - /** Format: int64 */ - childCount?: number; - children?: components['schemas']['Category'][]; - cmsPage?: components['schemas']['CmsPage']; - cmsPageId?: string; - /** Runtime field, cannot be used as part of the criteria. */ - cmsPageIdSwitched?: boolean; - cmsPageVersionId?: string; - /** Format: date-time */ - createdAt: string; - customEntityTypeId?: string; - customFields?: GenericRecord; - description?: string; - displayNestedProducts: boolean; - externalLink?: string; - id?: string; - internalLink?: string; - keywords?: string; - /** Format: int64 */ - level?: number; - linkNewTab?: boolean; - linkType?: string; - media?: components['schemas']['Media']; - mediaId?: string; - metaDescription?: string; - metaTitle?: string; - name: string; - parent?: components['schemas']['Category']; - parentId?: string; - parentVersionId?: string; - path?: string; - productAssignmentType: string; - seoUrls?: Array; - translated?: { - afterCategoryId?: string; - afterCategoryVersionId?: string; - cmsPageId?: string; - cmsPageVersionId?: string; - customEntityTypeId?: string; - description?: string; - externalLink?: string; - internalLink?: string; - keywords?: string; - linkType?: string; - mediaId?: string; - metaDescription?: string; - metaTitle?: string; - name?: string; - parentId?: string; - parentVersionId?: string; - path?: string; - productAssignmentType?: string; - type?: string; - versionId?: string; - }; - type: string; - /** Format: date-time */ - updatedAt?: string; - versionId?: string; - visible?: boolean; - /** - * Format: int64 - * Runtime field, cannot be used as part of the criteria. - */ - visibleChildCount?: number; - }; - /** Added since version: 6.0.0.0 */ - CategoryJsonApi: components['schemas']['resource'] & { - active?: boolean; - afterCategoryId?: string; - afterCategoryVersionId?: string; - breadcrumb?: readonly unknown[]; - /** Format: int64 */ - childCount?: number; - cmsPageId?: string; - /** Runtime field, cannot be used as part of the criteria. */ - cmsPageIdSwitched?: boolean; - cmsPageVersionId?: string; - /** Format: date-time */ - createdAt: string; - customEntityTypeId?: string; - customFields?: GenericRecord; - description?: string; - displayNestedProducts: boolean; - externalLink?: string; - id?: string; - internalLink?: string; - keywords?: string; - /** Format: int64 */ - level?: number; - linkNewTab?: boolean; - linkType?: string; - mediaId?: string; - metaDescription?: string; - metaTitle?: string; - name: string; - parentId?: string; - parentVersionId?: string; - path?: string; - productAssignmentType: string; - relationships?: { - children?: { - data?: { - /** @example 0188f8334a2a7224bc6f4f9d2589f76e */ - id?: string; - /** @example category */ - type?: string; - }[]; - links?: { - /** - * Format: uri-reference - * @example /category/0188f8334a2a7224bc6f4f9d23ddd8ec/children - */ - related?: string; - }; - }; - cmsPage?: { - data?: { - /** @example 0188f8334a2a7224bc6f4f9d26fe9251 */ - id?: string; - /** @example cms_page */ - type?: string; - }; - links?: { - /** - * Format: uri-reference - * @example /category/0188f8334a2a7224bc6f4f9d23ddd8ec/cmsPage - */ - related?: string; - }; - }; - media?: { - data?: { - /** @example 0188f8334a2a7224bc6f4f9d261b0ef8 */ - id?: string; - /** @example media */ - type?: string; - }; - links?: { - /** - * Format: uri-reference - * @example /category/0188f8334a2a7224bc6f4f9d23ddd8ec/media - */ - related?: string; - }; - }; - parent?: { - data?: { - /** @example 0188f8334a2a7224bc6f4f9d24c6c257 */ - id?: string; - /** @example category */ - type?: string; - }; - links?: { - /** - * Format: uri-reference - * @example /category/0188f8334a2a7224bc6f4f9d23ddd8ec/parent - */ - related?: string; - }; - }; - seoUrls?: { - data?: { - /** @example 0188f8334a2a7224bc6f4f9d2755e03b */ - id?: string; - /** @example seo_url */ - type?: string; - }[]; - links?: { - /** - * Format: uri-reference - * @example /category/0188f8334a2a7224bc6f4f9d23ddd8ec/seoUrls - */ - related?: string; - }; - }; - }; - translated?: { - afterCategoryId?: string; - afterCategoryVersionId?: string; - cmsPageId?: string; - cmsPageVersionId?: string; - customEntityTypeId?: string; - description?: string; - externalLink?: string; - internalLink?: string; - keywords?: string; - linkType?: string; - mediaId?: string; - metaDescription?: string; - metaTitle?: string; - name?: string; - parentId?: string; - parentVersionId?: string; - path?: string; - productAssignmentType?: string; - type?: string; - versionId?: string; - }; - type: string; - /** Format: date-time */ - updatedAt?: string; - versionId?: string; - visible?: boolean; - /** - * Format: int64 - * Runtime field, cannot be used as part of the criteria. - */ - visibleChildCount?: number; - }; - /** Added since version: 6.0.0.0 */ - CmsBlock: { - backgroundColor?: string; - backgroundMedia?: components['schemas']['Media']; - backgroundMediaId?: string; - backgroundMediaMode?: string; - cmsSectionVersionId?: string; - /** Format: date-time */ - createdAt: string; - cssClass?: string; - customFields?: GenericRecord; - extensions?: { - swagCmsExtensionsBlockRule?: { - data?: { - /** @example 0188f8334a2b7161b75c68356973a98a */ - id?: string; - /** @example swag_cms_extensions_block_rule */ - type?: string; - }; - links?: { - /** - * Format: uri-reference - * @example /cms-block/0188f8334a2a7224bc6f4f9d284557ed/swagCmsExtensionsBlockRule - */ - related?: string; - }; - }; - swagCmsExtensionsQuickview?: { - data?: { - /** @example 0188f8334a2b7161b75c6835696f14f7 */ - id?: string; - /** @example swag_cms_extensions_quickview */ - type?: string; - }; - links?: { - /** - * Format: uri-reference - * @example /cms-block/0188f8334a2a7224bc6f4f9d284557ed/swagCmsExtensionsQuickview - */ - related?: string; - }; - }; - }; - id?: string; - marginBottom?: string; - marginLeft?: string; - marginRight?: string; - marginTop?: string; - name?: string; - /** Format: int64 */ - position: number; - sectionId: string; - sectionPosition?: string; - slots?: components['schemas']['CmsSlot'][]; - type: string; - /** Format: date-time */ - updatedAt?: string; - versionId?: string; - visibility?: { - desktop?: boolean; - mobile?: boolean; - tablet?: boolean; - }; - }; - /** Added since version: 6.0.0.0 */ - CmsPage: { - config?: { - backgroundColor?: string; - }; - /** Format: date-time */ - createdAt: string; - cssClass?: string; - customFields?: GenericRecord; - entity?: string; - extensions?: { - swagCmsExtensionsScrollNavigationPageSettings?: { - data?: { - /** @example 0188f8334a2b7161b75c68356c80b6b2 */ - id?: string; - /** @example swag_cms_extensions_scroll_navigation_page_settings */ - type?: string; - }; - links?: { - /** - * Format: uri-reference - * @example /cms-page/0188f8334a2b7161b75c683569f9dfb7/swagCmsExtensionsScrollNavigationPageSettings - */ - related?: string; - }; - }; - }; - id?: string; - landingPages?: components['schemas']['LandingPage']; - name?: string; - previewMedia?: components['schemas']['Media']; - previewMediaId?: string; - sections?: components['schemas']['CmsSection'][]; - translated?: { - cssClass?: string; - entity?: string; - name?: string; - previewMediaId?: string; - type?: string; - versionId?: string; - }; - type: string; - /** Format: date-time */ - updatedAt?: string; - versionId?: string; - }; - /** Added since version: */ - CmsPageActivity: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: */ - CmsPageDraft: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - CmsSection: { - backgroundColor?: string; - backgroundMedia?: components['schemas']['Media']; - backgroundMediaId?: string; - backgroundMediaMode?: string; - blocks?: components['schemas']['CmsBlock'][]; - cmsPageVersionId?: string; - /** Format: date-time */ - createdAt: string; - cssClass?: string; - customFields?: GenericRecord; - extensions?: { - swagCmsExtensionsScrollNavigation?: { - data?: { - /** @example 0188f8334a2c70408696d00e502c9862 */ - id?: string; - /** @example swag_cms_extensions_scroll_navigation */ - type?: string; - }; - links?: { - /** - * Format: uri-reference - * @example /cms-section/0188f8334a2c70408696d00e4e76e691/swagCmsExtensionsScrollNavigation - */ - related?: string; - }; - }; - }; - id?: string; - mobileBehavior?: string; - name?: string; - page?: components['schemas']['CmsPage']; - pageId: string; - /** Format: int64 */ - position: number; - sizingMode?: string; - type: string; - /** Format: date-time */ - updatedAt?: string; - visibility?: { - desktop?: boolean; - mobile?: boolean; - tablet?: boolean; - }; - }; - /** Added since version: 6.0.0.0 */ - CmsSlot: { - block?: components['schemas']['CmsBlock']; - blockId: string; - cmsBlockVersionId?: string; - config?: GenericRecord; - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - data?: GenericRecord; - fieldConfig?: GenericRecord; - id?: string; - locked?: boolean; - slot: string; - translated?: { - blockId?: string; - cmsBlockVersionId?: string; - slot?: string; - type?: string; - versionId?: string; - }; - type: string; - /** Format: date-time */ - updatedAt?: string; - versionId?: string; - }; - ContextTokenResponse: { - /** Context token identifying the current user session. */ - contextToken?: string; - }; - /** Added since version: 6.0.0.0 */ - Country: { - active?: boolean; - addressFormat: GenericRecord; - advancedPostalCodePattern?: string; - checkAdvancedPostalCodePattern?: boolean; - checkPostalCodePattern?: boolean; - checkVatIdPattern?: boolean; - companyTax?: { - /** Format: float */ - amount: number; - currencyId: string; - enabled: boolean; - }; - /** Format: date-time */ - createdAt: string; - customerTax?: { - /** Format: float */ - amount: number; - currencyId: string; - enabled: boolean; - }; - customFields?: GenericRecord; - defaultPostalCodePattern?: string; - displayStateInRegistration?: boolean; - forceStateInRegistration?: boolean; - id?: string; - iso?: string; - iso3?: string; - name: string; - /** Format: int64 */ - position?: number; - postalCodeRequired?: boolean; - shippingAvailable?: boolean; - states?: components['schemas']['CountryState']; - translated?: { - advancedPostalCodePattern?: string; - defaultPostalCodePattern?: string; - iso?: string; - iso3?: string; - name?: string; - vatIdPattern?: string; - }; - /** Format: date-time */ - updatedAt?: string; - vatIdPattern?: string; - vatIdRequired?: boolean; - }; - /** Added since version: 6.0.0.0 */ - CountryJsonApi: components['schemas']['resource'] & { - active?: boolean; - addressFormat: GenericRecord; - advancedPostalCodePattern?: string; - checkAdvancedPostalCodePattern?: boolean; - checkPostalCodePattern?: boolean; - checkVatIdPattern?: boolean; - companyTax?: { - /** Format: float */ - amount: number; - currencyId: string; - enabled: boolean; - }; - /** Format: date-time */ - createdAt: string; - customerTax?: { - /** Format: float */ - amount: number; - currencyId: string; - enabled: boolean; - }; - customFields?: GenericRecord; - defaultPostalCodePattern?: string; - displayStateInRegistration?: boolean; - forceStateInRegistration?: boolean; - id?: string; - iso?: string; - iso3?: string; - name: string; - /** Format: int64 */ - position?: number; - postalCodeRequired?: boolean; - relationships?: { - states?: { - data?: { - /** @example 0188f8334a2d7287b5c9797ef464fd7a */ - id?: string; - /** @example country_state */ - type?: string; - }[]; - links?: { - /** - * Format: uri-reference - * @example /country/0188f8334a2c70408696d00e522c26db/states - */ - related?: string; - }; - }; - }; - shippingAvailable?: boolean; - translated?: { - advancedPostalCodePattern?: string; - defaultPostalCodePattern?: string; - iso?: string; - iso3?: string; - name?: string; - vatIdPattern?: string; - }; - /** Format: date-time */ - updatedAt?: string; - vatIdPattern?: string; - vatIdRequired?: boolean; - }; - /** Added since version: 6.0.0.0 */ - CountryState: { - active?: boolean; - countryId: string; - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - id?: string; - name: string; - /** Format: int64 */ - position?: number; - shortCode: string; - translated?: { - countryId?: string; - name?: string; - shortCode?: string; - }; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - CountryStateJsonApi: components['schemas']['resource'] & { - active?: boolean; - countryId: string; - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - id?: string; - name: string; - /** Format: int64 */ - position?: number; - shortCode: string; - translated?: { - countryId?: string; - name?: string; - shortCode?: string; - }; - /** Format: date-time */ - updatedAt?: string; - }; - /** Search parameters. For more information, see our documentation on [Search Queries](https://shopware.stoplight.io/docs/store-api/docs/concepts/search-queries.md#structure) */ - Criteria: { - /** Used to perform aggregations on the search result. For more information, see [Search Queries > Aggregations](https://shopware.stoplight.io/docs/store-api/docs/concepts/search-queries.md#aggregations) */ - aggregations?: { - /** The field you want to aggregate over. */ - field: string; - /** Give your aggregation an identifier, so you can find it easier */ - name: string; - /** The type of aggregation */ - type: string; - }[]; - /** Used to fetch associations which are not fetched by default. */ - associations?: GenericRecord; - /** Fields which should be returned in the search result. */ - fields?: string[]; - /** 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) */ - filter?: { - field: string; - type: string; - value: string | null | boolean; - }[]; - /** Perform groupings over certain fields */ - grouping?: string[]; - /** Number of items per result page */ - limit?: number; - /** Search result page */ - page?: number; - /** 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) */ - 'post-filter'?: { - field: string; - type: string; - value: string; - }[]; - /** Sorting in the search result. */ - sort?: { - field: string; - naturalSorting?: boolean; - order?: string; - }[]; - /** - * Whether the total for the total number of hits should be determined for the search query. 0 = disabled total count, 1 = calculate exact total amount (slow), 2 = calculate only for next page (fast) - * @default 0 - * @enum {integer} - */ - 'total-count-mode'?: 0 | 1 | 2; - }; - CrossSellingElementCollection: { - crossSelling?: { - active?: boolean; - /** Format: int32 */ - limit?: number; - name?: string; - /** Format: int32 */ - position?: number; - productId?: string; - productStreamId?: string; - sortBy?: string; - sortDirection?: string; - type?: string; - }; - products?: components['schemas']['Product'][]; - /** Format: int32 */ - total?: number; - }[]; - /** Added since version: 6.0.0.0 */ - Currency: { - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - /** Format: float */ - factor: number; - id?: string; - isoCode: string; - /** Runtime field, cannot be used as part of the criteria. */ - isSystemDefault?: boolean; - itemRounding: { - /** Format: int64 */ - decimals?: number; - /** Format: float */ - interval?: number; - roundForNet?: boolean; - }; - name: string; - /** Format: int64 */ - position?: number; - shortName: string; - symbol: string; - /** Format: float */ - taxFreeFrom?: number; - totalRounding: { - /** Format: int64 */ - decimals?: number; - /** Format: float */ - interval?: number; - roundForNet?: boolean; - }; - translated?: { - isoCode?: string; - name?: string; - shortName?: string; - symbol?: string; - }; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.4.0.0 */ - CurrencyCountryRounding: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - CurrencyJsonApi: components['schemas']['resource'] & { - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - /** Format: float */ - factor: number; - id?: string; - isoCode: string; - /** Runtime field, cannot be used as part of the criteria. */ - isSystemDefault?: boolean; - itemRounding: { - /** Format: int64 */ - decimals?: number; - /** Format: float */ - interval?: number; - roundForNet?: boolean; - }; - name: string; - /** Format: int64 */ - position?: number; - shortName: string; - symbol: string; - /** Format: float */ - taxFreeFrom?: number; - totalRounding: { - /** Format: int64 */ - decimals?: number; - /** Format: float */ - interval?: number; - roundForNet?: boolean; - }; - translated?: { - isoCode?: string; - name?: string; - shortName?: string; - symbol?: string; - }; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.4.9.0 */ - CustomEntity: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - Customer: { - accountType: string; - active?: boolean; - addresses?: components['schemas']['CustomerAddress']; - affiliateCode?: string; - birthday?: string; - campaignCode?: string; - company?: string; - /** Format: date-time */ - createdAt: string; - createdById?: string; - customerNumber: string; - customFields?: GenericRecord; - defaultBillingAddress?: components['schemas']['CustomerAddress']; - defaultBillingAddressId: string; - defaultPaymentMethod?: components['schemas']['PaymentMethod']; - defaultPaymentMethodId: string; - defaultShippingAddress?: components['schemas']['CustomerAddress']; - defaultShippingAddressId: string; - /** Format: date-time */ - doubleOptInConfirmDate?: string; - /** Format: date-time */ - doubleOptInEmailSentDate?: string; - doubleOptInRegistration?: boolean; - email: string; - /** Format: date-time */ - firstLogin?: string; - firstName: string; - group?: components['schemas']['CustomerGroup']; - groupId: string; - guest?: boolean; - hash?: string; - id?: string; - language?: components['schemas']['Language']; - languageId: string; - /** Format: date-time */ - lastLogin?: string; - lastName: string; - /** Format: date-time */ - lastOrderDate?: string; - lastPaymentMethod?: components['schemas']['PaymentMethod']; - lastPaymentMethodId?: string; - /** Format: int64 */ - orderCount?: number; - /** Format: float */ - orderTotalAmount?: number; - /** Format: int64 */ - reviewCount?: number; - salesChannelId: string; - salutation?: components['schemas']['Salutation']; - salutationId?: string; - tagIds?: readonly string[]; - title?: string; - /** Format: date-time */ - updatedAt?: string; - updatedById?: string; - vatIds?: string[]; - }; - /** Added since version: 6.0.0.0 */ - CustomerAddress: { - additionalAddressLine1?: string; - additionalAddressLine2?: string; - city: string; - company?: string; - country?: components['schemas']['Country']; - countryId: string; - countryState?: components['schemas']['CountryState']; - countryStateId?: string; - /** Format: date-time */ - createdAt: string; - customerId: string; - customFields?: GenericRecord; - department?: string; - firstName: string; - id?: string; - lastName: string; - phoneNumber?: string; - salutation?: components['schemas']['Salutation']; - salutationId?: string; - street: string; - title?: string; - /** Format: date-time */ - updatedAt?: string; - zipcode?: string; - }; - /** Added since version: 6.0.0.0 */ - CustomerGroup: { - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - displayGross?: boolean; - id?: string; - name: string; - registrationActive?: boolean; - registrationIntroduction?: string; - registrationOnlyCompanyRegistration?: boolean; - registrationSeoMetaDescription?: string; - registrationTitle?: string; - translated?: { - name?: string; - registrationIntroduction?: string; - registrationSeoMetaDescription?: string; - registrationTitle?: string; - }; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.1.0.0 */ - CustomerRecovery: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - CustomerTag: { - customerId: string; - id?: string; - tag?: components['schemas']['Tag']; - tagId: string; - }; - /** Added since version: 6.3.4.0 */ - CustomerWishlist: { - /** Format: date-time */ - createdAt: string; - customerId: string; - customFields?: GenericRecord; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.3.4.0 */ - CustomerWishlistProduct: { - /** Format: date-time */ - createdAt: string; - id?: string; - productId: string; - productVersionId?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - CustomField: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - CustomFieldSet: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - CustomFieldSetRelation: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: */ - CustomPrice: { - /** Format: date-time */ - createdAt: string; - customer?: components['schemas']['Customer']; - customerGroup?: components['schemas']['CustomerGroup']; - customerGroupId?: string; - customerId?: string; - id?: string; - price: GenericRecord; - product?: components['schemas']['Product']; - productId: string; - productVersionId?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** The document's "primary data" is a representation of the resource or collection of resources targeted by a request. */ - data: components['schemas']['resource'] | components['schemas']['resource'][]; - /** Added since version: 6.0.0.0 */ - DeliveryTime: { - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - id?: string; - /** Format: int64 */ - max: number; - /** Format: int64 */ - min: number; - name: string; - translated?: { - name?: string; - unit?: string; - }; - unit: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - Document: { - config: GenericRecord; - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - deepLinkCode: string; - dependentDocuments?: components['schemas']['Document']; - documentMediaFile?: components['schemas']['Media']; - documentMediaFileId?: string; - documentType?: components['schemas']['DocumentType']; - documentTypeId: string; - fileType: string; - id?: string; - order?: components['schemas']['Order']; - orderId: string; - orderVersionId?: string; - referencedDocument?: components['schemas']['Document']; - referencedDocumentId?: string; - sent?: boolean; - static?: boolean; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - DocumentBaseConfig: { - config?: GenericRecord; - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - documentNumber?: string; - documentTypeId: string; - filenamePrefix?: string; - filenameSuffix?: string; - global: boolean; - id?: string; - logo?: components['schemas']['Media']; - logoId?: string; - name: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - DocumentBaseConfigSalesChannel: { - /** Format: date-time */ - createdAt: string; - documentBaseConfigId: string; - documentTypeId?: string; - id?: string; - salesChannelId?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - DocumentType: { - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - id?: string; - name: string; - technicalName: string; - translated?: { - name?: string; - technicalName?: string; - }; - /** Format: date-time */ - updatedAt?: string; - }; - EntitySearchResult: components['schemas']['ArrayStruct'] & { - /** Contains aggregated data. A simple example is the determination of the average price from a product search query. */ - aggregations?: GenericRecord[]; - entity?: string; - /** The actual limit. This is used for pagination and goes together with the page. */ - limit?: number; - /** The actual page. This can be used for pagination. */ - page?: number; - /** The total number of found entities */ - total?: number; - }; - error: { - /** An application-specific error code, expressed as a string value. */ - code?: string; - /** A human-readable explanation specific to this occurrence of the problem. */ - detail?: string; - /** A unique identifier for this particular occurrence of the problem. */ - id?: string; - links?: components['schemas']['links']; - meta?: components['schemas']['meta']; - source?: { - /** A string indicating which query parameter caused the error. */ - parameter?: string; - /** A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. "/data" for a primary data object, or "/data/attributes/title" for a specific attribute]. */ - pointer?: string; - }; - /** The HTTP status code applicable to this problem, expressed as a string value. */ - status?: string; - /** A short, human-readable summary of the problem. It **SHOULD NOT** change from occurrence to occurrence of the problem, except for purposes of localization. */ - title?: string; - }; - failure: { - errors: components['schemas']['error'][]; - links?: components['schemas']['links']; - meta?: components['schemas']['meta']; - }; - FindProductVariantRouteResponse: { - foundCombination?: { - options?: string[]; - variantId?: string; - }; - }; - /** Added since version: 6.4.6.0 */ - Flow: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.4.6.0 */ - FlowSequence: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.4.18.0 */ - FlowTemplate: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - ImportExportFile: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - ImportExportLog: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - ImportExportProfile: { - /** Format: date-time */ - createdAt: string; - id?: string; - translated?: Record; - /** Format: date-time */ - updatedAt?: string; - }; - info: { - jsonapi?: components['schemas']['jsonapi']; - links?: components['schemas']['links']; - meta: components['schemas']['meta']; - }; - /** Added since version: 6.0.0.0 */ - Integration: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** An object describing the server's implementation */ - jsonapi: { - meta?: components['schemas']['meta']; - version?: string; - }; - /** Added since version: 6.4.0.0 */ - LandingPage: { - active?: boolean; - cmsPage?: components['schemas']['CmsPage']; - cmsPageId?: string; - cmsPageVersionId?: string; - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - id?: string; - keywords?: string; - metaDescription?: string; - metaTitle?: string; - name: string; - seoUrls?: components['schemas']['SeoUrl']; - slotConfig?: GenericRecord; - translated?: { - cmsPageId?: string; - cmsPageVersionId?: string; - keywords?: string; - metaDescription?: string; - metaTitle?: string; - name?: string; - url?: string; - versionId?: string; - }; - /** Format: date-time */ - updatedAt?: string; - url: string; - versionId?: string; - }; - /** Added since version: 6.4.0.0 */ - LandingPageJsonApi: components['schemas']['resource'] & { - active?: boolean; - cmsPageId?: string; - cmsPageVersionId?: string; - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - id?: string; - keywords?: string; - metaDescription?: string; - metaTitle?: string; - name: string; - relationships?: { - cmsPage?: { - data?: { - /** @example 0188f8334a3371508da83536076f5d02 */ - id?: string; - /** @example cms_page */ - type?: string; - }; - links?: { - /** - * Format: uri-reference - * @example /landing-page/0188f8334a3371508da835360727da28/cmsPage - */ - related?: string; - }; - }; - seoUrls?: { - data?: { - /** @example 0188f8334a3371508da8353607fb977f */ - id?: string; - /** @example seo_url */ - type?: string; - }[]; - links?: { - /** - * Format: uri-reference - * @example /landing-page/0188f8334a3371508da835360727da28/seoUrls - */ - related?: string; - }; - }; - }; - slotConfig?: GenericRecord; - translated?: { - cmsPageId?: string; - cmsPageVersionId?: string; - keywords?: string; - metaDescription?: string; - metaTitle?: string; - name?: string; - url?: string; - versionId?: string; - }; - /** Format: date-time */ - updatedAt?: string; - url: string; - versionId?: string; - }; - /** Added since version: 6.0.0.0 */ - Language: { - children?: components['schemas']['Language']; - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - id?: string; - locale?: components['schemas']['Locale']; - localeId: string; - name: string; - parent?: components['schemas']['Language']; - parentId?: string; - translationCode?: components['schemas']['Locale']; - translationCodeId?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - LanguageJsonApi: components['schemas']['resource'] & { - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - id?: string; - localeId: string; - name: string; - parentId?: string; - relationships?: { - children?: { - data?: { - /** @example 0188f8334a3471fb97fef3b5dd5bdeef */ - id?: string; - /** @example language */ - type?: string; - }[]; - links?: { - /** - * Format: uri-reference - * @example /language/0188f8334a3471fb97fef3b5dbb3b49f/children - */ - related?: string; - }; - }; - locale?: { - data?: { - /** @example 0188f8334a3471fb97fef3b5dc1432ad */ - id?: string; - /** @example locale */ - type?: string; - }; - links?: { - /** - * Format: uri-reference - * @example /language/0188f8334a3471fb97fef3b5dbb3b49f/locale - */ - related?: string; - }; - }; - parent?: { - data?: { - /** @example 0188f8334a3471fb97fef3b5dbbdb24d */ - id?: string; - /** @example language */ - type?: string; - }; - links?: { - /** - * Format: uri-reference - * @example /language/0188f8334a3471fb97fef3b5dbb3b49f/parent - */ - related?: string; - }; - }; - translationCode?: { - data?: { - /** @example 0188f8334a3471fb97fef3b5dce52fac */ - id?: string; - /** @example locale */ - type?: string; - }; - links?: { - /** - * Format: uri-reference - * @example /language/0188f8334a3471fb97fef3b5dbb3b49f/translationCode - */ - related?: string; - }; - }; - }; - translationCodeId?: string; - /** Format: date-time */ - updatedAt?: string; - }; - LineItem: { - description?: string; - good?: boolean; - id?: string; - label?: string; - modified?: boolean; - /** Format: int32 */ - quantity?: number; - referencedId?: string; - removable?: boolean; - stackable?: boolean; - type?: string; - }; - /** A link **MUST** be represented as either: a string containing the link's URL or a link object. */ - link: OneOf< - [ - string, - { - /** - * Format: uri-reference - * A string containing the link's URL. - */ - href: string; - meta?: components['schemas']['meta']; - } - ] - >; - /** The "type" and "id" to non-empty members. */ - linkage: { - id: string; - meta?: components['schemas']['meta']; - type: string; - }; - links: GenericRecord; - /** Added since version: 6.0.0.0 */ - Locale: { - code: string; - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - id?: string; - name: string; - territory: string; - translated?: { - code?: string; - name?: string; - territory?: string; - }; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - LogEntry: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - MailHeaderFooter: { - /** Format: date-time */ - createdAt: string; - description?: string; - footerHtml?: string; - footerPlain?: string; - headerHtml?: string; - headerPlain?: string; - id?: string; - name: string; - systemDefault?: boolean; - translated?: { - description?: string; - footerHtml?: string; - footerPlain?: string; - headerHtml?: string; - headerPlain?: string; - name?: string; - }; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - MailTemplate: { - contentHtml: string; - contentPlain: string; - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - id?: string; - mailTemplateType?: components['schemas']['MailTemplateType']; - media?: components['schemas']['MailTemplateMedia']; - senderName?: string; - systemDefault?: boolean; - translated?: { - contentHtml?: string; - contentPlain?: string; - senderName?: string; - }; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - MailTemplateMedia: { - id?: string; - languageId: string; - mailTemplateId: string; - media?: components['schemas']['Media']; - mediaId: string; - /** Format: int64 */ - position?: number; - }; - /** Added since version: 6.0.0.0 */ - MailTemplateType: { - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - id?: string; - name: string; - technicalName: string; - translated?: { - name?: string; - technicalName?: string; - }; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.1.0.0 */ - MainCategory: { - categoryId: string; - categoryVersionId?: string; - /** Format: date-time */ - createdAt: string; - id?: string; - productId: string; - productVersionId?: string; - salesChannelId: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.1.0.0 */ - MainCategoryJsonApi: components['schemas']['resource'] & { - categoryId: string; - categoryVersionId?: string; - /** Format: date-time */ - createdAt: string; - id?: string; - productId: string; - productVersionId?: string; - salesChannelId: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - Media: { - alt?: string; - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - extensions?: { - mediaAiTag?: { - data?: { - /** @example 0188f8334a3670679577cca714656bdf */ - id?: string; - /** @example media_ai_tag */ - type?: string; - }; - links?: { - /** - * Format: uri-reference - * @example /media/0188f8334a3670679577cca713097429/mediaAiTag - */ - related?: string; - }; - }; - }; - fileExtension?: string; - fileName?: string; - /** Format: int64 */ - fileSize?: number; - /** Runtime field, cannot be used as part of the criteria. */ - hasFile?: boolean; - id?: string; - metaData?: GenericRecord; - mimeType?: string; - private?: boolean; - thumbnails?: components['schemas']['MediaThumbnail']; - title?: string; - translated?: { - alt?: string; - fileExtension?: string; - fileName?: string; - mimeType?: string; - title?: string; - uploadedAt?: string; - url?: string; - }; - /** Format: date-time */ - updatedAt?: string; - /** Format: date-time */ - uploadedAt?: string; - /** Runtime field, cannot be used as part of the criteria. */ - url?: string; - }; - /** Added since version: */ - MediaAiTag: { - /** Format: date-time */ - createdAt: string; - id?: string; - media?: components['schemas']['Media']; - tags?: unknown[]; - translated?: Record; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - MediaDefaultFolder: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - MediaFolder: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - MediaFolderConfiguration: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - MediaTag: { - id?: string; - media?: components['schemas']['Media']; - mediaId: string; - tag?: components['schemas']['Tag']; - tagId: string; - }; - /** Added since version: 6.0.0.0 */ - MediaThumbnail: { - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - /** Format: int64 */ - height: number; - id?: string; - mediaId: string; - /** Format: date-time */ - updatedAt?: string; - /** Runtime field, cannot be used as part of the criteria. */ - url?: string; - /** Format: int64 */ - width: number; - }; - /** Added since version: 6.0.0.0 */ - MediaThumbnailSize: { - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - /** Format: int64 */ - height: number; - id?: string; - /** Format: date-time */ - updatedAt?: string; - /** Format: int64 */ - width: number; - }; - /** Non-standard meta-information that can not be represented as an attribute or relationship. */ - meta: GenericRecord; - NavigationRouteResponse: components['schemas']['Category'][]; - /** Added since version: 6.0.0.0 */ - NewsletterRecipient: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - NewsletterRecipientJsonApi: components['schemas']['resource'] & { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.4.7.0 */ - Notification: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - NumberRange: { - /** Format: date-time */ - createdAt: string; - id?: string; - translated?: Record; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - NumberRangeSalesChannel: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - NumberRangeState: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - NumberRangeType: { - /** Format: date-time */ - createdAt: string; - id?: string; - translated?: Record; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - Order: { - addresses?: components['schemas']['OrderAddress']; - affiliateCode?: string; - /** Format: float */ - amountNet?: number; - /** Format: float */ - amountTotal?: number; - billingAddress?: components['schemas']['OrderAddress']; - billingAddressId: string; - billingAddressVersionId?: string; - campaignCode?: string; - /** Format: date-time */ - createdAt: string; - createdById?: string; - currency?: components['schemas']['Currency']; - /** Format: float */ - currencyFactor: number; - currencyId: string; - customerComment?: string; - customFields?: GenericRecord; - deepLinkCode?: string; - deliveries?: components['schemas']['OrderDelivery']; - documents?: components['schemas']['Document']; - extensions?: { - returns?: { - data?: { - /** @example 0188f8334a3971cabdd5f601ba4bcdc4 */ - id?: string; - /** @example order_return */ - type?: string; - }[]; - links?: { - /** - * Format: uri-reference - * @example /order/0188f8334a387386ab9b000ef2e2f216/returns - */ - related?: string; - }; - }; - }; - id?: string; - language?: components['schemas']['Language']; - languageId: string; - lineItems?: components['schemas']['OrderLineItem']; - orderCustomer?: components['schemas']['OrderCustomer']; - orderDate?: string; - /** Format: date-time */ - orderDateTime: string; - orderNumber?: string; - /** Format: float */ - positionPrice?: number; - price?: { - calculatedTaxes?: GenericRecord; - /** Format: float */ - netPrice: number; - /** Format: float */ - positionPrice: number; - /** Format: float */ - rawTotal: number; - taxRules?: GenericRecord; - taxStatus: string; - /** Format: float */ - totalPrice: number; - }; - salesChannelId: string; - shippingCosts?: { - calculatedTaxes?: GenericRecord; - listPrice?: { - /** Format: float */ - discount?: number; - /** Format: float */ - percentage?: number; - /** Format: float */ - price?: number; - }; - /** Format: int64 */ - quantity: number; - referencePrice?: GenericRecord; - regulationPrice?: { - /** Format: float */ - price?: number; - }; - taxRules?: GenericRecord; - /** Format: float */ - totalPrice: number; - /** Format: float */ - unitPrice: number; - }; - /** Format: float */ - shippingTotal?: number; - stateMachineState?: components['schemas']['StateMachineState']; - tags?: components['schemas']['Tag']; - taxStatus?: string; - transactions?: components['schemas']['OrderTransaction']; - /** Format: date-time */ - updatedAt?: string; - updatedById?: string; - versionId?: string; - }; - /** Added since version: 6.0.0.0 */ - OrderAddress: { - additionalAddressLine1?: string; - additionalAddressLine2?: string; - city: string; - company?: string; - country?: components['schemas']['Country']; - countryId: string; - countryState?: components['schemas']['CountryState']; - countryStateId?: string; - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - department?: string; - firstName: string; - id?: string; - lastName: string; - phoneNumber?: string; - salutation?: components['schemas']['Salutation']; - street: string; - title?: string; - /** Format: date-time */ - updatedAt?: string; - vatId?: string; - versionId?: string; - zipcode?: string; - }; - /** Added since version: 6.0.0.0 */ - OrderCustomer: { - company?: string; - /** Format: date-time */ - createdAt: string; - customerNumber?: string; - customFields?: GenericRecord; - email: string; - firstName: string; - id?: string; - lastName: string; - salutation?: components['schemas']['Salutation']; - salutationId: string; - title?: string; - /** Format: date-time */ - updatedAt?: string; - vatIds?: string[]; - versionId?: string; - }; - /** Added since version: 6.0.0.0 */ - OrderDelivery: { - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - id?: string; - orderId: string; - orderVersionId?: string; - positions?: components['schemas']['OrderDeliveryPosition']; - shippingCosts?: { - calculatedTaxes?: GenericRecord; - listPrice?: { - /** Format: float */ - discount?: number; - /** Format: float */ - percentage?: number; - /** Format: float */ - price?: number; - }; - /** Format: int64 */ - quantity: number; - referencePrice?: GenericRecord; - regulationPrice?: { - /** Format: float */ - price?: number; - }; - taxRules?: GenericRecord; - /** Format: float */ - totalPrice: number; - /** Format: float */ - unitPrice: number; - }; - /** Format: date-time */ - shippingDateEarliest: string; - /** Format: date-time */ - shippingDateLatest: string; - shippingMethod?: components['schemas']['ShippingMethod']; - shippingMethodId: string; - shippingOrderAddress?: components['schemas']['OrderAddress']; - shippingOrderAddressId: string; - shippingOrderAddressVersionId?: string; - stateId: string; - stateMachineState?: components['schemas']['StateMachineState']; - trackingCodes: string[]; - /** Format: date-time */ - updatedAt?: string; - versionId?: string; - }; - /** Added since version: 6.0.0.0 */ - OrderDeliveryPosition: { - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - id?: string; - orderDeliveryId: string; - orderDeliveryVersionId?: string; - orderLineItemId: string; - orderLineItemVersionId?: string; - price?: { - calculatedTaxes?: GenericRecord; - listPrice?: { - /** Format: float */ - discount?: number; - /** Format: float */ - percentage?: number; - /** Format: float */ - price?: number; - }; - /** Format: int64 */ - quantity: number; - referencePrice?: GenericRecord; - regulationPrice?: { - /** Format: float */ - price?: number; - }; - taxRules?: GenericRecord; - /** Format: float */ - totalPrice: number; - /** Format: float */ - unitPrice: number; - }; - /** Format: int64 */ - quantity?: number; - /** Format: float */ - totalPrice?: number; - /** Format: float */ - unitPrice?: number; - /** Format: date-time */ - updatedAt?: string; - versionId?: string; - }; - /** Added since version: 6.0.0.0 */ - OrderLineItem: { - children: components['schemas']['OrderLineItem']; - cover?: components['schemas']['Media']; - coverId?: string; - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - description?: string; - downloads?: components['schemas']['OrderLineItemDownload']; - extensions?: { - returns?: { - data?: { - /** @example 0188f8334a3b72a794436c60aa753810 */ - id?: string; - /** @example order_return_line_item */ - type?: string; - }[]; - links?: { - /** - * Format: uri-reference - * @example /order-line-item/0188f8334a3b72a794436c60a7f605e7/returns - */ - related?: string; - }; - }; - state?: { - data?: { - /** @example 0188f8334a3b72a794436c60aad25086 */ - id?: string; - /** @example state_machine_state */ - type?: string; - }; - links?: { - /** - * Format: uri-reference - * @example /order-line-item/0188f8334a3b72a794436c60a7f605e7/state - */ - related?: string; - }; - }; - }; - good?: boolean; - id?: string; - identifier: string; - label: string; - orderDeliveryPositions?: components['schemas']['OrderDeliveryPosition']; - orderId: string; - orderVersionId?: string; - parent?: components['schemas']['OrderLineItem']; - parentId?: string; - parentVersionId?: string; - payload?: GenericRecord; - /** Format: int64 */ - position: number; - priceDefinition?: GenericRecord; - productId?: string; - productVersionId?: string; - /** Format: int64 */ - quantity: number; - referencedId?: string; - removable?: boolean; - stackable?: boolean; - states: string[]; - /** Format: float */ - totalPrice?: number; - type?: string; - /** Format: float */ - unitPrice?: number; - /** Format: date-time */ - updatedAt?: string; - versionId?: string; - }; - /** Added since version: 6.4.19.0 */ - OrderLineItemDownload: { - accessGranted: boolean; - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - id?: string; - media?: components['schemas']['Media']; - mediaId: string; - orderLineItem?: components['schemas']['OrderLineItem']; - orderLineItemId: string; - orderLineItemVersionId?: string; - /** Format: int64 */ - position: number; - /** Format: date-time */ - updatedAt?: string; - versionId?: string; - }; - /** Added since version: */ - OrderProductWarehouse: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: */ - OrderReturn: { - /** Format: float */ - amountNet?: number; - /** Format: float */ - amountTotal?: number; - /** Format: date-time */ - createdAt: string; - createdById?: string; - id?: string; - lineItems?: components['schemas']['OrderReturnLineItem']; - orderId: string; - orderVersionId?: string; - price?: { - calculatedTaxes?: GenericRecord; - /** Format: float */ - netPrice: number; - /** Format: float */ - positionPrice: number; - /** Format: float */ - rawTotal: number; - taxRules?: GenericRecord; - taxStatus: string; - /** Format: float */ - totalPrice: number; - }; - /** Format: date-time */ - requestedAt: string; - returnNumber: string; - shippingCosts?: { - calculatedTaxes?: GenericRecord; - listPrice?: { - /** Format: float */ - discount?: number; - /** Format: float */ - percentage?: number; - /** Format: float */ - price?: number; - }; - /** Format: int64 */ - quantity: number; - referencePrice?: GenericRecord; - regulationPrice?: { - /** Format: float */ - price?: number; - }; - taxRules?: GenericRecord; - /** Format: float */ - totalPrice: number; - /** Format: float */ - unitPrice: number; - }; - state?: components['schemas']['StateMachineState']; - stateId: string; - /** Format: date-time */ - updatedAt?: string; - updatedById?: string; - versionId?: string; - }; - /** Added since version: */ - OrderReturnLineItem: { - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - id?: string; - orderLineItemId: string; - orderLineItemVersionId?: string; - orderReturnId: string; - orderReturnVersionId?: string; - /** Format: int64 */ - quantity: number; - reason?: components['schemas']['OrderReturnLineItemReason']; - reasonId: string; - /** Format: float */ - refundAmount?: number; - /** Format: int64 */ - restockQuantity?: number; - state?: components['schemas']['StateMachineState']; - stateId: string; - /** Format: date-time */ - updatedAt?: string; - versionId?: string; - }; - /** Added since version: */ - OrderReturnLineItemReason: { - content: string; - /** Format: date-time */ - createdAt: string; - id?: string; - reasonKey: string; - translated?: { - content?: string; - reasonKey?: string; - }; - /** Format: date-time */ - updatedAt?: string; - }; - OrderRouteResponse: { - orders?: Record; - /** 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. */ - paymentChangeable?: GenericRecord; - }; - /** Added since version: 6.0.0.0 */ - OrderTag: { - id?: string; - order?: components['schemas']['Order']; - orderId: string; - orderVersionId?: string; - tag?: components['schemas']['Tag']; - tagId: string; - }; - /** Added since version: 6.0.0.0 */ - OrderTransaction: { - amount: { - calculatedTaxes?: GenericRecord; - listPrice?: { - /** Format: float */ - discount?: number; - /** Format: float */ - percentage?: number; - /** Format: float */ - price?: number; - }; - /** Format: int64 */ - quantity: number; - referencePrice?: GenericRecord; - regulationPrice?: { - /** Format: float */ - price?: number; - }; - taxRules?: GenericRecord; - /** Format: float */ - totalPrice: number; - /** Format: float */ - unitPrice: number; - }; - captures?: components['schemas']['OrderTransactionCapture']; - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - id?: string; - orderId: string; - orderVersionId?: string; - paymentMethod?: components['schemas']['PaymentMethod']; - paymentMethodId: string; - stateId: string; - stateMachineState?: components['schemas']['StateMachineState']; - /** Format: date-time */ - updatedAt?: string; - versionId?: string; - }; - /** Added since version: 6.4.12.0 */ - OrderTransactionCapture: { - amount: { - calculatedTaxes?: GenericRecord; - listPrice?: { - /** Format: float */ - discount?: number; - /** Format: float */ - percentage?: number; - /** Format: float */ - price?: number; - }; - /** Format: int64 */ - quantity: number; - referencePrice?: GenericRecord; - regulationPrice?: { - /** Format: float */ - price?: number; - }; - taxRules?: GenericRecord; - /** Format: float */ - totalPrice: number; - /** Format: float */ - unitPrice: number; - }; - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - externalReference?: string; - id?: string; - orderTransactionId: string; - orderTransactionVersionId?: string; - refunds?: components['schemas']['OrderTransactionCaptureRefund']; - stateId: string; - stateMachineState?: components['schemas']['StateMachineState']; - transaction?: components['schemas']['OrderTransaction']; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.4.12.0 */ - OrderTransactionCaptureRefund: { - amount: { - calculatedTaxes?: GenericRecord; - listPrice?: { - /** Format: float */ - discount?: number; - /** Format: float */ - percentage?: number; - /** Format: float */ - price?: number; - }; - /** Format: int64 */ - quantity: number; - referencePrice?: GenericRecord; - regulationPrice?: { - /** Format: float */ - price?: number; - }; - taxRules?: GenericRecord; - /** Format: float */ - totalPrice: number; - /** Format: float */ - unitPrice: number; - }; - captureId: string; - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - externalReference?: string; - id?: string; - positions?: components['schemas']['OrderTransactionCaptureRefundPosition']; - reason?: string; - stateId: string; - stateMachineState?: components['schemas']['StateMachineState']; - transactionCapture?: components['schemas']['OrderTransactionCapture']; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.4.12.0 */ - OrderTransactionCaptureRefundPosition: { - amount: { - calculatedTaxes?: GenericRecord; - listPrice?: { - /** Format: float */ - discount?: number; - /** Format: float */ - percentage?: number; - /** Format: float */ - price?: number; - }; - /** Format: int64 */ - quantity: number; - referencePrice?: GenericRecord; - regulationPrice?: { - /** Format: float */ - price?: number; - }; - taxRules?: GenericRecord; - /** Format: float */ - totalPrice: number; - /** Format: float */ - unitPrice: number; - }; - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - externalReference?: string; - id?: string; - orderLineItem?: components['schemas']['OrderLineItem']; - orderLineItemId: string; - orderLineItemVersionId?: string; - orderTransactionCaptureRefund?: components['schemas']['OrderTransactionCaptureRefund']; - /** Format: int64 */ - quantity?: number; - reason?: string; - refundId: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: */ - OrderWarehouseGroup: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - pagination: { - /** - * Format: uri-reference - * The first page of data - */ - first?: string; - /** - * Format: uri-reference - * The last page of data - */ - last?: string; - /** - * Format: uri-reference - * The next page of data - */ - next?: string; - /** - * Format: uri-reference - * The previous page of data - */ - prev?: string; - }; - /** Added since version: 6.0.0.0 */ - PaymentMethod: { - active?: boolean; - afterOrderEnabled?: boolean; - /** Runtime field, cannot be used as part of the criteria. */ - asynchronous?: boolean; - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - description?: string; - distinguishableName?: string; - id?: string; - media?: components['schemas']['Media']; - mediaId?: string; - name: string; - /** Format: int64 */ - position?: number; - /** Runtime field, cannot be used as part of the criteria. */ - prepared?: boolean; - /** Runtime field, cannot be used as part of the criteria. */ - refundable?: boolean; - /** Runtime field, cannot be used as part of the criteria. */ - shortName?: string; - /** Runtime field, cannot be used as part of the criteria. */ - synchronous?: boolean; - translated?: { - description?: string; - distinguishableName?: string; - mediaId?: string; - name?: string; - shortName?: string; - }; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - PaymentMethodJsonApi: components['schemas']['resource'] & { - active?: boolean; - afterOrderEnabled?: boolean; - /** Runtime field, cannot be used as part of the criteria. */ - asynchronous?: boolean; - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - description?: string; - distinguishableName?: string; - id?: string; - mediaId?: string; - name: string; - /** Format: int64 */ - position?: number; - /** Runtime field, cannot be used as part of the criteria. */ - prepared?: boolean; - /** Runtime field, cannot be used as part of the criteria. */ - refundable?: boolean; - relationships?: { - media?: { - data?: { - /** @example 0188f8334a3e72eaac34aa0e8fdba60c */ - id?: string; - /** @example media */ - type?: string; - }; - links?: { - /** - * Format: uri-reference - * @example /payment-method/0188f8334a3e72eaac34aa0e8f0d11e9/media - */ - related?: string; - }; - }; - }; - /** Runtime field, cannot be used as part of the criteria. */ - shortName?: string; - /** Runtime field, cannot be used as part of the criteria. */ - synchronous?: boolean; - translated?: { - description?: string; - distinguishableName?: string; - mediaId?: string; - name?: string; - shortName?: string; - }; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - Plugin: { - /** Format: date-time */ - createdAt: string; - id?: string; - translated?: Record; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - Product: { - active?: boolean; - available?: boolean; - /** Format: int64 */ - availableStock?: number; - calculatedCheapestPrice?: GenericRecord; - /** - * Format: int64 - * Runtime field, cannot be used as part of the criteria. - */ - calculatedMaxPurchase?: number; - calculatedPrice?: GenericRecord; - calculatedPrices?: unknown[]; - canonicalProduct?: components['schemas']['Product']; - canonicalProductId?: string; - categories?: components['schemas']['Category']; - categoriesRo?: components['schemas']['Category']; - categoryIds?: readonly string[]; - categoryTree?: readonly string[]; - /** Format: int64 */ - childCount?: number; - children?: components['schemas']['Product'][]; - cmsPage?: components['schemas']['CmsPage']; - cmsPageId?: string; - cmsPageVersionId?: string; - configuratorSettings?: components['schemas']['ProductConfiguratorSetting']; - cover?: components['schemas']['ProductMedia']; - coverId?: string; - /** Format: date-time */ - createdAt: string; - crossSellings?: components['schemas']['ProductCrossSelling']; - customFields?: GenericRecord; - deliveryTime?: components['schemas']['DeliveryTime']; - deliveryTimeId?: string; - description?: string; - displayGroup?: string; - downloads?: components['schemas']['ProductDownload']; - ean?: string; - extensions?: { - reviewSummaries?: { - data?: { - /** @example 0188f8334a407238b554caed891d5bf9 */ - id?: string; - /** @example product_review_summary */ - type?: string; - }[]; - links?: { - /** - * Format: uri-reference - * @example /product/0188f8334a3e72eaac34aa0e9089a538/reviewSummaries - */ - related?: string; - }; - }; - swagCustomizedProductsTemplate?: { - data?: { - /** @example 0188f8334a407238b554caed8958c5e7 */ - id?: string; - /** @example swag_customized_products_template */ - type?: string; - }; - links?: { - /** - * Format: uri-reference - * @example /product/0188f8334a3e72eaac34aa0e9089a538/swagCustomizedProductsTemplate - */ - related?: string; - }; - }; - }; - /** Format: float */ - height?: number; - id?: string; - isCloseout?: boolean; - /** Runtime field, cannot be used as part of the criteria. */ - isNew?: boolean; - keywords?: string; - /** Format: float */ - length?: number; - mainCategories?: components['schemas']['MainCategory']; - manufacturer?: components['schemas']['ProductManufacturer']; - manufacturerId?: string; - manufacturerNumber?: string; - markAsTopseller?: boolean; - /** Format: int64 */ - maxPurchase?: number; - media?: Array; - metaDescription?: string; - metaTitle?: string; - /** Format: int64 */ - minPurchase?: number; - name: string; - optionIds?: readonly string[]; - options?: components['schemas']['PropertyGroupOption'][]; - packUnit?: string; - packUnitPlural?: string; - parent?: components['schemas']['Product']; - parentId?: string; - parentVersionId?: string; - productManufacturerVersionId?: string; - productMediaVersionId?: string; - productNumber: string; - productReviews?: components['schemas']['ProductReview']; - properties?: components['schemas']['PropertyGroupOption']; - propertyIds?: readonly string[]; - /** Format: int64 */ - purchaseSteps?: number; - /** Format: float */ - purchaseUnit?: number; - /** Format: float */ - ratingAverage?: number; - /** Format: float */ - referenceUnit?: number; - /** Format: date-time */ - releaseDate?: string; - /** Format: int64 */ - restockTime?: number; - /** Format: int64 */ - sales?: number; - seoCategory?: components['schemas']['Category']; - seoUrls?: Array; - shippingFree?: boolean; - sortedProperties?: GenericRecord; - states?: readonly string[]; - /** Format: int64 */ - stock: number; - streamIds?: readonly string[]; - streams?: components['schemas']['ProductStream']; - tax?: components['schemas']['Tax']; - taxId: string; - translated?: { - canonicalProductId?: string; - cmsPageId?: string; - cmsPageVersionId?: string; - coverId?: string; - deliveryTimeId?: string; - description?: string; - displayGroup?: string; - ean?: string; - keywords?: string; - manufacturerId?: string; - manufacturerNumber?: string; - metaDescription?: string; - metaTitle?: string; - name?: string; - packUnit?: string; - packUnitPlural?: string; - parentId?: string; - parentVersionId?: string; - productManufacturerVersionId?: string; - productMediaVersionId?: string; - productNumber?: string; - releaseDate?: string; - taxId?: string; - unitId?: string; - versionId?: string; - }; - unit?: components['schemas']['Unit']; - unitId?: string; - /** Format: date-time */ - updatedAt?: string; - versionId?: string; - /** Format: float */ - weight?: number; - /** Format: float */ - width?: number; - }; - /** Added since version: 6.0.0.0 */ - ProductConfiguratorSetting: { - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - id?: string; - media?: components['schemas']['Media']; - mediaId?: string; - option?: components['schemas']['PropertyGroupOption']; - optionId: string; - /** Format: int64 */ - position?: number; - productId: string; - productVersionId?: string; - /** Format: date-time */ - updatedAt?: string; - versionId?: string; - }; - /** Added since version: 6.1.0.0 */ - ProductCrossSelling: { - active?: boolean; - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: int64 */ - limit?: number; - name: string; - /** Format: int64 */ - position: number; - sortBy?: string; - sortDirection?: string; - translated?: { - name?: string; - sortBy?: string; - sortDirection?: string; - type?: string; - }; - type: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.2.0.0 */ - ProductCrossSellingAssignedProducts: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Represents a product along with detailed information required to display a variant selection. */ - ProductDetailResponse: { - /** List of property groups with their corresponding options and information on how to display them. */ - configurator?: components['schemas']['PropertyGroup'][]; - product?: components['schemas']['Product']; - }; - /** Added since version: 6.4.19.0 */ - ProductDownload: { - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - id?: string; - media?: components['schemas']['Media']; - mediaId: string; - /** Format: int64 */ - position?: number; - product?: components['schemas']['Product']; - productId: string; - productVersionId?: string; - /** Format: date-time */ - updatedAt?: string; - versionId?: string; - }; - /** Added since version: 6.1.0.0 */ - ProductExport: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.3.0.0 */ - ProductFeatureSet: { - /** Format: date-time */ - createdAt: string; - id?: string; - translated?: Record; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - ProductJsonApi: components['schemas']['resource'] & { - active?: boolean; - available?: boolean; - /** Format: int64 */ - availableStock?: number; - calculatedCheapestPrice?: GenericRecord; - /** - * Format: int64 - * Runtime field, cannot be used as part of the criteria. - */ - calculatedMaxPurchase?: number; - calculatedPrice?: GenericRecord; - calculatedPrices?: unknown[]; - canonicalProductId?: string; - categoryIds?: readonly string[]; - categoryTree?: readonly string[]; - /** Format: int64 */ - childCount?: number; - cmsPageId?: string; - cmsPageVersionId?: string; - coverId?: string; - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - deliveryTimeId?: string; - description?: string; - displayGroup?: string; - ean?: string; - extensions?: { - reviewSummaries?: { - data?: { - /** @example 0188f8334a407238b554caed891d5bf9 */ - id?: string; - /** @example product_review_summary */ - type?: string; - }[]; - links?: { - /** - * Format: uri-reference - * @example /product/0188f8334a3e72eaac34aa0e9089a538/reviewSummaries - */ - related?: string; - }; - }; - swagCustomizedProductsTemplate?: { - data?: { - /** @example 0188f8334a407238b554caed8958c5e7 */ - id?: string; - /** @example swag_customized_products_template */ - type?: string; - }; - links?: { - /** - * Format: uri-reference - * @example /product/0188f8334a3e72eaac34aa0e9089a538/swagCustomizedProductsTemplate - */ - related?: string; - }; - }; - }; - /** Format: float */ - height?: number; - id?: string; - isCloseout?: boolean; - /** Runtime field, cannot be used as part of the criteria. */ - isNew?: boolean; - keywords?: string; - /** Format: float */ - length?: number; - manufacturerId?: string; - manufacturerNumber?: string; - markAsTopseller?: boolean; - /** Format: int64 */ - maxPurchase?: number; - metaDescription?: string; - metaTitle?: string; - /** Format: int64 */ - minPurchase?: number; - name: string; - optionIds?: readonly string[]; - packUnit?: string; - packUnitPlural?: string; - parentId?: string; - parentVersionId?: string; - productManufacturerVersionId?: string; - productMediaVersionId?: string; - productNumber: string; - propertyIds?: readonly string[]; - /** Format: int64 */ - purchaseSteps?: number; - /** Format: float */ - purchaseUnit?: number; - /** Format: float */ - ratingAverage?: number; - /** Format: float */ - referenceUnit?: number; - relationships?: { - canonicalProduct?: { - data?: { - /** @example 0188f8334a407238b554caed828d5d76 */ - id?: string; - /** @example product */ - type?: string; - }; - links?: { - /** - * Format: uri-reference - * @example /product/0188f8334a3e72eaac34aa0e9089a538/canonicalProduct - */ - related?: string; - }; - }; - categories?: { - data?: { - /** @example 0188f8334a407238b554caed86f22aeb */ - id?: string; - /** @example category */ - type?: string; - }[]; - links?: { - /** - * Format: uri-reference - * @example /product/0188f8334a3e72eaac34aa0e9089a538/categories - */ - related?: string; - }; - }; - categoriesRo?: { - data?: { - /** @example 0188f8334a407238b554caed87f3c986 */ - id?: string; - /** @example category */ - type?: string; - }[]; - links?: { - /** - * Format: uri-reference - * @example /product/0188f8334a3e72eaac34aa0e9089a538/categoriesRo - */ - related?: string; - }; - }; - children?: { - data?: { - /** @example 0188f8334a3f7253b847b4936f987d95 */ - id?: string; - /** @example product */ - type?: string; - }[]; - links?: { - /** - * Format: uri-reference - * @example /product/0188f8334a3e72eaac34aa0e9089a538/children - */ - related?: string; - }; - }; - cmsPage?: { - data?: { - /** @example 0188f8334a3f7253b847b49373864110 */ - id?: string; - /** @example cms_page */ - type?: string; - }; - links?: { - /** - * Format: uri-reference - * @example /product/0188f8334a3e72eaac34aa0e9089a538/cmsPage - */ - related?: string; - }; - }; - configuratorSettings?: { - data?: { - /** @example 0188f8334a407238b554caed84e10090 */ - id?: string; - /** @example product_configurator_setting */ - type?: string; - }[]; - links?: { - /** - * Format: uri-reference - * @example /product/0188f8334a3e72eaac34aa0e9089a538/configuratorSettings - */ - related?: string; - }; - }; - cover?: { - data?: { - /** @example 0188f8334a3f7253b847b493729736ca */ - id?: string; - /** @example product_media */ - type?: string; - }; - links?: { - /** - * Format: uri-reference - * @example /product/0188f8334a3e72eaac34aa0e9089a538/cover - */ - related?: string; - }; - }; - crossSellings?: { - data?: { - /** @example 0188f8334a407238b554caed83f60d79 */ - id?: string; - /** @example product_cross_selling */ - type?: string; - }[]; - links?: { - /** - * Format: uri-reference - * @example /product/0188f8334a3e72eaac34aa0e9089a538/crossSellings - */ - related?: string; - }; - }; - deliveryTime?: { - data?: { - /** @example 0188f8334a3f7253b847b493701a96ea */ - id?: string; - /** @example delivery_time */ - type?: string; - }; - links?: { - /** - * Format: uri-reference - * @example /product/0188f8334a3e72eaac34aa0e9089a538/deliveryTime - */ - related?: string; - }; - }; - downloads?: { - data?: { - /** @example 0188f8334a3f7253b847b4936f08f801 */ - id?: string; - /** @example product_download */ - type?: string; - }[]; - links?: { - /** - * Format: uri-reference - * @example /product/0188f8334a3e72eaac34aa0e9089a538/downloads - */ - related?: string; - }; - }; - mainCategories?: { - data?: { - /** @example 0188f8334a407238b554caed8593aecf */ - id?: string; - /** @example main_category */ - type?: string; - }[]; - links?: { - /** - * Format: uri-reference - * @example /product/0188f8334a3e72eaac34aa0e9089a538/mainCategories - */ - related?: string; - }; - }; - manufacturer?: { - data?: { - /** @example 0188f8334a3f7253b847b493712fbfc9 */ - id?: string; - /** @example product_manufacturer */ - type?: string; - }; - links?: { - /** - * Format: uri-reference - * @example /product/0188f8334a3e72eaac34aa0e9089a538/manufacturer - */ - related?: string; - }; - }; - media?: { - data?: { - /** @example 0188f8334a407238b554caed832b9d78 */ - id?: string; - /** @example product_media */ - type?: string; - }[]; - links?: { - /** - * Format: uri-reference - * @example /product/0188f8334a3e72eaac34aa0e9089a538/media - */ - related?: string; - }; - }; - options?: { - data?: { - /** @example 0188f8334a407238b554caed86a31928 */ - id?: string; - /** @example property_group_option */ - type?: string; - }[]; - links?: { - /** - * Format: uri-reference - * @example /product/0188f8334a3e72eaac34aa0e9089a538/options - */ - related?: string; - }; - }; - parent?: { - data?: { - /** @example 0188f8334a3f7253b847b4936f97cdbd */ - id?: string; - /** @example product */ - type?: string; - }; - links?: { - /** - * Format: uri-reference - * @example /product/0188f8334a3e72eaac34aa0e9089a538/parent - */ - related?: string; - }; - }; - productReviews?: { - data?: { - /** @example 0188f8334a407238b554caed84f7846e */ - id?: string; - /** @example product_review */ - type?: string; - }[]; - links?: { - /** - * Format: uri-reference - * @example /product/0188f8334a3e72eaac34aa0e9089a538/productReviews - */ - related?: string; - }; - }; - properties?: { - data?: { - /** @example 0188f8334a407238b554caed86e4ee70 */ - id?: string; - /** @example property_group_option */ - type?: string; - }[]; - links?: { - /** - * Format: uri-reference - * @example /product/0188f8334a3e72eaac34aa0e9089a538/properties - */ - related?: string; - }; - }; - seoCategory?: { - data?: { - /** @example 0188f8334a407238b554caed886084b2 */ - id?: string; - /** @example category */ - type?: string; - }; - links?: { - /** - * Format: uri-reference - * @example /product/0188f8334a3e72eaac34aa0e9089a538/seoCategory - */ - related?: string; - }; - }; - seoUrls?: { - data?: { - /** @example 0188f8334a407238b554caed85b35097 */ - id?: string; - /** @example seo_url */ - type?: string; - }[]; - links?: { - /** - * Format: uri-reference - * @example /product/0188f8334a3e72eaac34aa0e9089a538/seoUrls - */ - related?: string; - }; - }; - streams?: { - data?: { - /** @example 0188f8334a407238b554caed877212b4 */ - id?: string; - /** @example product_stream */ - type?: string; - }[]; - links?: { - /** - * Format: uri-reference - * @example /product/0188f8334a3e72eaac34aa0e9089a538/streams - */ - related?: string; - }; - }; - tax?: { - data?: { - /** @example 0188f8334a3f7253b847b49370fb0a4b */ - id?: string; - /** @example tax */ - type?: string; - }; - links?: { - /** - * Format: uri-reference - * @example /product/0188f8334a3e72eaac34aa0e9089a538/tax - */ - related?: string; - }; - }; - unit?: { - data?: { - /** @example 0188f8334a3f7253b847b493720b964c */ - id?: string; - /** @example unit */ - type?: string; - }; - links?: { - /** - * Format: uri-reference - * @example /product/0188f8334a3e72eaac34aa0e9089a538/unit - */ - related?: string; - }; - }; - }; - /** Format: date-time */ - releaseDate?: string; - /** Format: int64 */ - restockTime?: number; - /** Format: int64 */ - sales?: number; - shippingFree?: boolean; - sortedProperties?: GenericRecord; - states?: readonly string[]; - /** Format: int64 */ - stock: number; - streamIds?: readonly string[]; - taxId: string; - translated?: { - canonicalProductId?: string; - cmsPageId?: string; - cmsPageVersionId?: string; - coverId?: string; - deliveryTimeId?: string; - description?: string; - displayGroup?: string; - ean?: string; - keywords?: string; - manufacturerId?: string; - manufacturerNumber?: string; - metaDescription?: string; - metaTitle?: string; - name?: string; - packUnit?: string; - packUnitPlural?: string; - parentId?: string; - parentVersionId?: string; - productManufacturerVersionId?: string; - productMediaVersionId?: string; - productNumber?: string; - releaseDate?: string; - taxId?: string; - unitId?: string; - versionId?: string; - }; - unitId?: string; - /** Format: date-time */ - updatedAt?: string; - versionId?: string; - /** Format: float */ - weight?: number; - /** Format: float */ - width?: number; - }; - /** Added since version: 6.0.0.0 */ - ProductKeywordDictionary: { - id?: string; - keyword: string; - languageId: string; - }; - ProductListingCriteria: components['schemas']['Criteria'] & { - /** 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. */ - limit?: number; - /** Filter by manufacturers. List of manufacturer identifiers separated by a `|`. */ - manufacturer?: string; - /** - * 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. - * @default true - */ - 'manufacturer-filter'?: boolean; - /** - * Filters by a maximum product price. Has to be higher than the `min-price` filter. - * @default 0 - */ - 'max-price'?: number; - /** - * Filters by a minimum product price. Has to be lower than the `max-price` filter. - * @default 0 - */ - 'min-price'?: number; - /** 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. */ - order?: string; - /** - * Search result page - * @default 1 - */ - p?: number; - /** - * 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. - * @default true - */ - 'price-filter'?: boolean; - /** Filters products by their properties. List of property identifiers separated by a `|`. */ - properties?: string; - /** - * 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. - * @default true - */ - 'property-filter'?: boolean; - /** 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. */ - 'property-whitelist'?: string; - /** Filter products with a minimum average rating. */ - rating?: number; - /** - * 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. - * @default true - */ - 'rating-filter'?: boolean; - /** 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. */ - 'reduce-aggregations'?: string | null; - /** - * Filters products that are marked as shipping-free. - * @default false - */ - 'shipping-free'?: boolean; - /** - * 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. - * @default true - */ - 'shipping-free-filter'?: boolean; - }; - /** Additional flags for product listings */ - ProductListingFlags: { - /** Resets all aggregations in the criteria. This parameter is a flag, the value has no effect. */ - 'no-aggregations'?: string | null; - /** 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. */ - 'only-aggregations'?: string | null; - }; - ProductListingResult: components['schemas']['EntitySearchResult'] & { - /** Contains the available sorting. These can be used to show a sorting select-box in the product listing. */ - availableSortings?: GenericRecord[]; - /** Contains the state of the filters. These can be used to create listing filters. */ - currentFilters?: { - manufacturer?: GenericRecord[]; - navigationId?: string; - price?: { - max?: number; - min?: number; - }; - properties?: GenericRecord[]; - rating?: number; - 'shipping-free'?: boolean; - }; - elements?: components['schemas']['Product'][]; - sorting?: string; - }; - /** Added since version: 6.0.0.0 */ - ProductManufacturer: { - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - description?: string; - id?: string; - link?: string; - media?: components['schemas']['Media']; - mediaId?: string; - name: string; - translated?: { - description?: string; - link?: string; - mediaId?: string; - name?: string; - versionId?: string; - }; - /** Format: date-time */ - updatedAt?: string; - versionId?: string; - }; - /** Added since version: 6.0.0.0 */ - ProductMedia: { - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - id?: string; - media?: components['schemas']['Media']; - mediaId: string; - /** Format: int64 */ - position?: number; - productId: string; - productVersionId?: string; - /** Format: date-time */ - updatedAt?: string; - versionId?: string; - }; - /** Added since version: 6.0.0.0 */ - ProductPrice: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - ProductReview: { - comment?: string; - content: string; - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - id?: string; - languageId: string; - /** Format: float */ - points?: number; - productId: string; - productVersionId?: string; - salesChannelId: string; - status?: boolean; - title: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: */ - ProductReviewSummary: { - /** Format: date-time */ - createdAt: string; - id?: string; - product?: components['schemas']['Product']; - productId: string; - salesChannel?: components['schemas']['SalesChannel']; - salesChannelId: string; - summary?: string; - translated?: { - productId?: string; - salesChannelId?: string; - summary?: string; - }; - /** Format: date-time */ - updatedAt?: string; - visible?: boolean; - }; - /** Added since version: 6.3.5.0 */ - ProductSearchConfig: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.3.5.0 */ - ProductSearchConfigField: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - ProductSearchKeyword: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.3.2.0 */ - ProductSorting: { - /** Format: date-time */ - createdAt: string; - id?: string; - key: string; - label: string; - /** Format: int64 */ - priority: number; - translated?: { - key?: string; - label?: string; - }; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - ProductStream: { - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - description?: string; - id?: string; - name: string; - translated?: { - description?: string; - name?: string; - }; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - ProductStreamFilter: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - ProductVisibility: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: */ - ProductWarehouse: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - Promotion: { - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - id?: string; - translated?: Record; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - PromotionDiscount: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - PromotionDiscountPrices: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - PromotionIndividualCode: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - PromotionSalesChannel: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - PromotionSetgroup: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - PropertyGroup: { - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - description?: string; - displayType: string; - filterable?: boolean; - id?: string; - name: string; - options?: components['schemas']['PropertyGroupOption']; - /** Format: int64 */ - position?: number; - sortingType: string; - translated?: { - description?: string; - displayType?: string; - name?: string; - sortingType?: string; - }; - /** Format: date-time */ - updatedAt?: string; - visibleOnProductDetailPage?: boolean; - }; - /** Added since version: 6.0.0.0 */ - PropertyGroupOption: { - colorHexCode?: string; - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - group?: components['schemas']['PropertyGroup']; - groupId: string; - id?: string; - media?: components['schemas']['Media']; - mediaId?: string; - name: string; - /** Format: int64 */ - position?: number; - translated?: { - colorHexCode?: string; - groupId?: string; - mediaId?: string; - name?: string; - }; - /** Format: date-time */ - updatedAt?: string; - }; - /** A resource object **MAY** contain references to other resource objects ("relationships"). Relationships may be to-one or to-many. Relationships can be specified by including a member in a resource's links object. */ - relationshipLinks: { - related?: components['schemas']['link']; - self?: GenericRecord[] & components['schemas']['link']; - [key: string]: unknown; - }; - /** Members of the relationships object ("relationships") represent references from the resource object in which it's defined to other resource objects. */ - relationships: unknown; - /** An array of objects each containing \"type\" and \"id\" members for to-many relationships. */ - relationshipToMany: components['schemas']['linkage'][]; - relationshipToOne: components['schemas']['linkage']; - /** "Resource objects" appear in a JSON API document to represent resources. */ - resource: { - attributes?: components['schemas']['attributes']; - id: string; - links?: components['schemas']['links']; - meta?: components['schemas']['meta']; - relationships?: components['schemas']['relationships']; - type: string; - }; - /** Added since version: 6.0.0.0 */ - Rule: { - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - description?: string; - extensions?: { - warehouseGroup?: { - data?: { - /** @example 0188f8334a4672a58b03a3d55bfc502f */ - id?: string; - /** @example warehouse_group */ - type?: string; - }[]; - links?: { - /** - * Format: uri-reference - * @example /rule/0188f8334a4672a58b03a3d55bb70070/warehouseGroup - */ - related?: string; - }; - }; - }; - id?: string; - name: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - RuleCondition: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: */ - SaasAppStorefrontConfig: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: */ - SaasSbpUserData: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: */ - SaasStorefrontDemoToken: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: */ - SaasUserLoginToken: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - SalesChannel: { - active?: boolean; - configuration?: GenericRecord; - country?: components['schemas']['Country']; - countryId: string; - /** Format: date-time */ - createdAt: string; - currency?: components['schemas']['Currency']; - currencyId: string; - customerGroupId: string; - customFields?: GenericRecord; - domains?: components['schemas']['SalesChannelDomain']; - footerCategory?: components['schemas']['Category']; - footerCategoryId?: string; - footerCategoryVersionId?: string; - hreflangActive?: boolean; - hreflangDefaultDomain?: components['schemas']['SalesChannelDomain']; - hreflangDefaultDomainId?: string; - id?: string; - language?: components['schemas']['Language']; - languageId: string; - mailHeaderFooterId?: string; - maintenance?: boolean; - name: string; - navigationCategory?: components['schemas']['Category']; - /** Format: int64 */ - navigationCategoryDepth?: number; - navigationCategoryId: string; - navigationCategoryVersionId?: string; - paymentMethod?: components['schemas']['PaymentMethod']; - paymentMethodId: string; - serviceCategory?: components['schemas']['Category']; - serviceCategoryId?: string; - serviceCategoryVersionId?: string; - shippingMethod?: components['schemas']['ShippingMethod']; - shippingMethodId: string; - shortName?: string; - taxCalculationType?: string; - translated?: { - countryId?: string; - currencyId?: string; - customerGroupId?: string; - footerCategoryId?: string; - footerCategoryVersionId?: string; - hreflangDefaultDomainId?: string; - languageId?: string; - mailHeaderFooterId?: string; - name?: string; - navigationCategoryId?: string; - navigationCategoryVersionId?: string; - paymentMethodId?: string; - serviceCategoryId?: string; - serviceCategoryVersionId?: string; - shippingMethodId?: string; - shortName?: string; - taxCalculationType?: string; - }; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.2.0.0 */ - SalesChannelAnalytics: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - SalesChannelContext: components['schemas']['ArrayStruct'] & { - /** Core context with general configuration values and state */ - context?: { - currencyFactor?: number; - currencyId?: string; - /** Format: int32 */ - currencyPrecision?: number; - scope?: string; - source?: string; - taxState?: string; - useCache?: boolean; - versionId?: string; - }; - /** Currency associated with the current user */ - currency?: { - /** Format: int32 */ - decimalPrecision?: number; - factor?: number; - isoCode?: string; - isSystemDefault?: boolean; - name?: string; - /** Format: int32 */ - position?: number; - shortName?: string; - symbol?: string; - }; - /** Customer group of the current user */ - currentCustomerGroup?: { - displayGross?: boolean; - name?: string; - }; - /** Information about the current customer - `null` if the customer is not logged in */ - customer?: { - active?: boolean; - affiliateCode?: string; - /** Format: int32 */ - autoIncrement?: number; - /** Format: date-time */ - birthday?: string; - campaignCode?: string; - company?: string; - customerNumber?: string; - defaultBillingAddressId?: string; - defaultPaymentMethodId?: string; - defaultShippingAddressId?: string; - /** Format: date-time */ - doubleOptInConfirmDate?: string; - /** Format: date-time */ - doubleOptInEmailSentDate?: string; - doubleOptInRegistration?: boolean; - email?: string; - /** Format: date-time */ - firstLogin?: string; - firstName?: string; - groupId?: string; - guest?: boolean; - hash?: string; - languageId?: string; - /** Format: date-time */ - lastLogin?: string; - lastName?: string; - /** Format: date-time */ - lastOrderDate?: string; - lastPaymentMethodId?: string; - legacyEncoder?: string; - legacyPassword?: string; - newsletter?: boolean; - /** Format: int32 */ - orderCount?: number; - password?: string; - remoteAddress?: string; - salesChannelId?: string; - salutationId?: string; - title?: string; - }; - /** Fallback group if the default customer group is not applicable */ - fallbackCustomerGroup?: { - displayGross?: boolean; - name?: string; - }; - /** Selected payment method */ - paymentMethod?: { - active?: boolean; - availabilityRuleId?: string; - description?: string; - formattedHandlerIdentifier?: string; - handlerIdentifier?: string; - mediaId?: string; - name?: string; - pluginId?: string; - /** Format: int32 */ - position?: number; - }; - /** Information about the current sales channel */ - salesChannel?: { - accessKey?: string; - active?: boolean; - analyticsId?: string; - countryId?: string; - currencyId?: string; - customerGroupId?: string; - footerCategoryId?: string; - hreflangActive?: boolean; - hreflangDefaultDomainId?: string; - languageId?: string; - mailHeaderFooterId?: string; - maintenance?: boolean; - maintenanceIpWhitelist?: string; - name?: string; - /** Format: int32 */ - navigationCategoryDepth?: number; - navigationCategoryId?: string; - paymentMethodId?: string; - serviceCategoryId?: string; - shippingMethodId?: string; - shortName?: string; - typeId?: string; - }; - /** Selected shipping method */ - shippingMethod?: { - active?: boolean; - availabilityRuleId?: string; - deliveryTimeId?: string; - description?: string; - mediaId?: string; - name?: string; - trackingUrl?: string; - }; - /** Currently active tax rules and/or rates */ - taxRules?: { - name?: string; - /** Format: float */ - taxRate?: number; - }[]; - /** Context the user session */ - token?: string; - }; - /** Added since version: 6.0.0.0 */ - SalesChannelDomain: { - /** Format: date-time */ - createdAt: string; - currency?: components['schemas']['Currency']; - currencyId: string; - customFields?: GenericRecord; - hreflangUseOnlyLocale?: boolean; - id?: string; - language?: components['schemas']['Language']; - languageId: string; - salesChannelDefaultHreflang?: components['schemas']['SalesChannel']; - salesChannelId: string; - snippetSetId: string; - /** Format: date-time */ - updatedAt?: string; - url: string; - }; - /** Added since version: 6.0.0.0 */ - SalesChannelType: { - /** Format: date-time */ - createdAt: string; - id?: string; - translated?: Record; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - Salutation: { - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - displayName: string; - id?: string; - letterName: string; - salutationKey: string; - translated?: { - displayName?: string; - letterName?: string; - salutationKey?: string; - }; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - SalutationJsonApi: components['schemas']['resource'] & { - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - displayName: string; - id?: string; - letterName: string; - salutationKey: string; - translated?: { - displayName?: string; - letterName?: string; - salutationKey?: string; - }; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - ScheduledTask: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.4.7.0 */ - Script: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - SeoUrl: { - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - foreignKey: string; - id?: string; - isCanonical?: boolean; - isDeleted?: boolean; - isModified?: boolean; - /** Runtime field, cannot be used as part of the criteria. */ - isValid?: boolean; - languageId: string; - pathInfo: string; - routeName: string; - salesChannelId?: string; - seoPathInfo: string; - /** Format: date-time */ - updatedAt?: string; - /** Runtime field, cannot be used as part of the criteria. */ - url?: string; - }; - /** Added since version: 6.0.0.0 */ - SeoUrlJsonApi: components['schemas']['resource'] & { - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - foreignKey: string; - id?: string; - isCanonical?: boolean; - isDeleted?: boolean; - isModified?: boolean; - /** Runtime field, cannot be used as part of the criteria. */ - isValid?: boolean; - languageId: string; - pathInfo: string; - routeName: string; - salesChannelId?: string; - seoPathInfo: string; - /** Format: date-time */ - updatedAt?: string; - /** Runtime field, cannot be used as part of the criteria. */ - url?: string; - }; - /** Added since version: 6.0.0.0 */ - SeoUrlTemplate: { - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - id?: string; - isValid?: boolean; - salesChannelId?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - ShippingMethod: { - active?: boolean; - availabilityRule?: components['schemas']['Rule']; - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - deliveryTime?: components['schemas']['DeliveryTime']; - deliveryTimeId: string; - description?: string; - id?: string; - media?: components['schemas']['Media']; - mediaId?: string; - name: string; - /** Format: int64 */ - position?: number; - prices?: components['schemas']['ShippingMethodPrice']; - tags?: components['schemas']['Tag']; - tax?: components['schemas']['Tax']; - taxType: string; - trackingUrl?: string; - translated?: { - deliveryTimeId?: string; - description?: string; - mediaId?: string; - name?: string; - taxType?: string; - trackingUrl?: string; - }; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - ShippingMethodJsonApi: components['schemas']['resource'] & { - active?: boolean; - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - deliveryTimeId: string; - description?: string; - id?: string; - mediaId?: string; - name: string; - /** Format: int64 */ - position?: number; - relationships?: { - availabilityRule?: { - data?: { - /** @example 0188f8334a4973b68b11e7ce4ed9f9ee */ - id?: string; - /** @example rule */ - type?: string; - }; - links?: { - /** - * Format: uri-reference - * @example /shipping-method/0188f8334a4973b68b11e7ce4e6ade1e/availabilityRule - */ - related?: string; - }; - }; - deliveryTime?: { - data?: { - /** @example 0188f8334a4973b68b11e7ce4e8bf6ea */ - id?: string; - /** @example delivery_time */ - type?: string; - }; - links?: { - /** - * Format: uri-reference - * @example /shipping-method/0188f8334a4973b68b11e7ce4e6ade1e/deliveryTime - */ - related?: string; - }; - }; - media?: { - data?: { - /** @example 0188f8334a4973b68b11e7ce4f745547 */ - id?: string; - /** @example media */ - type?: string; - }; - links?: { - /** - * Format: uri-reference - * @example /shipping-method/0188f8334a4973b68b11e7ce4e6ade1e/media - */ - related?: string; - }; - }; - prices?: { - data?: { - /** @example 0188f8334a4973b68b11e7ce4f520b9d */ - id?: string; - /** @example shipping_method_price */ - type?: string; - }[]; - links?: { - /** - * Format: uri-reference - * @example /shipping-method/0188f8334a4973b68b11e7ce4e6ade1e/prices - */ - related?: string; - }; - }; - tags?: { - data?: { - /** @example 0188f8334a4973b68b11e7ce500bf752 */ - id?: string; - /** @example tag */ - type?: string; - }[]; - links?: { - /** - * Format: uri-reference - * @example /shipping-method/0188f8334a4973b68b11e7ce4e6ade1e/tags - */ - related?: string; - }; - }; - tax?: { - data?: { - /** @example 0188f8334a4973b68b11e7ce506a4c6d */ - id?: string; - /** @example tax */ - type?: string; - }; - links?: { - /** - * Format: uri-reference - * @example /shipping-method/0188f8334a4973b68b11e7ce4e6ade1e/tax - */ - related?: string; - }; - }; - }; - taxType: string; - trackingUrl?: string; - translated?: { - deliveryTimeId?: string; - description?: string; - mediaId?: string; - name?: string; - taxType?: string; - trackingUrl?: string; - }; - /** Format: date-time */ - updatedAt?: string; - }; - ShippingMethodPageRouteResponse: { - active?: boolean; - availabilityRule?: { - description?: string; - invalid?: boolean; - name?: string; - /** Format: int32 */ - priority?: number; - }; - availabilityRuleId?: string; - deliveryTime?: { - /** Format: int32 */ - max?: number; - /** Format: int32 */ - min?: number; - name?: string; - unit?: string; - }; - deliveryTimeId?: string; - description?: string; - media?: { - alt?: string; - fileExtension?: string; - fileName?: string; - /** Format: int32 */ - fileSize?: number; - mediaFolderId?: string; - mediaTypeRaw?: string; - metaDataRaw?: string; - mimeType?: string; - private?: boolean; - thumbnailsRo?: string; - title?: string; - /** Format: date-time */ - uploadedAt?: string; - url?: string; - userId?: string; - }; - mediaId?: string; - name?: string; - orderDeliveries?: { - orderId?: string; - /** Format: date-time */ - shippingDateEarliest?: string; - /** Format: date-time */ - shippingDateLatest?: string; - shippingMethodId?: string; - shippingOrderAddressId?: string; - stateId?: string; - }[]; - prices?: { - /** Format: int32 */ - calculation?: number; - calculationRuleId?: string; - currencyId?: string; - /** Format: float */ - price?: number; - /** Format: float */ - quantityEnd?: number; - /** Format: float */ - quantityStart?: number; - ruleId?: string; - shippingMethodId?: string; - }[]; - salesChannelDefaultAssignments?: { - accessKey?: string; - active?: boolean; - countryId?: string; - currencyId?: string; - customerGroupId?: string; - footerCategoryId?: string; - hreflangActive?: boolean; - hreflangDefaultDomainId?: string; - languageId?: string; - mailHeaderFooterId?: string; - maintenance?: boolean; - maintenanceIpWhitelist?: string; - name?: string; - /** Format: int32 */ - navigationCategoryDepth?: number; - navigationCategoryId?: string; - paymentMethodId?: string; - serviceCategoryId?: string; - shippingMethodId?: string; - shortName?: string; - typeId?: string; - }[]; - salesChannels?: { - accessKey?: string; - active?: boolean; - countryId?: string; - currencyId?: string; - customerGroupId?: string; - footerCategoryId?: string; - hreflangActive?: boolean; - hreflangDefaultDomainId?: string; - languageId?: string; - mailHeaderFooterId?: string; - maintenance?: boolean; - maintenanceIpWhitelist?: string; - name?: string; - /** Format: int32 */ - navigationCategoryDepth?: number; - navigationCategoryId?: string; - paymentMethodId?: string; - serviceCategoryId?: string; - shippingMethodId?: string; - shortName?: string; - typeId?: string; - }[]; - tags?: { - name?: string; - }[]; - translations?: { - description?: string; - name?: string; - shippingMethodId?: string; - }[]; - }[]; - /** Added since version: 6.0.0.0 */ - ShippingMethodPrice: { - /** Format: int64 */ - calculation?: number; - calculationRuleId?: string; - /** Format: date-time */ - createdAt: string; - currencyPrice?: GenericRecord; - customFields?: GenericRecord; - id?: string; - /** Format: float */ - quantityEnd?: number; - /** Format: float */ - quantityStart?: number; - ruleId?: string; - shippingMethodId: string; - /** Format: date-time */ - updatedAt?: string; - }; - Sitemap: components['schemas']['ArrayStruct'] & { - /** Format: date-time */ - created?: string; - filename?: string; - }; - /** Added since version: 6.0.0.0 */ - Snippet: { - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - id?: string; - setId: string; - translationKey: string; - /** Format: date-time */ - updatedAt?: string; - value: string; - }; - /** Added since version: 6.0.0.0 */ - SnippetSet: { - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - id?: string; - iso: string; - name: string; - snippets?: components['schemas']['Snippet']; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - StateMachine: { - /** Format: date-time */ - createdAt: string; - id?: string; - states?: components['schemas']['StateMachineState']; - transitions?: components['schemas']['StateMachineTransition']; - translated?: Record; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - StateMachineHistory: { - /** Format: date-time */ - createdAt: string; - fromStateMachineState?: components['schemas']['StateMachineState']; - id?: string; - toStateMachineState?: components['schemas']['StateMachineState']; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - StateMachineState: { - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - id?: string; - name: string; - technicalName: string; - translated?: { - name?: string; - technicalName?: string; - }; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - StateMachineTransition: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - Struct: { - /** Alias which can be used to restrict response fields. For more information see [includes](https://shopware.stoplight.io/docs/store-api/docs/concepts/search-queries.md#includes-apialias). */ - apiAlias?: string; - }; - success: { - data: components['schemas']['data']; - /** To reduce the number of HTTP requests, servers **MAY** allow responses that include related resources along with the requested primary resources. Such responses are called "compound documents". */ - included?: components['schemas']['resource'][]; - /** Link members related to the primary data. */ - links?: components['schemas']['links'] & components['schemas']['pagination']; - meta?: components['schemas']['meta']; - }; - SuccessResponse: { - success?: boolean; - }; - /** Added since version: */ - SwagCmsExtensionsBlockRule: { - cmsBlock?: components['schemas']['CmsBlock']; - cmsBlockId: string; - cmsBlockVersionId?: string; - /** Format: date-time */ - createdAt: string; - id?: string; - inverted?: boolean; - /** Format: date-time */ - updatedAt?: string; - visibilityRule?: components['schemas']['Rule']; - visibilityRuleId?: string; - }; - /** Added since version: */ - SwagCmsExtensionsForm: { - /** Format: date-time */ - createdAt: string; - id?: string; - translated?: Record; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: */ - SwagCmsExtensionsFormGroup: { - /** Format: date-time */ - createdAt: string; - id?: string; - translated?: Record; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: */ - SwagCmsExtensionsFormGroupField: { - /** Format: date-time */ - createdAt: string; - id?: string; - translated?: Record; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: */ - SwagCmsExtensionsQuickview: { - active?: boolean; - cmsBlock?: components['schemas']['CmsBlock']; - cmsBlockId?: string; - cmsBlockVersionId?: string; - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: */ - SwagCmsExtensionsScrollNavigation: { - active?: boolean; - cmsSection?: components['schemas']['CmsSection']; - cmsSectionId?: string; - cmsSectionVersionId?: string; - /** Format: date-time */ - createdAt: string; - displayName?: string; - id?: string; - translated?: { - cmsSectionId?: string; - cmsSectionVersionId?: string; - displayName?: string; - }; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: */ - SwagCmsExtensionsScrollNavigationPageSettings: { - active: boolean; - bouncy: boolean; - cmsPage?: components['schemas']['CmsPage']; - cmsPageId?: string; - cmsPageVersionId?: string; - /** Format: date-time */ - createdAt: string; - /** Format: int64 */ - duration: number; - easing: string; - /** Format: int64 */ - easingDegree: number; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: */ - SwagCustomizedProductsTemplate: { - active?: boolean; - configurations?: components['schemas']['SwagCustomizedProductsTemplateConfiguration']; - confirmInput?: boolean; - /** Format: date-time */ - createdAt: string; - decisionTree?: GenericRecord; - description?: string; - displayName: string; - exclusions?: components['schemas']['SwagCustomizedProductsTemplateExclusion']; - id?: string; - internalName: string; - media?: components['schemas']['Media']; - mediaId?: string; - options?: components['schemas']['SwagCustomizedProductsTemplateOption']; - optionsAutoCollapse?: boolean; - parentVersionId?: string; - products?: components['schemas']['Product']; - stepByStep?: boolean; - translated?: { - description?: string; - displayName?: string; - internalName?: string; - mediaId?: string; - parentVersionId?: string; - versionId?: string; - }; - /** Format: date-time */ - updatedAt?: string; - versionId?: string; - }; - /** Added since version: */ - SwagCustomizedProductsTemplateConfiguration: { - configuration: GenericRecord; - /** Format: date-time */ - createdAt: string; - hash: string; - id?: string; - template?: components['schemas']['SwagCustomizedProductsTemplate']; - templateConfigurationShares?: components['schemas']['SwagCustomizedProductsTemplateConfigurationShare']; - templateId: string; - templateVersionId?: string; - /** Format: date-time */ - updatedAt?: string; - versionId?: string; - }; - /** Added since version: */ - SwagCustomizedProductsTemplateConfigurationJsonApi: components['schemas']['resource'] & { - configuration: GenericRecord; - /** Format: date-time */ - createdAt: string; - hash: string; - id?: string; - relationships?: { - template?: { - data?: { - /** @example 0188f8334a4b73b8a052702133a9a162 */ - id?: string; - /** @example swag_customized_products_template */ - type?: string; - }; - links?: { - /** - * Format: uri-reference - * @example /swag-customized-products-template-configuration/0188f8334a4b73b8a052702132e04837/template - */ - related?: string; - }; - }; - templateConfigurationShares?: { - data?: { - /** @example 0188f8334a4b73b8a05270213400704d */ - id?: string; - /** @example swag_customized_products_template_configuration_share */ - type?: string; - }[]; - links?: { - /** - * Format: uri-reference - * @example /swag-customized-products-template-configuration/0188f8334a4b73b8a052702132e04837/templateConfigurationShares - */ - related?: string; - }; - }; - }; - templateId: string; - templateVersionId?: string; - /** Format: date-time */ - updatedAt?: string; - versionId?: string; - }; - /** Added since version: */ - SwagCustomizedProductsTemplateConfigurationShare: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: */ - SwagCustomizedProductsTemplateExclusion: { - conditions?: components['schemas']['SwagCustomizedProductsTemplateExclusionCondition']; - /** Format: date-time */ - createdAt: string; - id?: string; - name: string; - template?: components['schemas']['SwagCustomizedProductsTemplate']; - templateId: string; - templateVersionId?: string; - /** Format: date-time */ - updatedAt?: string; - versionId?: string; - }; - /** Added since version: */ - SwagCustomizedProductsTemplateExclusionCondition: { - /** Format: date-time */ - createdAt: string; - id?: string; - templateExclusion?: components['schemas']['SwagCustomizedProductsTemplateExclusion']; - templateExclusionId: string; - templateExclusionOperator?: components['schemas']['SwagCustomizedProductsTemplateExclusionOperator']; - templateExclusionOperatorId: string; - templateExclusionVersionId?: string; - templateOption?: components['schemas']['SwagCustomizedProductsTemplateOption']; - templateOptionId: string; - templateOptionValues?: components['schemas']['SwagCustomizedProductsTemplateOptionValue']; - templateOptionVersionId?: string; - /** Format: date-time */ - updatedAt?: string; - versionId?: string; - }; - /** Added since version: */ - SwagCustomizedProductsTemplateExclusionOperator: { - /** Format: date-time */ - createdAt: string; - id?: string; - label: string; - operator: string; - templateExclusionConditions?: components['schemas']['SwagCustomizedProductsTemplateExclusionCondition']; - templateOptionType: string; - translated?: { - label?: string; - operator?: string; - templateOptionType?: string; - }; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: */ - SwagCustomizedProductsTemplateJsonApi: components['schemas']['resource'] & { - active?: boolean; - confirmInput?: boolean; - /** Format: date-time */ - createdAt: string; - decisionTree?: GenericRecord; - description?: string; - displayName: string; - id?: string; - internalName: string; - mediaId?: string; - optionsAutoCollapse?: boolean; - parentVersionId?: string; - relationships?: { - configurations?: { - data?: { - /** @example 0188f8334a4b73b8a052702132b1488f */ - id?: string; - /** @example swag_customized_products_template_configuration */ - type?: string; - }[]; - links?: { - /** - * Format: uri-reference - * @example /swag-customized-products-template/0188f8334a4b73b8a052702130b55d12/configurations - */ - related?: string; - }; - }; - exclusions?: { - data?: { - /** @example 0188f8334a4b73b8a052702132a974ef */ - id?: string; - /** @example swag_customized_products_template_exclusion */ - type?: string; - }[]; - links?: { - /** - * Format: uri-reference - * @example /swag-customized-products-template/0188f8334a4b73b8a052702130b55d12/exclusions - */ - related?: string; - }; - }; - media?: { - data?: { - /** @example 0188f8334a4b73b8a052702130f74665 */ - id?: string; - /** @example media */ - type?: string; - }; - links?: { - /** - * Format: uri-reference - * @example /swag-customized-products-template/0188f8334a4b73b8a052702130b55d12/media - */ - related?: string; - }; - }; - options?: { - data?: { - /** @example 0188f8334a4b73b8a052702131e12911 */ - id?: string; - /** @example swag_customized_products_template_option */ - type?: string; - }[]; - links?: { - /** - * Format: uri-reference - * @example /swag-customized-products-template/0188f8334a4b73b8a052702130b55d12/options - */ - related?: string; - }; - }; - products?: { - data?: { - /** @example 0188f8334a4b73b8a052702131ef8519 */ - id?: string; - /** @example product */ - type?: string; - }[]; - links?: { - /** - * Format: uri-reference - * @example /swag-customized-products-template/0188f8334a4b73b8a052702130b55d12/products - */ - related?: string; - }; - }; - }; - stepByStep?: boolean; - translated?: { - description?: string; - displayName?: string; - internalName?: string; - mediaId?: string; - parentVersionId?: string; - versionId?: string; - }; - /** Format: date-time */ - updatedAt?: string; - versionId?: string; - }; - /** Added since version: */ - SwagCustomizedProductsTemplateOption: { - advancedSurcharge?: boolean; - calculatedPrice?: GenericRecord; - /** Format: date-time */ - createdAt: string; - description?: string; - displayName: string; - id?: string; - itemNumber?: string; - oneTimeSurcharge?: boolean; - /** Format: float */ - percentageSurcharge?: number; - placeholder?: string; - /** Format: int64 */ - position?: number; - price?: GenericRecord; - prices?: components['schemas']['SwagCustomizedProductsTemplateOptionPrice']; - relativeSurcharge?: boolean; - required?: boolean; - tax?: components['schemas']['Tax']; - taxId?: string; - template?: components['schemas']['SwagCustomizedProductsTemplate']; - templateExclusionConditions?: components['schemas']['SwagCustomizedProductsTemplateExclusionCondition']; - templateId: string; - templateVersionId?: string; - translated?: { - description?: string; - displayName?: string; - itemNumber?: string; - placeholder?: string; - taxId?: string; - templateId?: string; - templateVersionId?: string; - type?: string; - }; - type: string; - typeProperties?: GenericRecord; - /** Format: date-time */ - updatedAt?: string; - values?: components['schemas']['SwagCustomizedProductsTemplateOptionValue']; - }; - /** Added since version: */ - SwagCustomizedProductsTemplateOptionJsonApi: components['schemas']['resource'] & { - advancedSurcharge?: boolean; - calculatedPrice?: GenericRecord; - /** Format: date-time */ - createdAt: string; - description?: string; - displayName: string; - id?: string; - itemNumber?: string; - oneTimeSurcharge?: boolean; - /** Format: float */ - percentageSurcharge?: number; - placeholder?: string; - /** Format: int64 */ - position?: number; - price?: GenericRecord; - relationships?: { - prices?: { - data?: { - /** @example 0188f8334a4c7391b3c2465a968e2341 */ - id?: string; - /** @example swag_customized_products_template_option_price */ - type?: string; - }[]; - links?: { - /** - * Format: uri-reference - * @example /swag-customized-products-template-option/0188f8334a4c7391b3c2465a9651c8e9/prices - */ - related?: string; - }; - }; - tax?: { - data?: { - /** @example 0188f8334a4d701badec9fc5347f84d1 */ - id?: string; - /** @example tax */ - type?: string; - }; - links?: { - /** - * Format: uri-reference - * @example /swag-customized-products-template-option/0188f8334a4c7391b3c2465a9651c8e9/tax - */ - related?: string; - }; - }; - template?: { - data?: { - /** @example 0188f8334a4d701badec9fc533c5f8dc */ - id?: string; - /** @example swag_customized_products_template */ - type?: string; - }; - links?: { - /** - * Format: uri-reference - * @example /swag-customized-products-template-option/0188f8334a4c7391b3c2465a9651c8e9/template - */ - related?: string; - }; - }; - templateExclusionConditions?: { - data?: { - /** @example 0188f8334a4d701badec9fc5334d96ab */ - id?: string; - /** @example swag_customized_products_template_exclusion_condition */ - type?: string; - }[]; - links?: { - /** - * Format: uri-reference - * @example /swag-customized-products-template-option/0188f8334a4c7391b3c2465a9651c8e9/templateExclusionConditions - */ - related?: string; - }; - }; - values?: { - data?: { - /** @example 0188f8334a4d701badec9fc533327b23 */ - id?: string; - /** @example swag_customized_products_template_option_value */ - type?: string; - }[]; - links?: { - /** - * Format: uri-reference - * @example /swag-customized-products-template-option/0188f8334a4c7391b3c2465a9651c8e9/values - */ - related?: string; - }; - }; - }; - relativeSurcharge?: boolean; - required?: boolean; - taxId?: string; - templateId: string; - templateVersionId?: string; - translated?: { - description?: string; - displayName?: string; - itemNumber?: string; - placeholder?: string; - taxId?: string; - templateId?: string; - templateVersionId?: string; - type?: string; - }; - type: string; - typeProperties?: GenericRecord; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: */ - SwagCustomizedProductsTemplateOptionPrice: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: float */ - percentageSurcharge?: number; - price?: GenericRecord; - rule?: components['schemas']['Rule']; - ruleId?: string; - templateOption?: components['schemas']['SwagCustomizedProductsTemplateOption']; - templateOptionId: string; - templateOptionVersionId?: string; - /** Format: date-time */ - updatedAt?: string; - versionId?: string; - }; - /** Added since version: */ - SwagCustomizedProductsTemplateOptionValue: { - advancedSurcharge?: boolean; - /** Format: date-time */ - createdAt: string; - default?: boolean; - displayName: string; - id?: string; - itemNumber?: string; - oneTimeSurcharge?: boolean; - /** Format: float */ - percentageSurcharge?: number; - /** Format: int64 */ - position: number; - price?: GenericRecord; - prices?: components['schemas']['SwagCustomizedProductsTemplateOptionValuePrice']; - relativeSurcharge?: boolean; - tax?: components['schemas']['Tax']; - taxId?: string; - templateExclusionConditions?: components['schemas']['SwagCustomizedProductsTemplateExclusionCondition']; - templateOption?: components['schemas']['SwagCustomizedProductsTemplateOption']; - templateOptionId: string; - templateOptionVersionId?: string; - translated?: { - displayName?: string; - itemNumber?: string; - taxId?: string; - templateOptionId?: string; - templateOptionVersionId?: string; - versionId?: string; - }; - /** Format: date-time */ - updatedAt?: string; - value?: GenericRecord; - versionId?: string; - }; - /** Added since version: */ - SwagCustomizedProductsTemplateOptionValueJsonApi: components['schemas']['resource'] & { - advancedSurcharge?: boolean; - /** Format: date-time */ - createdAt: string; - default?: boolean; - displayName: string; - id?: string; - itemNumber?: string; - oneTimeSurcharge?: boolean; - /** Format: float */ - percentageSurcharge?: number; - /** Format: int64 */ - position: number; - price?: GenericRecord; - relationships?: { - prices?: { - data?: { - /** @example 0188f8334a4d701badec9fc53843050a */ - id?: string; - /** @example swag_customized_products_template_option_value_price */ - type?: string; - }[]; - links?: { - /** - * Format: uri-reference - * @example /swag-customized-products-template-option-value/0188f8334a4d701badec9fc5375ebce7/prices - */ - related?: string; - }; - }; - tax?: { - data?: { - /** @example 0188f8334a4d701badec9fc538b6a4b7 */ - id?: string; - /** @example tax */ - type?: string; - }; - links?: { - /** - * Format: uri-reference - * @example /swag-customized-products-template-option-value/0188f8334a4d701badec9fc5375ebce7/tax - */ - related?: string; - }; - }; - templateExclusionConditions?: { - data?: { - /** @example 0188f8334a4d701badec9fc5390730a1 */ - id?: string; - /** @example swag_customized_products_template_exclusion_condition */ - type?: string; - }[]; - links?: { - /** - * Format: uri-reference - * @example /swag-customized-products-template-option-value/0188f8334a4d701badec9fc5375ebce7/templateExclusionConditions - */ - related?: string; - }; - }; - templateOption?: { - data?: { - /** @example 0188f8334a4d701badec9fc538670459 */ - id?: string; - /** @example swag_customized_products_template_option */ - type?: string; - }; - links?: { - /** - * Format: uri-reference - * @example /swag-customized-products-template-option-value/0188f8334a4d701badec9fc5375ebce7/templateOption - */ - related?: string; - }; - }; - }; - relativeSurcharge?: boolean; - taxId?: string; - templateOptionId: string; - templateOptionVersionId?: string; - translated?: { - displayName?: string; - itemNumber?: string; - taxId?: string; - templateOptionId?: string; - templateOptionVersionId?: string; - versionId?: string; - }; - /** Format: date-time */ - updatedAt?: string; - value?: GenericRecord; - versionId?: string; - }; - /** Added since version: */ - SwagCustomizedProductsTemplateOptionValuePrice: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: float */ - percentageSurcharge?: number; - price?: GenericRecord; - rule?: components['schemas']['Rule']; - ruleId?: string; - templateOptionValue?: components['schemas']['SwagCustomizedProductsTemplateOptionValue']; - templateOptionValueId: string; - templateOptionValueVersionId?: string; - /** Format: date-time */ - updatedAt?: string; - versionId?: string; - }; - /** Added since version: */ - SwagDelayAction: { - /** Format: date-time */ - createdAt: string; - customerId?: string; - id?: string; - orderId?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: */ - SwagDynamicAccessLandingPageRule: { - id?: string; - landingPage?: components['schemas']['LandingPage']; - landingPageId: string; - landingPageVersionId?: string; - rule?: components['schemas']['Rule']; - ruleId: string; - }; - /** Added since version: */ - SwagDynamicAccessProductRule: { - id?: string; - product?: components['schemas']['Product']; - productId: string; - productVersionId?: string; - rule?: components['schemas']['Rule']; - ruleId: string; - }; - /** Added since version: */ - SwagLanguagePackLanguage: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: */ - SwagMigrationConnection: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: */ - SwagMigrationData: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: */ - SwagMigrationGeneralSetting: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: */ - SwagMigrationLogging: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: */ - SwagMigrationMapping: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: */ - SwagMigrationMediaFile: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: */ - SwagMigrationRun: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: */ - SwagPaypalPosSalesChannel: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: */ - SwagPaypalPosSalesChannelRun: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: */ - SwagPaypalPosSalesChannelRunLog: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: */ - SwagSocialShoppingCustomer: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: */ - SwagSocialShoppingOrder: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: */ - SwagSocialShoppingProductError: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: */ - SwagSocialShoppingSalesChannel: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - SystemConfig: { - configurationKey: string; - configurationValue: { - _value?: GenericRecord; - }; - /** Format: date-time */ - createdAt: string; - id?: string; - salesChannel?: components['schemas']['SalesChannel']; - salesChannelId?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - Tag: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - Tax: { - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - id?: string; - name: string; - /** - * Format: int64 - * Added since version: 6.4.0.0. - */ - position: number; - /** Format: float */ - taxRate: number; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.5.0.0 */ - TaxProvider: { - active?: boolean; - appId?: string; - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - id?: string; - name: string; - /** Format: int64 */ - priority: number; - processUrl?: string; - translated?: { - appId?: string; - name?: string; - processUrl?: string; - }; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.1.0.0 */ - TaxRule: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.1.0.0 */ - TaxRuleType: { - /** Format: date-time */ - createdAt: string; - id?: string; - translated?: Record; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - Theme: { - active: boolean; - author: string; - baseConfig?: GenericRecord; - configValues?: GenericRecord; - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - description?: string; - helpTexts?: GenericRecord; - id?: string; - labels?: GenericRecord; - media?: components['schemas']['Media']; - name: string; - parentThemeId?: string; - previewMediaId?: string; - technicalName?: string; - translated?: { - author?: string; - description?: string; - name?: string; - parentThemeId?: string; - previewMediaId?: string; - technicalName?: string; - }; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - Unit: { - /** Format: date-time */ - createdAt: string; - customFields?: GenericRecord; - id?: string; - name: string; - shortCode: string; - translated?: { - name?: string; - shortCode?: string; - }; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - User: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - UserAccessKey: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.3.5.0 */ - UserConfig: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.0.0.0 */ - UserRecovery: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: */ - Warehouse: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: */ - WarehouseGroup: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.3.1.0 */ - Webhook: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - /** Added since version: 6.4.1.0 */ - WebhookEventLog: { - /** Format: date-time */ - createdAt: string; - id?: string; - /** Format: date-time */ - updatedAt?: string; - }; - WishlistLoadRouteResponse: { - products?: components['schemas']['ProductListingResult'][]; - wishlist?: { - customerId?: string; - salesChannelId?: string; - }; - }; - }; - responses: { - /** No Content */ - 204: never; - /** Bad Request */ - 400: { - content: { - 'application/json': components['schemas']['failure']; - 'application/vnd.api+json': components['schemas']['failure']; - }; - }; - /** Unauthorized */ - 401: { - content: { - 'application/json': components['schemas']['failure']; - 'application/vnd.api+json': components['schemas']['failure']; - }; - }; - /** Forbidden */ - 403: { - content: { - 'application/json': components['schemas']['failure']; - 'application/vnd.api+json': components['schemas']['failure']; - }; - }; - /** Not Found */ - 404: { - content: { - 'application/json': components['schemas']['failure']; - 'application/vnd.api+json': components['schemas']['failure']; - }; - }; - }; - parameters: { - /** Accepted response content types */ - accept: string; - /** Content type of the request */ - contentType: string; - }; - requestBodies: never; - headers: never; - pathItems: never; -}; - -export type external = Record; - -export type operations = { - /** - * Create a new address for a customer - * Creates a new address for a customer. - */ - createCustomerAddress: { - requestBody?: { - content: { - 'application/json': components['schemas']['CustomerAddress']; - }; - }; - responses: { - 200: { - content: { - 'application/json': components['schemas']['CustomerAddress']; - }; - }; - }; - }; - /** - * Delete an address of a customer - * Delete an address of customer. - * - * Only addresses which are not set as default addresses for shipping or billing can be deleted. You can check the current default addresses of your customer using the profile information endpoint and change them using the default address endpoint. - * - * **A customer must have at least one address (which can be used for shipping and billing).** - * - * An automatic fallback is not applied. - */ - deleteCustomerAddress: { - parameters: { - path: { - /** ID of the address to be deleted. */ - addressId: string; - }; - }; - responses: { - /** No Content response, when the address has been deleted */ - 204: never; - /** Response containing a list of errors, most likely due to the address being in use */ - 400: never; - }; - }; - /** - * Modify an address of a customer - * Modifies an existing address of a customer. - */ - updateCustomerAddress: { - parameters: { - path: { - /** Address ID */ - addressId: string; - }; - }; - requestBody?: { - content: { - 'application/json': components['schemas']['CustomerAddress']; - }; - }; - responses: { - 200: { - content: { - 'application/json': components['schemas']['CustomerAddress']; - }; - }; - }; - }; - /** - * Change a customer's default billing address - * Updates the default (preselected) billing addresses of a customer. - */ - defaultBillingAddress: { - parameters: { - path: { - /** Address ID */ - addressId: string; - }; - }; - responses: { - 200: never; - }; - }; - /** - * Change a customer's default shipping address - * Updates the default (preselected) shipping addresses of a customer. - */ - defaultShippingAddress: { - parameters: { - path: { - /** Address ID */ - addressId: string; - }; - }; - responses: { - 200: never; - }; - }; - /** - * Change the customer's email address - * Changes a customer's email address to a new email address, using their current password as a validation. - */ - changeEmail: { - requestBody: { - content: { - 'application/json': { - /** New email address. Has to be unique amongst all customers */ - email: string; - /** Confirmation of the new email address. */ - emailConfirmation: string; - /** Customer's current password */ - password: string; - }; - }; - }; - responses: { - /** Returns a success response indicating a successful update */ - 200: { - content: { - 'application/json': components['schemas']['SuccessResponse']; - }; - }; - }; - }; - /** - * Change the customer's language. - * Changes the language of the logged in customer - */ - changeLanguage: { - requestBody: { - content: { - 'application/json': { - /** New languageId */ - language?: string; - }; - }; - }; - responses: { - /** Returns a success response indicating a successful update */ - 200: { - content: { - 'application/json': components['schemas']['SuccessResponse']; - }; - }; - }; - }; - /** - * Change the customer's password - * Changes a customer's password using their current password as a validation. - */ - changePassword: { - requestBody: { - content: { - 'application/json': { - /** New Password for the customer */ - newPassword: string; - /** Confirmation of the new password */ - newPasswordConfirm: string; - /** Current password of the customer */ - password: string; - }; - }; - }; - responses: { - /** Returns a success response indicating a successful update. */ - 200: { - content: { - 'application/json': components['schemas']['SuccessResponse']; - }; - }; - }; - }; - /** - * Change the customer's default payment method - * Changes a customer's default (preselected) payment method. - */ - changePaymentMethod: { - parameters: { - path: { - /** Identifier of the desired default payment method */ - paymentMethodId: string; - }; - }; - responses: { - /** Returns a success response indicating a successful update. */ - 200: { - content: { - 'application/json': components['schemas']['SuccessResponse']; - }; - }; - }; - }; - /** - * Change the customer's information - * Make changes to a customer's account, like changing their name, salutation or title. - */ - changeProfile: { - requestBody: { - content: { - 'application/json': { - /** Birthday day */ - birthdayDay?: number; - /** Birthday month */ - birthdayMonth?: number; - /** Birthday year */ - birthdayYear?: number; - /** Company of the customer. Only required when `accountType` is `business`. */ - company?: string; - /** Customer first name. Value will be reused for shipping and billing address if not provided explicitly. */ - firstName: string; - /** Customer last name. Value will be reused for shipping and billing address if not provided explicitly. */ - lastName: string; - /** Id of the salutation for the customer account. Fetch options using `salutation` endpoint. */ - salutationId: string; - /** (Academic) title of the customer */ - title?: string; - }; - }; - }; - responses: { - /** Returns a success response indicating a successful update */ - 200: { - content: { - 'application/json': components['schemas']['SuccessResponse']; - }; - }; - }; - }; - /** - * Get information about current customer - * Returns information about the current customer. - */ - readCustomer: { - requestBody?: { - content: { - 'application/json': components['schemas']['Criteria']; - }; - }; - responses: { - /** Returns the logged in customer, also for guest sessions. Check for the value of `guest` field to see whether the customer is a guest. */ - 200: { - content: { - 'application/json': components['schemas']['Customer']; - }; - }; - }; - }; - /** - * Delete the customer's profile - * Deletes a customer profile along with their addresses, wishlists and associated data. Created orders and their payment/shipping information (addresses) and reviews are not deleted. - */ - deleteCustomer: { - responses: { - /** Returns a no content response indicating a successful removal of the customer profile */ - 204: never; - }; - }; - /** - * Checks if the customer recovery entry for a given hash is expired. - * This can be used to validate a provided hash has a valid and not expired customer recovery hash. - */ - getCustomerRecoveryIsExpired: { - requestBody: { - content: { - 'application/json': { - /** Parameter from the link in the confirmation mail sent in Step 1 */ - hash: string; - }; - }; - }; - responses: { - /** Returns a CustomerRecoveryIsExpiredResponse that indicates if the hash is expired or not. */ - 200: { - content: { - 'application/json': components['schemas']['ArrayStruct']; - }; - }; - }; - }; - /** - * Fetch addresses of a customer - * Lists all addresses of the current customer and allows filtering them based on a criteria. - */ - listAddress: { - requestBody?: { - content: { - 'application/json': components['schemas']['Criteria']; - }; - }; - responses: { - 200: { - content: { - 'application/json': components['schemas']['CustomerAddress'][]; - }; - }; - }; - }; - /** - * Log in a customer - * Logs in customers given their credentials. - */ - loginCustomer: { - requestBody: { - content: { - 'application/json': { - /** Password */ - password: string; - /** Email */ - username: string; - }; - }; - }; - responses: { - /** A successful login returns a context token which is associated with the logged in user. Use that as your `sw-context-token` header for subsequent requests. */ - 200: { - content: { - 'application/json': components['schemas']['ContextTokenResponse']; - }; - }; - /** If credentials are incorrect an error is returned */ - 401: { - content: { - 'application/json': components['schemas']['failure']; - }; - }; - }; - }; - /** - * Log out a customer - * Logs out a customer. - */ - logoutCustomer: { - responses: { - /** A successful logout returns a context token for the anonymous user. Use that as your `sw-context-token` header for subsequent requests. */ - 200: { - content: { - 'application/json': components['schemas']['ContextTokenResponse']; - }; - }; - 403: components['responses']['403']; - }; - }; - /** - * Fetch newsletter recipients - * Perform a filtered search for newsletter recipients. - */ - readNewsletterRecipient: { - requestBody?: { - content: { - 'application/json': components['schemas']['Criteria']; - }; - }; - responses: { - 200: { - content: { - 'application/json': unknown; - }; - }; - }; - }; - /** - * Send a password recovery mail - * This operation is Step 1 of the password reset flow. Make sure to implement Step 2 "Reset password with recovery credentials" in order to allow for the complete flow in your application. Sends a recovery mail containing a link with credentials that allows a customer to reset their password. - */ - sendRecoveryMail: { - requestBody: { - content: { - 'application/json': { - /** E-Mail address to identify the customer */ - email: string; - /** URL of the storefront to use for the generated reset link. It has to be a domain that is configured in the sales channel domain settings. */ - storefrontUrl: string; - }; - }; - }; - responses: { - /** - * If email corresponds to an existing customer, a mail will be sent out to that customer containing a link assembled using the following schema: - * - * Returns a success indicating a successful initialisation of the reset flow. - */ - 200: { - content: { - 'application/json': components['schemas']['SuccessResponse']; - }; - }; - }; - }; - /** - * Reset a password with recovery credentials - * This operation is Step 2 of the password reset flow. It is required to conduct Step 1 "Send a password recovery mail" in order to obtain the required credentials for this step.Resets a customer's password using credentials from a password recovery mail as a validation. - */ - recoveryPassword: { - requestBody: { - content: { - 'application/json': { - /** Parameter from the link in the confirmation mail sent in Step 1 */ - hash: string; - /** New password for the customer */ - newPassword: string; - /** Confirmation of the new password */ - newPasswordConfirm: string; - }; - }; - }; - responses: { - /** Returns a success response indicating a successful update. */ - 200: { - content: { - 'application/json': components['schemas']['SuccessResponse']; - }; - }; - }; - }; - /** - * Register a customer - * Registers a customer. Used both for normal customers and guest customers.See the Guide "Register a customer" for more information on customer registration. - */ - register: { - requestBody: { - content: { - 'application/json': { - /** Flag indicating accepted data protection */ - acceptedDataProtection: boolean; - /** - * Account type of the customer which can be either `private` or `business`. - * @default private - */ - accountType?: string; - /** Field can be used to store an affiliate tracking code */ - affiliateCode?: string; - billingAddress: components['schemas']['CustomerAddress']; - /** Birthday day */ - birthdayDay?: number; - /** Birthday month */ - birthdayMonth?: number; - /** Birthday year */ - birthdayYear?: number; - /** Field can be used to store a campaign tracking code */ - campaignCode?: string; - /** Email of the customer. Has to be unique, unless `guest` is `true` */ - email: string; - /** Customer first name. Value will be reused for shipping and billing address if not provided explicitly. */ - firstName: string; - /** - * If set, will create a guest customer. Guest customers can re-use an email address and don't need a password. - * @default false - */ - guest?: boolean; - /** Customer last name. Value will be reused for shipping and billing address if not provided explicitly. */ - lastName: string; - /** Password for the customer. Required, unless `guest` is `true` */ - password: string; - /** Id of the salutation for the customer account. Fetch options using `salutation` endpoint. */ - salutationId: string; - shippingAddress?: components['schemas']['CustomerAddress']; - /** URL of the storefront for that registration. Used in confirmation emails. Has to be one of the configured domains of the sales channel. */ - storefrontUrl: string; - /** (Academic) title of the customer */ - title?: string; - }; - }; - }; - responses: { - /** Success */ - 200: { - content: { - 'application/json': components['schemas']['Customer']; - }; - }; - }; - }; - /** - * Confirm a customer registration - * Confirms a customer registration when double opt-in is activated. - * - * Learn more about double opt-in registration in our guide "Register a customer". - */ - registerConfirm: { - requestBody: { - content: { - 'application/json': { - /** Email hash from the email received */ - em: string; - /** Hash from the email received */ - hash: string; - }; - }; - }; - responses: { - /** Returns the logged in customer. The customer is automatically logged in with the `sw-context-token` header provided, which can be reused for subsequent requests. */ - 200: never; - /** No hash provided */ - 404: never; - /** The customer has already been confirmed */ - 412: never; - }; - }; - /** - * Fetch a list of categories - * Perform a filtered search for categories. - */ - readCategoryList: { - requestBody?: { - content: { - 'application/json': components['schemas']['Criteria']; - }; - }; - responses: { - /** Entity search result containing categories. */ - 200: { - content: { - 'application/json': { - elements?: components['schemas']['Category'][]; - } & components['schemas']['EntitySearchResult']; - }; - }; - }; - }; - /** - * Fetch a single category - * This endpoint returns information about the category, as well as a fully resolved (hydrated with mapping values) CMS page, if one is assigned to the category. You can pass slots which should be resolved exclusively. - */ - readCategory: { - parameters: { - query?: { - /** Resolves only the given slot identifiers. The identifiers have to be seperated by a '|' character */ - slots?: string; - }; - path: { - /** Identifier of the category to be fetched */ - navigationId: string; - }; - }; - requestBody?: { - content: { - 'application/json': components['schemas']['Criteria'] & - components['schemas']['ProductListingCriteria']; - }; - }; - responses: { - /** The loaded category with cms page */ - 200: { - content: { - 'application/json': components['schemas']['Category']; - }; - }; - }; - }; - /** - * Fetch or create a cart - * Used to fetch the current cart or for creating a new one. - */ - readCart: { - parameters: { - query?: { - /** The name of the new cart. This parameter will only be used when creating a new cart. */ - name?: string; - }; - }; - responses: { - /** Cart */ - 200: { - content: { - 'application/json': components['schemas']['Cart']; - }; - }; - }; - }; - /** - * Delete a cart - * This route deletes the cart of the customer. - */ - deleteCart: { - responses: { - /** Successfully deleted the cart */ - 204: { - content: { - 'application/json': components['schemas']['SuccessResponse']; - }; - }; - }; - }; - /** - * Add items to the cart - * This route adds items to the cart. An item can be a product or promotion for example. They are referenced by the `referencedId`-parameter. - * - * Example: [Working with the cart - Guide](https://developer.shopware.com/docs/guides/integrations-api/store-api-guide/work-with-the-cart#adding-new-items-to-the-cart) - */ - addLineItem: { - requestBody?: { - content: { - 'application/json': components['schemas']['CartItems']; - }; - }; - responses: { - /** The updated cart. */ - 200: { - content: { - 'application/json': components['schemas']['Cart']; - }; - }; - }; - }; - /** - * Remove items from the cart - * This route removes items from the cart and recalculates it. - * - * Example: [Working with the cart - Guide](https://developer.shopware.com/docs/guides/integrations-api/store-api-guide/work-with-the-cart#deleting-items-in-the-cart) - */ - removeLineItem: { - parameters: { - query: { - /** A list of product identifiers. */ - ids: string[]; - }; - }; - responses: { - /** The updated cart. */ - 200: { - content: { - 'application/json': components['schemas']['Cart']; - }; - }; - }; - }; - /** - * Update items in the cart - * This route updates items in the cart. A typical example is updating the quantity of an item. - * - * Example: [Working with the cart - Guide](https://developer.shopware.com/docs/guides/integrations-api/store-api-guide/work-with-the-cart#updating-items-in-the-cart) - */ - updateLineItem: { - requestBody?: { - content: { - 'application/json': components['schemas']['CartItems']; - }; - }; - responses: { - /** The updated cart. */ - 200: { - content: { - 'application/json': components['schemas']['Cart']; - }; - }; - }; - }; - /** - * Create an order from a cart - * Creates a new order from the current cart and deletes the cart. - * - * If you are using the [prepared payment flow](https://developer.shopware.com/docs/concepts/commerce/checkout-concept/payments#2.1-prepare-payment-optional), this endpoint also receives additional transaction details. The exact name of the parameters depends on the implementation of the corresponding *payment handler*. - */ - createOrder: { - /** Contains additional metadata which is stored together with the order. It can also contain payment transaction details. */ - requestBody?: { - content: { - 'application/json': { - /** The affiliate code can be used to track which referrer the customer came through. An example could be `Price-comparison-company-XY`. */ - affiliateCode?: string; - /** The campaign code is used to track which action the customer came from. An example could be `Summer-Deals` */ - campaignCode?: string; - /** Adds a comment from the customer to the order. */ - customerComment?: string; - }; - }; - }; - responses: { - /** Order */ - 200: { - content: { - 'application/json': components['schemas']['Order']; - }; - }; - }; - }; - /** - * Fetch and resolve a CMS page - * Loads a content management page by its identifier and resolve the slot data. This could be media files, product listing and so on. - * - * **Important notice** - * - * The criteria passed with this route also affects the listing, if there is one within the cms page. - */ - readCms: { - parameters: { - path: { - /** Identifier of the CMS page to be resolved */ - id: string; - }; - }; - requestBody?: { - content: { - 'application/json': { - /** Resolves only the given slot identifiers. The identifiers have to be seperated by a `|` character. */ - slots?: string; - } & components['schemas']['ProductListingCriteria']; - }; - }; - responses: { - /** The loaded cms page */ - 200: { - content: { - 'application/json': components['schemas']['CmsPage']; - }; - }; - 404: components['responses']['404']; - }; - }; - /** - * Submit a contact form message - * Used for submitting contact forms. Be aware that there can be more required fields, depending on the system settings. - */ - sendContactMail: { - requestBody: { - content: { - 'application/json': { - /** Type of the content management page */ - cmsPageType?: string; - /** The message of the contact form */ - comment: string; - /** Email address */ - email: string; - /** Entity name for slot config */ - entityName?: string; - /** Firstname. This field may be required depending on the system settings. */ - firstName?: string; - /** Lastname. This field may be required depending on the system settings. */ - lastName?: string; - /** - * Identifier of the navigation page. Can be used to override the configuration. - * Take a look at the settings of a category containing a concact form in the administration. - */ - navigationId?: string; - /** Phone. This field may be required depending on the system settings. */ - phone?: string; - /** Identifier of the salutation. Use `/api/salutation` endpoint to fetch possible values. */ - salutationId: string; - /** Identifier of the cms element */ - slotId?: string; - /** The subject of the contact form. */ - subject: string; - }; - }; - }; - responses: { - /** Message sent successful. */ - 200: never; - }; - }; - /** - * Fetch the current context - * Fetches the current context. This includes for example the `customerGroup`, `currency`, `taxRules` and many more. - */ - readContext: { - responses: { - /** Returns the current context. */ - 200: { - content: { - 'application/json': components['schemas']['SalesChannelContext']; - }; - }; - }; - }; - /** - * Modify the current context - * Used for switching the context. A typical example would be changing the language or changing the currency. - */ - updateContext: { - requestBody: { - content: { - 'application/json': { - /** Billing Address */ - billingAddressId?: string; - /** Country */ - countryId?: string; - /** Country State */ - countryStateId?: string; - /** Currency */ - currencyId?: string; - /** Language */ - languageId?: string; - /** Payment Method */ - paymentMethodId?: string; - /** Shipping Address */ - shippingAddressId?: string; - /** Shipping Method */ - shippingMethodId?: string; - }; - }; - }; - responses: { - /** Returns the context token. Use that as your `sw-context-token` header for subsequent requests. Redirect if getRedirectUrl is set. */ - 200: { - content: { - 'application/json': components['schemas']['ContextTokenResponse']; - }; - }; - }; - }; - /** - * Fetch countries - * Perform a filtered search for countries - */ - readCountry: { - requestBody?: { - content: { - 'application/json': components['schemas']['Criteria']; - }; - }; - responses: { - /** Entity search result containing countries. */ - 200: { - content: { - 'application/json': { - elements?: components['schemas']['Country'][]; - } & components['schemas']['EntitySearchResult']; - }; - }; - }; - }; - /** - * Fetch the states of a country - * Perform a filtered search the states for a country - */ - readCountryState: { - parameters: { - path: { - countryId: string; - }; - }; - requestBody?: { - content: { - 'application/json': components['schemas']['Criteria']; - }; - }; - responses: { - /** Entity search result containing countries. */ - 200: { - content: { - 'application/json': { - elements?: components['schemas']['CountryState'][]; - } & components['schemas']['EntitySearchResult']; - }; - }; - }; - }; - /** - * Fetch currencies - * Perform a filtered search for currencies. - */ - readCurrency: { - requestBody?: { - content: { - 'application/json': components['schemas']['Criteria']; - }; - }; - responses: { - /** Entity search result containing currencies. */ - 200: { - content: { - 'application/json': { - elements?: components['schemas']['Currency'][]; - } & components['schemas']['EntitySearchResult']; - }; - }; - }; - }; - /** Fetch registration settings for customer group */ - getCustomerGroupRegistrationInfo: { - parameters: { - path: { - /** Customer group id */ - customerGroupId: string; - }; - }; - responses: { - /** Returns the customer group including registration settings. */ - 200: { - content: { - 'application/json': components['schemas']['CustomerGroup']; - }; - }; - }; - }; - /** - * Fetch a wishlist - * Fetch a customer's wishlist. Products on the wishlist can be filtered using a criteria object. - * - * **Important constraints** - * - * * Anonymous (not logged-in) customers can not have wishlists. - * * The wishlist feature has to be activated. - */ - readCustomerWishlist: { - requestBody?: { - content: { - 'application/json': components['schemas']['Criteria']; - }; - }; - responses: { - 200: { - content: { - 'application/json': components['schemas']['WishlistLoadRouteResponse']; - }; - }; - }; - }; - /** - * Add a product to a wishlist - * Adds a product to a customers wishlist. - * - * **Important constraints** - * - * * Anonymous (not logged-in) customers can not have wishlists. - * * The wishlist feature has to be activated. - */ - addProductOnWishlist: { - parameters: { - path: { - /** Identifier of the product to be added. */ - productId: string; - }; - }; - responses: { - /** Returns a success response. */ - 200: { - content: { - 'application/json': components['schemas']['SuccessResponse']; - }; - }; - }; - }; - /** - * Remove a product from a wishlist - * Removes a product from a customer's wishlist. - * - * **Important constraints** - * - * * Anonymous (not logged-in) customers can not have wishlists. - * * The wishlist feature has to be activated. - */ - deleteProductOnWishlist: { - parameters: { - path: { - /** The identifier of the product to be removed from the wishlist. */ - productId: string; - }; - }; - responses: { - /** Returns a success response indicating a successful removal. */ - 200: { - content: { - 'application/json': components['schemas']['SuccessResponse']; - }; - }; - /** The removal of the product failed. Probably because the product could not be found on the wishlist. */ - 404: { - content: { - 'application/json': components['schemas']['failure']; - }; - }; - }; - }; - /** - * Create a wishlist for a customer - * Create a new wishlist for a logged in customer or extend the existing wishlist given a set of products. - * - * **Important constraints** - * - * * Anonymous (not logged-in) customers can not have wishlists. - * * A customer can only have a single wishlist. - * * The wishlist feature has to be activated. - */ - mergeProductOnWishlist: { - requestBody: { - content: { - 'application/json': { - /** List product id */ - productIds?: string[]; - }; - }; - }; - responses: { - /** Returns a success response. */ - 200: { - content: { - 'application/json': components['schemas']['SuccessResponse']; - }; - }; - }; - }; - /** - * Download generated document - * Returns blob file of a generated document to download. - */ - download: { - parameters: { - path: { - documentId: string; - deepLinkCode: string; - }; - }; - requestBody?: { - content: { - 'application/json': components['schemas']['Criteria']; - }; - }; - responses: { - /** Returns the document information and blob to download. */ - 200: { - content: { - 'application/json': components['schemas']['Document']; - }; - }; - }; - }; - /** - * Initiate a payment for an order - * This generic endpoint is should be called to initiate a payment flow after an order has been created. The details of the payment flow can differ depending on the payment integration and might require calling additional operations or the setup of webhooks. - * - * The endpoint internally calls the payment handler of the payment method currently set for the order. - */ - handlePaymentMethod: { - requestBody: { - content: { - 'application/json': { - /** URL to which the client should be redirected after erroneous payment */ - errorUrl?: string; - /** URL to which the client should be redirected after successful payment */ - finishUrl?: string; - /** Identifier of an order */ - orderId: string; - }; - }; - }; - responses: { - /** Redirect to external payment provider */ - 200: never; - }; - }; - /** - * Fetch a landing page with the resolved CMS page - * Loads a landing page by its identifier and resolves the CMS page. - * - * **Important notice** - * - * The criteria passed with this route also affects the listing, if there is one within the cms page. - */ - readLandingPage: { - parameters: { - path: { - /** Identifier of the landing page. */ - landingPageId: string; - }; - }; - requestBody?: { - content: { - 'application/json': components['schemas']['Criteria'] & - ({ - /** Resolves only the given slot identifiers. The identifiers have to be seperated by a `|` character. */ - slots?: string; - } & components['schemas']['ProductListingCriteria']); - }; - }; - responses: { - /** The loaded landing page with cms page */ - 200: { - content: { - 'application/json': components['schemas']['LandingPage']; - }; - }; - 404: components['responses']['404']; - }; - }; - /** - * Fetch languages - * Perform a filtered search for languages. - */ - readLanguages: { - requestBody?: { - content: { - 'application/json': components['schemas']['Criteria']; - }; - }; - responses: { - /** Entity search result containing languages. */ - 200: { - content: { - 'application/json': { - elements?: components['schemas']['Language'][]; - } & components['schemas']['EntitySearchResult']; - }; - }; - }; - }; - /** - * Fetch a navigation menu - * This endpoint returns categories that can be used as a page navigation. You can either return them as a tree or as a flat list. You can also control the depth of the tree. - * - * Instead of passing uuids, you can also use one of the following aliases for the activeId and rootId parameters to get the respective navigations of your sales channel. - * - * * main-navigation - * * service-navigation - * * footer-navigation - */ - readNavigation: { - parameters: { - header?: { - /** Instructs Shopware to try and resolve SEO URLs for the given navigation item */ - 'sw-include-seo-urls'?: boolean; - }; - path: { - /** Identifier of the active category in the navigation tree (if not used, just set to the same as rootId). */ - activeId: string; - /** Identifier of the root category for your desired navigation tree. You can use it to fetch sub-trees of your navigation tree. */ - rootId: string; - }; - }; - requestBody: { - content: { - 'application/json': components['schemas']['Criteria'] & { - /** Return the categories as a tree or as a flat list. */ - buildTree?: unknown; - /** Determines the depth of fetched navigation levels. */ - depth?: unknown; - }; - }; - }; - responses: { - /** All available navigations */ - 200: { - content: { - 'application/json': components['schemas']['NavigationRouteResponse']; - }; - }; - }; - }; - /** - * Confirm a newsletter registration - * You have to use the hash from the link sent out via email to confirm the user registration. - */ - confirmNewsletter: { - requestBody: { - content: { - 'application/json': { - /** Email hash parameter from the link in the confirmation mail */ - em: string; - /** Hash parameter from link the in the confirmation mail */ - hash: string; - }; - }; - }; - responses: { - /** The newsletter confirmation was successful. */ - 200: never; - }; - }; - /** - * Create or remove a newsletter subscription - * This route is used to create/remove/confirm a newsletter subscription. - * - * The `option` property controls what should happen: - * * `direct`: The subscription is directly active and does not need a confirmation. - * * `subscribe`: An email will be send to the provided email addrees containing a link to the /newsletter/confirm route. - * The subscription is only successful, if the /newsletter/confirm route is called with the generated hashes. - * * `unsubscribe`: The email address will be removed from the newsletter subscriptions. - * * `confirmSubscribe`: Confirmes the newsletter subscription for the provided email address. - */ - subscribeToNewsletter: { - requestBody: { - content: { - 'application/json': { - /** City */ - city?: string; - /** Custom field data that should be added to the subscription. */ - customFields?: string; - /** Email address that will receive the confirmation and the newsletter. */ - email: string; - /** First name */ - firstName?: string; - /** Identifier of the language. */ - languageId?: unknown; - /** Last name */ - lastName?: string; - /** Defines what should be done. */ - option: unknown; - /** Identifier of the salutation. */ - salutationId?: unknown; - /** Url of the storefront of the shop. This will be used for generating the link to the /newsletter/confirm inside the confirm email. */ - storefrontUrl: string; - /** Street */ - street?: string; - /** Zip code */ - tags?: string; - /** Zip code */ - zipCode?: string; - }; - }; - }; - responses: { - /** Success */ - 200: never; - }; - }; - /** - * Remove a newsletter subscription - * Removes a newsletter recipient from the mailing lists. - */ - unsubscribeToNewsletter: { - requestBody: { - content: { - 'application/json': { - /** Email address that should be removed from the mailing lists. */ - email: string; - }; - }; - }; - responses: { - /** Unsubscribing was successful. */ - 200: never; - }; - }; - /** - * Fetch a list of orders - * List orders of a customer. - */ - readOrder: { - requestBody: { - content: { - 'application/json': components['schemas']['Criteria'] & { - /** Check if the payment method of the order is still changeable. */ - checkPromotion?: boolean; - }; - }; - }; - responses: { - /** An array of orders and an indicator if the payment of the order can be changed. */ - 200: { - content: { - 'application/json': components['schemas']['OrderRouteResponse']; - }; - }; - }; - }; - /** - * Download a purchased file - * Download a file included in the given order and with the given id. Access must be granted. - */ - orderDownloadFile: { - parameters: { - path: { - orderId: string; - downloadId: string; - }; - }; - responses: { - /** An arbitrary binary file. */ - 200: { - content: { - 'application/octet-stream': string; - }; - }; - }; - }; - /** - * Update the payment method of an order - * Changes the payment method of a specific order. You can use the /order route to find out if the payment method of an order can be changed - take a look at the `paymentChangeable`- array in the response. - */ - orderSetPayment: { - requestBody: { - content: { - 'application/json': { - /** The identifier of the order. */ - orderId: string; - /** The identifier of the paymentMethod to be set */ - paymentMethodId: string; - }; - }; - }; - responses: { - /** Successfully updated the payment method of the order. */ - 200: { - content: { - 'application/json': components['schemas']['SuccessResponse']; - }; - }; - }; - }; - /** - * Cancel an order - * Cancels an order. The order state will be set to 'cancelled'. - */ - cancelOrder: { - requestBody: { - content: { - 'application/json': { - /** The identifier of the order to be canceled. */ - orderId?: string; - }; - }; - }; - responses: { - /** - * Returns the state of the state machine - * - * example: More information about the state machine can be found in the corresponding guide: [Using the state machine](https://developer.shopware.com/docs/guides/plugins/plugins/checkout/order/using-the-state-machine) - */ - 200: { - content: { - 'application/json': components['schemas']['StateMachineState']; - }; - }; - }; - }; - /** Loads all available payment methods */ - readPaymentMethod: { - requestBody: { - content: { - 'application/json': components['schemas']['Criteria'] & { - /** List only available */ - onlyAvailable?: boolean; - }; - }; - }; - responses: { - 200: { - content: { - 'application/json': { - /** aggregation result */ - aggregations?: GenericRecord; - elements?: components['schemas']['PaymentMethod'][]; - /** Total amount */ - total?: number; - }; - }; - }; - }; - }; - /** - * Fetch a list of products - * List products that match the given criteria. For performance ressons a limit should always be set. - */ - readProduct: { - requestBody?: { - content: { - 'application/json': components['schemas']['Criteria']; - }; - }; - responses: { - /** Entity search result containing products */ - 200: { - content: { - 'application/json': { - elements?: components['schemas']['Product'][]; - } & components['schemas']['EntitySearchResult']; - }; - }; - }; - }; - /** Export product export */ - readProductExport: { - parameters: { - path: { - /** Access Key */ - accessKey: string; - /** File Name */ - fileName: string; - }; - }; - responses: { - 200: never; - }; - }; - /** - * Fetch a product listing by category - * Fetches a product listing for a specific category. It also provides filters, sortings and property aggregations, analogous to the /search endpoint. - */ - readProductListing: { - parameters: { - path: { - /** Identifier of a category. */ - categoryId: string; - }; - }; - requestBody?: { - content: { - 'application/json': components['schemas']['ProductListingCriteria'] & - components['schemas']['ProductListingFlags']; - }; - }; - responses: { - /** Returns a product listing containing all products and additional fields to display a listing. */ - 200: { - content: { - 'application/json': components['schemas']['ProductListingResult']; - }; - }; - }; - }; - /** - * Fetch a single product - * This route is used to load a single product with the corresponding details. In addition to loading the data, the best variant of the product is determined when a parent id is passed. - */ - readProductDetail: { - parameters: { - path: { - /** Product ID */ - productId: string; - }; - }; - responses: { - /** Product information along with variant groups and options */ - 200: { - content: { - 'application/json': components['schemas']['ProductDetailResponse']; - }; - }; - }; - }; - /** - * Fetch cross-selling groups of a product - * This route is used to load the cross sellings for a product. A product has several cross selling definitions in which several products are linked. The route returns the cross sellings together with the linked products - */ - readProductCrossSellings: { - parameters: { - path: { - /** Product ID */ - productId: string; - }; - }; - responses: { - /** Found cross sellings */ - 200: { - content: { - 'application/json': components['schemas']['CrossSellingElementCollection']; - }; - }; - }; - }; - /** - * Search for a matching variant by product options. - * Performs a search for product variants and returns the best matching variant. - */ - searchProductVariantIds: { - parameters: { - path: { - /** Product ID */ - productId: string; - }; - }; - requestBody?: { - content: { - 'application/json': { - /** The options parameter for the variant to find. */ - options: string[]; - /** The id of the option group that has been switched. */ - switchedGroup?: string; - }; - }; - }; - responses: { - /** Returns an FoundCombination struct containing the ids matching the search. */ - 200: { - content: { - 'application/json': components['schemas']['FindProductVariantRouteResponse']; - }; - }; - }; - }; - /** - * Save a product review - * Saves a review for a product. Reviews have to be activated in the settings. - */ - saveProductReview: { - parameters: { - path: { - /** Identifier of the product which is reviewed. */ - productId: string; - }; - }; - requestBody?: { - content: { - 'application/json': { - /** The content of review. */ - content: unknown; - /** The email address of the review author. If not set, the email of the customer is chosen. */ - email?: string; - /** The name of the review author. If not set, the first name of the customer is chosen. */ - name?: string; - /** The review rating for the product. */ - points: unknown; - /** The title of the review. */ - title: unknown; - }; - }; - }; - responses: { - /** Success response indicating the review was saved successfuly. */ - 200: never; - }; - }; - /** - * Fetch product reviews - * Perform a filtered search for product reviews. - */ - readProductReviews: { - parameters: { - path: { - /** Identifier of the product. */ - productId: string; - }; - }; - requestBody?: { - content: { - 'application/json': components['schemas']['Criteria']; - }; - }; - responses: { - /** Entity search result containing product reviews */ - 200: { - content: { - 'application/json': { - elements?: components['schemas']['ProductReview'][]; - } & components['schemas']['EntitySearchResult']; - }; - }; - }; - }; - /** - * Fetch salutations - * Perform a filtered search for salutations. - */ - readSalutation: { - requestBody?: { - content: { - 'application/json': components['schemas']['Criteria']; - }; - }; - responses: { - /** Entity search result containing salutations. */ - 200: { - content: { - 'application/json': { - elements?: components['schemas']['Salutation'][]; - } & components['schemas']['EntitySearchResult']; - }; - }; - }; - }; - /** Access point for different api logics which are provided by apps over script hooks */ - postScriptStoreApiRoute: { - parameters: { - path: { - /** Dynamic hook which used to build the hook name */ - hook: string; - }; - }; - responses: { - /** Returns different structures of results based on the called script. */ - 200: never; - }; - }; - /** - * Search for products - * Performs a search for products which can be used to display a product listing. - */ - searchPage: { - requestBody?: { - content: { - 'application/json': { - /** Using the search parameter, the server performs a text search on all records based on their data model and weighting as defined in the entity definition using the SearchRanking flag. */ - search: string; - } & components['schemas']['ProductListingCriteria'] & - components['schemas']['ProductListingFlags']; - }; - }; - responses: { - /** Returns a product listing containing all products and additional fields to display a listing. */ - 200: { - content: { - 'application/json': components['schemas']['ProductListingResult']; - }; - }; - }; - }; - /** - * Search for products (suggest) - * Can be used to implement search previews or suggestion listings, that don’t require any interaction. - */ - searchSuggest: { - requestBody: { - content: { - 'application/json': { - /** Using the search parameter, the server performs a text search on all records based on their data model and weighting as defined in the entity definition using the SearchRanking flag. */ - search: string; - } & components['schemas']['ProductListingFlags']; - }; - }; - responses: { - /** - * Returns a product listing containing all products and additional fields. - * - * Note: Aggregations, currentFilters and availableSortings are empty in this response. If you need them to display a listing, use the /search route instead. - */ - 200: { - content: { - 'application/json': components['schemas']['ProductListingResult']; - }; - }; - }; - }; - /** - * Fetch SEO routes - * Perform a filtered search for seo urls. - */ - readSeoUrl: { - requestBody?: { - content: { - 'application/json': components['schemas']['Criteria']; - }; - }; - responses: { - /** Entity search result containing seo urls. */ - 200: { - content: { - 'application/json': { - elements?: components['schemas']['SeoUrl'][]; - } & components['schemas']['EntitySearchResult']; - }; - }; - 404: components['responses']['404']; - }; - }; - /** - * Fetch shipping methods - * Perform a filtered search for shipping methods. - */ - readShippingMethod: { - parameters: { - query?: { - /** List only available shipping methods. This filters shipping methods methods which can not be used in the actual context because of their availability rule. */ - onlyAvailable?: boolean; - }; - }; - requestBody?: { - content: { - 'application/json': components['schemas']['Criteria']; - }; - }; - responses: { - 200: { - content: { - 'application/json': { - /** aggregation result */ - aggregations?: GenericRecord; - elements?: components['schemas']['ShippingMethod'][]; - /** Total amount */ - total?: number; - }; - }; - }; - }; - }; - /** - * Fetch sitemaps - * Fetches a list of compressed sitemap files, which are often used by search engines. - */ - readSitemap: { - responses: { - /** Returns a list of available sitemaps. */ - 200: { - content: { - 'application/json': components['schemas']['Sitemap'][]; - }; - }; - }; - }; -}; - -export type operationPaths = - | 'readCategoryList post /category' - | 'readCategory post /category/{navigationId}?slots' - | 'readSeoUrl post /seo-url' - | 'readContext get /context' - | 'updateContext patch /context' - | 'readCurrency post /currency' - | 'handlePaymentMethod post /handle-payment' - | 'readLanguages post /language' - | 'readNavigation post /navigation/{activeId}/{rootId} sw-include-seo-urls' - | 'readPaymentMethod post /payment-method' - | 'confirmNewsletter post /newsletter/confirm' - | 'subscribeToNewsletter post /newsletter/subscribe' - | 'unsubscribeToNewsletter post /newsletter/unsubscribe' - | 'readCountry post /country' - | 'sendContactMail post /contact-form' - | 'readProductExport get /product-export/{accessKey}/{fileName}' - | 'getCustomerGroupRegistrationInfo get /customer-group-registration/config/{customerGroupId}' - | 'readCms post /cms/{id}' - | 'readSalutation post /salutation' - | 'readCountryState post /country-state/{countryId}' - | 'postScriptStoreApiRoute post /script/{hook}' - | 'download post /document/download/{documentId}/{deepLinkCode}' - | 'readNewsletterRecipient post /account/newsletter-recipient' - | 'changeProfile post /account/change-profile' - | 'changeEmail post /account/change-email' - | 'changeLanguage post /account/change-language' - | 'changePassword post /account/change-password' - | 'changePaymentMethod post /account/change-payment-method/{paymentMethodId}' - | 'getCustomerRecoveryIsExpired post /account/customer-recovery-is-expired' - | 'readCustomer post /account/customer' - | 'deleteCustomer delete /account/customer' - | 'deleteCustomerAddress delete /account/address/{addressId}' - | 'updateCustomerAddress patch /account/address/{addressId}' - | 'listAddress post /account/list-address' - | 'loginCustomer post /account/login' - | 'logoutCustomer post /account/logout' - | 'registerConfirm post /account/register-confirm' - | 'register post /account/register' - | 'recoveryPassword post /account/recovery-password-confirm' - | 'sendRecoveryMail post /account/recovery-password' - | 'defaultShippingAddress patch /account/address/default-shipping/{addressId}' - | 'defaultBillingAddress patch /account/address/default-billing/{addressId}' - | 'createCustomerAddress post /account/address' - | 'readProductCrossSellings post /product/{productId}/cross-selling' - | 'readProductDetail post /product/{productId}' - | 'readProduct post /product' - | 'readProductReviews post /product/{productId}/reviews' - | 'saveProductReview post /product/{productId}/review' - | 'searchProductVariantIds post /product/{productId}/find-variant' - | 'readSitemap get /sitemap' - | 'searchPage post /search' - | 'readProductListing post /product-listing/{categoryId}' - | 'readShippingMethod post /shipping-method?onlyAvailable' - | 'addProductOnWishlist post /customer/wishlist/add/{productId}' - | 'readCustomerWishlist post /customer/wishlist' - | 'mergeProductOnWishlist post /customer/wishlist/merge' - | 'deleteProductOnWishlist delete /customer/wishlist/delete/{productId}' - | 'readCart get /checkout/cart?name' - | 'deleteCart delete /checkout/cart' - | 'addLineItem post /checkout/cart/line-item' - | 'removeLineItem delete /checkout/cart/line-item?ids' - | 'updateLineItem patch /checkout/cart/line-item' - | 'createOrder post /checkout/order' - | 'cancelOrder post /order/state/cancel' - | 'readOrder post /order' - | 'orderSetPayment post /order/payment' - | 'orderDownloadFile get /order/download/{orderId}/{downloadId}' - | 'readLandingPage post /landing-page/{landingPageId}' - | 'searchSuggest post /search-suggest'; diff --git a/lib/shopware/api.ts b/lib/shopware/api.ts index 39fb9a479..f3bbb2ca6 100644 --- a/lib/shopware/api.ts +++ b/lib/shopware/api.ts @@ -1,6 +1,6 @@ -import { createAPIClient, RequestReturnType, RequestParameters } from '@shopware/api-client'; -//import { operations, operationPaths } from './api-types/apiTypes-6.5.2.0'; -import { operations, operationPaths } from '@shopware/api-client/api-types'; +import { createAPIClient, RequestReturnType } from '@shopware/api-client'; +import { operations } from '@shopware/api-client/api-types'; +import { extendedPaths, extendedOperations } from './api-extended'; import { ApiSchemas, CategoryListingResultSW, @@ -12,20 +12,12 @@ import { const domainSW = `https://${process.env.SHOPWARE_STORE_DOMAIN!}/${process.env.SHOPWARE_API_TYPE!}`; const accessTokenSW = `${process.env.SHOPWARE_ACCESS_TOKEN}`; -const apiInstance = createAPIClient({ +const apiInstance = createAPIClient({ baseURL: domainSW, accessToken: accessTokenSW, apiType: 'store-api' }); -export type ExtendedOperations = {}; - -// reimport operations request parameters to use it in application -export type ApiRequestParams = RequestParameters< - ExtendedOperations, - operations ->; - // reimport operations return types to use it in application export type ApiReturnType = RequestReturnType< OPERATION_NAME, diff --git a/lib/shopware/types.ts b/lib/shopware/types.ts index 8f0a1ae7a..4a6f9d875 100644 --- a/lib/shopware/types.ts +++ b/lib/shopware/types.ts @@ -1,17 +1,15 @@ import { components } from '@shopware/api-client/api-types'; +import { ExtendedCriteria } from './api-extended'; /** Shopware Types */ /** Schemas */ export type ApiSchemas = components['schemas']; export type StoreNavigationTypeSW = 'main-navigation' | 'footer-navigation' | 'service-navigation'; -export type ProductListingCriteria = ApiSchemas['ProductListingCriteria'] & { +export type ProductListingCriteria = { query: string; -} & Omit & { Criteria: { filter?: { - field: string; - type: string; - value: string | null | boolean; -}[]}}; +} & Omit & + ExtendedCriteria; /** Return Types */ export type CategoryListingResultSW = {