文系プログラマによるTIPSブログ

文系プログラマ脳の私が開発現場で学んだ事やプログラミングのTIPSをまとめています。

各種WEB APIのレビュー:良いところ、悪いところ

tree-shopの開発も一段落したので、
ここで、tree-shopで使用した以下のWEB 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が最低に見えますが、これは後の記事に書きます。