如何为Amazon Seller API不同类目生成XML及获取新品创建XML结构?
解决Amazon Seller API创建新品的XML生成问题
一、针对不同类目/子类生成对应XML的方法
不同类目/子类的XML差异核心在于专属属性要求,解决思路是先获取类目属性元数据,再动态构建结构:
- 获取类目属性规则
用SP-API的productTypeDefinitions资源(旧MWS用GetCategorySpecifics接口),传入目标子类的categoryId和productType参数,接口会返回该类目的:
- 必填属性列表(必须包含在XML中,否则Feed会报错)
- 可选属性列表(按需添加)
- 属性的数据类型、枚举选项、格式要求(比如日期格式、数值范围)
注意:必须精准到子类ID,同一大类下的子类属性要求可能差异很大。
- 获取类目属性规则
- 动态构建XML结构
根据接口返回的元数据,把必填属性全部纳入XML的ProductData节点下,可选属性根据产品情况添加。比如电子类耳机的ProductData会包含BluetoothVersion,而普通音箱不需要这个字段。
- 动态构建XML结构
二、创建新品的XML结构(POST_PRODUCT_DATA Feed)
创建新品用的Feed类型是POST_PRODUCT_DATA,核心区别是OperationType设为Insert,且需要包含完整的产品标识和属性。以下是通用结构示例:
<?xml version="1.0" encoding="UTF-8"?> <AmazonEnvelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="amzn-envelope.xsd"> <Header> <DocumentVersion>1.01</DocumentVersion> <MerchantIdentifier>YOUR_MERCHANT_ID</MerchantIdentifier> </Header> <MessageType>Product</MessageType> <Message> <MessageID>1</MessageID> <OperationType>Insert</OperationType> <!-- 创建新品必须用Insert,更新用Update --> <Product> <SKU>YOUR_UNIQUE_SKU</SKU> <!-- 用GTIN(UPC/EAN)或ASIN,根据类目要求选择 --> <StandardProductID> <Type>UPC</Type> <Value>123456789012</Value> </StandardProductID> <ProductTaxCode>A_GEN_NOTAX</ProductTaxCode> <DescriptionData> <Title>Wireless Bluetooth Headphones 5.3 - 24H Battery</Title> <Brand>SoundCore</Brand> <Description>Noise-canceling wireless headphones with 24-hour battery life, compatible with iOS and Android.</Description> <BulletPoint>Advanced Bluetooth 5.3 for stable connection</BulletPoint> <BulletPoint>24-hour playtime on single charge</BulletPoint> <MSRP currency="USD">39.99</MSRP> <Manufacturer>Anker Innovations</Manufacturer> </DescriptionData> <!-- 类目专属属性,这里以无线耳机为例 --> <ProductData> <Electronics> <ProductType> <WirelessHeadphones> <BluetoothVersion>5.3</BluetoothVersion> <BatteryLife unit="hours">24</BatteryLife> <NoiseCancellation>Active</NoiseCancellation> </WirelessHeadphones> </ProductType> </Electronics> </ProductData> </Product> </Message> </AmazonEnvelope>
关键注意事项:
OperationType:创建全新Listing必须用Insert;如果是更新已有SKU的产品信息,用Update。ProductData节点:必须严格匹配你从productTypeDefinitions获取到的类目结构,比如服装类会是Apparel节点,里面包含Shirt或Pants等子类属性。- 属性格式:所有属性必须符合接口返回的要求,比如枚举值不能自定义(比如
NoiseCancellation只能用Active/Passive等官方指定值),数值要带正确单位。 - 测试:可以先用卖家后台的Feed测试工具上传XML,查看错误报告后调整,避免正式调用API时出错。
内容的提问来源于stack exchange,提问作者abdul
相关产品推荐
相关产品推荐

