EC運用をしていると、FBAに預けている商品在庫がどれくらいなのか、把握しておきたい場面はある。Amazonは当然そのためのAPIを用意している。ここではそのためのPythonのコードを紹介する。FBA在庫取得の公式ドキュメント
50件という上限はあるが複数のSKUをまとめて一度でリクエストできる。51件以上ならリクエストは分割する。
このAPIでFBA在庫を取得して自動的に自社の在庫マスターやスプレッドシートなどに反映すれば、セラーセントラルにログインしていちいちFBA在庫を確認する必要がなくなる。業務効率化はどんどん進めないと人手不足の時代に対応できなくなる。
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