UNPKG

@sp-api-sdk/catalog-items-api-2022-04-01

Version:

The Selling Partner API for Catalog Items provides programmatic access to information about items in the Amazon catalog. For more information, refer to the Catalog Items API Use Case Guide.

299 lines (298 loc) 23.7 kB
"use strict"; /* tslint:disable */ /* eslint-disable */ /** * Selling Partner API for Catalog Items * The Selling Partner API for Catalog Items provides programmatic access to 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). * * The version of the OpenAPI document: 2022-04-01 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.SearchCatalogItemsIncludedDataEnum = exports.SearchCatalogItemsIdentifiersTypeEnum = exports.GetCatalogItemIncludedDataEnum = exports.CatalogApi = exports.CatalogApiFactory = exports.CatalogApiFp = exports.CatalogApiAxiosParamCreator = void 0; const axios_1 = __importDefault(require("axios")); // Some imports not used depending on template conditions // @ts-ignore const common_1 = require("../common"); // @ts-ignore const base_1 = require("../base"); /** * CatalogApi - axios parameter creator * @export */ const CatalogApiAxiosParamCreator = function (configuration) { return { /** * 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 returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to the [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). * @param {string} asin The Amazon Standard Identification Number (ASIN) of the item. * @param {Array<string>} marketplaceIds A comma-delimited list of Amazon marketplace identifiers. Data sets in the response contain data only for the specified marketplaces. * @param {Array<GetCatalogItemIncludedDataEnum>} [includedData] A comma-delimited list of data sets to include in the response. Default: &#x60;summaries&#x60;. * @param {string} [locale] Locale for retrieving localized summaries. Defaults to the primary locale of the marketplace. * @param {*} [options] Override http request option. * @throws {RequiredError} */ getCatalogItem: async (asin, marketplaceIds, includedData, locale, options = {}) => { // verify required parameter 'asin' is not null or undefined (0, common_1.assertParamExists)('getCatalogItem', 'asin', asin); // verify required parameter 'marketplaceIds' is not null or undefined (0, common_1.assertParamExists)('getCatalogItem', 'marketplaceIds', marketplaceIds); const localVarPath = `/catalog/2022-04-01/items/{asin}` .replace(`{${"asin"}}`, encodeURIComponent(String(asin))); // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options }; const localVarHeaderParameter = {}; const localVarQueryParameter = {}; if (marketplaceIds) { localVarQueryParameter['marketplaceIds'] = marketplaceIds.join(base_1.COLLECTION_FORMATS.csv); } if (includedData) { localVarQueryParameter['includedData'] = includedData.join(base_1.COLLECTION_FORMATS.csv); } if (locale !== undefined) { localVarQueryParameter['locale'] = locale; } (0, common_1.setSearchParams)(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers }; return { url: (0, common_1.toPathString)(localVarUrlObj), options: localVarRequestOptions, }; }, /** * Search for and return a list of Amazon catalog items and associated information either by identifier or by keywords. **Usage Plans:** | Rate (requests per second) | Burst | | ---- | ---- | | 2 | 2 | The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to the [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). * @param {Array<string>} marketplaceIds A comma-delimited list of Amazon marketplace identifiers for the request. * @param {Array<string>} [identifiers] A comma-delimited list of product identifiers to search the Amazon catalog for. **Note:** Cannot be used with &#x60;keywords&#x60;. * @param {SearchCatalogItemsIdentifiersTypeEnum} [identifiersType] Type of product identifiers to search the Amazon catalog for. **Note:** Required when &#x60;identifiers&#x60; are provided. * @param {Array<SearchCatalogItemsIncludedDataEnum>} [includedData] A comma-delimited list of data sets to include in the response. Default: &#x60;summaries&#x60;. * @param {string} [locale] Locale for retrieving localized summaries. Defaults to the primary locale of the marketplace. * @param {string} [sellerId] A selling partner identifier, such as a seller account or vendor code. **Note:** Required when &#x60;identifiersType&#x60; is &#x60;SKU&#x60;. * @param {Array<string>} [keywords] A comma-delimited list of words to search the Amazon catalog for. **Note:** Cannot be used with &#x60;identifiers&#x60;. * @param {Array<string>} [brandNames] A comma-delimited list of brand names to limit the search for &#x60;keywords&#x60;-based queries. **Note:** Cannot be used with &#x60;identifiers&#x60;. * @param {Array<string>} [classificationIds] A comma-delimited list of classification identifiers to limit the search for &#x60;keywords&#x60;-based queries. **Note:** Cannot be used with &#x60;identifiers&#x60;. * @param {number} [pageSize] Number of results to be returned per page. * @param {string} [pageToken] A token to fetch a certain page when there are multiple pages worth of results. * @param {string} [keywordsLocale] The language of the keywords provided for &#x60;keywords&#x60;-based queries. Defaults to the primary locale of the marketplace. **Note:** Cannot be used with &#x60;identifiers&#x60;. * @param {*} [options] Override http request option. * @throws {RequiredError} */ searchCatalogItems: async (marketplaceIds, identifiers, identifiersType, includedData, locale, sellerId, keywords, brandNames, classificationIds, pageSize, pageToken, keywordsLocale, options = {}) => { // verify required parameter 'marketplaceIds' is not null or undefined (0, common_1.assertParamExists)('searchCatalogItems', 'marketplaceIds', marketplaceIds); const localVarPath = `/catalog/2022-04-01/items`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options }; const localVarHeaderParameter = {}; const localVarQueryParameter = {}; if (identifiers) { localVarQueryParameter['identifiers'] = identifiers.join(base_1.COLLECTION_FORMATS.csv); } if (identifiersType !== undefined) { localVarQueryParameter['identifiersType'] = identifiersType; } if (marketplaceIds) { localVarQueryParameter['marketplaceIds'] = marketplaceIds.join(base_1.COLLECTION_FORMATS.csv); } if (includedData) { localVarQueryParameter['includedData'] = includedData.join(base_1.COLLECTION_FORMATS.csv); } if (locale !== undefined) { localVarQueryParameter['locale'] = locale; } if (sellerId !== undefined) { localVarQueryParameter['sellerId'] = sellerId; } if (keywords) { localVarQueryParameter['keywords'] = keywords.join(base_1.COLLECTION_FORMATS.csv); } if (brandNames) { localVarQueryParameter['brandNames'] = brandNames.join(base_1.COLLECTION_FORMATS.csv); } if (classificationIds) { localVarQueryParameter['classificationIds'] = classificationIds.join(base_1.COLLECTION_FORMATS.csv); } if (pageSize !== undefined) { localVarQueryParameter['pageSize'] = pageSize; } if (pageToken !== undefined) { localVarQueryParameter['pageToken'] = pageToken; } if (keywordsLocale !== undefined) { localVarQueryParameter['keywordsLocale'] = keywordsLocale; } (0, common_1.setSearchParams)(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers }; return { url: (0, common_1.toPathString)(localVarUrlObj), options: localVarRequestOptions, }; }, }; }; exports.CatalogApiAxiosParamCreator = CatalogApiAxiosParamCreator; /** * CatalogApi - functional programming interface * @export */ const CatalogApiFp = function (configuration) { const localVarAxiosParamCreator = (0, exports.CatalogApiAxiosParamCreator)(configuration); return { /** * 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 returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to the [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). * @param {string} asin The Amazon Standard Identification Number (ASIN) of the item. * @param {Array<string>} marketplaceIds A comma-delimited list of Amazon marketplace identifiers. Data sets in the response contain data only for the specified marketplaces. * @param {Array<GetCatalogItemIncludedDataEnum>} [includedData] A comma-delimited list of data sets to include in the response. Default: &#x60;summaries&#x60;. * @param {string} [locale] Locale for retrieving localized summaries. Defaults to the primary locale of the marketplace. * @param {*} [options] Override http request option. * @throws {RequiredError} */ async getCatalogItem(asin, marketplaceIds, includedData, locale, options) { const localVarAxiosArgs = await localVarAxiosParamCreator.getCatalogItem(asin, marketplaceIds, includedData, locale, options); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = base_1.operationServerMap['CatalogApi.getCatalogItem']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => (0, common_1.createRequestFunction)(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * Search for and return a list of Amazon catalog items and associated information either by identifier or by keywords. **Usage Plans:** | Rate (requests per second) | Burst | | ---- | ---- | | 2 | 2 | The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to the [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). * @param {Array<string>} marketplaceIds A comma-delimited list of Amazon marketplace identifiers for the request. * @param {Array<string>} [identifiers] A comma-delimited list of product identifiers to search the Amazon catalog for. **Note:** Cannot be used with &#x60;keywords&#x60;. * @param {SearchCatalogItemsIdentifiersTypeEnum} [identifiersType] Type of product identifiers to search the Amazon catalog for. **Note:** Required when &#x60;identifiers&#x60; are provided. * @param {Array<SearchCatalogItemsIncludedDataEnum>} [includedData] A comma-delimited list of data sets to include in the response. Default: &#x60;summaries&#x60;. * @param {string} [locale] Locale for retrieving localized summaries. Defaults to the primary locale of the marketplace. * @param {string} [sellerId] A selling partner identifier, such as a seller account or vendor code. **Note:** Required when &#x60;identifiersType&#x60; is &#x60;SKU&#x60;. * @param {Array<string>} [keywords] A comma-delimited list of words to search the Amazon catalog for. **Note:** Cannot be used with &#x60;identifiers&#x60;. * @param {Array<string>} [brandNames] A comma-delimited list of brand names to limit the search for &#x60;keywords&#x60;-based queries. **Note:** Cannot be used with &#x60;identifiers&#x60;. * @param {Array<string>} [classificationIds] A comma-delimited list of classification identifiers to limit the search for &#x60;keywords&#x60;-based queries. **Note:** Cannot be used with &#x60;identifiers&#x60;. * @param {number} [pageSize] Number of results to be returned per page. * @param {string} [pageToken] A token to fetch a certain page when there are multiple pages worth of results. * @param {string} [keywordsLocale] The language of the keywords provided for &#x60;keywords&#x60;-based queries. Defaults to the primary locale of the marketplace. **Note:** Cannot be used with &#x60;identifiers&#x60;. * @param {*} [options] Override http request option. * @throws {RequiredError} */ async searchCatalogItems(marketplaceIds, identifiers, identifiersType, includedData, locale, sellerId, keywords, brandNames, classificationIds, pageSize, pageToken, keywordsLocale, options) { const localVarAxiosArgs = await localVarAxiosParamCreator.searchCatalogItems(marketplaceIds, identifiers, identifiersType, includedData, locale, sellerId, keywords, brandNames, classificationIds, pageSize, pageToken, keywordsLocale, options); const localVarOperationServerIndex = configuration?.serverIndex ?? 0; const localVarOperationServerBasePath = base_1.operationServerMap['CatalogApi.searchCatalogItems']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => (0, common_1.createRequestFunction)(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, }; }; exports.CatalogApiFp = CatalogApiFp; /** * CatalogApi - factory interface * @export */ const CatalogApiFactory = function (configuration, basePath, axios) { const localVarFp = (0, exports.CatalogApiFp)(configuration); return { /** * 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 returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to the [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). * @param {CatalogApiGetCatalogItemRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ getCatalogItem(requestParameters, options) { return localVarFp.getCatalogItem(requestParameters.asin, requestParameters.marketplaceIds, requestParameters.includedData, requestParameters.locale, options).then((request) => request(axios, basePath)); }, /** * Search for and return a list of Amazon catalog items and associated information either by identifier or by keywords. **Usage Plans:** | Rate (requests per second) | Burst | | ---- | ---- | | 2 | 2 | The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to the [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). * @param {CatalogApiSearchCatalogItemsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ searchCatalogItems(requestParameters, options) { 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)); }, }; }; exports.CatalogApiFactory = CatalogApiFactory; /** * CatalogApi - object-oriented interface * @export * @class CatalogApi * @extends {BaseAPI} */ class CatalogApi extends base_1.BaseAPI { /** * 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 returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to the [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). * @param {CatalogApiGetCatalogItemRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof CatalogApi */ getCatalogItem(requestParameters, options) { return (0, exports.CatalogApiFp)(this.configuration).getCatalogItem(requestParameters.asin, requestParameters.marketplaceIds, requestParameters.includedData, requestParameters.locale, options).then((request) => request(this.axios, this.basePath)); } /** * Search for and return a list of Amazon catalog items and associated information either by identifier or by keywords. **Usage Plans:** | Rate (requests per second) | Burst | | ---- | ---- | | 2 | 2 | The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may observe higher rate and burst values than those shown here. For more information, refer to the [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). * @param {CatalogApiSearchCatalogItemsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof CatalogApi */ searchCatalogItems(requestParameters, options) { return (0, exports.CatalogApiFp)(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)); } } exports.CatalogApi = CatalogApi; /** * @export */ exports.GetCatalogItemIncludedDataEnum = { Attributes: 'attributes', Classifications: 'classifications', Dimensions: 'dimensions', Identifiers: 'identifiers', Images: 'images', ProductTypes: 'productTypes', Relationships: 'relationships', SalesRanks: 'salesRanks', Summaries: 'summaries', VendorDetails: 'vendorDetails' }; /** * @export */ exports.SearchCatalogItemsIdentifiersTypeEnum = { Asin: 'ASIN', Ean: 'EAN', Gtin: 'GTIN', Isbn: 'ISBN', Jan: 'JAN', Minsan: 'MINSAN', Sku: 'SKU', Upc: 'UPC' }; /** * @export */ exports.SearchCatalogItemsIncludedDataEnum = { Attributes: 'attributes', Classifications: 'classifications', Dimensions: 'dimensions', Identifiers: 'identifiers', Images: 'images', ProductTypes: 'productTypes', Relationships: 'relationships', SalesRanks: 'salesRanks', Summaries: 'summaries', VendorDetails: 'vendorDetails' };