TOP > BLOG > EC関連記事

Amazon SP-APIとPythonでFBA在庫一覧を取得してRPAしよう

早川朋孝 早川朋孝
ECコンサルタント

Amazonを運用をしていると、FBAに預けている商品在庫がどれくらいなのか、把握しておきたい場面があります。Amazonは当然そのためのAPIを用意しています。この記事ではそのためのPythonのコードを紹介します。FBA在庫取得の公式ドキュメント

FBAへの在庫をAPIでリクエストするには、前提として大口契約とアプリの申請が必要です。まだ準備ができていない方はセラーセントラルでアプリ申請をしてSP-APIでEC業務を自動化しようを参考までにご覧ください。

目次

  • FBAへのAPIリクエストのPythonサンプルコード
  • 実務で引っかかる点
  • 関連記事

FBAへのAPIリクエストのPythonサンプルコード

FBAへの在庫リクエストは、一度につき50件という上限はありますが複数のSKUをまとめて一度でリクエストできます。51件以上ならリクエストは分割してリクエストしましょう。

このAPIでFBA在庫を取得して自動的に自社の在庫マスターやスプレッドシートなどに反映すれば、セラーセントラルにログインしていちいちFBA在庫を確認する必要がなくなります。こういうシンプルな機能からRPA(業務自動化)は始まります。FBAの在庫を取得するだけなら、RPAへの第一歩として最適でしょう。

def get_fba_inventory(sku_list):
        """ 
        FBAで在庫取得
        """ 

        canonical_uri = '/fba/inventory/v1/summaries'
        method = 'GET'
    
        headers = {'x-amz-access-token': token,
                         'user-agent': user_agent,
                         'Content-Type': content_type,
                         'X-Amz-Date': amz_date,
                         'Authorization': authorization_header
        }
    
        #queryを作成
        request_parameters_unencode = { 
             'details': False,
             'granularityType':'Marketplace',
             'granularityId': 'hogehoge',
             'marketplaceIds': 'hogehoge',
             'sellerSkus': 'hoge1,hoge2', #カンマ区切りのstr
        }   
 
        endpoint = 'https://sellingpartnerapi-fe.amazon.com' + canonical_uri
        request_url = endpoint + '?' + request_parameters
 
        request_parameters = urllib.parse.urlencode(sorted(request_parameters_unencode.items()))
        request_url = endpoint + '?' + request_parameters
        response = requests.get(request_url, headers=headers)      
        return response

以上のようなソースコードを得るだけなら、今どきChatGPTなどの生成AIでもこと足ります。自分で生成AIに指示してソースコードを作って、簡単な業務を自動化をしている人が私のお客に実際にいます。エクセルのマクロをかける程度のITリテラシーがあればRPAできるのです。問題はここからなのです。

実務で引っかかる点

ソースコードは簡単に手に入るとして、それをEC業務の環境で安定してRPAとして動かすには、やはりそれなりの知識と経験が必要です。これをAIが代行してくれるのはまだもう少し先でしょう。

  • サーバーで動かす必要がある
  • 予期しないエラーが発生する

サーバーで動かす必要がある

パソコンでは安定して動かないので、24時間365日稼働しているサーバーでPythonを動かします。よほど資金潤沢な大企業を除けば、大抵はLinux系が現実的な選択となるでしょう。cronなどで定期処理しますが、テスト環境で動いていたPythonのコードが、cronだと動かないというつまづきはよくあります。定期実行すると失敗率が上がるわけですが、そのログを出すのも知識がないと苦労します。

予期しないエラーが発生する

SKUが一致しない、JANが無い商品が混じる、担当者が変わると運用が止まる、詳しい人が休みの日にエラーが出るなど、実務の現場では様々なトラブルが発生します。これは根気づよく向き合っていくしかありません。首尾よくRPAができると、もっと大事なことに時間を割けます。RPAはECの売上を裏から支える大事な要素です。RPAで無駄な業務を自動化した結果、マーケティングに時間がさけるようになったネットショップの売上がポーンと上がるなんてざらにあることです。

関連記事

このブログを書いてる人
早川 朋孝 ECコンサルタント
Dx、AI活用、データ分析、マーケティング、会計などワンストップで御社EC業務を支援します。特にAPIの扱いが得意で、20年の経験とAPIを組み合わせての提案は、他社は簡単に真似できません。
プロフィール
EC業務のDxの相談のります
趣味は読書、ピアノ、マリノスの応援など

EC運営のRPAを支援します

PAGE TOP