top of page

用 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的费用模拟器对照来看会更容易理解

多设置几种参数,让自己能够获取所需的数据吧。

 
 
 

留言


© Copyright ROBIN planning LLC.

bottom of page