UNPKG

@datenkraft/bb-fulfillment-api-ts-client

Version:

The fulfillment API TS Client enables you to work with the fulfillment API

335 lines (334 loc) 42.9 kB
/** * Fulfillment API * - alpha: Currently developed API version. Subject to major changes. - beta: A semi-stable early access version. New features can be added. Breaking changes are possible. - stable: The API is recommended for use in production. [Changelog](https://fulfillment-api.steve.niceshops.com/v2/docs/changelog.html) All data is transferred in UTF-8 encoding.\\ The API uses stateless HTTP. No cookies have to be kept.\\ Authentication via OAuth2 client credentials flow. [Privacy Policy](https://www.niceshops.com/en/dienstleistungen/data-privacy-policy) [Fulfillment API PHP client @Packagist](https://packagist.org/packages/datenkraft/bb-fulfillment-api-php-client) * * The version of the OpenAPI document: v2.beta * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import type { Configuration } from '../configuration'; import type { AxiosPromise, AxiosInstance, AxiosRequestConfig } from 'axios'; import { RequestArgs, BaseAPI } from '../base'; import { Product } from '../models'; import { ProductCollection } from '../models'; import { ProductJournalCollection } from '../models'; import { ProductStockReferenceCollection } from '../models'; /** * ProductApi - axios parameter creator * @export */ export declare const ProductApiAxiosParamCreator: (configuration?: Configuration) => { /** * Get a product by product number. * @summary Get a product by product number. * @param {string} productNumber The product number as defined during the creation of the product. * @param {string} [shopCode] The shopCode used internally to distinguish between clients. \\ _This code is optional, if your identity is assigned to only one shop. Otherwise the response would be a 422 HTTP Error._ * @param {*} [options] Override http request option. * @throws {RequiredError} */ getProduct: (productNumber: string, shopCode?: string, options?: AxiosRequestConfig) => Promise<RequestArgs>; /** * Get a list of products. * @summary Get a list of products. * @param {number} [page] The page to read. Default is the first page. * @param {number} [pageSize] The maximum size per page is 100. Default is 100. * @param {'default' | 'totalCount'} [paginationMode] The paginationMode to use: - default: The total number of items in the collection will not be calculated. - totalCount: The total number of items in the collection will be calculated. This can mean loss of performance. * @param {string} [sortBy] Sort the results by one or more comma-separated sort criteria, with the criterion specified first having priority. Available sort orders: - asc: ascending order - desc: descending order Available fields for sorting: - productNumber - stocked - reserved - available - incoming - locked The default sort order is stocked:desc. * @param {string} [filterShopCode] The shopCode used internally to distinguish between clients. \\ _This code is optional, if your identity is assigned to only one shop. Otherwise the response would be a 422 HTTP Error._ * @param {string} [filterSearch] Filter for product search. \\ Usage: - Provide one or multiple search terms (min. 2 characters) to filter results. - Multiple search terms are separated by spaces. - The search is not case sensitive. - The search is enabled for the fields productTitle, productNumber and ean. - Each search term filters the response for products where at least one of the fields contains the search term. - For example, filter[search]&#x3D;\&#39;term1 term2\&#39; will filter the result for products where \&#39;term1\&#39; is found in any field and \&#39;term2\&#39; is also found in any field. If only \&#39;term1\&#39; or \&#39;term2\&#39; is found in the fields, the product is not included in the results. * @param {'self' | 'nice' | 'bundle'} [filterSource] Filter for product source. * @param {string} [filterProductNumber] Filter for product number(s). * @param {'_availableOrInStock' | '_notAvailableAndOutOfStock'} [filterProductAvailabilityStatus] Filter for productAvailabilityStatus \\ By default, all products are returned. \\ Use \&#39;_availableOrInStock\&#39; to only return products that are available or in stock. \\ Use \&#39;_notAvailableAndOutOfStock\&#39; to only return products that are not available and out of stock. * @param {'standard' | 'sample' | 'sellable_sample' | 'tester' | 'packing_material' | 'booking_seminar' | 'booking_appointment' | 'promo_material' | 'raw_material' | 'working_material' | 'service_principal' | 'service_ancillary' | 'inquiry_testdrive' | 'inquiry_raffle' | 'chilled_product' | 'limited_edition' | 'voucher_print' | 'voucher_digital' | 'bundle' | 'print_greetingcard' | 'personalized' | 'other_services'} [filterProductType] Filter for product type. * @param {boolean} [filterHasProductImage] A filter to only return products where a product image is present. * @param {*} [options] Override http request option. * @throws {RequiredError} */ getProductCollection: (page?: number, pageSize?: number, paginationMode?: 'default' | 'totalCount', sortBy?: string, filterShopCode?: string, filterSearch?: string, filterSource?: 'self' | 'nice' | 'bundle', filterProductNumber?: string, filterProductAvailabilityStatus?: '_availableOrInStock' | '_notAvailableAndOutOfStock', filterProductType?: 'standard' | 'sample' | 'sellable_sample' | 'tester' | 'packing_material' | 'booking_seminar' | 'booking_appointment' | 'promo_material' | 'raw_material' | 'working_material' | 'service_principal' | 'service_ancillary' | 'inquiry_testdrive' | 'inquiry_raffle' | 'chilled_product' | 'limited_edition' | 'voucher_print' | 'voucher_digital' | 'bundle' | 'print_greetingcard' | 'personalized' | 'other_services', filterHasProductImage?: boolean, options?: AxiosRequestConfig) => Promise<RequestArgs>; /** * Read a journal collection for a specific product showing the history of stock changes. _Only products with the source \'self\' can be queried._ * @summary Read a journal collection for a specific product showing the history of stock changes. * @param {string} productNumber The product number as defined during the creation of the product. * @param {number} [page] The page to read. Default is the first page. * @param {number} [pageSize] The maximum size per page is 100. Default is 100. * @param {'default' | 'totalCount'} [paginationMode] The paginationMode to use:\\ - default: The total number of items in the collection will not be calculated.\\ - totalCount: The total number of items in the collection will be calculated. This can mean loss of performance. * @param {string} [shopCode] The shopCode used internally to distinguish between clients.\\ _This code is optional, if your identity is assigned to only one shop. Otherwise the response would be a 422 HTTP Error._ * @param {string} [filterDateFrom] The start date (inclusive) in format Y-m-d (timezone CET/CEST) for which product journal entries should be returned. * @param {string} [filterDateTo] The end date (inclusive) in format Y-m-d (timezone CET/CEST) for which product journal entries should be returned. * @param {string} [filterReason] Filter journal entries for one or more reasons - expired: Taking an expired product off the books - damaged: Taking a damaged product off the books - own_withdrawl: Product taken for own use - correction: Manual correction - niceshops_order: Product sold via a shop from niceshops - inbound: Restocking the product - fulfillment: steve fulfilled an order - return: A customer sent the product back to our warehouse * @param {*} [options] Override http request option. * @throws {RequiredError} */ getProductJournalCollection: (productNumber: string, page?: number, pageSize?: number, paginationMode?: 'default' | 'totalCount', shopCode?: string, filterDateFrom?: string, filterDateTo?: string, filterReason?: string, options?: AxiosRequestConfig) => Promise<RequestArgs>; /** * Get a list of product stock references. * @summary Get a list of product stock references. * @param {string} productNumber The product number as defined during the creation of the product. * @param {number} [page] The page to read. Default is the first page. * @param {number} [pageSize] The maximum size per page is 100. Default is 100. * @param {'default' | 'totalCount'} [paginationMode] The paginationMode to use: - default: The total number of items in the collection will not be calculated. - totalCount: The total number of items in the collection will be calculated. This can mean loss of performance. * @param {string} [shopCode] The shopCode used internally to distinguish between clients. \\ _This code is optional, if your identity is assigned to only one shop. Otherwise the response would be a 422 HTTP Error._ * @param {'reserved' | 'incoming'} [filterTypeCode] Filter for a specific stock reference type. * @param {*} [options] Override http request option. * @throws {RequiredError} */ getProductStockReferenceCollection: (productNumber: string, page?: number, pageSize?: number, paginationMode?: 'default' | 'totalCount', shopCode?: string, filterTypeCode?: 'reserved' | 'incoming', options?: AxiosRequestConfig) => Promise<RequestArgs>; }; /** * ProductApi - functional programming interface * @export */ export declare const ProductApiFp: (configuration?: Configuration) => { /** * Get a product by product number. * @summary Get a product by product number. * @param {string} productNumber The product number as defined during the creation of the product. * @param {string} [shopCode] The shopCode used internally to distinguish between clients. \\ _This code is optional, if your identity is assigned to only one shop. Otherwise the response would be a 422 HTTP Error._ * @param {*} [options] Override http request option. * @throws {RequiredError} */ getProduct(productNumber: string, shopCode?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Product>>; /** * Get a list of products. * @summary Get a list of products. * @param {number} [page] The page to read. Default is the first page. * @param {number} [pageSize] The maximum size per page is 100. Default is 100. * @param {'default' | 'totalCount'} [paginationMode] The paginationMode to use: - default: The total number of items in the collection will not be calculated. - totalCount: The total number of items in the collection will be calculated. This can mean loss of performance. * @param {string} [sortBy] Sort the results by one or more comma-separated sort criteria, with the criterion specified first having priority. Available sort orders: - asc: ascending order - desc: descending order Available fields for sorting: - productNumber - stocked - reserved - available - incoming - locked The default sort order is stocked:desc. * @param {string} [filterShopCode] The shopCode used internally to distinguish between clients. \\ _This code is optional, if your identity is assigned to only one shop. Otherwise the response would be a 422 HTTP Error._ * @param {string} [filterSearch] Filter for product search. \\ Usage: - Provide one or multiple search terms (min. 2 characters) to filter results. - Multiple search terms are separated by spaces. - The search is not case sensitive. - The search is enabled for the fields productTitle, productNumber and ean. - Each search term filters the response for products where at least one of the fields contains the search term. - For example, filter[search]&#x3D;\&#39;term1 term2\&#39; will filter the result for products where \&#39;term1\&#39; is found in any field and \&#39;term2\&#39; is also found in any field. If only \&#39;term1\&#39; or \&#39;term2\&#39; is found in the fields, the product is not included in the results. * @param {'self' | 'nice' | 'bundle'} [filterSource] Filter for product source. * @param {string} [filterProductNumber] Filter for product number(s). * @param {'_availableOrInStock' | '_notAvailableAndOutOfStock'} [filterProductAvailabilityStatus] Filter for productAvailabilityStatus \\ By default, all products are returned. \\ Use \&#39;_availableOrInStock\&#39; to only return products that are available or in stock. \\ Use \&#39;_notAvailableAndOutOfStock\&#39; to only return products that are not available and out of stock. * @param {'standard' | 'sample' | 'sellable_sample' | 'tester' | 'packing_material' | 'booking_seminar' | 'booking_appointment' | 'promo_material' | 'raw_material' | 'working_material' | 'service_principal' | 'service_ancillary' | 'inquiry_testdrive' | 'inquiry_raffle' | 'chilled_product' | 'limited_edition' | 'voucher_print' | 'voucher_digital' | 'bundle' | 'print_greetingcard' | 'personalized' | 'other_services'} [filterProductType] Filter for product type. * @param {boolean} [filterHasProductImage] A filter to only return products where a product image is present. * @param {*} [options] Override http request option. * @throws {RequiredError} */ getProductCollection(page?: number, pageSize?: number, paginationMode?: 'default' | 'totalCount', sortBy?: string, filterShopCode?: string, filterSearch?: string, filterSource?: 'self' | 'nice' | 'bundle', filterProductNumber?: string, filterProductAvailabilityStatus?: '_availableOrInStock' | '_notAvailableAndOutOfStock', filterProductType?: 'standard' | 'sample' | 'sellable_sample' | 'tester' | 'packing_material' | 'booking_seminar' | 'booking_appointment' | 'promo_material' | 'raw_material' | 'working_material' | 'service_principal' | 'service_ancillary' | 'inquiry_testdrive' | 'inquiry_raffle' | 'chilled_product' | 'limited_edition' | 'voucher_print' | 'voucher_digital' | 'bundle' | 'print_greetingcard' | 'personalized' | 'other_services', filterHasProductImage?: boolean, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ProductCollection>>; /** * Read a journal collection for a specific product showing the history of stock changes. _Only products with the source \'self\' can be queried._ * @summary Read a journal collection for a specific product showing the history of stock changes. * @param {string} productNumber The product number as defined during the creation of the product. * @param {number} [page] The page to read. Default is the first page. * @param {number} [pageSize] The maximum size per page is 100. Default is 100. * @param {'default' | 'totalCount'} [paginationMode] The paginationMode to use:\\ - default: The total number of items in the collection will not be calculated.\\ - totalCount: The total number of items in the collection will be calculated. This can mean loss of performance. * @param {string} [shopCode] The shopCode used internally to distinguish between clients.\\ _This code is optional, if your identity is assigned to only one shop. Otherwise the response would be a 422 HTTP Error._ * @param {string} [filterDateFrom] The start date (inclusive) in format Y-m-d (timezone CET/CEST) for which product journal entries should be returned. * @param {string} [filterDateTo] The end date (inclusive) in format Y-m-d (timezone CET/CEST) for which product journal entries should be returned. * @param {string} [filterReason] Filter journal entries for one or more reasons - expired: Taking an expired product off the books - damaged: Taking a damaged product off the books - own_withdrawl: Product taken for own use - correction: Manual correction - niceshops_order: Product sold via a shop from niceshops - inbound: Restocking the product - fulfillment: steve fulfilled an order - return: A customer sent the product back to our warehouse * @param {*} [options] Override http request option. * @throws {RequiredError} */ getProductJournalCollection(productNumber: string, page?: number, pageSize?: number, paginationMode?: 'default' | 'totalCount', shopCode?: string, filterDateFrom?: string, filterDateTo?: string, filterReason?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ProductJournalCollection>>; /** * Get a list of product stock references. * @summary Get a list of product stock references. * @param {string} productNumber The product number as defined during the creation of the product. * @param {number} [page] The page to read. Default is the first page. * @param {number} [pageSize] The maximum size per page is 100. Default is 100. * @param {'default' | 'totalCount'} [paginationMode] The paginationMode to use: - default: The total number of items in the collection will not be calculated. - totalCount: The total number of items in the collection will be calculated. This can mean loss of performance. * @param {string} [shopCode] The shopCode used internally to distinguish between clients. \\ _This code is optional, if your identity is assigned to only one shop. Otherwise the response would be a 422 HTTP Error._ * @param {'reserved' | 'incoming'} [filterTypeCode] Filter for a specific stock reference type. * @param {*} [options] Override http request option. * @throws {RequiredError} */ getProductStockReferenceCollection(productNumber: string, page?: number, pageSize?: number, paginationMode?: 'default' | 'totalCount', shopCode?: string, filterTypeCode?: 'reserved' | 'incoming', options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ProductStockReferenceCollection>>; }; /** * ProductApi - factory interface * @export */ export declare const ProductApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => { /** * Get a product by product number. * @summary Get a product by product number. * @param {string} productNumber The product number as defined during the creation of the product. * @param {string} [shopCode] The shopCode used internally to distinguish between clients. \\ _This code is optional, if your identity is assigned to only one shop. Otherwise the response would be a 422 HTTP Error._ * @param {*} [options] Override http request option. * @throws {RequiredError} */ getProduct(productNumber: string, shopCode?: string, options?: any): AxiosPromise<Product>; /** * Get a list of products. * @summary Get a list of products. * @param {number} [page] The page to read. Default is the first page. * @param {number} [pageSize] The maximum size per page is 100. Default is 100. * @param {'default' | 'totalCount'} [paginationMode] The paginationMode to use: - default: The total number of items in the collection will not be calculated. - totalCount: The total number of items in the collection will be calculated. This can mean loss of performance. * @param {string} [sortBy] Sort the results by one or more comma-separated sort criteria, with the criterion specified first having priority. Available sort orders: - asc: ascending order - desc: descending order Available fields for sorting: - productNumber - stocked - reserved - available - incoming - locked The default sort order is stocked:desc. * @param {string} [filterShopCode] The shopCode used internally to distinguish between clients. \\ _This code is optional, if your identity is assigned to only one shop. Otherwise the response would be a 422 HTTP Error._ * @param {string} [filterSearch] Filter for product search. \\ Usage: - Provide one or multiple search terms (min. 2 characters) to filter results. - Multiple search terms are separated by spaces. - The search is not case sensitive. - The search is enabled for the fields productTitle, productNumber and ean. - Each search term filters the response for products where at least one of the fields contains the search term. - For example, filter[search]&#x3D;\&#39;term1 term2\&#39; will filter the result for products where \&#39;term1\&#39; is found in any field and \&#39;term2\&#39; is also found in any field. If only \&#39;term1\&#39; or \&#39;term2\&#39; is found in the fields, the product is not included in the results. * @param {'self' | 'nice' | 'bundle'} [filterSource] Filter for product source. * @param {string} [filterProductNumber] Filter for product number(s). * @param {'_availableOrInStock' | '_notAvailableAndOutOfStock'} [filterProductAvailabilityStatus] Filter for productAvailabilityStatus \\ By default, all products are returned. \\ Use \&#39;_availableOrInStock\&#39; to only return products that are available or in stock. \\ Use \&#39;_notAvailableAndOutOfStock\&#39; to only return products that are not available and out of stock. * @param {'standard' | 'sample' | 'sellable_sample' | 'tester' | 'packing_material' | 'booking_seminar' | 'booking_appointment' | 'promo_material' | 'raw_material' | 'working_material' | 'service_principal' | 'service_ancillary' | 'inquiry_testdrive' | 'inquiry_raffle' | 'chilled_product' | 'limited_edition' | 'voucher_print' | 'voucher_digital' | 'bundle' | 'print_greetingcard' | 'personalized' | 'other_services'} [filterProductType] Filter for product type. * @param {boolean} [filterHasProductImage] A filter to only return products where a product image is present. * @param {*} [options] Override http request option. * @throws {RequiredError} */ getProductCollection(page?: number, pageSize?: number, paginationMode?: 'default' | 'totalCount', sortBy?: string, filterShopCode?: string, filterSearch?: string, filterSource?: 'self' | 'nice' | 'bundle', filterProductNumber?: string, filterProductAvailabilityStatus?: '_availableOrInStock' | '_notAvailableAndOutOfStock', filterProductType?: 'standard' | 'sample' | 'sellable_sample' | 'tester' | 'packing_material' | 'booking_seminar' | 'booking_appointment' | 'promo_material' | 'raw_material' | 'working_material' | 'service_principal' | 'service_ancillary' | 'inquiry_testdrive' | 'inquiry_raffle' | 'chilled_product' | 'limited_edition' | 'voucher_print' | 'voucher_digital' | 'bundle' | 'print_greetingcard' | 'personalized' | 'other_services', filterHasProductImage?: boolean, options?: any): AxiosPromise<ProductCollection>; /** * Read a journal collection for a specific product showing the history of stock changes. _Only products with the source \'self\' can be queried._ * @summary Read a journal collection for a specific product showing the history of stock changes. * @param {string} productNumber The product number as defined during the creation of the product. * @param {number} [page] The page to read. Default is the first page. * @param {number} [pageSize] The maximum size per page is 100. Default is 100. * @param {'default' | 'totalCount'} [paginationMode] The paginationMode to use:\\ - default: The total number of items in the collection will not be calculated.\\ - totalCount: The total number of items in the collection will be calculated. This can mean loss of performance. * @param {string} [shopCode] The shopCode used internally to distinguish between clients.\\ _This code is optional, if your identity is assigned to only one shop. Otherwise the response would be a 422 HTTP Error._ * @param {string} [filterDateFrom] The start date (inclusive) in format Y-m-d (timezone CET/CEST) for which product journal entries should be returned. * @param {string} [filterDateTo] The end date (inclusive) in format Y-m-d (timezone CET/CEST) for which product journal entries should be returned. * @param {string} [filterReason] Filter journal entries for one or more reasons - expired: Taking an expired product off the books - damaged: Taking a damaged product off the books - own_withdrawl: Product taken for own use - correction: Manual correction - niceshops_order: Product sold via a shop from niceshops - inbound: Restocking the product - fulfillment: steve fulfilled an order - return: A customer sent the product back to our warehouse * @param {*} [options] Override http request option. * @throws {RequiredError} */ getProductJournalCollection(productNumber: string, page?: number, pageSize?: number, paginationMode?: 'default' | 'totalCount', shopCode?: string, filterDateFrom?: string, filterDateTo?: string, filterReason?: string, options?: any): AxiosPromise<ProductJournalCollection>; /** * Get a list of product stock references. * @summary Get a list of product stock references. * @param {string} productNumber The product number as defined during the creation of the product. * @param {number} [page] The page to read. Default is the first page. * @param {number} [pageSize] The maximum size per page is 100. Default is 100. * @param {'default' | 'totalCount'} [paginationMode] The paginationMode to use: - default: The total number of items in the collection will not be calculated. - totalCount: The total number of items in the collection will be calculated. This can mean loss of performance. * @param {string} [shopCode] The shopCode used internally to distinguish between clients. \\ _This code is optional, if your identity is assigned to only one shop. Otherwise the response would be a 422 HTTP Error._ * @param {'reserved' | 'incoming'} [filterTypeCode] Filter for a specific stock reference type. * @param {*} [options] Override http request option. * @throws {RequiredError} */ getProductStockReferenceCollection(productNumber: string, page?: number, pageSize?: number, paginationMode?: 'default' | 'totalCount', shopCode?: string, filterTypeCode?: 'reserved' | 'incoming', options?: any): AxiosPromise<ProductStockReferenceCollection>; }; /** * ProductApi - interface * @export * @interface ProductApi */ export interface ProductApiInterface { /** * Get a product by product number. * @summary Get a product by product number. * @param {string} productNumber The product number as defined during the creation of the product. * @param {string} [shopCode] The shopCode used internally to distinguish between clients. \\ _This code is optional, if your identity is assigned to only one shop. Otherwise the response would be a 422 HTTP Error._ * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof ProductApiInterface */ getProduct(productNumber: string, shopCode?: string, options?: AxiosRequestConfig): AxiosPromise<Product>; /** * Get a list of products. * @summary Get a list of products. * @param {number} [page] The page to read. Default is the first page. * @param {number} [pageSize] The maximum size per page is 100. Default is 100. * @param {'default' | 'totalCount'} [paginationMode] The paginationMode to use: - default: The total number of items in the collection will not be calculated. - totalCount: The total number of items in the collection will be calculated. This can mean loss of performance. * @param {string} [sortBy] Sort the results by one or more comma-separated sort criteria, with the criterion specified first having priority. Available sort orders: - asc: ascending order - desc: descending order Available fields for sorting: - productNumber - stocked - reserved - available - incoming - locked The default sort order is stocked:desc. * @param {string} [filterShopCode] The shopCode used internally to distinguish between clients. \\ _This code is optional, if your identity is assigned to only one shop. Otherwise the response would be a 422 HTTP Error._ * @param {string} [filterSearch] Filter for product search. \\ Usage: - Provide one or multiple search terms (min. 2 characters) to filter results. - Multiple search terms are separated by spaces. - The search is not case sensitive. - The search is enabled for the fields productTitle, productNumber and ean. - Each search term filters the response for products where at least one of the fields contains the search term. - For example, filter[search]&#x3D;\&#39;term1 term2\&#39; will filter the result for products where \&#39;term1\&#39; is found in any field and \&#39;term2\&#39; is also found in any field. If only \&#39;term1\&#39; or \&#39;term2\&#39; is found in the fields, the product is not included in the results. * @param {'self' | 'nice' | 'bundle'} [filterSource] Filter for product source. * @param {string} [filterProductNumber] Filter for product number(s). * @param {'_availableOrInStock' | '_notAvailableAndOutOfStock'} [filterProductAvailabilityStatus] Filter for productAvailabilityStatus \\ By default, all products are returned. \\ Use \&#39;_availableOrInStock\&#39; to only return products that are available or in stock. \\ Use \&#39;_notAvailableAndOutOfStock\&#39; to only return products that are not available and out of stock. * @param {'standard' | 'sample' | 'sellable_sample' | 'tester' | 'packing_material' | 'booking_seminar' | 'booking_appointment' | 'promo_material' | 'raw_material' | 'working_material' | 'service_principal' | 'service_ancillary' | 'inquiry_testdrive' | 'inquiry_raffle' | 'chilled_product' | 'limited_edition' | 'voucher_print' | 'voucher_digital' | 'bundle' | 'print_greetingcard' | 'personalized' | 'other_services'} [filterProductType] Filter for product type. * @param {boolean} [filterHasProductImage] A filter to only return products where a product image is present. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof ProductApiInterface */ getProductCollection(page?: number, pageSize?: number, paginationMode?: 'default' | 'totalCount', sortBy?: string, filterShopCode?: string, filterSearch?: string, filterSource?: 'self' | 'nice' | 'bundle', filterProductNumber?: string, filterProductAvailabilityStatus?: '_availableOrInStock' | '_notAvailableAndOutOfStock', filterProductType?: 'standard' | 'sample' | 'sellable_sample' | 'tester' | 'packing_material' | 'booking_seminar' | 'booking_appointment' | 'promo_material' | 'raw_material' | 'working_material' | 'service_principal' | 'service_ancillary' | 'inquiry_testdrive' | 'inquiry_raffle' | 'chilled_product' | 'limited_edition' | 'voucher_print' | 'voucher_digital' | 'bundle' | 'print_greetingcard' | 'personalized' | 'other_services', filterHasProductImage?: boolean, options?: AxiosRequestConfig): AxiosPromise<ProductCollection>; /** * Read a journal collection for a specific product showing the history of stock changes. _Only products with the source \'self\' can be queried._ * @summary Read a journal collection for a specific product showing the history of stock changes. * @param {string} productNumber The product number as defined during the creation of the product. * @param {number} [page] The page to read. Default is the first page. * @param {number} [pageSize] The maximum size per page is 100. Default is 100. * @param {'default' | 'totalCount'} [paginationMode] The paginationMode to use:\\ - default: The total number of items in the collection will not be calculated.\\ - totalCount: The total number of items in the collection will be calculated. This can mean loss of performance. * @param {string} [shopCode] The shopCode used internally to distinguish between clients.\\ _This code is optional, if your identity is assigned to only one shop. Otherwise the response would be a 422 HTTP Error._ * @param {string} [filterDateFrom] The start date (inclusive) in format Y-m-d (timezone CET/CEST) for which product journal entries should be returned. * @param {string} [filterDateTo] The end date (inclusive) in format Y-m-d (timezone CET/CEST) for which product journal entries should be returned. * @param {string} [filterReason] Filter journal entries for one or more reasons - expired: Taking an expired product off the books - damaged: Taking a damaged product off the books - own_withdrawl: Product taken for own use - correction: Manual correction - niceshops_order: Product sold via a shop from niceshops - inbound: Restocking the product - fulfillment: steve fulfilled an order - return: A customer sent the product back to our warehouse * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof ProductApiInterface */ getProductJournalCollection(productNumber: string, page?: number, pageSize?: number, paginationMode?: 'default' | 'totalCount', shopCode?: string, filterDateFrom?: string, filterDateTo?: string, filterReason?: string, options?: AxiosRequestConfig): AxiosPromise<ProductJournalCollection>; /** * Get a list of product stock references. * @summary Get a list of product stock references. * @param {string} productNumber The product number as defined during the creation of the product. * @param {number} [page] The page to read. Default is the first page. * @param {number} [pageSize] The maximum size per page is 100. Default is 100. * @param {'default' | 'totalCount'} [paginationMode] The paginationMode to use: - default: The total number of items in the collection will not be calculated. - totalCount: The total number of items in the collection will be calculated. This can mean loss of performance. * @param {string} [shopCode] The shopCode used internally to distinguish between clients. \\ _This code is optional, if your identity is assigned to only one shop. Otherwise the response would be a 422 HTTP Error._ * @param {'reserved' | 'incoming'} [filterTypeCode] Filter for a specific stock reference type. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof ProductApiInterface */ getProductStockReferenceCollection(productNumber: string, page?: number, pageSize?: number, paginationMode?: 'default' | 'totalCount', shopCode?: string, filterTypeCode?: 'reserved' | 'incoming', options?: AxiosRequestConfig): AxiosPromise<ProductStockReferenceCollection>; } /** * ProductApi - object-oriented interface * @export * @class ProductApi * @extends {BaseAPI} */ export declare class ProductApi extends BaseAPI implements ProductApiInterface { /** * Get a product by product number. * @summary Get a product by product number. * @param {string} productNumber The product number as defined during the creation of the product. * @param {string} [shopCode] The shopCode used internally to distinguish between clients. \\ _This code is optional, if your identity is assigned to only one shop. Otherwise the response would be a 422 HTTP Error._ * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof ProductApi */ getProduct(productNumber: string, shopCode?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<Product, any>>; /** * Get a list of products. * @summary Get a list of products. * @param {number} [page] The page to read. Default is the first page. * @param {number} [pageSize] The maximum size per page is 100. Default is 100. * @param {'default' | 'totalCount'} [paginationMode] The paginationMode to use: - default: The total number of items in the collection will not be calculated. - totalCount: The total number of items in the collection will be calculated. This can mean loss of performance. * @param {string} [sortBy] Sort the results by one or more comma-separated sort criteria, with the criterion specified first having priority. Available sort orders: - asc: ascending order - desc: descending order Available fields for sorting: - productNumber - stocked - reserved - available - incoming - locked The default sort order is stocked:desc. * @param {string} [filterShopCode] The shopCode used internally to distinguish between clients. \\ _This code is optional, if your identity is assigned to only one shop. Otherwise the response would be a 422 HTTP Error._ * @param {string} [filterSearch] Filter for product search. \\ Usage: - Provide one or multiple search terms (min. 2 characters) to filter results. - Multiple search terms are separated by spaces. - The search is not case sensitive. - The search is enabled for the fields productTitle, productNumber and ean. - Each search term filters the response for products where at least one of the fields contains the search term. - For example, filter[search]&#x3D;\&#39;term1 term2\&#39; will filter the result for products where \&#39;term1\&#39; is found in any field and \&#39;term2\&#39; is also found in any field. If only \&#39;term1\&#39; or \&#39;term2\&#39; is found in the fields, the product is not included in the results. * @param {'self' | 'nice' | 'bundle'} [filterSource] Filter for product source. * @param {string} [filterProductNumber] Filter for product number(s). * @param {'_availableOrInStock' | '_notAvailableAndOutOfStock'} [filterProductAvailabilityStatus] Filter for productAvailabilityStatus \\ By default, all products are returned. \\ Use \&#39;_availableOrInStock\&#39; to only return products that are available or in stock. \\ Use \&#39;_notAvailableAndOutOfStock\&#39; to only return products that are not available and out of stock. * @param {'standard' | 'sample' | 'sellable_sample' | 'tester' | 'packing_material' | 'booking_seminar' | 'booking_appointment' | 'promo_material' | 'raw_material' | 'working_material' | 'service_principal' | 'service_ancillary' | 'inquiry_testdrive' | 'inquiry_raffle' | 'chilled_product' | 'limited_edition' | 'voucher_print' | 'voucher_digital' | 'bundle' | 'print_greetingcard' | 'personalized' | 'other_services'} [filterProductType] Filter for product type. * @param {boolean} [filterHasProductImage] A filter to only return products where a product image is present. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof ProductApi */ getProductCollection(page?: number, pageSize?: number, paginationMode?: 'default' | 'totalCount', sortBy?: string, filterShopCode?: string, filterSearch?: string, filterSource?: 'self' | 'nice' | 'bundle', filterProductNumber?: string, filterProductAvailabilityStatus?: '_availableOrInStock' | '_notAvailableAndOutOfStock', filterProductType?: 'standard' | 'sample' | 'sellable_sample' | 'tester' | 'packing_material' | 'booking_seminar' | 'booking_appointment' | 'promo_material' | 'raw_material' | 'working_material' | 'service_principal' | 'service_ancillary' | 'inquiry_testdrive' | 'inquiry_raffle' | 'chilled_product' | 'limited_edition' | 'voucher_print' | 'voucher_digital' | 'bundle' | 'print_greetingcard' | 'personalized' | 'other_services', filterHasProductImage?: boolean, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<ProductCollection, any>>; /** * Read a journal collection for a specific product showing the history of stock changes. _Only products with the source \'self\' can be queried._ * @summary Read a journal collection for a specific product showing the history of stock changes. * @param {string} productNumber The product number as defined during the creation of the product. * @param {number} [page] The page to read. Default is the first page. * @param {number} [pageSize] The maximum size per page is 100. Default is 100. * @param {'default' | 'totalCount'} [paginationMode] The paginationMode to use:\\ - default: The total number of items in the collection will not be calculated.\\ - totalCount: The total number of items in the collection will be calculated. This can mean loss of performance. * @param {string} [shopCode] The shopCode used internally to distinguish between clients.\\ _This code is optional, if your identity is assigned to only one shop. Otherwise the response would be a 422 HTTP Error._ * @param {string} [filterDateFrom] The start date (inclusive) in format Y-m-d (timezone CET/CEST) for which product journal entries should be returned. * @param {string} [filterDateTo] The end date (inclusive) in format Y-m-d (timezone CET/CEST) for which product journal entries should be returned. * @param {string} [filterReason] Filter journal entries for one or more reasons - expired: Taking an expired product off the books - damaged: Taking a damaged product off the books - own_withdrawl: Product taken for own use - correction: Manual correction - niceshops_order: Product sold via a shop from niceshops - inbound: Restocking the product - fulfillment: steve fulfilled an order - return: A customer sent the product back to our warehouse * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof ProductApi */ getProductJournalCollection(productNumber: string, page?: number, pageSize?: number, paginationMode?: 'default' | 'totalCount', shopCode?: string, filterDateFrom?: string, filterDateTo?: string, filterReason?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<ProductJournalCollection, any>>; /** * Get a list of product stock references. * @summary Get a list of product stock references. * @param {string} productNumber The product number as defined during the creation of the product. * @param {number} [page] The page to read. Default is the first page. * @param {number} [pageSize] The maximum size per page is 100. Default is 100. * @param {'default' | 'totalCount'} [paginationMode] The paginationMode to use: - default: The total number of items in the collection will not be calculated. - totalCount: The total number of items in the collection will be calculated. This can mean loss of performance. * @param {string} [shopCode] The shopCode used internally to distinguish between clients. \\ _This code is optional, if your identity is assigned to only one shop. Otherwise the response would be a 422 HTTP Error._ * @param {'reserved' | 'incoming'} [filterTypeCode] Filter for a specific stock reference type. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof ProductApi */ getProductStockReferenceCollection(productNumber: string, page?: number, pageSize?: number, paginationMode?: 'default' | 'totalCount', shopCode?: string, filterTypeCode?: 'reserved' | 'incoming', options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<ProductStockReferenceCollection, any>>; }