Amazonに商品登録をするには、登録したい商品がすでにAmazonに登録されているかどうかを調べないといけない。自社開発の商品ならこの調査は不要だが、そうでない場合は事前調査が必要で、商品数によってはかなり面倒くさい。こういうときはAPIで一括処理するに限る。
AmazonのSP-APIを使えば商品情報を一覧で取得できる。競合店の最低価格を調べたいなどのときに便利だ。
def get_items_price(asin): canonical_uri = '/products/pricing/v0/items/' + asin + '/offers' method = 'GET' headers = { 'x-amz-access-token': 'hogehoge', 'content-type':'application/x-www-form-urlencoded' } request_parameters_unencode = { 'MarketplaceId': 'hogehoge', 'ItemCondition': 'Used' #新品ならNew、他にCollectible、Refurbished, Club } request_parameters = urllib.parse.urlencode(sorted(request_parameters_unencode.items())) endpoint = 'https://sellingpartnerapi-fe.amazon.com' + canonical_uri request_url = endpoint + '?' + request_parameters response = requests.get(request_url, headers=headers) return response
このAPIを使えば、例えば定期的に価格監視をして、最安価格を取得できる。
さらにFeeds APIで価格変更をすることもできるので、大手メーカーの客寄せの目玉商品を最安価格を維持して自店舗のことを知ってもらう、といった方法をAPIなら手間をかけずに運用できる。
商品ごとに基準となる価格(例えば仕入れ価格など)を設定して、それを下回るなら価格更新しないなども当然できる。EC運用は機械的にできる部分はどんどん自動化・効率化しないと利益が出ない。
上記のコードを使ってためしにウォルター・アイザックソン著のジョブズの伝記の中古価格を一覧で取得してみた。結果を加工して、下記のように価格と送料と状態をまとめて見ると、商品出品の判断に役立つと分かる。
価格 | 送料 | コンディション |
---|---|---|
1円 | 350円 | 良い |
1円 | 350円 | 可 |
1円 | 350円 | 可 |
111円 | 240円 | 非常に良い |
1円 | 350円 | 良い |
1円 | 350円 | 可 |
466円 | 0円 | 可 |
221円 | 250円 | 良い |
472円 | 0円 | 良い |
500円 | 0円 | 非常に良い |
500円 | 0円 | 良い |
500円 | 0円 | 良い |
1円 | 698円 | 良い |
1円 | 698円 | 良い |
700円 | 0円 | 良い |
300円 | 410円 | 良い |
19円 | 698円 | 非常に良い |
518円 | 200円 | 非常に良い |
467円 | 280円 | 非常に良い |
500円 | 257円 | 良い |
※記事を書いた時点のデータです
商品一つでもこれだけ楽になるのだけれど、AmazonのSP-APIを使えば数百でも数万でも自動で取得できる。これで日々のEC業務が楽になる。この仕組みを利用すれば24時間365日稼働する価格巡回ツールなども開発できる。