Ranking API

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(必須)

パラメータ 内容
@me 呼び出しユーザー

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
}