前回 は,価格.com 内の商品情報・クチコミレビューを検索できる商品検索 API と, 掲示板情報取得 API をご紹介しました。 CGM コンテンツが花盛りの昨今ですが, 全件・全文ではないにせよクチコミ情報を API で取得できる価格.com WEB サービスの積極的なオープン姿勢は, 高く評価されています。
今回は, 楽天ウェブサービス を取り上げます。 楽天市場はモール内に多数の店舗を抱えており, 同じ商品でも店舗によって価格が違ったり,商品説明などにも独自の工夫が見らます。 価格.com 同様に,家電製品に限らない多くの商品が扱われていますから, API 経由でそのデータベースを自由に検索できることで,利便性が高まりそうです。
楽天ウェブサービスはドキュメントがよく整備されていて, リクエスト・レスポンスのデータ形式などもシンプルで理解しやすいですから, 初心者の方でも比較的に取り組みやすい API ではないかと思われます。
表1:楽天ウェブサービスで提供されている API
|
今回は,上記10種類の API のうち 商品検索 API のカンタンな使い方を紹介します。 前回 の価格.com の商品検索 API と同様の検索処理 CGI を実装してみます。 ただ,残念ながらクチコミ情報の本文まで取得できる API は用意されていないので, 商品情報のみの利用です。
商品検索APIへのリクエスト(検索クエリー)
API へのリクエストは, 対象商品カテゴリや検索キーワードなどの条件を下記のような URL で指定します。(REST)
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ジャンル
|
商品ジャンルの構造は,多階層で管理されています。 今回は解説しませんが, 楽天ジャンル検索API を利用して下位のジャンルIDを取得することで, より細かい商品分類にドリルダウンで絞り込んでいくことも可能です。 なお,ジャンルIDは今後,追加・変更される場合もありますので, 上記の表から genreId の値を固定で使うよりは, ジャンル検索API経由で取得して利用するのが本来です。
検索キーワード(keyword)は,サンプルでは「Dynabook SS MX」を検索しています。 UTF-8 の文字列を URL エンコードします。
ソート(sort)では,並べ替え方法を指定します。 なお,昇順を示す『+』マークは, 実際のリクエスト URL では『%2B』に URL エンコードされる点はご注意ください。
表3:商品検索 API のソート指定
|
そのほかにも,取得件数・ページングやアフィリエイトIDなどを指定することも可能です。 詳しくは,ドキュメントの 入力パラメーター の項を参照してください。