投げ売り堂ブログ(フィギュア / ゲーム / アニメ)

Amazon / 楽天 / Yahoo などで投売りされている、割引率が高い、フィギュア・アニメDVDBD・ゲームなどの投売り商品を紹介するブログのはてな出張版です

Amazon Product Advertising API を 4.0 → 5.0 に移行した話

2019/09/09 - PA-API v5移行ガイド

affiliate.amazon.co.jp

f:id:sin_cos:20191016144932p:plain
恐怖のお知らせ

【2019/09/09: PA-API v5移行のご案内】 PA-API 新しいバージョン(PA-API v5)についてお知らせいたします。 現在PA-APIをご利用の方で引き続きのご利用をご希望の場合、移行手続きが必要になります。 PA-API v5への移行を2019年11月30日までに実施しなかった場合、現在のPA-APIはご利用をいただけなくなります。

Amazon アソシエイトのお知らせは見逃しがちなんですけど、Amazon Product Advertising API が 2019/11/30 に 5.0 に完全移行して、古いバージョンはそれ以降使えなくなりますよという割と重要な事を1ヵ月ほど見逃してたので急いで対応しました。



対応内容

f:id:sin_cos:20191016145312p:plain

あーだこーだ書いてますけど、以下2点ですね。

  1. アクセスキーを新しく取得をしろ
  2. APIテスト実行ツールとか 4.0 → 5.0 の差分ガイド(英語)とかあるのでがんばれ。

1. に関しては前々からアクセスキーを新しくしろというお達しがあったの既に変えていたので割愛。2. はリクエストが HTTPS-POST/JSON-RPC になったり、レスポンスも JSON で返ってくるようになるのでその辺の変更、 後は 4.0 → 5.0 の差分ガイドがあったのでその対応をしました。以下は検索( ItemSearch → SearchItems )の内容



良かったところ

レスポンスが XML から JSON になる

グッバイ xpath

MinSavingPercent が便利

リクエストパラメータに「MinSavingPercent」というのが追加されたんですが、要は最初から割引率〇%より上の商品を引っ張ってくるフィルターです。

投げ売り堂では API 等で引っ張ってきた商品データから割引率が30%OFFより上の商品を手動で間引いてるんですが、5.0 からは API 上でやってくれるので母数が大幅に増えることになります。
API の変更で、1検索毎の結果が 1000件→100件という激減を経験し、あの手この手で母数を増やして何とか対応したんですが、ここにきて母数が大幅に増えたおかげで各カテゴリーがだいたい3倍くらい捕捉できるようになりました。正直昼休みの商品紹介で全部見る自信がないです。



悪かったところ

Sort オプションが不便になった

4.0 までは、リクエストパラメータの Sort オプションに「salesrank」という、純粋な売り上げランキングの Sort があったんですが

  • Amazon のおすすめ」
  • 「価格昇順」
  • 「価格降順」
  • 「レビュー評価順」
  • 「発売日降順」
  • 「関連性」

5.0 からは上の6つになり、純粋な Amazon 上での売り上げランキングが消えてなくなりました。
Amazon の一覧ページのソートメニューにももうないので納得ではあるんですが少し残念です。

発売日降順にした上で上記の検索母数が相対的に増えた結果、体感的に差は感じないようにはできました。

レスポンスで商品の全体順位が取れなくなった

4.0 までは商品毎に Amazon 上での全体の順位のレスポンスを大体取得できたんですが、5.0 からは半分取れればいい方かなーという感じです。
Amazon の商品ページにあるカテゴリー毎のランキングが取れるんですが、親カテゴリーが取れたり取れなかったり・カテゴリーはあるが順位は取れないみたいなケースがあるので、デフォルトでは全体ランキングで表示してたのでかなり精度が落ちました。

なるべく順位を取り、カテゴリーを混ぜつつ独自順位を形成してなんとか形になっています。


良かった・悪かったところはこんな感じです。



気づいたところ

  • SearchIndex のパラメータ名がチラホラ変わってた→ 新カテゴリー表
  • 検索の際 Actor, Artist, Author, Brand, Keywords のどれかを入れないと必須パラメータになった
    (今までキーワードを抜いて SearchIndex だけで検索をしてるものもあったので変更した)
  • 一部飲食料品の表示価格が「¥x,xxx(1本/xx.xx円)」みたいになった



結構インパクトのある変更だなぁと思ってたので「Amazon Product Advertising API 5.0」とか「PA-API 5.0」で検索していると日本語でまとめられた対応とかは少ししか無かったのがかなり意外でした。「日本はアソシエイトツールの開発元が対応するから大半のアソシエイトユーザーはアクセスキーの再発行ぐらいだから困らないから」だといいんですけど、そうじゃなければ「使ってる人少ないし API はなくしまーすおつかれっした」みたいな未来が近くなさそうだなぁと思いました。