Amazon PA-API v5について気づいたことメモ

この記事は約4分で読めます。

AmazonのProduct Advertising API(PA-API)のバージョンが上がり、v5へ移行することが発表されました。

アソシエイト・セントラル

現行のPA-APIは2019/11/30までとなり、以降はPA-API v5しか使えなくなるそう。なので独自にPA-APIを利用している人は、プログラムのv5対応が必要になります。

筆者も個人的にPA-APIを利用して、Kindle電子書籍の新刊情報などを取得しています。本記事では前バージョンとの違いなど、その過程で気づいたことをメモがてら残しておきます。

なお筆者はノンプログラマーなので、その前提でお読みください(予防線)。

PA-API全般

レスポンスはJSON

PA-API v5移行ガイド」にも記載されていますが、リクエストのレスポンスが従来のXMLではなくJSONで返ってきます。構造も若干変わっているので、受け取った後の処理を変更する必要があります。

テストツールは4種類

記事作成現在、PA-API v5の実行テスト用ツールとしてScratchpadが用意されています。その中で動作を確認できるのは

  • GetBrowseNodes
  • GetVariations
  • GetItems
  • SearchItems

の4種類です。以前のテスト用ページにあったカート系のツールは用意されていないようです。

パラメータは空にできない

検索オプションとして、各種パラメータを設定することがあると思います。例えば商品検索で新着や安い/高い順に商品を並べ替えたい時。

これまでなら、ItemSearchのSortを設定してリクエストを送ります。その際、パラメータに「Sort」と項目を設定して、かつその値を空にしても、リクエストが通っていました。

一方PA-API v5では、設定したパラメータには必ず何らかの値を入れないと、エラーとなるようです。例えばSearchItemsの「SortBy」というパラメータをリクエストに含めるならば、必ず「NewestArrivals」のような値を含める必要があります。

ノードだけでSearchItemsできない

ノード(BrowseNode)でSearchをかけて、そこにぶら下がっている商品データを引っ張ってくる、という使い方を良くします。PA-API v5ではSearchItemsでそれを行いますが、ノードだけで検索をかけるとエラーとなります。

具体的には下記のようなエラーが返ってきます。

Error! MissingParameter
At least one of Actor, Artist, Author, Brand, Keywords, Title should be provided.

Actor, Artist, Author, Brand, Keywords, Titleのうち、最低1つは値を入れてね、ということのようです。ノードだけでデータを引っ張りたいのですが、これは困った…。検索に一工夫が必要となります。

日付がUTC形式で返ってくる

「PublishDate」や「ReleaseDate」のような日付が、「2019-00-00T00:00:00.000Z」のようなUTC形式で返ってくるようになりました。

例えば現在時刻を取得して日付比較を行う、といったようなプログラムの場合は、誤差が発生する可能性があるので注意が必要です。

MaxPrice/MinPriceは桁数変更が必要

「桁数変更」という書き方が適切かどうかはわかりまえんが、PA-API v5では価格を指定する時の桁数に注意が必要です(これでハマった…)。

例えばMaxPriceやMinPriceで上限価格・下限価格を指定する時。「100円」を指定したい時は、「10000」とゼロを末尾に2つ、余分に付ける必要があるようです。思うように検索結果が取得できない、という場合は、価格指定を確認してみてください。

BrowseNodeIdに複数の値を指定できない?

SearchItemsでBrowseNodeIdを元に商品データを取得する時。前のバージョンではBrowseNodeIdに複数の値をカンマ区切りで入力すると、さらにデータの絞り込みができました。(例えば「マンガ」から「少年マンガ」のデータを取得する。)

しかしPA-API v5では、カンマ区切りで複数のBrowseNodeIdを指定することができなくなっているようです。書式が変わっているのかもしれませんが、スクラッチパッドでBrowseNodeIdに20桁以上の数字が指定できない(2つ以上のIdを入れられない)ところを見ると、機能がカットされているのか…?

ひょっとすると他に実現できる方法があるかもしれないので、判明したら追記します。

まとめ

以上、Amazon PA-API v5について気づいたことメモ、でした。また気づいたことがあれば、随時追記します。

Amazon
スポンサーリンク
コータ_をフォローする
スポンサーリンク
買い物しようと街まで

コメント

タイトルとURLをコピーしました