こんにちは、DXCEL WAVEの運営者(@dxcelwave)です!
- PythonでAmazon SP-APIを操作できるようになる。
- Amazon SP-APIで商品販売にかかる手数料の合計価格(Amazon出品手数料+発送手数料+FBA利用手数料)が計算できるようになる。
Amazon セリングパートナーAPI(SP-API)とは
Amazon SP-APIとは、商品リサーチ・出品・注文状況確認・配送・会計管理などの機能を多数取り扱う、業務効率化を実現するためのWebサービスです。
Amazon SP-APIでできること|取得できるデータ
Amazon SP-APIの活用により、商品リサーチの効率化をはじめ、自社商品の出品状況・注文状況・配送内容・売上情報のレポーティングなどの情報が自由に操作できるようになるため、Amazonサプライチェーン全体での業務効率化が実現できます。
具体的にSP-APIには次のような機能が踏襲されています。
- Amazon商品データ(商品詳細・価格・在庫・売上ランキング)の取得
- 商品販売にかかる手数料計算
- 商品の出品状況の管理(商品登録・参照・更新・削除)
- 商品の注文状況の管理
- FBA配送に対する適格性(禁止・規制品)データの取得
- 会計(商品売上等)データの取得・レポーティング
- 顧客との問い合わせ・メッセージの管理
- 通知情報の管理
Amazon SP-APIを利用するための条件
Amazon SP-APIは、Amazon開発者として登録すると活用できるようになります。
開発者登録には次のような条件を満たす必要があります。
- Amazonセラーセントラルのアカウントを保有していること
- 上記アカウントステータスが「大口出品」であること
【参考】物販業務を効率化する代替手段
前述で述べた通り、Amazon SP-APIを利用するにはAmazonセラーセントラルの大口出品者としてをアカウントを登録する必要があります。
大口出品者になると月額4,900円の支払いが発生することに注意が必要です。
SP-APIを利用しない代替手段として、既存のツールを用いて物販自動化を検討する方法もあります。筆者おすすめの使い勝手が良い既存ツールも合わせて紹介します。
こんな方におすすめ!
- オンラインショッピングにおける販路を拡大したい
- 商品リサーチに時間をかけたくない
- 中国輸入やOEMに興味がある
- 競合他社を効率的に分析したい
- 自社ショップの商品売上等の時系列分析をやりたい
本記事で紹介する内容
本記事ではPythonとAmazon SP-APIを用いて下記を実現するプログラミング手法を解説します。
【事前準備】Python×Amazon SP-API
Amazon SP-APIを利用するには、以下のPythonパッケージをインストールする必要があります。
pip install python-amazon-sp-api
後述で紹介するプログラミングコードの実行には、API情報の紐付けが必須です。下記credentials
内に示すAPI情報を事前に入力し、Pythonスクリプト先頭にこのコードを貼り付けておきましょう。
credentials=dict(
refresh_token = 'リフレッシュトークン', # Amazon Seller開発者登録後に入手可能
lwa_app_id = 'クライアントID', # Amazon Seller開発者登録後に入手可能
lwa_client_secret = 'クライアント機密情報', # Amazon Seller開発者登録後に入手可能
aws_access_key = 'AWS アクセスキー', #(AWS IAMユーザーロール登録時に取得可能)
aws_secret_key = 'AWS シークレットキー', #(AWS IAMユーザーロール登録時に取得可能)
role_arn = 'AWS IAM ARN', #(AWS IAMユーザーロール登録時に取得可能)
)
【実践】Amazon SP-API|商品販売にかかる手数料を見積もり
PythonとAmazonセリングパートナーAPI(SP-API)を用いて商品販売手数料を見積もる方法を解説します。
以下「Pythonプログラミングコード」と「コード実行後のアウトプット」をそれぞれ示します。
商品販売にかかる手数料の合計価格の見積もり(ASIN)
引数にASINコード、商品販売価格(または販売時の予定価格)、通貨コード、商品発送手数料、FBA利用要否を渡し、コードを実行すると、下記出力結果が得られます。
- 商品販売にかかる手数料の合計価格(Amazon出品手数料+発送手数料+FBA利用手数料)
from sp_api.api import ProductFees
from sp_api.base.marketplaces import Marketplaces
def fee_estimator_asin(ASIN,productPrice,currencyCode,shippingPrice,FBA):
# 商品手数料オブジェクト
productfees = ProductFees(marketplace=Marketplaces.JP, # 対象のマーケットプレイスを指定
credentials=credentials) # API情報を指定
# 結果取得
result = productfees.get_product_fees_estimate_for_asin(asin=ASIN,
price=productPrice,
currency=currencyCode,
shipping_price=shippingPrice,
is_fba=FBA,
)
return result()
# 引数情報
ASIN = 'B07WXL5YPW' # ASINコード
currencyCode = 'JPY' # 通貨コード
productPrice = 2000 # 商品販売価格
shippingPrice = 500 # 発送手数料
FBA = True # FBA利用:True, FBA利用なし:False
# 関数実行
fee_estimator_asin(ASIN,productPrice,currencyCode,shippingPrice,FBA)
# 出力イメージ
# {'FeesEstimateResult': {'Status': 'Success',
# 'FeesEstimateIdentifier': {'MarketplaceId': 'A1VC38T7YXB528',
# 'IdType': 'ASIN',
# 'SellerId': 'A1SK9WZ5V932ZX',
# 'SellerInputIdentifier': 'B07WXL5YPW',
# 'IsAmazonFulfilled': True,
# 'IdValue': 'B07WXL5YPW',
# 'PriceToEstimateFees': {'ListingPrice': {'CurrencyCode': 'JPY',
# 'Amount': 2000},
# 'Shipping': {'CurrencyCode': 'JPY', 'Amount': 500}}},
# 以下が手数料見積もり情報
# 'FeesEstimate': {'TimeOfFeesEstimation': '2022-04-03T00:10:28.000Z',
# 'TotalFeesEstimate': {'CurrencyCode': 'JPY', 'Amount': 1174.0},
# 'FeeDetailList': [{'FeeType': 'ReferralFee',
# 'FeeAmount': {'CurrencyCode': 'JPY', 'Amount': 660.0},
# 'FinalFee': {'CurrencyCode': 'JPY', 'Amount': 660.0},
# 'FeePromotion': {'CurrencyCode': 'JPY', 'Amount': 0.0}},
# {'FeeType': 'VariableClosingFee',
# 'FeeAmount': {'CurrencyCode': 'JPY', 'Amount': 0.0},
# 'FinalFee': {'CurrencyCode': 'JPY', 'Amount': 0.0},
# 'FeePromotion': {'CurrencyCode': 'JPY', 'Amount': 0.0}},
# {'FeeType': 'PerItemFee',
# 'FeeAmount': {'CurrencyCode': 'JPY', 'Amount': 0.0},
# 'FinalFee': {'CurrencyCode': 'JPY', 'Amount': 0.0},
# 'FeePromotion': {'CurrencyCode': 'JPY', 'Amount': 0.0}},
# {'FeeType': 'FBAFees',
# 'FeeAmount': {'CurrencyCode': 'JPY', 'Amount': 514.0},
# 'FinalFee': {'CurrencyCode': 'JPY', 'Amount': 514.0},
# 'FeePromotion': {'CurrencyCode': 'JPY', 'Amount': 0.0},
# 'IncludedFeeDetailList': [{'FeeType': 'FBAPickAndPack',
# 'FeeAmount': {'CurrencyCode': 'JPY', 'Amount': 514.0},
# 'FinalFee': {'CurrencyCode': 'JPY', 'Amount': 514.0},
# 'FeePromotion': {'CurrencyCode': 'JPY', 'Amount': 0.0}}]}]}}}
アメリカなど海外のAmazonマーケットプレイスで商品検索・データ収集したい場合は、
上記のmarketplace=Marketplaces.JP
をmarketplace=Marketplaces.US
に変更します。
ただし、海外Amazonマーケットプレイスでの商品検索には、その国でのAmazon開発者登録が別途必要です。
商品販売にかかる手数料の合計価格の見積もり(別解:SKU)
引数にSeller SKU(商品管理番号)、商品販売価格、通貨コード、商品発送手数料、FBA利用要否を渡し、コードを実行しても下記出力結果を得ることができます。
- 商品販売にかかる手数料の合計価格(Amazon出品手数料+発送手数料+FBA利用手数料)
from sp_api.api import ProductFees
from sp_api.base.marketplaces import Marketplaces
def fee_estimator_sku(SKU,productPrice,currencyCode,shippingPrice,FBA):
# 商品手数料オブジェクト
productfees = ProductFees(marketplace=Marketplaces.JP, # 対象のマーケットプレイスを指定
credentials=credentials) # API情報を指定
# 結果取得
result = productfees.get_product_fees_estimate_for_sku(seller_sku=SKU,
price=productPrice,
currency=currencyCode,
shipping_price=shippingPrice,
is_fba=FBA,
)
return result()
# 引数情報
SKU = 'seller sku' # セラーSKUコード
currencyCode = 'JPY' # 通貨コード
productPrice = 2000 # 商品販売価格
shippingPrice = 500 # 発送手数料
FBA = True # FBA利用:True, FBA利用なし:False
# 関数実行
fee_estimator_sku(SKU,productPrice,currencyCode,shippingPrice,FBA)
【参考】Amazon SP-API その他機能の使い方
最後までご覧いただきありがとうございました。当サイトではAmazon物販の効率化に向けたAPI情報を多数配信しております。是非合わせてご覧下さい。
最後に
お問い合わせフォーム
上記課題に向けてご気軽にご相談下さい。
お問い合わせはこちら