【Python】Amazon-SP-APIでFBA配送禁止・規制品有無を確認|物販・セリングパートナー向け自動化手法

こんにちは、DXCEL WAVEの運営者(@dxcelwave)です!

サマリー
  • PythonでAmazon SP-APIを操作できるようになる。
  • Amazonのフルフィルメントセンター(FBA)経由での商品保管・配送を検討する際、事前に商品がFBA配送可能かAmazon SP-APIを用いて確認できるようになる。
目次

Amazon セリングパートナーAPI(SP-API)とは

【引用】Amazon Seller Services:https://developer.amazonservices.jp

Amazon SP-APIとは、商品リサーチ・出品・注文状況確認・FBA配送などの多数の機能を取り揃えた、業務効率化を実現するためのサービスです。

Amazon SP-APIでできること|取得できるデータ

Amazon SP-APIを用いると、商品リサーチをはじめ、自社商品の出品状況・注文状況・配送内容・売上情報などの情報管理に至るまで効率化が期待できます。

具体的にSP-APIには次のような機能が踏襲されています。

  • Amazon商品データ(商品詳細・価格・在庫・売上ランキング)の取得
  • 商品販売にかかる手数料計算
  • 商品の出品状況の管理(商品登録・参照・更新・削除)
  • 商品の注文状況の管理
  • FBA配送に対する適格性(禁止・規制品)データの取得
  • 会計(商品売上等)データの取得・レポーティング
  • 顧客との問い合わせ・メッセージの管理
  • 通知情報の管理

Amazon SP-APIの利用前提

Amazon SP-APIは、Amazon開発者として登録することで利用できるようになります。

Amazon開発者登録を行うには、事前に以下の条件を満たしておく必要があります。

  • Amazonセラーセントラルのアカウントを保有していること
  • 上記アカウントステータスが「大口出品」であること

【参考】物販業務を効率化する代替手段

前述で述べた通り、Amazon SP-APIを利用するにはAmazonセラーセントラルの大口出品者としてをアカウントを登録する必要があります。

大口出品者になると月額4,900円の支払いが発生することに注意が必要です。

SP-APIを利用しない代替手段として、既存のツールを用いて物販自動化を検討する方法もあります。筆者おすすめの使い勝手が良い既存ツールも合わせて紹介します。

こんな方におすすめ!

  • オンラインショッピングにおける販路を拡大したい
  • 商品リサーチに時間をかけたくない
  • 中国輸入やOEMに興味がある
  • 競合他社を効率的に分析したい
  • 自社ショップの商品売上等の時系列分析をやりたい

本記事の解説内容|FBAでの商品適格性(禁止・規制品)を確認

本記事ではAmazon SP-APIを用いてFBAでの商品配送に際する適格性を確認する方法について解説します。

Amazon FBA経由での商品配送を検討する際、事前に対象商品がFBA禁止・規制商品でないか確認が必要となります。

FBAに関するAmazonコミュニケーションガイドラインによると、以下の商品はFBA出荷が禁止されています。

  • 日本の規格および法律を満たしていない
  • 室温で保管できない(冷蔵、冷凍、または特定の温度管理が必要な商品)
  • 動物・植物
  • 危険物・化学薬品
  • 医療機器・医薬品
  • 金券類
  • 金・プラチナ・銀などの貴金属(通貨も含む)
  • その他Amazonでの出品許可が行われていない商品やプログラムポリシーに準拠しない商品

【事前準備】Python×Amazon SP-API

Amazon SP-APIは、下記のPythonライブラリを用いて呼び出します。事前にインストールしましょう。

pip install python-amazon-sp-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ユーザーロール登録時に取得可能)
            )

【Python】Amazon SP-API|FBA Inbound Eligibility APIの利用

Amazon SP-APIにおけるFBA Inbound Eligibilityメソッドを使用すると、FBAでの商品適格性を確認することができるようになります。

加えて、このメソッドを使用すると、商品が特定のマーケットプレイスにあるAmazonのフルフィルメントセンターへのインバウンド配送の対象かどうかも確認可能です。

さらに、商品がFBA在庫追跡にメーカーバーコードを使用する資格があるかどうか確認することもできます。

FBA適格性検査|正常な商品の場合

引数にASINコード、プログラム名を渡しコードを実行すると、次のような出力結果が得られます。

from sp_api.base.marketplaces import Marketplaces
from sp_api.api import FbaInboundEligibility

ASIN      = 'B07WXL5YPW'  # ASINコード
Program   = "INBOUND"     # INBOUND(入荷)またはCOMMINGLING(FBA在庫追跡にメーカーバーコードを使用)

# API実行
result = FbaInboundEligibility(marketplace=Marketplaces.JP,credentials=credentials)\
                            .get_item_eligibility_preview(asin=ASIN,
                                                          program=Program)
# 出力
print(result)

# 出力イメージ
# 1 {'errors': None,
# 2  'headers': {'Date': 'Thu, 05 May 2022 23:51:38 GMT', 'Content-Type': 'application/json', 'Content-Length': '214', 'Connection': 'keep-alive', 'x-amzn-RequestId': '579cde76-406b-40bc-93f7-937fb67ae583', 'x-amzn-RateLimit-Limit': '1.0', 'x-amz-apigw-id': 'RrRprGcwvHcF-Zw=', 'X-Amzn-Trace-Id': 'Root=1-6274630a-24cca0b04712f99f37b8793c'},
# 3  'kwargs': {},
# 4  'next_token': None,
# 5  'pagination': None,
# 6  'payload': {'asin': 'B07WXL5YPW',
# 7              'isEligibleForProgram': True,
# 8              'marketplaceId': 'A1VC38T7YXB528',
# 9              'program': 'INBOUND'},
# 10  'rate_limit': '1.0'}

FBAへの発送が可能な商品の場合、7行目isEligibleForProgram: Trueと表示されます。

FBA発送が禁止されている場合、上記部分がFalseとなり、禁止理由コードが追記されます。

以下、FBA出荷禁止商品を調べた際の出力結果も示します。

FBA適格性検査|出荷禁止商品の場合

引数にFBA禁止商品である化学薬品のASINコード指定し、コードを実行すると、下記出力結果が得られます。

from sp_api.base.marketplaces import Marketplaces
from sp_api.api import FbaInboundEligibility

ASIN      = 'B005Z1TI20'    # ASINコード(化学薬品のASINコードを指定)
Program   = "INBOUND"       # INBOUND(入荷)またはCOMMINGLING(FBA在庫追跡にメーカーバーコードを使用)

# API実行
result = FbaInboundEligibility(marketplace=Marketplaces.JP,credentials=credentials)\
                            .get_item_eligibility_preview(asin=ASIN,
                                                          program=Program)
# 出力
print(result)

# 出力イメージ
# 1 {'errors': None,
# 2  'headers': {'Date': 'Thu, 05 May 2022 23:56:07 GMT', 'Content-Type': 'application/json', 'Content-Length': '329', 'Connection': 'keep-alive', 'x-amzn-RequestId': '4e259953-0e0d-436e-8c12-8ebb5cb1b613', 'x-amzn-RateLimit-Limit': '1.0', 'x-amz-apigw-id': 'RrSTvGlsPHcFofw=', 'X-Amzn-Trace-Id': 'Root=1-62746417-2acd89a16ceb578501f0414e'},
# 3  'kwargs': {},
# 4  'next_token': None,
# 5  'pagination': None,
# 6  'payload': {'asin': 'B005Z1TI20',
# 7              'ineligibilityReasonList': ['FBA_INB_0016'],
# 8              'isEligibleForProgram': False,
# 9             'marketplaceId': 'A1VC38T7YXB528',
# 10              'program': 'INBOUND'},
# 11  'rate_limit': '1.0'}

FBA出荷禁止商品の場合、isEligibleForProgram: Falseとして表示されます。

加えて、ineligibilityReasonListの欄に禁止理由コードが表示されます。

具体的な禁止コードの意味について知りたい方は、FBAInbound Githubをご覧ください。

【参考】Amazon SP-API その他機能の使い方

最後までご覧いただきありがとうございました。当サイトではAmazon物販の効率化に向けたAPI情報を多数配信しております。是非合わせてご覧下さい。

スクロールできます
記事名
【Python】Amazon SP-APIで商品情報検索・データ取得
【Python】Amazon SP-APIで競合出品商品(価格・在庫)を分析
【Python】Amazon SP-APIで商品販売にかかる手数料(出品+配送+FBA)を計算
【Python】Amazon SP-APIで商品がFBA配送禁止・規制品であるかを確認
【Python】Amazon SP-APIで出品商品(SKU)の情報操作
【Python】Amazon SP-APIで商品売上・財務会計情報を取得

最後に

この記事が気に入ったら
フォローしてね!

本記事をシェア!
目次