楽天ブックスCD検索APIは、楽天ブックスで販売されているCDの情報を取得することが可能なAPIです。デベロッパーはCDのタイトルやアーティスト名、発売元などでの商品検索をはじめ、ジャンル別や在庫状態などでの絞り込み検索も可能となります。
(楽天ブックス総合検索APIよりも詳細な検索が可能となっています。)
リクエストURL(REST/JSON形式の場合)
https://app.rakuten.co.jp/services/api/BooksCD/Search/20170404?[parameter]=[value]…
※JSONP形式は、JSON形式で入力パラメーターにcallBackを指定することで出力されます。
フィールド名title, artistName, label,
sortに対応する[value]はUTF-8でURLエンコードされている必要があります。(リクエストURL全体をエンコードするのではなく、[value]部分を個別にエンコードしてください。)
たとえば、「オールスターズ」というアーティスト名で検索し、結果を価格の安い順に並べたい(sort=+itemPrice)場合のリクエストURLは下記になります。(実際には改行せず1行につなげてリクエストしてください。)
https://app.rakuten.co.jp/services/api/BooksCD/Search/20170404?
applicationId=[アプリID]
&artistName=%E3%82%AA%E3%83%BC%E3%83%AB%E3%82%B9%E3%82%BF%E3%83%BC
&sort=%2BitemPrice
※短い時間の間に大量に、同一のリクエストURLへアクセスすると、一定時間利用できなくなる場合がございます。テストの際にはご注意ください。
入力パラメーター
楽天ブックスCD検索API 入力パラメーター version:2017-04-04
ID | 項目名 | パラメーター | 型(括弧内は最大バイト数) | 必須 | デフォルト | 備考 |
---|---|---|---|---|---|---|
区分:共通パラメーター | ||||||
1 | アプリID | applicationId | String | - | こちらで確認できます | |
2 | アフィリエイトID | affiliateId | String | - | 指定無し | こちらで確認できます |
3 | レスポンス形式 | format | String | - | json | json か xml を選択することができます。 json を選択した場合、 callback パラメーター指定により jsonp 形式にすることもできます。 |
4 | コールバック関数名 | callback | String | - | 指定無し | JSONPとして出力する際のコールバック関数名 (UTF-8でURLエンコードした文字列) 英数字、「.(ドット)」、「_(アンダーバー)」、「[(中括弧)」、「](中括弧)」のいずれか1文字以上 |
5 | 出力パラメーター指定 | elements | String | - | ALL |
カンマ区切りで、必要な出力パラメータを指定した場合、 指定された出力パラメータのみを返却します。 (例)elements=reviewCount,reviewAverage |
6 | 出力フォーマットバージョン | formatVersion | int | - | 1 |
出力フォーマットのバージョン指定です。 2 を指定すると、JSONの出力方法が改善され以下のようになります。
{"items": [ {"item": { "itemName": "a", "itemPrice": 10 }}, {"item": { "itemName": "b", "itemPrice": 20 }} ]}
{"items": [ { "itemName": "a", "itemPrice": 10 }, { "itemName": "b", "itemPrice": 20 } ]} |
区分:サービス固有パラメーター | ||||||
1 | CDタイトル | title | String | (*1) |
- | CDのタイトルから検索 UTF-8でURLエンコードした文字列 複数キーワードから検索したい場合は、半角スペースで区切って下さい (*1)タイトル、アーティスト名/作曲者名等、発売元名、JANコード、楽天ブックスジャンルIDのいずれかが指定されていることが必須です |
2 | アーティスト名/作曲者名等 | artistName | String | (*1) |
- |
アーテイスト名や作曲者名から検索 UTF-8でURLエンコードした文字列 複数キーワードから検索したい場合は、半角スペースで区切って下さい (*1)タイトル、アーティスト名/作曲者名等、発売元名、JANコード、楽天ブックスジャンルIDのいずれかが指定されていることが必須です |
3 | 発売元名 | label | String | (*1) |
- |
発売元名から検索 UTF-8でURLエンコードした文字列 複数キーワードから検索したい場合は、半角スペースで区切って下さい (*1)タイトル、アーティスト名/作曲者名等、発売元名、JANコード、楽天ブックスジャンルIDのいずれかが指定されていることが必須です |
4 | CDのJANコード | jan | long | (*1) |
- |
CDに付与されているJANコードから検索 (*1)タイトル、アーティスト名/作曲者名等、発売元名、JANコード、楽天ブックスジャンルIDのいずれかが指定されていることが必須です |
5 | 楽天ブックスジャンルID | booksGenreId | String | (*1) |
002 |
楽天ブックスにおけるジャンルを特定するためのID (楽天市場のジャンルIDとは違うので注意してください) booksGenreId=002(CD)に所属するジャンルのみが指定できます。 ジャンルのIDやジャンル名、ジャンルの親子関係を調べたい場合は、「楽天ブックスジャンル検索API(BooksGenre/Search)」をご利用ください。 (*1)タイトル、アーティスト名/作曲者名等、発売元名、JANコード、楽天ブックスジャンルIDのいずれかが指定されていることが必須です |
6 | 1ページあたりの取得件数 | hits | int | - | 30 | 1から30までの整数 |
7 | 取得ページ | page | int | - | 1 | 1から100までの整数 |
8 | 在庫状況 | availability | int(1) | - | 0 |
0:すべての商品 1:在庫あり 2:通常3~7日程度で発送 3:通常3~9日程度で発送 4:メーカー取り寄せ 5:予約受付中 6:メーカーに在庫確認 |
9 | 品切れ等購入不可商品表示フラグ | outOfStockFlag | int(1) | - | 0 |
0:品切れや販売終了など購入不可の商品は結果に表示させない 1:品切れや販売終了など購入不可の商品を結果に表示させる |
10 | ソート | sort | String | - | standard |
standard:標準 sales:売れている +releaseDate:発売日(古い) -releaseDate:発売日(新しい) +itemPrice:価格が安い -itemPrice:価格が高い reviewCount:レビューの件数が多い reviewAverage:レビューの評価(平均)が高い ※UTF-8でURLエンコードされている必要があります。 |
11 | 限定フラグ | limitedFlag | int(1) | - | 0 |
0:すべての商品 1:限定版商品のみ ※限定版商品には期間限定・数量限定・予約限定などの商品が含まれます。 |
12 | キャリア | carrier | int(1) | - | 0 | PC用の情報を返すのか、モバイル用の情報を返すのかを選択 PC: 0 mobile: 1 |
13 | ジャンルごとの商品数取得フラグ【NEW】 | genreInformationFlag | int(1) | - | 0 | 0 :ジャンルごとの商品数の情報を取得しない 1 :ジャンルごとの商品数の情報を取得する |
出力パラメーター
楽天ブックスCD検索API 出力パラメーター version:2017-04-04
ID | 大分類 | 分類 | 項目名 | パラメーター | 備考 |
---|---|---|---|---|---|
区分:サービス固有パラメーター | |||||
1 | 全体情報 | 検索数 | count | 検索結果の総商品数 | |
2 | ページ番号 | page | 現在のページ番号 | ||
3 | ページ内商品始追番 | first | 検索結果の何件目からか | ||
4 | ページ内商品終追番 | last | 検索結果の何件目までか | ||
5 | ヒット件数 | hits | 1度に返却する商品数 | ||
6 | キャリア情報 | carrier | PC=0 or mobile=1 | ||
7 | 総ページ数 | pageCount | 最大100 | ||
8 | 商品情報 (全体:<Items> ~ </Items> 、 個別商品:<Item> ~ </Item>) |
商品情報詳細 | CDタイトル | title | |
9 | CDタイトル カナ | titleKana | |||
10 | アーティスト名 | artistName | |||
11 | アーティスト名カナ | artistNameKana | |||
12 | 発売元名 | label | |||
13 | アルバム/シングル区分 | size | 1:アルバム 2:シングル 3:ミニアルバム |
||
14 | JANコード | jan | |||
15 | メーカー品番 | makerCode | |||
16 | 商品説明文 | itemCaption | |||
17 | 曲目 | playList | 曲名と曲名の間は「###」で区切られています。 | ||
18 | 発売日 | salesDate |
表示例:「YYYY年」「YYYY年MM月」「YYYY年MM月DD日」 ※発売日が確定されていない商品については、「上旬/中旬/下旬」や「頃」「以降」などが付加 |
||
19 | 税込み販売価格 | itemPrice | |||
20 | 定価 | listPrice | ※楽天ブックスの仕様変更により、2013/11/28から一律で0を返却しております。 こちらの値のご利用をお控えいただけますようお願いいたします。 |
||
21 | 割引率 | discountRate | ※楽天ブックスの仕様変更により、2013/11/28から一律で0を返却しております。 こちらの値のご利用をお控えいただけますようお願いいたします。 |
||
22 | 割引額 | discountPrice | ※楽天ブックスの仕様変更により、2013/11/28から一律で0を返却しております。 こちらの値のご利用をお控えいただけますようお願いいたします。 |
||
23 | 商品URL | itemUrl | httpsではじまる商品ごとのURL | ||
24 | アフィリエイトURL | affiliateUrl |
(入力パラメーターにアフィリエイトIDが含まれていた時のみ) ※carrierパラメーターの指定に関わらずPC/mobile両対応のhttps URLを返却 |
||
25 | 商品画像 64x64URL | smallImageUrl | httpsではじまる商品画像(64x64ピクセル)のURL | ||
26 | 商品画像 128x128URL | mediumImageUrl | httpsではじまる商品画像(128x128ピクセル)のURL | ||
27 | 商品画像 200x200URL | largeImageUrl | httpsではじまる商品画像(200x200ピクセル)のURL | ||
28 | 在庫状況 | availability |
1:在庫あり 2:通常3~7日程度で発送 3:通常3~9日程度で発送 4:メーカー取り寄せ 5:予約受付中 6:メーカーに在庫確認 |
||
29 | 送料フラグ | postageFlag |
0:送料別 1:宅配送料無料 2:送料無料(コンビニ送料含む) ※キャンペーンなどで実際の送料の扱いは、出力内容と異なることがあります |
||
30 | 限定フラグ | limitedFlag |
0:通常商品 1:限定版商品 ※限定版商品には期間限定・数量限定・予約限定などの商品が含まれます。 |
||
31 | レビュー件数 | reviewCount | |||
32 | レビュー平均 | reviewAverage | |||
33 | ジャンル情報 | 楽天ブックスジャンルID | booksGenreId |
所属する最下位のジャンルIDを表示 該当商品が複数ジャンルに所属している場合は、「/」で区切ってそれぞれのジャンルIDを表示 |
|
34 |
ジャンルごとの商品数 (全体:<GenreInformation> ~ </GenreInformation> 、 個別ジャンル:<parent> ~ </parent> もしくは<current> ~ </current> もしくは<children> ~ </children>)【NEW】 |
親ジャンル | - | parent | 入力したジャンルIDの親ジャンル |
35 | 楽天ブックスジャンルID | booksGenreId | |||
36 | 楽天ブックスジャンル名 | booksGenreName | |||
37 | ジャンル階層 | genreLevel | |||
38 | 自ジャンル | - | current | ユーザの入力したジャンルID | |
39 | 楽天ブックスジャンルID | booksGenreId | |||
40 | 楽天ブックスジャンル名 | booksGenreName | |||
41 | ジャンルに紐づく商品数 | itemCount | |||
42 | ジャンル階層 | genreLevel | |||
43 | 子ジャンル | - | children |
ユーザの入力したジャンルIDの子ジャンル 複数の子ジャンルがある場合は<children> ~ </children>が複数生成される 入力が「booksGenreId=000」の時はgenreLevel=1のジャンルが<children> ~ </children>に表示される |
|
44 | 楽天ブックスジャンルID | booksGenreId | |||
45 | 楽天ブックスジャンル名 | booksGenreName | |||
46 | ジャンルに紐づく商品数 | itemCount | |||
47 | ジャンル階層 | genreLevel |
アフィリエイトに関して
デベロッパーは、楽天ブックスCD検索APIから取得した商品情報からアフィリエイトURLを作成することが可能です。リンク先にそのアフィリエイトURLを指定することで、楽天アフィリエイト経由の成果報酬を獲得することができます。
アフィリエイトURLの作り方は2通りあります。入力パラメーターcarrierでPCが指定された場合でもモバイルが指定された場合でも同様の方法でアフィリエイトURLを作成することができます。
(1) APIの入力パラメーターに「アフィリエイトID」を含める場合:
APIの出力に「アフィリエイトURL」が含まれます。
(2) デベロッパーが自ら、(APIから取得した)「商品URL」と「アフィリエイトID(β版)」から「アフィリエイトURL」を作成する場合:
「アフィリエイトURL」は以下のルールで生成可能です。ただし、「商品URL」の部分はURLエンコードされている必要があります。
https://hb.afl.rakuten.co.jp/hgc/[アフィリエイトID]/?pc=[商品URL(PC)]&m=[商品URL(モバイル)]
エラー
エラー内容はHTTPステータスコードとレスポンスボディから判断できます。
HTTPステータスコード | 意味 | レスポンスボディ例 (JSON) |
---|---|---|
400 | パラメーターエラー (必須パラメータ不足) |
applicationId を指定しなかった場合
keyword が正しい値でなかった時。(半角1文字のみ指定など)
|
404 | 対象のデータが存在しなかった場合 |
|
429 | リクエスト過多 (各ユーザ制限値超過) |
APIリクエスト数が上限に達した場合のエラーです。しばらく時間を空けてから、ご利用ください。
|
500 | 楽天ウェブサービス内のエラー | システムエラー。長時間続くようであれば、こちらよりごお問い合わせください。
|
503 | メンテナンス・リクエスト過多 (全ユーザ制限値超過) |
メンテナンス (XXX/XXX にはAPI名が入る)
|
レスポンスボディの形式は format に従います。
format | エラー出力例 |
---|---|
json |
|
xml |
|