1.概要
Ranking API は、利用ゲームが設定してある公式ランキングの情報、ユーザーとユーザーのフレンドが利用ゲームを対象に設定してあるプライベートランキングの情報を取り扱います。
2.オブジェクトフィールド
2.1 Ranking
| パラメータ |
内容 |
型 |
| rankingkey |
ランキングキー |
string |
| name |
ランキング名 |
string |
| detail |
ランキング内容 |
string |
| startgraderank |
称号制限(下限) |
string |
| endgraderank |
称号制限(上限) |
string |
| starttime |
開催開始日 |
string |
| endtime |
開催終了日 |
string |
| status |
0:公式 1:プライベート |
string |
| format |
ランキング形式 |
string |
| judge |
スコア判定方式 |
string |
| update |
スコア更新方式 |
string |
| participate |
ユーザーの参加状態 [true:参加中 false:未参加] |
string |
3.リクエスト
3.1 エンドポイント
http://gpf-api.[対象ドメイン]/social/ranking/{uid}/{selector}
3.2 HTTPメソッド
| HTTPメソッド |
機能 |
| GET |
ランキング情報の取得 |
| PUT |
– |
| POST |
– |
| DELETE |
– |
3.3 認証
HTTPヘッダーに以下の値を設定してください。全て必須項目です。
| キー |
値 |
| Authorization |
呼び出しユーザーのsapkeyを指定 |
| GAME_CODE |
利用ゲームのGAME_CODE |
| Hash |
SHA1(Authorizaion + GAME_CODE + API_KEY) |
3.4 テンプレートパラメータ
uid(必須)
selector(何れか必須)
| パラメータ |
内容 |
| @official |
利用ゲームが設定してある開催中のランキング情報をリストで取得します |
| @private |
uidパラメータで指定したユーザーのフレンドまたはユーザー自身が、利用ゲームを対象に設定して開催しているプライベートランキングの情報をリストで取得します |
| @all |
@official, @privateで取得できるすべてのランキング情報をリストで取得します(公式ランキングが優先的に取得されます) |
| @one |
rankingkeyパラメータで指定したランキングの情報を取得します |
3.5 クエリパラメータ
format
| パラメータ |
内容 |
備考 |
| json |
“application/json;charset=utf8” |
デフォルトでセットされます。 |
rankingkey
| パラメータ |
内容 |
備考 |
| {rankingkey} |
指定するランキングのKEY |
selectorが@one時 必須 |
startIndex
| パラメータ |
内容 |
備考 |
| 任意の自然数 |
取得するランキング情報の開始値 |
|
count
| パラメータ |
内容 |
備考 |
| 任意の自然数 |
最大取得件数 |
|
4.レスポンス
| HTTPメソッド |
レスポンスコード |
内容 |
| GET |
200 |
データ取得正常終了 |
| GET |
400 |
リクエスト不正 |
| GET |
401 |
認証失敗 |
| POST/PUT/DELETE |
403 |
許可されていないメソッド |
| GET |
404 |
存在しないデータ |
| GET |
500 |
プラットフォームエラー |
X.サンプル
selector”@one”指定時にrankingkeyに一致するランキングがない場合、レスポンスコード404を返します。
X.1 利用ゲームが開催している公式ランキングを取得する
【リクエスト】
/social/ranking/@me/@official
【レスポンス】
{
"entry":[
{
"rankingkey":"test_ranking",
"name":"ランキングテスト",
"detail":"ランキングの内容",
"startgraderank":"初心者",
"endgraderank":"",
"starttime":"2013/01/01 00:00",
"endtime":"2013/12/31 23:59",
"status":"0",
"format":"ITEM",
"judge":"MAX",
"update":"ADD",
"participate":"false"
},
{
"rankingkey":"test_ranking2",
"name":"防衛戦!",
"detail":"最高防衛数を目指せ!",
"startgraderank":"",
"endgraderank":"",
"starttime":"2013/09/01 00:00",
"endtime":"2013/09/30 23:59",
"status":"0",
"format":"DEFENSE",
"judge":"MAX",
"update":"UPDATE",
"participate":"true"
}
],
"itemsPerPage":0,
"startIndex":0,
"totalResults":2
}
X.2 ユーザーまたはユーザーのフレンドが利用ゲームを対象に開催しているプライベートランキングを取得する
【リクエスト】
/social/ranking/@me/@private
【レスポンス】
{
"entry":[
{
"rankingkey":"private1-4",
"name":"個人開催中",
"detail":"みんな参加してね!",
"startgraderank":"初心者",
"endgraderank":"上級者",
"starttime":"2013/09/20 00:00",
"endtime":"2013/10/05 23:59",
"status":"1",
"format":"UPGRADE",
"judge":"MAX",
"update":"ADD",
"participate":"false"
},
{
"rankingkey":"private13-20",
"name":"プライベートランキング",
"detail":"3位の人が報酬独り占め!",
"startgraderank":"",
"endgraderank":"",
"starttime":"2013/09/18 12:00",
"endtime":"2013/09/28 12:00",
"status":"1",
"format":"ATTACK",
"judge":"MAX",
"update":"UPDATE",
"participate":"false"
},
{
"rankingkey":"private12-38",
"name":"上位決定戦",
"detwail":"上級者の中の1位を決めるランキング",
"startgraderank":"上級者",
"endgraderank":"上級者",
"starttime":"2013/05/01 00:00",
"endtime":"2013/12/31 12:00",
"status":"1",
"format":"ATTACK",
"judge":"MAX",
"update":"UPDATE",
"participate":"false"
}
],
"itemsPerPage":0,
"startIndex":0,
"totalResults":3
}
X.3 ランキングキーを指定してランキング情報を取得する
【リクエスト】
/social/ranking/@me/@one?rankingkey=test_ranking2
【レスポンス】
{
"entry":[
{
"rankingkey":"test_ranking2",
"name":"防衛戦!",
"detail":"最高防衛数を目指せ!",
"startgraderank":"",
"endgraderank":"",
"starttime":"2013/09/01 00:00",
"endtime":"2013/09/30 23:59",
"status":"0",
"format":"DEFENSE",
"judge":"MAX",
"update":"UPDATE",
"participate":"true"
}
],
"itemsPerPage":0,
"startIndex":0,
"totalResults":1
}