NodeJS调用Amazon SP-API如何获取店铺全部商品列表
获取亚马逊店铺全部商品列表的正确API方法
要获取你自己店铺的全部商品列表,应该使用亚马逊SP-API中的**listListingsItems**操作,这个接口是专门为卖家提供的,用于查询自身店铺内的商品Listing,而非通用的商品搜索接口。
代码示例(适配你的现有调用方式)
let allListingsResponse = await APIs[ idProductsStocksPlace ].callAPI({ operation: 'listListingsItems', endpoint: 'listingsItems', query: { marketplaceIds: el.credentials.MarketplaceIds, includedData: ['attributes', 'pricing', 'inventory'], // 按需指定需要返回的字段 maxResultsPerPage: 100 // 每页最大返回数,默认是10,最大支持100 }, path:{ sellerId: 'xxxxxxxxxxxxx', } });
关键说明
- 分页处理:如果你的店铺商品数量超过
maxResultsPerPage设置的值,接口会返回nextToken参数,你需要在后续请求中把这个参数加入query里,直到返回结果中没有nextToken,才表示获取完所有商品。 - includedData参数:可以根据需求选择返回的字段,比如
attributes(商品属性)、pricing(定价信息)、inventory(库存信息)等,避免返回不必要的数据提升效率。 - 权限要求:确保你的SP-API账号拥有
Listings Items相关的访问权限,否则会返回权限错误。
为什么productSearch.searchItems不适用
这个接口是面向买家端的通用商品搜索,基于关键词、分类等维度搜索亚马逊平台上的所有商品,无法精准过滤出你自己店铺的商品,因此不适合用来获取自身店铺的全部商品列表。
内容的提问来源于stack exchange,提问作者Slayes
相关产品推荐
相关产品推荐

