楽天Koboジャンル検索APIは楽天Koboのジャンル名・ジャンル構造を返すAPIです。デベロッパーはジャンルIDを指定することでこれらの情報を得ることができます。
リクエストURL(REST/JSON形式の場合)
https://app.rakuten.co.jp/services/api/Kobo/GenreSearch/20131010?[parameter]=[value]…
※JSONP形式は、JSON形式で入力パラメーターに callback を指定することで出力されます。
たとえば、第一階層目のジャンル一覧を取得したい場合のリクエストURLは下記になります。(実際には改行せずに1行につなげてリクエストしてください。)
https://app.rakuten.co.jp/services/api/Kobo/GenreSearch/20131010?
applicationId=[アプリID]
&koboGenreId=101
※短い時間の間に大量に、同一のリクエストURLへアクセスすると、一定時間利用できなくなる場合がございます。テストの際にはご注意ください。
入力パラメーター
楽天Koboジャンル検索API 入力パラメータ version:2013-10-10
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 | 楽天KoboジャンルID | koboGenreId | String | - | ジャンルルートは、koboGenreId=101とする | |
2 | ジャンルパス | genrePath | int(1) | - | 0 | 結果セットに祖先ジャンル(親ジャンルよりも上のジャンル)を含めるか否 か
0:含めない 1:含める |
出力パラメーター
楽天Koboジャンル検索API 出力パラメーター version:2013-10-10
ID | 分類 | 項目名 | パラメーター | 備考 |
---|---|---|---|---|
区分:サービス固有パラメーター | ||||
1 | 親ジャンル | - | parents | 入力したジャンルIDの親ジャンル 「genrePath=1」を入力パラメータで指定し、指定したgenreIdよりも更に上位階層がある場合、"<parents>~ </parents>"内に複数の"<parent>~ </parent>"が表示される |
2 | 楽天KoboジャンルID | koboGenreId | ジャンルID | |
3 | 楽天Koboジャンル名 | koboGenreName | ジャンル名 | |
4 | ジャンル階層 | genreLevel | ジャンル階層 ジャンルルートは101 |
|
5 | 自ジャンル | - | current | ユーザの入力したジャンルID |
6 | 楽天KoboジャンルID | koboGenreId | ジャンルID | |
7 | 楽天Koboジャンル名 | koboGenreName | ジャンル名 | |
8 | ジャンル階層 | genreLevel | ジャンル階層 | |
9 | 子ジャンル | - | children |
ユーザの入力したジャンルIDの子ジャンル 複数の子ジャンルがある場合は"<children>~ </children>"内に複数の"<child>~ </child>"が複数生成される 入力が「koboGenreId=101」の時はgenreLevel=1のジャンルが"<children>~ </children>"内に複数の"<child>~ </child>"に表示される |
10 | 楽天KoboジャンルID | KoboGenreId | ジャンルID | |
11 | 楽天Koboジャンル名 | KoboGenreName | ジャンル名 | |
12 | ジャンル階層 | genreLevel | ジャンル階層 |
エラー
エラー内容はHTTPステータスコードとレスポンスボディから判断できます。
HTTPステータスコード | 意味 | レスポンスボディ例 (JSON) |
---|---|---|
400 | パラメーターエラー (必須パラメータ不足) |
applicationId を指定しなかった場合
keyword が正しい値でなかった時。(半角1文字のみ指定など)
|
404 | 対象のデータが存在しなかった場合 |
|
429 | リクエスト過多 (各ユーザ制限値超過) |
APIリクエスト数が上限に達した場合のエラーです。しばらく時間を空けてから、ご利用ください。
|
500 | 楽天ウェブサービス内のエラー | システムエラー。長時間続くようであれば、こちらよりごお問い合わせください。
|
503 | メンテナンス・リクエスト過多 (全ユーザ制限値超過) |
メンテナンス (XXX/XXX にはAPI名が入る)
|
レスポンスボディの形式は format に従います。
format | エラー出力例 |
---|---|
json |
|
xml |
|