如何通过Amazon SP API为已有ASIN创建商品报价?
基于Amazon SP API为已有ASIN创建报价的实现方案
核心逻辑
你可以使用SP API Listings Items 2021-08-01版本的提交接口,指定LISTING_OFFER_ONLY模式,无需修改商品基础属性,直接提交SKU、价格、库存参数匹配已有ASIN创建报价,完全适配你的需求。
完整代码实现
const SellingPartnerAPI = require('amazon-sp-api'); const TOKEN = '...'; // 请提前替换为你自己的配置参数 const SELLER_ID = '你的亚马逊卖家ID'; const MARKETPLACE_ID = '对应站点的市场ID,例如欧洲站德国为A1PA6795UKMFR9'; const CURRENCY_CODE = '对应站点货币代码,例如欧元区为EUR'; (async () => { try { let sellingPartner = new SellingPartnerAPI({ region: "eu", refresh_token: TOKEN }); const createOffer = async (options) => { const { asin, sku, quantity, price } = options; return sellingPartner.callAPI({ operation: 'putListingsItem', path: { sellerId: SELLER_ID, sku }, query: { marketplaceIds: [MARKETPLACE_ID], issueLocale: 'zh_CN', requirements: 'LISTING_OFFER_ONLY' }, method: 'PUT', body: { productType: 'PRODUCT', identifiers: [ { marketplaceId: MARKETPLACE_ID, identifierType: 'ASIN', identifier: asin } ], attributes: { purchase_price: [ { value: { currency_code: CURRENCY_CODE, amount: price } } ], fulfillment_availability: [ { value: { quantity, // 自发货填MERCHANT_FULFILLED,FBA发货填AMAZON_FULFILLED fulfillment_channel: 'MERCHANT_FULFILLED' } } ] } } }) } let res = await createOffer({ asin: '目标ASIN', sku: '自定义SKU', quantity: 库存数量, price: 商品售价 }); console.log(res); } catch (e) { console.error(e) } })()
注意事项
- 调用前请确认你的SP API应用已申请Listings Items API的访问权限,且对应卖家已为你的应用授权相关权限
- 返回结果中如果没有ERROR级别的issues字段,说明提交成功,后续可通过getListingsItem接口查询报价的审核状态
- 如果需要设置促销价、发货时间等其他参数,可以在attributes字段中补充对应配置即可
内容的提问来源于stack exchange,提问作者Ionică Bizău
相关产品推荐
相关产品推荐

