用 Python × SP-API 获取商品销售手续费 | Amazon Selling Partner API
- 1天前
- 讀畢需時 2 分鐘

Selling Partner API(SP-API)是面向Amazon卖家合作伙伴的自动化功能的新一代API套件,是Amazon Marketplace Web Service(MWS)API的演进版本。MWS已提供对Amazon重要功能的程序化访问超过十年。SP-API公开后,将可在目前支持MWS的所有Amazon商店的生产环境中使用。
目前使用MWS的开发者,需要在2024年4月1日之前迁移到SP-API。(截至2023年1月23日的信息)
Selling Partner API for Product Fees
使用Product Fees的API,可以通过程序获取商品销售中的手续费估算。在考虑手续费来设定商品价格时很有帮助。
环境准备
要在Python中使用SP-API,需要安装python-amazon-sp-api库。我在AWS Lambda中执行Python,因此为了把库安装到Lambda的目标项目中,加上了「-t .」选项
pip install python-amazon-sp-api -t .执行SP-API需要凭据。把凭据统一存放在credentials中会比较方便。各个值的获取方法将在另一篇文章中介绍。
credentials : {
"refresh_token": 刷新令牌,
"lwa_app_id": 客户端ID,
"lwa_client_secret": 客户端密钥,
"aws_access_key": AWS访问密钥,
"aws_secret_key": AWS私有密钥
}
执行API
getMyFeesEstimateForSKU:可在指定的站点,获取与指定卖家SKU相关商品的销售预估手续费。在请求中包含想为目标商品设定的金额,就能在为商品定价之前了解销售的预估手续费,从而有助于设定售价。
getMyFeesEstimateForASIN:可在指定的站点,获取与指定ASIN相关商品的销售预估手续费。同样可在定价前确认预估手续费。
getMyFeesEstimateForASIN(示例)
from sp_api.api import ProductFees
from sp_api.base.marketplaces import Marketplaces
def lambda_handler(event, context):
#创建用于使用ProductFees的对象
obj = ProductFees(marketplace=Marketplaces.JP,
credentials=event['credentials'])
#设置检索所需的值并获取商品手续费信息
result = obj.get_product_fees_estimate_for_asin(asin='B01LYKJUX6',
price=1500,
currency='JPY',
shipping_price=0,
is_fba=True)
return result.payload
参数说明
・asin:要估算手续费的目标商品的ASIN
・price:想为商品设定的销售价格
・currency:货币代码(日本则为JPY)
・shipping_price:运费。不包含时为0
・is_fba:若为FBA(亚马逊配送)则True,自行配送则False
执行结果(示例)
{
"FeesEstimateResult": {
"Status": "Success",
"FeesEstimateIdentifier": {
"MarketplaceId": "A1VC38T7YXB528",
"IdType": "ASIN",
"SellerId": "***********",
"SellerInputIdentifier": "B01LYKJUX6",
"IsAmazonFulfilled": true,
"IdValue": "B01LYKJUX6",
"PriceToEstimateFees": {
"ListingPrice": {
"CurrencyCode": "JPY",
"Amount": 1500
}
}
},
"FeesEstimate": {
"TimeOfFeesEstimation": "2023-02-15T01:52:23.000Z",
"TotalFeesEstimate": {
"CurrencyCode": "JPY",
"Amount": 554
},
"FeeDetailList": [
{
"FeeType": "ReferralFee",
"FeeAmount": {
"CurrencyCode": "JPY",
"Amount": 120
},
"FinalFee": {
"CurrencyCode": "JPY",
"Amount": 120
},
"FeePromotion": {
"CurrencyCode": "JPY",
"Amount": 0
}
},
{
"FeeType": "VariableClosingFee",
"FeeAmount": {
"CurrencyCode": "JPY",
"Amount": 0
},
"FinalFee": {
"CurrencyCode": "JPY",
"Amount": 0
},
"FeePromotion": {
"CurrencyCode": "JPY",
"Amount": 0
}
},
{
"FeeType": "PerItemFee",
"FeeAmount": {
"CurrencyCode": "JPY",
"Amount": 0
},
"FinalFee": {
"CurrencyCode": "JPY",
"Amount": 0
},
"FeePromotion": {
"CurrencyCode": "JPY",
"Amount": 0
}
},
{
"FeeType": "FBAFees",
"FeeAmount": {
"CurrencyCode": "JPY",
"Amount": 434
},
"FinalFee": {
"CurrencyCode": "JPY",
"Amount": 434
},
"FeePromotion": {
"CurrencyCode": "JPY",
"Amount": 0
},
"IncludedFeeDetailList": [
{
"FeeType": "FBAPickAndPack",
"FeeAmount": {
"CurrencyCode": "JPY",
"Amount": 434
},
"FinalFee": {
"CurrencyCode": "JPY",
"Amount": 434
},
"FeePromotion": {
"CurrencyCode": "JPY",
"Amount": 0
}
}
]
}
]
}
}
}
所获取的各项目分别代表什么,与Amazon Seller Central的费用模拟器对照来看会更容易理解
多设置几种参数,让自己能够获取所需的数据吧。



留言