前回 は,価格.com 内の商品情報・クチコミレビューを検索できる商品検索 API と, 掲示板情報取得 API をご紹介しました。 CGM コンテンツが花盛りの昨今ですが, 全件・全文ではないにせよクチコミ情報を API で取得できる価格.com WEB サービスの積極的なオープン姿勢は, 高く評価されています。

 今回は, 楽天ウェブサービス を取り上げます。 楽天市場はモール内に多数の店舗を抱えており, 同じ商品でも店舗によって価格が違ったり,商品説明などにも独自の工夫が見らます。 価格.com 同様に,家電製品に限らない多くの商品が扱われていますから, API 経由でそのデータベースを自由に検索できることで,利便性が高まりそうです。

図1:楽天ウェブサービス

 楽天ウェブサービスはドキュメントがよく整備されていて, リクエスト・レスポンスのデータ形式などもシンプルで理解しやすいですから, 初心者の方でも比較的に取り組みやすい API ではないかと思われます。

表1:楽天ウェブサービスで提供されている API

情報提供元サイトAPI 名称
楽天市場楽天商品検索API
楽天ジャンル検索API
楽天商品コード検索API
楽天ブックス楽天書籍検索API
楽天CD検索API
楽天DVD検索API
楽天市場(価格ナビ)楽天カタログ検索API
楽天トラベル楽天トラベル施設情報API
楽天トラベル空室検索API
楽天トラベル地区コードAPI

 今回は,上記10種類の API のうち 商品検索 API のカンタンな使い方を紹介します。 前回 の価格.com の商品検索 API と同様の検索処理 CGI を実装してみます。 ただ,残念ながらクチコミ情報の本文まで取得できる API は用意されていないので, 商品情報のみの利用です。

商品検索APIへのリクエスト(検索クエリー)

 API へのリクエストは, 対象商品カテゴリや検索キーワードなどの条件を下記のような URL で指定します。(REST)

リスト1:商品検索APIリクエスト例
http://api.rakuten.co.jp/rws/1.3/rest?developerId=XXXX&operation=ItemSearch&version=2007-02-14&genreId=100026&keyword=Dynabook+SS+MX&sort=-updateTimestamp

 最初のパラメタのデベロッパID(developerId)は, API利用サイト開発者の識別用のIDです。 デベロッパIDの確認 画面から取得できます。

 次の,操作API指定(operation=ItemSearch)とAPIバージョン(version=2007-02-14)は固定値です。

 ジャンルID(genreId)では,検索対象とする商品種別を絞り込みます。 サンプルの 100026 は「パソコン・周辺機器」ジャンルを意味します。 そのほかにも,以下のような番号を指定できます。

表2:商品検索 API のレベル1ジャンル

genreIdジャンル名称
101240CD・DVD・楽器
100804インテリア・寝具
101164おもちゃ・ホビー・ゲーム
100533キッズ・ベビー・マタニティ
215783キッチン・日用品雑貨・文具
216129ジュエリー・腕時計
101070スポーツ・アウトドア
100938ダイエット・健康・介護
100316ドリンク・お酒
100026パソコン・周辺機器
216131バッグ・小物・ブランド雑貨
100371ファッション・アパレル・靴
100005花・園芸・エクステリア
101213ペット・ペットグッズ
211742家電・AV・カメラ
101114車・バイク
100227食品・スイーツ
100939美容・コスメ・香水
200162本・雑誌・コミック
101381旅行・出張・チケット
200163不動産・住まい
101438サービス
402853デジタルコンテンツ
503190車用品・バイク用品
0全商品(レベル0ジャンル)

 商品ジャンルの構造は,多階層で管理されています。 今回は解説しませんが, 楽天ジャンル検索API を利用して下位のジャンルIDを取得することで, より細かい商品分類にドリルダウンで絞り込んでいくことも可能です。 なお,ジャンルIDは今後,追加・変更される場合もありますので, 上記の表から genreId の値を固定で使うよりは, ジャンル検索API経由で取得して利用するのが本来です。

 検索キーワード(keyword)は,サンプルでは「Dynabook SS MX」を検索しています。 UTF-8 の文字列を URL エンコードします。

 ソート(sort)では,並べ替え方法を指定します。 なお,昇順を示す『+』マークは, 実際のリクエスト URL では『%2B』に URL エンコードされる点はご注意ください。

表3:商品検索 API のソート指定

sort パラメタ並べ替えルール
+affiliateRateアフィリエイト料率の低い順
-affiliateRateアフィリエイト料率の高い順
+reviewCountレビュー件数が少ない順
-reviewCountレビュー件数が多い順
+itemPrice価格が安い順
-itemPrice価格が高い順
+updateTimestamp商品更新日時の古い順
-updateTimestamp商品更新日時の新しい順

 そのほかにも,取得件数・ページングやアフィリエイトIDなどを指定することも可能です。 詳しくは,ドキュメントの 入力パラメーター の項を参照してください。