TOP > BLOG > EC関連記事

FBA在庫を自動で取得してスプレッドシートに書き出そう(サンプルつき)

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

一人ECやサイドビジネスなどで、これからAmazonでの販売を始めるという方に、あるいはすでにAmazonで販売を始めていて、日々の雑務に苦労している方に向けて、FBAでの在庫をSP-APIで自動で取得して、エクセルに書き出す方法をお伝えします。

目次

  • FBA在庫取得などの面倒な作業はAPIで自動化
  • 正確な利益計算をしよう
  • スプレッドシートのサンプル
  • FBAへのAPIリクエストのPythonサンプルコード
  • 関連記事

FBA在庫取得などの面倒な作業はAPIで自動化できます

ネットショップの参入は簡単である反面、ある程度売るにはITリテラシーが求められます。最初から詳しくなくても、ネットショップ事業の成長に伴い「APIって何?」という認識のままでは、かなり厳しくなってくるでしょう。

APIというのは、システムの外からそのシステムのデータにアクセスできる機能のことです。

例えば、Amazonを運用をしていると、FBAに預けている商品在庫がどれくらいなのか把握したい場面があります。あなたが仮に、扱っている商品数が100程度だとしても、人間が100の商品の在庫を手作業で把握するのはかなり大変です。セラーセントラルにログインするのすら面倒でしょう。二段階認証もあります。

そこで、APIを使えば、セラーセントラルにログインすることなく、エクセルやスプレッドシートに商品名とFBAの実在庫を自動で書き出せます。ネットショップを楽しく運用し継続するには、日々の雑務は極力自動化することがとても大事で、そのためにAmazonもSP-APIという仕組みを用意しています。

Amazonに限らず、楽天もYahooショッピングにもShopifyにもカラーミー、メルカリなどにも当然のごとくAPIがあります。そのモールもカートシステムもAPIを必ず用意しているわけで、つまりネットショップ運用はAPIを使わないとビジネスにならないと言えるでしょう。

正確な利益計算をしよう

毎日でもいいですし、月末だけでもいいですが、倉庫の実在庫を把握し帳簿で管理すれば、試算表にできます。自分が抱えている在庫がどれくらいなのか把握することは、小売り業の継続に大事なことです。仕入れ値が時期によって異なると正確な利益計算を阻害する要因となり得ますが、先出し先入れ法や移動平均法、売上原価対立法などとFBAの在庫取得自動化を組み合わせることで、正確な利益計算ができるのです。

ビジネスの規模にもよりますが、在庫や利益計算はこまめに実施しましょう。1年に一度整理すればいいなどと考えていると、けっこう苦労します。かつての私がそうでした。

ちなみに、帳簿ソフトのfreeeやマネーフォワードにもAPIはあります。異なるシステムのAPIを組み合わせることで、自社固有の業務を自動化できます。

スプレッドシートのサンプル

とりあえずここでは、月ごとに商品ごとの数を正確に把握するという前提でのスプレッドシートのサンプルを用意しました。スプレッドシートに下記のAPIで在庫を書き出すことができます。毎日の在庫書き出しも自動化できます。

ここではサンプルとしてエクセルを用意しましたが、もちろんスプレッドシートでも書き出せますし、kintoneなどに共有もできます。APIを扱えると業務自動化の可能性はどんどん広がります。

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

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

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

以下のようなコードでAPIが動きますが、パソコンが苦手な人が自分で動かせるはずもありません。得意な方は自分でPythonを動かしてもらうとして、苦手な人は、無料で動かせるサンプルを用意したのでご相談ください。実際に動いている画面をご覧頂けます。

こちらの問い合わせフォームより、「無料サンプル希望」の趣旨のことをお知らせください。

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

関連記事

楽天の在庫API(InventoryAPI)にPythonで在庫情報を取得してみた
  • 「ネクストエンジンの在庫連携ができない」という人へ【重要ポイント】教えます
  • RSLの在庫を書き出したい人はBOSSのAPI連携が必要なので利用申請しよう
  • 脱・発注の属人化と勘だより【ネクストエンジンとエクセルで発注量を自動算出する方法】
  • このブログを書いてる人
    早川 朋孝 ECコンサルタント
    Dx、AI活用、データ分析、マーケティング、会計などワンストップで御社EC業務を支援します。特にAPIの扱いが得意で、20年の経験とAPIを組み合わせての提案は、他社は簡単に真似できません。
    プロフィール
    EC業務のDxの相談のります
    趣味は読書、ピアノ、マリノスの応援など

    EC運営のRPAを支援します

    PAGE TOP