@sp-api-sdk/catalog-items-api-2022-04-01
Version:
Use the Selling Partner API for Catalog Items to retrieve information about items in the Amazon catalog. For more information, refer to the Catalog Items API Use Case Guide.
1 lines • 60.2 kB
Source Map (JSON)
{"version":3,"sources":["../src/index.ts","../src/client.ts","../src/api-model/api/catalog-items-api.ts","../src/api-model/base.ts","../src/api-model/common.ts","../src/api-model/configuration.ts","../src/api-model/models/item-image.ts","../src/api-model/models/item-relationship.ts","../src/api-model/models/item-summary-by-marketplace.ts","../src/api-model/models/item-vendor-details-by-marketplace.ts"],"sourcesContent":["export * from './client.js'\nexport * from './api-model/api.js'\nexport * from './api-model/models/index.js'\n","import {type ClientConfiguration, createAxiosInstance, type RateLimit} from '@sp-api-sdk/common'\n\nimport {CatalogItemsApi, Configuration} from './api-model/index.js'\n\nexport const clientRateLimits: RateLimit[] = [\n {\n method: 'get',\n // eslint-disable-next-line prefer-regex-literals\n urlRegex: new RegExp('^/catalog/2022-04-01/items$'),\n rate: 2,\n burst: 2,\n },\n {\n method: 'get',\n // eslint-disable-next-line prefer-regex-literals\n urlRegex: new RegExp('^/catalog/2022-04-01/items/[^/]*$'),\n rate: 2,\n burst: 2,\n },\n]\n\nexport class CatalogItemsApiClient extends CatalogItemsApi {\n constructor(configuration: ClientConfiguration) {\n const {axios, endpoint} = createAxiosInstance(configuration, clientRateLimits)\n\n super(new Configuration(), endpoint, axios)\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Selling Partner API for Catalog Items\n * Use the Selling Partner API for Catalog Items to retrieve information about items in the Amazon catalog. For more information, refer to the [Catalog Items API Use Case Guide](https://developer-docs.amazon.com/sp-api/docs/:catalog-items-api-v2022-04-01-use-case-guide).\n *\n * The version of the OpenAPI document: 2022-04-01\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport type { Configuration } from '../configuration.js';\nimport type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';\nimport globalAxios from 'axios';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction, replaceWithSerializableTypeIfNeeded } from '../common.js';\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, type RequestArgs, BaseAPI, RequiredError, operationServerMap } from '../base.js';\n// @ts-ignore\nimport type { ErrorList } from '../models/index.js';\n// @ts-ignore\nimport type { Item } from '../models/index.js';\n// @ts-ignore\nimport type { ItemSearchResults } from '../models/index.js';\n/**\n * CatalogItemsApi - axios parameter creator\n */\nexport const CatalogItemsApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * Retrieves details for an item in the Amazon catalog. **Usage Plan:** | Rate (requests per second) | Burst | | ---- | ---- | | 2 | 2 | The `x-amzn-RateLimit-Limit` response header contains the usage plan rate limits for the operation, when available. The preceding table contains the default rate and burst values for this operation. Selling partners whose business demands require higher throughput might have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).\n * @param {string} asin The Amazon Standard Identification Number (ASIN) of the item.\n * @param {Array<string>} marketplaceIds A comma-delimited list of Amazon marketplace identifiers. To find the ID for your marketplace, refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids).\n * @param {Array<GetCatalogItemIncludedDataEnum>} [includedData] A comma-delimited list of datasets to include in the response.\n * @param {string} [locale] The locale for which you want to retrieve localized summaries. Defaults to the primary locale of the marketplace.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getCatalogItem: async (asin: string, marketplaceIds: Array<string>, includedData?: Array<GetCatalogItemIncludedDataEnum>, locale?: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'asin' is not null or undefined\n assertParamExists('getCatalogItem', 'asin', asin)\n // verify required parameter 'marketplaceIds' is not null or undefined\n assertParamExists('getCatalogItem', 'marketplaceIds', marketplaceIds)\n const localVarPath = `/catalog/2022-04-01/items/{asin}`\n .replace('{asin}', encodeURIComponent(String(asin)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n if (marketplaceIds) {\n localVarQueryParameter['marketplaceIds'] = marketplaceIds.join(COLLECTION_FORMATS.csv);\n }\n\n if (includedData) {\n localVarQueryParameter['includedData'] = includedData.join(COLLECTION_FORMATS.csv);\n }\n\n if (locale !== undefined) {\n localVarQueryParameter['locale'] = locale;\n }\n\n localVarHeaderParameter['Accept'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Search for a list of Amazon catalog items and item-related information. You can search by identifier or by keywords. **Usage Plan:** | Rate (requests per second) | Burst | | ---- | ---- | | 2 | 2 | The `x-amzn-RateLimit-Limit` response header contains the usage plan rate limits for the operation, when available. The preceding table contains the default rate and burst values for this operation. Selling partners whose business demands require higher throughput might have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).\n * @param {Array<string>} marketplaceIds A comma-delimited list of Amazon marketplace identifiers. To find the ID for your marketplace, refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids).\n * @param {Array<string>} [identifiers] A comma-delimited list of product identifiers that you can use to search the Amazon catalog. **Note:** You cannot include `identifiers` and `keywords` in the same request.\n * @param {SearchCatalogItemsIdentifiersTypeEnum} [identifiersType] The type of product identifiers that you can use to search the Amazon catalog. **Note:** `identifiersType` is required when `identifiers` is in the request.\n * @param {Array<SearchCatalogItemsIncludedDataEnum>} [includedData] A comma-delimited list of datasets to include in the response.\n * @param {string} [locale] The locale for which you want to retrieve localized summaries. Defaults to the primary locale of the marketplace.\n * @param {string} [sellerId] A selling partner identifier, such as a seller account or vendor code. **Note:** Required when `identifiersType` is `SKU`.\n * @param {Array<string>} [keywords] A comma-delimited list of keywords that you can use to search the Amazon catalog. **Note:** You cannot include `keywords` and `identifiers` in the same request.\n * @param {Array<string>} [brandNames] A comma-delimited list of brand names that you can use to limit the search in queries based on `keywords`. **Note:** Cannot be used with `identifiers`.\n * @param {Array<string>} [classificationIds] A comma-delimited list of classification identifiers that you can use to limit the search in queries based on `keywords`. **Note:** Cannot be used with `identifiers`.\n * @param {number} [pageSize] The number of results to include on each page.\n * @param {string} [pageToken] A token that you can use to fetch a specific page when there are multiple pages of results.\n * @param {string} [keywordsLocale] The language of the keywords that are included in queries based on `keywords`. Defaults to the primary locale of the marketplace. **Note:** Cannot be used with `identifiers`.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n searchCatalogItems: async (marketplaceIds: Array<string>, identifiers?: Array<string>, identifiersType?: SearchCatalogItemsIdentifiersTypeEnum, includedData?: Array<SearchCatalogItemsIncludedDataEnum>, locale?: string, sellerId?: string, keywords?: Array<string>, brandNames?: Array<string>, classificationIds?: Array<string>, pageSize?: number, pageToken?: string, keywordsLocale?: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'marketplaceIds' is not null or undefined\n assertParamExists('searchCatalogItems', 'marketplaceIds', marketplaceIds)\n const localVarPath = `/catalog/2022-04-01/items`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n if (identifiers) {\n localVarQueryParameter['identifiers'] = identifiers.join(COLLECTION_FORMATS.csv);\n }\n\n if (identifiersType !== undefined) {\n localVarQueryParameter['identifiersType'] = identifiersType;\n }\n\n if (marketplaceIds) {\n localVarQueryParameter['marketplaceIds'] = marketplaceIds.join(COLLECTION_FORMATS.csv);\n }\n\n if (includedData) {\n localVarQueryParameter['includedData'] = includedData.join(COLLECTION_FORMATS.csv);\n }\n\n if (locale !== undefined) {\n localVarQueryParameter['locale'] = locale;\n }\n\n if (sellerId !== undefined) {\n localVarQueryParameter['sellerId'] = sellerId;\n }\n\n if (keywords) {\n localVarQueryParameter['keywords'] = keywords.join(COLLECTION_FORMATS.csv);\n }\n\n if (brandNames) {\n localVarQueryParameter['brandNames'] = brandNames.join(COLLECTION_FORMATS.csv);\n }\n\n if (classificationIds) {\n localVarQueryParameter['classificationIds'] = classificationIds.join(COLLECTION_FORMATS.csv);\n }\n\n if (pageSize !== undefined) {\n localVarQueryParameter['pageSize'] = pageSize;\n }\n\n if (pageToken !== undefined) {\n localVarQueryParameter['pageToken'] = pageToken;\n }\n\n if (keywordsLocale !== undefined) {\n localVarQueryParameter['keywordsLocale'] = keywordsLocale;\n }\n\n localVarHeaderParameter['Accept'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * CatalogItemsApi - functional programming interface\n */\nexport const CatalogItemsApiFp = function(configuration?: Configuration) {\n const localVarAxiosParamCreator = CatalogItemsApiAxiosParamCreator(configuration)\n return {\n /**\n * Retrieves details for an item in the Amazon catalog. **Usage Plan:** | Rate (requests per second) | Burst | | ---- | ---- | | 2 | 2 | The `x-amzn-RateLimit-Limit` response header contains the usage plan rate limits for the operation, when available. The preceding table contains the default rate and burst values for this operation. Selling partners whose business demands require higher throughput might have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).\n * @param {string} asin The Amazon Standard Identification Number (ASIN) of the item.\n * @param {Array<string>} marketplaceIds A comma-delimited list of Amazon marketplace identifiers. To find the ID for your marketplace, refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids).\n * @param {Array<GetCatalogItemIncludedDataEnum>} [includedData] A comma-delimited list of datasets to include in the response.\n * @param {string} [locale] The locale for which you want to retrieve localized summaries. Defaults to the primary locale of the marketplace.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getCatalogItem(asin: string, marketplaceIds: Array<string>, includedData?: Array<GetCatalogItemIncludedDataEnum>, locale?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Item>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.getCatalogItem(asin, marketplaceIds, includedData, locale, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['CatalogItemsApi.getCatalogItem']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Search for a list of Amazon catalog items and item-related information. You can search by identifier or by keywords. **Usage Plan:** | Rate (requests per second) | Burst | | ---- | ---- | | 2 | 2 | The `x-amzn-RateLimit-Limit` response header contains the usage plan rate limits for the operation, when available. The preceding table contains the default rate and burst values for this operation. Selling partners whose business demands require higher throughput might have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).\n * @param {Array<string>} marketplaceIds A comma-delimited list of Amazon marketplace identifiers. To find the ID for your marketplace, refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids).\n * @param {Array<string>} [identifiers] A comma-delimited list of product identifiers that you can use to search the Amazon catalog. **Note:** You cannot include `identifiers` and `keywords` in the same request.\n * @param {SearchCatalogItemsIdentifiersTypeEnum} [identifiersType] The type of product identifiers that you can use to search the Amazon catalog. **Note:** `identifiersType` is required when `identifiers` is in the request.\n * @param {Array<SearchCatalogItemsIncludedDataEnum>} [includedData] A comma-delimited list of datasets to include in the response.\n * @param {string} [locale] The locale for which you want to retrieve localized summaries. Defaults to the primary locale of the marketplace.\n * @param {string} [sellerId] A selling partner identifier, such as a seller account or vendor code. **Note:** Required when `identifiersType` is `SKU`.\n * @param {Array<string>} [keywords] A comma-delimited list of keywords that you can use to search the Amazon catalog. **Note:** You cannot include `keywords` and `identifiers` in the same request.\n * @param {Array<string>} [brandNames] A comma-delimited list of brand names that you can use to limit the search in queries based on `keywords`. **Note:** Cannot be used with `identifiers`.\n * @param {Array<string>} [classificationIds] A comma-delimited list of classification identifiers that you can use to limit the search in queries based on `keywords`. **Note:** Cannot be used with `identifiers`.\n * @param {number} [pageSize] The number of results to include on each page.\n * @param {string} [pageToken] A token that you can use to fetch a specific page when there are multiple pages of results.\n * @param {string} [keywordsLocale] The language of the keywords that are included in queries based on `keywords`. Defaults to the primary locale of the marketplace. **Note:** Cannot be used with `identifiers`.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async searchCatalogItems(marketplaceIds: Array<string>, identifiers?: Array<string>, identifiersType?: SearchCatalogItemsIdentifiersTypeEnum, includedData?: Array<SearchCatalogItemsIncludedDataEnum>, locale?: string, sellerId?: string, keywords?: Array<string>, brandNames?: Array<string>, classificationIds?: Array<string>, pageSize?: number, pageToken?: string, keywordsLocale?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ItemSearchResults>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.searchCatalogItems(marketplaceIds, identifiers, identifiersType, includedData, locale, sellerId, keywords, brandNames, classificationIds, pageSize, pageToken, keywordsLocale, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['CatalogItemsApi.searchCatalogItems']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n }\n};\n\n/**\n * CatalogItemsApi - factory interface\n */\nexport const CatalogItemsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n const localVarFp = CatalogItemsApiFp(configuration)\n return {\n /**\n * Retrieves details for an item in the Amazon catalog. **Usage Plan:** | Rate (requests per second) | Burst | | ---- | ---- | | 2 | 2 | The `x-amzn-RateLimit-Limit` response header contains the usage plan rate limits for the operation, when available. The preceding table contains the default rate and burst values for this operation. Selling partners whose business demands require higher throughput might have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).\n * @param {CatalogItemsApiGetCatalogItemRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getCatalogItem(requestParameters: CatalogItemsApiGetCatalogItemRequest, options?: RawAxiosRequestConfig): AxiosPromise<Item> {\n return localVarFp.getCatalogItem(requestParameters.asin, requestParameters.marketplaceIds, requestParameters.includedData, requestParameters.locale, options).then((request) => request(axios, basePath));\n },\n /**\n * Search for a list of Amazon catalog items and item-related information. You can search by identifier or by keywords. **Usage Plan:** | Rate (requests per second) | Burst | | ---- | ---- | | 2 | 2 | The `x-amzn-RateLimit-Limit` response header contains the usage plan rate limits for the operation, when available. The preceding table contains the default rate and burst values for this operation. Selling partners whose business demands require higher throughput might have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).\n * @param {CatalogItemsApiSearchCatalogItemsRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n searchCatalogItems(requestParameters: CatalogItemsApiSearchCatalogItemsRequest, options?: RawAxiosRequestConfig): AxiosPromise<ItemSearchResults> {\n return localVarFp.searchCatalogItems(requestParameters.marketplaceIds, requestParameters.identifiers, requestParameters.identifiersType, requestParameters.includedData, requestParameters.locale, requestParameters.sellerId, requestParameters.keywords, requestParameters.brandNames, requestParameters.classificationIds, requestParameters.pageSize, requestParameters.pageToken, requestParameters.keywordsLocale, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * Request parameters for getCatalogItem operation in CatalogItemsApi.\n */\nexport interface CatalogItemsApiGetCatalogItemRequest {\n /**\n * The Amazon Standard Identification Number (ASIN) of the item.\n */\n readonly asin: string\n\n /**\n * A comma-delimited list of Amazon marketplace identifiers. To find the ID for your marketplace, refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids).\n */\n readonly marketplaceIds: Array<string>\n\n /**\n * A comma-delimited list of datasets to include in the response.\n */\n readonly includedData?: Array<GetCatalogItemIncludedDataEnum>\n\n /**\n * The locale for which you want to retrieve localized summaries. Defaults to the primary locale of the marketplace.\n */\n readonly locale?: string\n}\n\n/**\n * Request parameters for searchCatalogItems operation in CatalogItemsApi.\n */\nexport interface CatalogItemsApiSearchCatalogItemsRequest {\n /**\n * A comma-delimited list of Amazon marketplace identifiers. To find the ID for your marketplace, refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids).\n */\n readonly marketplaceIds: Array<string>\n\n /**\n * A comma-delimited list of product identifiers that you can use to search the Amazon catalog. **Note:** You cannot include `identifiers` and `keywords` in the same request.\n */\n readonly identifiers?: Array<string>\n\n /**\n * The type of product identifiers that you can use to search the Amazon catalog. **Note:** `identifiersType` is required when `identifiers` is in the request.\n */\n readonly identifiersType?: SearchCatalogItemsIdentifiersTypeEnum\n\n /**\n * A comma-delimited list of datasets to include in the response.\n */\n readonly includedData?: Array<SearchCatalogItemsIncludedDataEnum>\n\n /**\n * The locale for which you want to retrieve localized summaries. Defaults to the primary locale of the marketplace.\n */\n readonly locale?: string\n\n /**\n * A selling partner identifier, such as a seller account or vendor code. **Note:** Required when `identifiersType` is `SKU`.\n */\n readonly sellerId?: string\n\n /**\n * A comma-delimited list of keywords that you can use to search the Amazon catalog. **Note:** You cannot include `keywords` and `identifiers` in the same request.\n */\n readonly keywords?: Array<string>\n\n /**\n * A comma-delimited list of brand names that you can use to limit the search in queries based on `keywords`. **Note:** Cannot be used with `identifiers`.\n */\n readonly brandNames?: Array<string>\n\n /**\n * A comma-delimited list of classification identifiers that you can use to limit the search in queries based on `keywords`. **Note:** Cannot be used with `identifiers`.\n */\n readonly classificationIds?: Array<string>\n\n /**\n * The number of results to include on each page.\n */\n readonly pageSize?: number\n\n /**\n * A token that you can use to fetch a specific page when there are multiple pages of results.\n */\n readonly pageToken?: string\n\n /**\n * The language of the keywords that are included in queries based on `keywords`. Defaults to the primary locale of the marketplace. **Note:** Cannot be used with `identifiers`.\n */\n readonly keywordsLocale?: string\n}\n\n/**\n * CatalogItemsApi - object-oriented interface\n */\nexport class CatalogItemsApi extends BaseAPI {\n /**\n * Retrieves details for an item in the Amazon catalog. **Usage Plan:** | Rate (requests per second) | Burst | | ---- | ---- | | 2 | 2 | The `x-amzn-RateLimit-Limit` response header contains the usage plan rate limits for the operation, when available. The preceding table contains the default rate and burst values for this operation. Selling partners whose business demands require higher throughput might have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).\n * @param {CatalogItemsApiGetCatalogItemRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public getCatalogItem(requestParameters: CatalogItemsApiGetCatalogItemRequest, options?: RawAxiosRequestConfig) {\n return CatalogItemsApiFp(this.configuration).getCatalogItem(requestParameters.asin, requestParameters.marketplaceIds, requestParameters.includedData, requestParameters.locale, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Search for a list of Amazon catalog items and item-related information. You can search by identifier or by keywords. **Usage Plan:** | Rate (requests per second) | Burst | | ---- | ---- | | 2 | 2 | The `x-amzn-RateLimit-Limit` response header contains the usage plan rate limits for the operation, when available. The preceding table contains the default rate and burst values for this operation. Selling partners whose business demands require higher throughput might have higher rate and burst values than those shown here. For more information, refer to [Usage Plans and Rate Limits](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api).\n * @param {CatalogItemsApiSearchCatalogItemsRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public searchCatalogItems(requestParameters: CatalogItemsApiSearchCatalogItemsRequest, options?: RawAxiosRequestConfig) {\n return CatalogItemsApiFp(this.configuration).searchCatalogItems(requestParameters.marketplaceIds, requestParameters.identifiers, requestParameters.identifiersType, requestParameters.includedData, requestParameters.locale, requestParameters.sellerId, requestParameters.keywords, requestParameters.brandNames, requestParameters.classificationIds, requestParameters.pageSize, requestParameters.pageToken, requestParameters.keywordsLocale, options).then((request) => request(this.axios, this.basePath));\n }\n}\n\nexport const GetCatalogItemIncludedDataEnum = {\n Attributes: 'attributes',\n Classifications: 'classifications',\n Dimensions: 'dimensions',\n Identifiers: 'identifiers',\n Images: 'images',\n ProductTypes: 'productTypes',\n Relationships: 'relationships',\n SalesRanks: 'salesRanks',\n Summaries: 'summaries',\n VendorDetails: 'vendorDetails',\n} as const;\nexport type GetCatalogItemIncludedDataEnum = typeof GetCatalogItemIncludedDataEnum[keyof typeof GetCatalogItemIncludedDataEnum];\nexport const SearchCatalogItemsIdentifiersTypeEnum = {\n Asin: 'ASIN',\n Ean: 'EAN',\n Gtin: 'GTIN',\n Isbn: 'ISBN',\n Jan: 'JAN',\n Minsan: 'MINSAN',\n Sku: 'SKU',\n Upc: 'UPC',\n} as const;\nexport type SearchCatalogItemsIdentifiersTypeEnum = typeof SearchCatalogItemsIdentifiersTypeEnum[keyof typeof SearchCatalogItemsIdentifiersTypeEnum];\nexport const SearchCatalogItemsIncludedDataEnum = {\n Attributes: 'attributes',\n Classifications: 'classifications',\n Dimensions: 'dimensions',\n Identifiers: 'identifiers',\n Images: 'images',\n ProductTypes: 'productTypes',\n Relationships: 'relationships',\n SalesRanks: 'salesRanks',\n Summaries: 'summaries',\n VendorDetails: 'vendorDetails',\n} as const;\nexport type SearchCatalogItemsIncludedDataEnum = typeof SearchCatalogItemsIncludedDataEnum[keyof typeof SearchCatalogItemsIncludedDataEnum];\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Selling Partner API for Catalog Items\n * Use the Selling Partner API for Catalog Items to retrieve information about items in the Amazon catalog. For more information, refer to the [Catalog Items API Use Case Guide](https://developer-docs.amazon.com/sp-api/docs/:catalog-items-api-v2022-04-01-use-case-guide).\n *\n * The version of the OpenAPI document: 2022-04-01\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport type { Configuration } from './configuration.js';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';\nimport globalAxios from 'axios';\n\nexport const BASE_PATH = \"https://sellingpartnerapi-na.amazon.com\".replace(/\\/+$/, \"\");\n\nexport const COLLECTION_FORMATS = {\n csv: \",\",\n ssv: \" \",\n tsv: \"\\t\",\n pipes: \"|\",\n};\n\nexport interface RequestArgs {\n url: string;\n options: RawAxiosRequestConfig;\n}\n\nexport class BaseAPI {\n protected configuration: Configuration | undefined;\n\n constructor(configuration?: Configuration, protected basePath: string = BASE_PATH, protected axios: AxiosInstance = globalAxios) {\n if (configuration) {\n this.configuration = configuration;\n this.basePath = configuration.basePath ?? basePath;\n }\n }\n};\n\nexport class RequiredError extends Error {\n constructor(public field: string, msg?: string) {\n super(msg);\n this.name = \"RequiredError\"\n }\n}\n\ninterface ServerMap {\n [key: string]: {\n url: string,\n description: string,\n }[];\n}\n\nexport const operationServerMap: ServerMap = {\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Selling Partner API for Catalog Items\n * Use the Selling Partner API for Catalog Items to retrieve information about items in the Amazon catalog. For more information, refer to the [Catalog Items API Use Case Guide](https://developer-docs.amazon.com/sp-api/docs/:catalog-items-api-v2022-04-01-use-case-guide).\n *\n * The version of the OpenAPI document: 2022-04-01\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { Configuration } from \"./configuration.js\";\nimport type { RequestArgs } from \"./base.js\";\nimport type { AxiosInstance, AxiosResponse } from 'axios';\nimport { RequiredError } from \"./base.js\";\n\nexport const DUMMY_BASE_URL = 'https://example.com'\n\n/**\n *\n * @throws {RequiredError}\n */\nexport const assertParamExists = function (functionName: string, paramName: string, paramValue: unknown) {\n if (paramValue === null || paramValue === undefined) {\n throw new RequiredError(paramName, `Required parameter ${paramName} was null or undefined when calling ${functionName}.`);\n }\n}\n\nexport const setApiKeyToObject = async function (object: any, keyParamName: string, configuration?: Configuration) {\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(keyParamName)\n : await configuration.apiKey;\n object[keyParamName] = localVarApiKeyValue;\n }\n}\n\nexport const setBasicAuthToObject = function (object: any, configuration?: Configuration) {\n if (configuration && (configuration.username || configuration.password)) {\n object[\"auth\"] = { username: configuration.username, password: configuration.password };\n }\n}\n\nexport const setBearerAuthToObject = async function (object: any, configuration?: Configuration) {\n if (configuration && configuration.accessToken) {\n const accessToken = typeof configuration.accessToken === 'function'\n ? await configuration.accessToken()\n : await configuration.accessToken;\n object[\"Authorization\"] = \"Bearer \" + accessToken;\n }\n}\n\nexport const setOAuthToObject = async function (object: any, name: string, scopes: string[], configuration?: Configuration) {\n if (configuration && configuration.accessToken) {\n const localVarAccessTokenValue = typeof configuration.accessToken === 'function'\n ? await configuration.accessToken(name, scopes)\n : await configuration.accessToken;\n object[\"Authorization\"] = \"Bearer \" + localVarAccessTokenValue;\n }\n}\n\n\nfunction setFlattenedQueryParams(urlSearchParams: URLSearchParams, parameter: any, key: string = \"\"): void {\n if (parameter == null) return;\n if (typeof parameter === \"object\") {\n if (Array.isArray(parameter) || parameter instanceof Set) {\n (parameter as any[]).forEach(item => setFlattenedQueryParams(urlSearchParams, item, key));\n }\n else {\n Object.keys(parameter).forEach(currentKey =>\n setFlattenedQueryParams(urlSearchParams, parameter[currentKey], `${key}${key !== '' ? '.' : ''}${currentKey}`)\n );\n }\n }\n else {\n if (urlSearchParams.has(key)) {\n urlSearchParams.append(key, parameter);\n }\n else {\n urlSearchParams.set(key, parameter);\n }\n }\n}\n\nexport const setSearchParams = function (url: URL, ...objects: any[]) {\n const searchParams = new URLSearchParams(url.search);\n setFlattenedQueryParams(searchParams, objects);\n url.search = searchParams.toString();\n}\n\n/**\n * JSON serialization helper function which replaces instances of unserializable types with serializable ones.\n * This function will run for every key-value pair encountered by JSON.stringify while traversing an object.\n * Converting a set to a string will return an empty object, so an intermediate conversion to an array is required.\n */\n// @ts-ignore\nexport const replaceWithSerializableTypeIfNeeded = function(key: string, value: any) {\n if (value instanceof Set) {\n return Array.from(value);\n } else {\n return value;\n }\n}\n\nexport const serializeDataIfNeeded = function (value: any, requestOptions: any, configuration?: Configuration) {\n const nonString = typeof value !== 'string';\n const needsSerialization = nonString && configuration && configuration.isJsonMime\n ? configuration.isJsonMime(requestOptions.headers['Content-Type'])\n : nonString;\n return needsSerialization\n ? JSON.stringify(value !== undefined ? value : {}, replaceWithSerializableTypeIfNeeded)\n : (value || \"\");\n}\n\nexport const toPathString = function (url: URL) {\n return url.pathname + url.search + url.hash\n}\n\nexport const createRequestFunction = function (axiosArgs: RequestArgs, globalAxios: AxiosInstance, BASE_PATH: string, configuration?: Configuration) {\n return <T = unknown, R = AxiosResponse<T>>(axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...axiosArgs.options, url: (axios.defaults.baseURL ? '' : configuration?.basePath ?? basePath) + axiosArgs.url};\n return axios.request<T, R>(axiosRequestArgs);\n };\n}\n","/* tslint:disable */\n/**\n * Selling Partner API for Catalog Items\n * Use the Selling Partner API for Catalog Items to retrieve information about items in the Amazon catalog. For more information, refer to the [Catalog Items API Use Case Guide](https://developer-docs.amazon.com/sp-api/docs/:catalog-items-api-v2022-04-01-use-case-guide).\n *\n * The version of the OpenAPI document: 2022-04-01\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\ninterface AWSv4Configuration {\n options?: {\n region?: string\n service?: string\n }\n credentials?: {\n accessKeyId?: string\n secretAccessKey?: string,\n sessionToken?: string\n }\n}\n\nexport interface ConfigurationParameters {\n apiKey?: string | Promise<string> | ((name: string) => string) | ((name: string) => Promise<string>);\n username?: string;\n password?: string;\n accessToken?: string | Promise<string> | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise<string>);\n awsv4?: AWSv4Configuration;\n basePath?: string;\n serverIndex?: number;\n baseOptions?: any;\n formDataCtor?: new () => any;\n}\n\nexport class Configuration {\n /**\n * parameter for apiKey security\n * @param name security name\n */\n apiKey?: string | Promise<string> | ((name: string) => string) | ((name: string) => Promise<string>);\n /**\n * parameter for basic security\n */\n username?: string;\n /**\n * parameter for basic security\n */\n password?: string;\n /**\n * parameter for oauth2 security\n * @param name security name\n * @param scopes oauth2 scope\n */\n accessToken?: string | Promise<string> | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise<string>);\n /**\n * parameter for aws4 signature security\n * @param {Object} AWS4Signature - AWS4 Signature security\n * @param {string} options.region - aws region\n * @param {string} options.service - name of the service.\n * @param {string} credentials.accessKeyId - aws access key id\n * @param {string} credentials.secretAccessKey - aws access key\n * @param {string} credentials.sessionToken - aws session token\n * @memberof Configuration\n */\n awsv4?: AWSv4Configuration;\n /**\n * override base path\n */\n basePath?: string;\n /**\n * override server index\n */\n serverIndex?: number;\n /**\n * base options for axios calls\n */\n baseOptions?: any;\n /**\n * The FormData constructor that will be used to create multipart form data\n * requests. You can inject this here so that execution environments that\n * do not support the FormData class can still run the generated client.\n *\n * @type {new () => FormData}\n */\n formDataCtor?: new () => any;\n\n constructor(param: ConfigurationParameters = {}) {\n this.apiKey = param.apiKey;\n this.username = param.username;\n this.password = param.password;\n this.accessToken = param.accessToken;\n this.awsv4 = param.awsv4;\n this.basePath = param.basePath;\n this.serverIndex = param.serverIndex;\n this.baseOptions = {\n ...param.baseOptions,\n headers: {\n ...param.baseOptions?.headers,\n },\n };\n this.formDataCtor = param.formDataCtor;\n }\n\n /**\n * Check if the given MIME is a JSON MIME.\n * JSON MIME examples:\n * application/json\n * application/json; charset=UTF8\n * APPLICATION/JSON\n * application/vnd.company+json\n * @param mime - MIME (Multipurpose Internet Mail Extensions)\n * @return True if the given MIME is JSON, false otherwise.\n */\n public isJsonMime(mime: string): boolean {\n const jsonMime: RegExp = /^(application\\/json|[^;/ \\t]+\\/[^;/ \\t]+[+]json)[ \\t]*(;.*)?$/i;\n return mime !== null && jsonMime.test(mime);\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Selling Partner API for Catalog Items\n * Use the Selling Partner API for Catalog Items to retrieve information about items in the Amazon catalog. For more information, refer to the [Catalog Items API Use Case Guide](https://developer-docs.amazon.com/sp-api/docs/:catalog-items-api-v2022-04-01-use-case-guide).\n *\n * The version of the OpenAPI document: 2022-04-01\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n\n/**\n * Image for an item in the Amazon catalog.\n */\nexport interface ItemImage {\n /**\n * Variant of the image, such as `MAIN` or `PT01`.\n */\n 'variant': ItemImageVariantEnum;\n /**\n * URL for the image.\n */\n 'link': string;\n /**\n * Height of the image in pixels.\n */\n 'height': number;\n /**\n * Width of the image in pixels.\n */\n 'width': number;\n}\n\nexport const ItemImageVariantEnum = {\n Main: 'MAIN',\n Pt01: 'PT01',\n Pt02: 'PT02',\n Pt03: 'PT03',\n Pt04: 'PT04',\n Pt05: 'PT05',\n Pt06: 'PT06',\n Pt07: 'PT07',\n Pt08: 'PT08',\n Swch: 'SWCH',\n} as const;\n\nexport type ItemImageVariantEnum = typeof ItemImageVariantEnum[keyof typeof ItemImageVariantEnum];\n\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Selling Partner API for Catalog Items\n * Use the Selling Partner API for Catalog Items to retrieve information about items in the Amazon catalog. For more information, refer to the [Catalog Items API Use Case Guide](https://developer-docs.amazon.com/sp-api/docs/:catalog-items-api-v2022-04-01-use-case-guide).\n *\n * The version of the OpenAPI document: 2022-04-01\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n// May contain unused imports in some cases\n// @ts-ignore\nimport type { ItemVariationTheme } from './item-variation-theme.js';\n\n/**\n * Relationship details for an Amazon catalog item.\n */\nexport interface ItemRelationship {\n /**\n * ASINs of the related items that are children of this item.\n */\n 'childAsins'?: Array<string>;\n /**\n * ASINs of the related items that are parents of this item.\n */\n 'parentAsins'?: Array<string>;\n 'variationTheme'?: ItemVariationTheme;\n /**\n * Type of relationship.\n */\n 'type': ItemRelationshipTypeEnum;\n}\n\nexport const ItemRelationshipTypeEnum = {\n Variation: 'VARIATION',\n PackageHierarchy: 'PACKAGE_HIERARCHY',\n} as const;\n\nexport type ItemRelationshipTypeEnum = typeof ItemRelationshipTypeEnum[keyof typeof ItemRelationshipTypeEnum];\n\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Selling Partner API for Catalog Items\n * Use the Selling Partner API for Catalog Items to retrieve information about items in the Amazon catalog. For more information, refer to the [Catalog Items API Use Case Guide](https://developer-docs.amazon.com/sp-api/docs/:catalog-items-api-v2022-04-01-use-case-guide).\n *\n * The version of the OpenAPI document: 2022-04-01\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n// May contain unused imports in some cases\n// @ts-ignore\nimport type { ItemBrowseClassification } from './item-browse-classification.js';\n// May contain unused imports in some cases\n// @ts-ignore\nimport type { ItemContributor } from './item-contributor.js';\n\n/**\n * Information about an Amazon catalog item for the indicated `marketplaceId`.\n */\nexport interface ItemSummaryByMarketplace {\n /**\n * Amazon marketplace identifier. To find the ID for your marketplace, refer to [Marketplace IDs](https://developer-docs.amazon.com/sp-api/docs/marketplace-ids).\n */\n 'marketplaceId': string;\n /**\n * When `true`, the Amazon catalog item is intended for an adult audience or is sexual in nature.\n */\n 'adultProduct'?: boolean;\n /**\n * When `true`, the Amazon catalog item is autographed.\n */\n 'autographed'?: boolean;\n /**\n * Name of the brand that is associated with the Amazon catalog item.\n */\n 'brand'?: string;\n 'browseClassification'?: ItemBrowseClassification;\n /**\n * The color that is associated with the Amazon catalog item.\n */\n 'color'?: string;\n /**\n * Individual contributors to the creation of the item, such as the authors or actors.\n */\n 'contributors'?: Array<ItemContributor>;\n /**\n * Classification type that is associated with the Amazon catalog item.\n */\n 'itemClassification'?: ItemSummaryByMarketplaceItemClassificationEnum;\n /**\n * The name that is associated with the Amazon catalog item.\n */\n 'itemName'?: string;\n /**\n * The name of the manufacturer that is associated with the Amazon catalog item.\n */\n 'manufacturer'?: string;\n /**\n * When true, the item is classified as memorabilia.\n */\n 'memorabilia'?: boolean;\n /**\n * The model number that is associated with the Amazon catalog item.\n */\n 'modelNumber'?: string;\n /**\n * The quantity of the Amazon catalog item within one package.\n */\n 'packageQuantity'?: number;\n /**\n * The part number that is associated with the Amazon catalog item.\n */\n 'partNumber'?: string;\n /**\n * The earliest date on which the Amazon catalog item can be shipped to customers.\n */\n 'releaseDate'?: string;\n /**\n * The name of the size of the Amazon catalog item.\n */\n 'size'?: string;\n /**\n * The name of the style that is associated with the Amazon catalog item.\n */\n 'style'?: string;\n /**\n * When true, the Amazon catalog item is eligible for trade-in.\n */\n 'tradeInEligible'?: boolean;\n /**\n * The identifier of the website display group that is associated with the Amazon catalog item.\n */\n 'websiteDisplayGroup'?: string;\n /**\n * The display name of the website display group that is associated with the Amazon catalog item.\n */\n 'websiteDisplayGroupName'?: string;\n}\n\nexport const ItemSummaryByMarketplaceItemClassificationEnum = {\n BaseProduct: 'BASE_PRODUCT',\n Other: 'OTHER',\n ProductBundle: 'PRODUCT_BUNDLE',\n VariationParent: 'VARIATION_PARENT',\n} as const;\n\nexport type ItemSummaryByMarketplaceItemClassificationEnum = typeof ItemSummaryByMarketplaceItemClassificationEnum[keyof typeof ItemSummaryByMarketplaceItemClassificationEnum];\n\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Selling Partner API for Catalog Items\n * Use the Selling Partner API for Catalog Items to retrieve information about items in the Amazon catalog. For more information, refer to the [Catalog Items API Use Case Guide](https://developer-docs.amazon.com/sp-api/docs/:catalog-items-api-v2022-04-01-use-case-guide).\n *\n * The version of the OpenAPI document: 2022-04-01\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n// May contain unused imports in some cases\n// @ts-ignore\nimport type { ItemVendorDetailsCategory } from './item-vendor-details-category.js';\n\n/**\n * The vendor details