tree-shopの開発も一段落したので、
ここで、tree-shopで使用した以下のWEB APIについてレビューしようと思います。
- 楽天WEB SERVICE
- yahooデベロッパーネットワーク
- Amazon Product Advertising API
楽天WEB SERVICE
◯良いところ
- ネットで登録して、リファレンス通りにリクエストするだけで使える。事前準備等がほとんどいらないので、導入の敷居は低い。
- レスポンスの項目が多く、使い勝手が非常によい。
- ジャンルのTOPから最下層まで行き来可能。
- レスポンスの最大件数・ページ数が多い。
- リファレンスはきちんと更新されている。
◯悪いところ
- 特にありません。
yahooデベロッパーネットワーク
◯良いところ
- APIの種類が多い。
◯悪いところ
- リファレンスが全然更新されておらず、間違っている部分が多すぎる。見ない方がいいくらいです。
- xsdがほぼ間違っているので使い物にならない。これはつまりJAXB等の自動化ができない事を意味しています。
- キーワードランキングのレスポンスが少ない。(価格やレビューが欲しかった)
- アフィリエイトタイプにyahooとValueCommerceを選択できるが、ValueCommerceのsid・pidの指定の仕方が公式リファレンスに載ってない。
Amazon Product Advertising API
◯良いところ
- 非常に多彩なレスポンス項目がある(しかしこれは逆に欠点にもなっている。詳細は後述)。
◯悪いところ
- timestamp等、まず動作させるまにが非常に手間がかかるので、導入の敷居は一番高い。
- ノード(ジャンル)のTOPから最下層まで行き来できない。通常の使用の仕方では、ジャンルに戻れないと思って下さい。
- レスポンス項目が多いが、「特定のカテゴリ(SearchIndex)にしかない項目」が多く、ソースコードの共通化は難しい。
- ファッションや家電等、SearchIndexを指定する事ができるが、リファレンスに記述してあるSearchIndex一覧が古い。
- SearchIndex毎に指定できるレスポンス項目(ResponseGroup)が決まっており、存在しないResponseGroupを指定するとエラーが返ってしまう。。。
- SearchIndexを指定しない場合、価格による絞り込み、ソート、が指定できない。これは非常に痛かった。
- レスポンスの最大件数・ページ数が少なすぎる。
- レビュー数や評価点数(★の数)が数値で取得できない(できなくなりました。代わりにIFrameのURLが取得できます)。
API自体の出来を比べると、「楽天 >>> amazon >>>>>>>>>>>>>>>>>> yahoo」です。
楽天が最も使いやすく、amazonは制限がきつく、yahooは使うメリットを感じられない。
ちなみにそれぞれの最低料率は以下のとおりです。
- 楽天:1%
- yahoo:2%
- amazon:3%
楽天は使い勝手がいい代わりに料率最低。amazonが最高料率ですね。
一見するとamazonが最低に見えますが、これは後の記事に書きます。