12.3. ランキング 2

12.3.1. 一般情報

モジュール名 ranking2
APIバージョン 1

12.3.2. 設定 API

ランキング 2 の各種設定を取得、変更する場合に本 API を使用します。機能の詳細は、「 6.9. 設定 」を参照してください。

12.3.2.1. カテゴリタイプ設定の取得

カテゴリタイプ設定を取得します。

未設定のカテゴリタイプを指定した場合、デフォルト値が格納されて取得できます。 全取得においては、未設定のカテゴリタイプは取得されません。設定済みのカテゴリタイプだけが取得できます。 設定済みのものが 1 つもない場合、サイズ 0 で取得できます。

取得できる値の詳細は、「 6.9.2. カテゴリタイプ設定 」を参照してください。

GET /nex/ranking2/v1/category_type_settings/(category_type_id)

1 つのカテゴリタイプの設定を取得します。

パラメーター:

名前 内容
category_type_id 取得するカテゴリタイプ番号。1 つのみ指定可。

リクエスト例:

GET /nex/ranking2/v1/category_type_settings/1 HTTP/1.1
GET /nex/ranking2/v1/category_type_settings

複数のカテゴリタイプの設定を取得します。

パラメーター:

名前 内容
category_types 取得するカテゴリタイプ番号。カンマ区切りで複数指定可。指定なしで、全カテゴリタイプの情報を取得。

リクエスト例:

GET /nex/ranking2/v1/category_type_settings?category_types=1,3 HTTP/1.1

レスポンス例:

HTTP/1.1 200 OK
Content-Type:  text/xml;charset=utf-8

<?xml version="1.0" encoding="UTF-8"?>
<nex>
  <ranking2>
    <category_type_settings length="2">
      <category_type_setting>
        <category_type>1</category_type>
        <min_score>0</min_score>
        <max_score>4294967295</max_score>
        <score_order>1</score_order>
        <lowest_rank>10000</lowest_rank>
        <max_seasons_to_go_back>5</max_seasons_to_go_back>
        <reset_mode>1</reset_mode>
        <reset_hour>2</reset_hour>
        <reset_day>1</reset_day>
        <reset_month>4095</reset_month>
      </category_type_setting>
      <category_type_setting>
        <category_type>3</category_type>
        <min_score>0</min_score>
        <max_score>4294967295</max_score>
        <score_order>1</score_order>
        <lowest_rank>10000</lowest_rank>
        <max_seasons_to_go_back>5</max_seasons_to_go_back>
        <reset_mode>1</reset_mode>
        <reset_hour>2</reset_hour>
        <reset_day>1</reset_day>
        <reset_month>4095</reset_month>
      </category_type_setting>
    </category_type_settings>
  </ranking2>
</nex>

12.3.2.2. カテゴリタイプ設定の変更

カテゴリタイプ設定を変更します。

設定する値の詳細は、「 6.9.2. カテゴリタイプ設定 」を参照してください。

PUT /nex/ranking2/v1/category_type_settings
POST /nex/ranking2/v1/category_type_settings/put

複数のカテゴリタイプの設定を変更します。 各設定項目の中で指定しなかったものは変更されません。

リクエストボディ

要素名 親要素 内容
change   ルート要素。 必須
category_type_settings change 必須
category_type_setting category_type_settings 複数のカテゴリタイプの設定を変更する際は、この要素を複数並べる。必須
category_type category_type_setting カテゴリタイプ番号。必須
min_score category_type_setting 有効スコアの最小値。0 ~ 4294967295, max_score 以下。max_score と同時指定が必要。
max_score category_type_setting 有効スコアの最大値。0 ~ 4294967295, min_score 以上。min_score と同時指定が必要。
score_odrder category_type_setting スコアの並び順。0: 昇順, 1: 降順
lowest_rank category_type_setting ランキングの最低順位。1 ~ 10000。
max_seasons_to_go_back category_type_setting 過去シーズンの保存数。0 ~ 100。
reset_mode category_type_setting 定期リセットモード。
reset_hour category_type_setting 定期リセット時。0 ~ 23。UTC。
reset_day category_type_setting 定期リセット日。1 ~ 28(日にち)または 0 ~ 6(曜日)。UTC。
reset_month category_type_setting 定期リセット月。1 ~ 4095(各月を 1 ビットとし、下位から 1 月, 2 月, …とする全 12 ビットの値)。UTC。

定期リセットの設定値を変更した場合は、次にシーズンが変更されるタイミングを再計算する必要があります。 そのためには、 シーズン情報の初期化 を行うか、 シーズン情報の変更 で希望のシーズン番号およびタイミングをセットするか、どちらかを行ってください。

リクエスト例:

PUT /nex/ranking2/v1/category_type_settings HTTP/1.1

<change>
  <category_type_settings>
    <category_type_setting>
      <category_type>1</category_type>
      <min_score>1</min_score>
      <max_score>10000</max_score>
      <score_order>1</score_order>
      <lowest_rank>10000</lowest_rank>
      <max_seasons_to_go_back>5</max_seasons_to_go_back>
      <reset_mode>1</reset_mode>
      <reset_hour>2</reset_hour>
      <reset_day>1</reset_day>
      <reset_month>4095</reset_month>
    </category_type_setting>
    <category_type_setting>
      <category_type>2</category_type>
      <min_score>1</min_score>
      <max_score>10000</max_score>
      <score_order>1</score_order>
      <lowest_rank>10000</lowest_rank>
      <max_seasons_to_go_back>5</max_seasons_to_go_back>
      <reset_mode>1</reset_mode>
      <reset_hour>2</reset_hour>
      <reset_day>1</reset_day>
      <reset_month>4095</reset_month>
    </category_type_setting>
  </category_type_settings>
</change>

レスポンス例:

HTTP/1.1 200 OK
Content-Type:  text/xml;charset=utf-8

<?xml version="1.0" encoding="UTF-8"?>
<nex>
  <ranking2>
    <category_type_settings>
      <changed length="2"/>
    </category_type_settings>
  </ranking2>
</nex>

length は変更したカテゴリタイプの数。

12.3.2.3. カテゴリタイプ設定の初期化

カテゴリタイプ設定を初期化します。

定期リセットの設定値を変更していた状態から初期化をした場合は、シーズン情報も初期化する必要があります。 そのためには、 シーズン情報の初期化 を行うか、 シーズン情報の変更 で希望のシーズン番号およびタイミングをセットするか、どちらかを行ってください。

DELETE /nex/ranking2/v1/category_type_settings/(category_type_id)
POST /nex/ranking2/v1/category_type_settings/(category_type_id)/delete

1 つのカテゴリタイプの設定を初期化します。

パラメーター:

名前 内容
category_type_id 初期化するカテゴリタイプ番号。1 つのみ指定可。

リクエスト例:

DELETE /nex/ranking2/v1/category_type_settings/0 HTTP/1.1

レスポンス例:

HTTP/1.1 200 OK
Content-Type:  text/xml;charset=utf-8

<?xml version="1.0" encoding="UTF-8"?>
<nex>
  <ranking2>
    <category_type_settings>
      <initialized length="2"/>
    </category_type_settings>
  </ranking2>
</nex>

length は初期化されたカテゴリタイプの数。

DELETE /nex/ranking2/v1/category_type_settings
POST /nex/ranking2/v1/category_type_settings/delete

すべてのカテゴリタイプの設定を初期化します。

リクエスト例:

DELETE /nex/ranking2/v1/category_type_settings HTTP/1.1

レスポンス例:

HTTP/1.1 200 OK
Content-Type:  text/xml;charset=utf-8

<?xml version="1.0" encoding="UTF-8"?>
<nex>
  <ranking2>
    <category_type_settings>
      <initialized length="2"/>
    </category_type_settings>
  </ranking2>
</nex>

length は初期化されたカテゴリタイプの数。

12.3.2.4. カテゴリ設定の取得

カテゴリ設定を取得します。

未設定のカテゴリを指定した場合、サイズ 0 で取得できます。デフォルト値は取得できません。 全取得においても、未設定のカテゴリは取得されません。設定済みのカテゴリだけが取得できます。 設定済みのものが 1 つもない場合、サイズ 0 で取得できます。

取得できる値の詳細は、「 6.9.1. カテゴリ設定 」を参照してください。

GET /nex/ranking2/v1/category_settings/(category_id)

1 つのカテゴリの設定を取得します。

パラメーター:

名前 内容
category_id 取得するカテゴリ番号。1 つのみ指定可。

リクエスト例:

GET /nex/ranking2/v1/category_settings/1 HTTP/1.1
GET /nex/ranking2/v1/category_settings

複数のカテゴリの設定を取得します。

パラメーター:

名前 内容
categories 取得するカテゴリ番号。カンマ区切りで複数指定可。指定なしで、全カテゴリの情報を取得。

リクエスト例:

GET /nex/ranking2/v1/category_settings?categories=0,1 HTTP/1.1

レスポンス例:

HTTP/1.1 200 OK
Content-Type:  text/xml;charset=utf-8

<?xml version="1.0" encoding="UTF-8"?>
<nex>
  <ranking2>
    <category_settings length="2">
      <category_setting>
        <category>0</category>
        <min_score>1</min_score>
        <max_score>10000</max_score>
        <category_type>0</category_type>
      </category_setting>
      <category_setting>
        <category>1</category>
        <min_score>1</min_score>
        <max_score>10000</max_score>
        <category_type>0</category_type>
      </category_setting>
    </category_settings>
  </ranking2>
</nex>

12.3.2.5. カテゴリ設定の変更

カテゴリ設定を変更します。

設定する値の詳細は、「 6.9.1. カテゴリ設定 」を参照してください。

PUT /nex/ranking2/v1/category_settings
POST /nex/ranking2/v1/category_settings/put

複数のカテゴリの設定を変更します。 各設定項目の中で指定しなかったものは変更されません。

リクエストボディ

要素名 親要素 内容
change   ルート要素。 必須
category_settings change 必須
category_setting category_settings 複数のカテゴリの設定を変更する際は、この要素を複数並べる。必須
category category_setting カテゴリ番号。必須
category_type category_setting カテゴリが所属するカテゴリタイプ番号。0 ~ 255。
min_score category_setting 有効スコアの最小値。0 ~ 4294967295, max_score 以下。max_score と同時指定が必要。
max_score category_setting 有効スコアの最大値。0 ~ 4294967295, min_score 以上。min_score と同時指定が必要。

リクエスト例:

PUT /nex/ranking2/v1/category_settings HTTP/1.1

<change>
  <category_settings>
    <category_setting>
      <category>0</category>
      <category_type>0</category_type>
      <max_score>10000</max_score>
      <min_score>1</min_score>
    </category_setting>
    <category_setting>
      <category>1</category>
      <category_type>0</category_type>
      <max_score>10000</max_score>
      <min_score>1</min_score>
    </category_setting>
  </category_settings>
</change>

レスポンス例:

HTTP/1.1 200 OK
Content-Type:  text/xml;charset=utf-8

<?xml version="1.0" encoding="UTF-8"?>
<nex>
  <ranking2>
    <category_settings>
      <changed length="2"/>
    </category_settings>
  </ranking2>
</nex>

length は変更したカテゴリの数。

12.3.2.6. カテゴリ設定の初期化

カテゴリ設定を初期化します。

DELETE /nex/ranking2/v1/category_settings/(category_id)
POST /nex/ranking2/v1/category_settings/(category_id)/delete

1 つのカテゴリの設定を初期化します。

パラメーター:

名前 内容
category_id 初期化するカテゴリ番号。1 つのみ指定可。

リクエスト例:

DELETE /nex/ranking2/v1/category_settings/0 HTTP/1.1

レスポンス例:

HTTP/1.1 200 OK
Content-Type:  text/xml;charset=utf-8

<?xml version="1.0" encoding="UTF-8"?>
<nex>
  <ranking2>
    <category_settings>
      <initialized length="1"/>
    </category_settings>
  </ranking2>
</nex>

length は初期化されたカテゴリの数。

DELETE /nex/ranking2/v1/category_settings
POST /nex/ranking2/v1/category_settings/delete

すべてのカテゴリの設定を初期化します。

リクエスト例:

DELETE /nex/ranking2/v1/category_settings HTTP/1.1

レスポンス例:

HTTP/1.1 200 OK
Content-Type:  text/xml;charset=utf-8

<?xml version="1.0" encoding="UTF-8"?>
<nex>
  <ranking2>
    <category_settings>
      <initialized length="2"/>
    </category_settings>
  </ranking2>
</nex>

length は初期化されたカテゴリの数。

12.3.2.7. カテゴリの取得

スコアデータが登録されているカテゴリを取得します。

いずれかのシーズンに 1 つでもスコアデータが登録されているカテゴリはすべて取得されます。

GET /nex/ranking2/v1/categories

リクエスト例:

GET /nex/ranking2/v1/categories HTTP/1.1

レスポンス例:

HTTP/1.1 200 OK
Content-Type:  text/xml;charset=utf-8

<?xml version="1.0" encoding="UTF-8"?>
<nex>
  <ranking2>
    <categories length="2">
        <category>1</category>
        <category>2</category>
    </categories>
  </ranking2>
</nex>

12.3.3. シーズン情報関連 API

シーズン情報を取得、変更、初期化する場合に本 API を使用します。シーズンについては「 6.2.6. 定期リセットとシーズン 」を参照してください。

12.3.3.1. シーズン情報の取得

シーズン情報を取得します。

GET /nex/ranking2/v1/season_info_entries/(category_type_id)

1 つのシーズン情報を取得します。

パラメーター:

名前 内容
category_type_id 取得するカテゴリタイプ番号。1 つのみ指定可。

リクエスト例:

GET /nex/ranking2/v1/season_info_entries/1 HTTP/1.1
GET /nex/ranking2/v1/season_info_entries

複数のカテゴリタイプのシーズン情報を取得します。

パラメーター:

名前 内容
category_types 取得するカテゴリタイプ番号。カンマ区切りで複数指定可。指定なしで、全カテゴリタイプの情報を取得。

リクエスト例:

GET /nex/ranking2/v1/season_info_entries?category_types=1,2 HTTP/1.1

レスポンスボディ:

要素名 親要素 内容
season_info_entries   ルート要素。
season_info_entry season_info_entries 複数のカテゴリタイプを指定すると、この要素が複数取得される。
category_type season_info_entry カテゴリタイプ番号。
season season_info_entry シーズン番号。
season_from season_info_entry 現シーズンが開始された日時。形式は %Y-%m-%dT%H:%M:%SZ 。UTC。
season_to season_info_entry 現シーズンが終了する日時。形式は %Y-%m-%dT%H:%M:%SZ 。UTC。

レスポンス例:

HTTP/1.1 200 OK
Content-Type:  text/xml;charset=utf-8

<?xml version="1.0" encoding="UTF-8"?>
<nex>
  <ranking2>
    <season_info_entries length="2">
      <season_info_entry>
        <season_to>2015-06-13T02:00:00Z</season_to>
        <season>0</season>
        <category_type>1</category_type>
        <season_from>2000-01-01T00:00:00Z</season_from>
      </season_info_entry>
      <season_info_entry>
        <season_to>2015-06-13T02:00:00Z</season_to>
        <season>0</season>
        <category_type>2</category_type>
        <season_from>2000-01-01T00:00:00Z</season_from>
      </season_info_entry>
    </season_info_entries>
  </ranking2>
</nex>

12.3.3.2. シーズン情報の変更

シーズン情報を変更します。

シーズン番号を変更すると、それ以降は新しいシーズン番号を基準として取得や定期処理による古いシーズンの削除が行われます。 スコアデータが残っている状態では、意図しないスコアが取得される可能性があるので、注意して使用してください。

season_to を任意の未来の日時に変更することで、定期リセット設定に関わらず、その日時までシーズン番号を変化させないことが可能です。 例えば、毎日リセットの設定にしているが、サーバー設定時から発売日までシーズンを 0 としたい場合などに利用できます。

PUT /nex/ranking2/v1/season_info_entries
POST /nex/ranking2/v1/season_info_entries/put

リクエストボディで指定した複数のカテゴリタイプのシーズン情報を変更します。

リクエストボディ

要素名 親要素 内容
change   ルート要素。 必須
season_info_entries change 必須
season_info_entry season_info_entries 複数のカテゴリタイプのシーズン情報を変更する際は、この要素を複数並べる。必須
category_type season_info_entry カテゴリタイプ番号。必須
season season_info_entry シーズン番号。0~2147483647。必須
season_from season_info_entry 現シーズンが開始された日時。形式は %Y-%m-%dT%H:%M:%SZ 。UTC。必須
season_to season_info_entry 現シーズンが終了する日時。形式は %Y-%m-%dT%H:%M:%SZ 。UTC。必須

リクエスト例:

PUT /nex/ranking2/v1/season_info_entries HTTP/1.1

<change>
  <season_info_entries>
    <season_info_entry>
      <category_type>0</category_type>
      <season>2</season>
      <season_from>2015-05-01T02:00:00Z</season_from>
      <season_to>2016-05-20T02:00:00Z</season_to>
    </season_info_entry>
    <season_info_entry>
      <category_type>1</category_type>
      <season>3</season>
      <season_from>2015-05-01T02:00:00Z</season_from>
      <season_to>2016-05-20T02:00:00Z</season_to>
    </season_info_entry>
  </season_info_entries>
</change>

レスポンス例:

HTTP/1.1 200 OK
Content-Type:  text/xml;charset=utf-8

<?xml version="1.0" encoding="UTF-8"?>
<nex>
  <ranking2>
    <season_info_entries>
      <changed length="2"/>
    </season_info_entries>
  </ranking2>
</nex>

length は変更したシーズン情報の数。

12.3.3.3. シーズンの強制進行

シーズンを 1 つ進めます。デバッグなどで強制的にシーズンを進める必要がある場合に使用します。

この API では、シーズン番号だけが変化します。シーズンの開始/終了日時は変わりません。これらを変更するには、 シーズン情報の変更 を使用してください。

シーズンが進むと古いシーズン(過去シーズンの保存数を超えたもの)が削除対象になりますが、即座に削除はされません。定期処理によって徐々に削除されます。

定期リセットなしに設定されているカテゴリタイプのシーズンは変わりません。

PUT /nex/ranking2/v1/season_info_entries/setting_forward
POST /nex/ranking2/v1/season_info_entries/setting_forward/put

リクエストボディで指定したカテゴリタイプのシーズンを進めます。

リクエストボディ

要素名 親要素 内容
change   ルート要素。 必須
season_info_entries change 必須
season_info_entry season_info_entries 複数の条件を指定して進める際は、この要素を複数並べる。必須
category_type season_info_entry シーズンを進めるカテゴリタイプ番号。必須

リクエスト例:

PUT /nex/ranking2/v1/season_info_entries/setting_forward HTTP/1.1

<change>
  <season_info_entries>
    <season_info_entry>
      <category_type>0</category_type>
    </season_info_entry>
    <season_info_entry>
      <category_type>1</category_type>
    </season_info_entry>
  </season_info_entries>
</change>
PUT /nex/ranking2/v1/season_info_entries/setting_forward/all
POST /nex/ranking2/v1/season_info_entries/setting_forward/all/put

全カテゴリタイプのシーズンを進めます。

リクエスト例:

PUT /nex/ranking2/v1/season_info_entries/setting_forward/all HTTP/1.1

レスポンス例:

HTTP/1.1 200 OK
Content-Type:  text/xml;charset=utf-8

<?xml version="1.0" encoding="UTF-8"?>
<nex>
  <ranking2>
    <season_info_entries>
      <changed length="255"/>
    </season_info_entries>
  </ranking2>
</nex>

length はシーズンを進めたカテゴリタイプの数。

12.3.3.4. シーズン情報の初期化

シーズン情報を初期化します。本 API 使用後にシーズン情報を取得したい場合、使用直後に取得を行うと不正な値が返る可能性があるので、数秒間待ってから取得を行うようにしてください。

DELETE /nex/ranking2/v1/season_info_entries/(category_type_id)
POST /nex/ranking2/v1/season_info_entries/(category_type_id)/delete

1 つのカテゴリタイプのシーズン情報を初期化します。

パラメーター:

名前 内容
category_type_id 初期化するカテゴリタイプ番号。1 つのみ指定可。

リクエスト例:

DELETE /nex/ranking2/v1/season_info_entries/0 HTTP/1.1

レスポンス例:

HTTP/1.1 200 OK
Content-Type:  text/xml;charset=utf-8

<?xml version="1.0" encoding="UTF-8"?>
<nex>
  <ranking2>
    <season_info_entries>
      <initialized length="2"/>
    </season_info_entries>
  </ranking2>
</nex>

length は初期化されたシーズン情報の数。

DELETE /nex/ranking2/v1/season_info_entries
POST /nex/ranking2/v1/season_info_entries/delete

すべてのシーズン情報を初期化します。

リクエスト例:

DELETE /nex/ranking2/v1/season_info_entries HTTP/1.1

レスポンス例:

HTTP/1.1 200 OK
Content-Type:  text/xml;charset=utf-8

<?xml version="1.0" encoding="UTF-8"?>
<nex>
  <ranking2>
    <season_info_entries>
      <initialized length="256"/>
    </season_info_entries>
  </ranking2>
</nex>

length は初期化されたシーズン情報の数。

12.3.4. ランキング関連 API

ランキングや個別のスコアデータを取得、登録、削除する場合に本 API を使用します。

12.3.4.1. ランキングの取得

ランキングを取得します。 取得できるランキングは範囲ランキングのみです。 範囲ランキングについては「 6.6.1. ランキングの種類 」を参照してください。

GET /nex/ranking2/v1/categories/(category_id)/ranking

パラメーターで指定したカテゴリのランキングを取得します。

パラメーター:

名前 内容
category_id ランキングを取得するカテゴリ番号。必須
offset ランキングを取得するオフセット位置。0 開始。指定なしの場合、offset=0。
limit ランキングを取得する長さ。1 ~ 100。指定なしの場合、limt=10。
num_seasons_to_go_back 何回前のシーズンを取得するか。0 で現在のシーズンを取得する。指定なしの場合、0。

リクエスト例:

GET /nex/ranking2/v1/categories/1/ranking?offset=1&limit=3 HTTP/1.1

レスポンスボディ:

要素名 親要素 内容
ranking   ルート要素。
rank_data ranking 1 つのスコアデータの要素。
score_id rank_data スコア ID。
score_value rank_data スコア。
rank rank_data 順位。1 開始。
principal_id rank_data プリンシパル ID。
unique_id rank_data NEX ユニーク ID。未使用なら 0。
date rank_data 更新日時。形式は %Y-%m-%dT%H:%M:%SZ 。UTC。
misc rank_data misc データ。64bit 整数値。
common_data rank_data ユーザー共通データ。
name common_data ユーザー共通データの名前。URL Safe な Base64 エンコードされた値。
binary_data common_data ユーザー共通データのバイナリデータ。URL Safe な Base64 エンコードされた値。
mii common_data Mii データ。現在は WebAPI から取得不可。必ず空で返る。
lowest_rank ranking 該当カテゴリの設定上の最低順位。
num_ranked_in ranking 該当カテゴリのランキングに登録されているスコアの数。
season ranking 該当カテゴリのシーズン番号。

スコア ID は、各スコアデータに自動で割り振られる固有の値です。特定のデータを参照、削除する際に使用します。ゲームからは使用できません。

レスポンス例:

HTTP/1.1 200 OK
Content-Type:  text/xml;charset=utf-8

<?xml version="1.0" encoding="UTF-8"?>
<nex>
  <ranking2>
    <ranking length="3" offset="1">
      <rank_data>
        <principal_id>2002</principal_id>
        <score_value>3885986981</score_value>
        <unique_id>0</unique_id>
        <score_id>66</score_id>
        <date>2015-06-12T05:01:31Z</date>
        <misc>2668039053452605242</misc>
        <common_data>
          <mii></mii>
          <binary_data>WmJyb1F1YnFYRU9JT0ZoUHVTVmV0ZUFhREdKeFh5TWxzUmVVamdBV2RQSXlQVmRSR0JXSmlyRHdNbW5RdGplQnFvSFBVa3F6eUNMYlluRUhtcWRNYmZPdU9abmlRV1hjUk5tUw==</binary_data>
          <name>UElEPTIwMDI=</name>
        </common_data>
        <rank>2</rank>
      </rank_data>
      <rank_data>
        <principal_id>2000</principal_id>
        <score_value>3201355316</score_value>
        <unique_id>0</unique_id>
        <score_id>64</score_id>
        <date>2015-06-12T05:01:31Z</date>
        <misc>17485265505298322584</misc>
        <common_data>
          <mii></mii>
          <binary_data>T09Cc1JVemlDcENVcWNudklnQUhEakZodmhLV2RReHpaSk1wTGp5Y0pwS0VzRWVEbFNpbVRQVG9xc3JmVGliZU1ybmtmbkxva1VjYlBQc2xiVWV4RFFZQnRzYnNrbWV4Vnhaag==</binary_data>
          <name>UElEPTIwMDA=</name>
        </common_data>
        <rank>3</rank>
      </rank_data>
      <rank_data>
        <principal_id>2005</principal_id>
        <score_value>2442138032</score_value>
        <unique_id>0</unique_id>
        <score_id>69</score_id>
        <date>2015-06-12T05:01:31Z</date>
        <misc>7042069569313320480</misc>
        <common_data>
          <mii></mii>
          <binary_data>VHlUYWVpSWRMeXpOSVBwTGlMeXZUdkZnTW9XckZrVVRjamlyRk9QV0ZOY0lYU0ZMQ2JlY21GaG9yQkxVeUZkeHNmYUtEamVudVhQQ0duWkhIelFSQkJyaVRPTktXdm5zRkFaSA==</binary_data>
          <name>UElEPTIwMDU=</name>
        </common_data>
        <rank>4</rank>
      </rank_data>
    </ranking>
    <lowest_rank>10000</lowest_rank>
    <num_ranked_in>10</num_ranked_in>
    <season>0</season>
  </ranking2>
</nex>

12.3.4.2. スコアデータの取得

スコアデータを取得します。

GET /nex/ranking2/v1/scores/(score_id)

1 つのスコアデータを取得します。

パラメーター:

名前 内容
score_id スコア ID。1 つのみ指定可能。

リクエスト例:

GET /nex/ranking2/v1/scores/1 HTTP/1.1
GET /nex/ranking2/v1/scores
GET /nex/ranking2/v1/categories/(category_id)/scores

指定した条件に合致する複数のスコアデータを取得します。

パラメーター:

名前 内容
category_id スコアデータを取得するカテゴリ番号。1 つのみ指定可能。categories と同時に指定不可。
score_ids スコア ID。カンマ区切りで複数指定可。
principal_ids プリンシパル ID。カンマ区切りで複数指定可。
unique_ids NEX ユニーク ID。カンマ区切りで複数指定可。
categories カテゴリ番号。カンマ区切りで複数指定可。category_id と同時に指定不可。
seasons シーズン番号。カンマ区切りで複数指定可。
score_value スコア。カンマ区切りで複数指定可。
miscs misc データ。カンマ区切りで複数指定可。
offset 取得するオフセット位置。0 開始。指定なしの場合、offset=0。
limit 取得する長さ。1 ~ 1000。指定なしの場合、limit=10。

リクエスト例:

GET /nex/ranking2/v1/scores?categories=1&seasons=0&offset=1&limit=3 HTTP/1.1
GET /nex/ranking2/v1/categories/1/scores?seasons=0&offset=1&limit=3 HTTP/1.1

レスポンスボディ:

要素名 親要素 内容
scores   ルート要素。
score scores 1 つのスコアデータの要素。
score_id score スコアデータの ID。スコアデータを削除する際に使用。
score_value score スコア。
principal_id score プリンシパル ID。
unique_id score NEX ユニーク ID。未使用なら 0。
date score 更新日時。形式は %Y-%m-%dT%H:%M:%SZ 。UTC。
misc score misc データ。64bit 整数値。
category score カテゴリ番号。
season score シーズン番号。

レスポンス例:

HTTP/1.1 200 OK
Content-Type:  text/xml;charset=utf-8

<?xml version="1.0" encoding="UTF-8"?>
<nex>
  <ranking2>
    <scores length="3" offset="1">
      <score>
        <category>1</category>
        <season>0</season>
        <misc>9308000101998636569</misc>
        <principal_id>2001</principal_id>
        <score_value>1804411040</score_value>
        <score_id>65</score_id>
        <date>2015-06-12T05:01:31Z</date>
        <unique_id>0</unique_id>
      </score>
      <score>
        <category>1</category>
        <season>0</season>
        <misc>2668039053452605242</misc>
        <principal_id>2002</principal_id>
        <score_value>3885986981</score_value>
        <score_id>66</score_id>
        <date>2015-06-12T05:01:31Z</date>
        <unique_id>0</unique_id>
      </score>
      <score>
        <category>1</category>
        <season>0</season>
        <misc>11310608647177294438</misc>
        <principal_id>2003</principal_id>
        <score_value>1727690968</score_value>
        <score_id>67</score_id>
        <date>2015-06-12T05:01:31Z</date>
        <unique_id>0</unique_id>
      </score>
    </scores>
  </ranking2>
</nex>

12.3.4.3. スコアデータの登録

スコアデータを登録します。 スコア ID を指定することはできません。自動で新しい番号が割り当てられます。 特定のスコア ID のデータを変更したい場合は、削除して新しく登録することで代用してください。

PUT /nex/ranking2/v1/scores
POST /nex/ranking2/v1/scores/put

スコアデータを登録します。

リクエストボディ

要素名 親要素 内容
change   ルート要素。 必須
scores change 必須
score scores 複数のスコアデータを登録する際は、この要素を複数並べる。必須
principal_id score プリンシパル ID。必須
unique_id score NEX ユニーク ID。未使用なら 0。必須
category score カテゴリ番号。必須
season score シーズン番号。必須
score_value score スコア。必須
misc score misc データ。必須

対象のプリンシパル ID に NEX ユニーク ID が関連付けられている場合は、 その関連付けに合うようにプリンシパル ID と NEX ユニーク ID を指定してください。 実際の関連付けと異なる組み合わせを指定した場合は、登録したスコアが正しく参照されないことがあります。

リクエスト例:

PUT /nex/ranking2/v1/scores HTTP/1.1

<change>
  <scores>
    <score>
      <principal_id>2000</principal_id>
      <unique_id>0</unique_id>
      <category>3</category>
      <season>0</season>
      <score_value>100</score_value>
      <misc>123</misc>
    </score>
  </scores>
</change>

レスポンス例:

HTTP/1.1 200 OK
Content-Type:  text/xml;charset=utf-8

<?xml version="1.0" encoding="UTF-8"?>
<nex>
  <ranking2>
    <scores>
      <changed length="1"/>
    </scores>
  </ranking2>
</nex>

length は登録したスコアデータの数。

12.3.4.4. スコアデータの削除

スコアデータを削除します。

DELETE /nex/ranking2/v1/scores/(score_id)
POST /nex/ranking2/v1/scores/(score_id)/delete

1 つのスコアデータを削除します。

パラメーター:

名前 内容
score_id 削除するスコア ID。1 つのみ指定可。

リクエスト例:

DELETE /nex/ranking2/v1/scores/0 HTTP/1.1

レスポンス例:

HTTP/1.1 200 OK
Content-Type:  text/xml;charset=utf-8

<?xml version="1.0" encoding="UTF-8"?>
<nex>
  <ranking2>
    <scores>
      <deleted length="1"/>
    </scores>
  </ranking2>
</nex>

length は削除されたスコアデータの数。

DELETE /nex/ranking2/v1/categories/(category_id)/scores
POST /nex/ranking2/v1/categories/(category_id)/scores/delete

指定されたカテゴリのスコアを全削除します。

パラメーター:

名前 内容
category_id スコアを削除するカテゴリ ID。1 つのみ指定可。

リクエスト例:

DELETE /nex/ranking2/v1/categories/0/scores HTTP/1.1

レスポンス例:

HTTP/1.1 200 OK
Content-Type:  text/xml;charset=utf-8

<?xml version="1.0" encoding="UTF-8"?>
<nex>
  <ranking2>
    <scores>
      <deleted length="10"/>
    </scores>
  </ranking2>
</nex>

length は削除されたカテゴリとシーズンの組の数。

DELETE /nex/ranking2/v1/scores
POST /nex/ranking2/v1/scores/delete

すべてのスコアデータを削除します。

リクエスト例:

DELETE /nex/ranking2/v1/scores HTTP/1.1

レスポンス例:

HTTP/1.1 200 OK
Content-Type:  text/xml;charset=utf-8

<?xml version="1.0" encoding="UTF-8"?>
<nex>
  <ranking2>
    <scores>
      <deleted length="100"/>
    </scores>
  </ranking2>
</nex>

length は削除されたカテゴリとシーズンの組の数。

12.3.5. ユーザー共通データ関連 API

ユーザー共通データを取得、登録、削除する場合に本 API を使用します。ユーザー共通データの詳細は、「 6.2.5. ユーザー共通データ 」を参照してください。

12.3.5.1. ユーザー共通データの取得

ユーザー共通データを取得します。

GET /nex/ranking2/v1/common_data_entries/(common_data_id)

1 つのユーザー共通データを取得します。

パラメーター:

名前 内容
common_data_id 取得するユーザー共通データ ID。1 つのみ指定可能。

ユーザー共通データ ID は、各ユーザー共通データに自動で割り振られる固有の値です。特定のデータを参照、削除する際に使用します。ゲームからは使用できません。

リクエスト例:

GET /nex/ranking2/v1/common_data_entries/2001 HTTP/1.1
GET /nex/ranking2/v1/common_data_entries

指定した条件に合致する複数のユーザー共通データを取得します。

パラメーター:

名前 内容
common_data_ids 取得するユーザー共通データ ID。カンマ区切りで複数指定可。
principal_ids 取得するプリンシパル ID。カンマ区切りで複数指定可。
unique_ids 取得する NEX ユニーク ID。カンマ区切りで複数指定可。
offset 取得するオフセット位置。0 開始。指定なしの場合、offset=0。
limit 取得する長さ。1 ~ 1000。指定なしの場合、limit=10。

リクエスト例:

GET /nex/ranking2/v1/common_data_entries?principal_ids=2000,2001 HTTP/1.1

レスポンスボディ:

要素名 親要素 内容
common_data_entries   ルート要素。
common_data_entry common_data_entries 複数のユーザー共通データ ID を指定すると、この要素が複数取得される。
common_data_id common_data_entry ユーザー共通データ ID。
principal_id common_data_entry プリンシパル ID。
unique_id common_data_entry NEX ユニーク ID。未使用なら 0。
date common_data_entry 更新日時。形式は %Y-%m-%dT%H:%M:%SZ 。UTC。
name common_data_entry ユーザー共通データの名前。URL Safe な Base64 エンコードされた値。
binary_data common_data_entry ユーザー共通データのバイナリデータ。URL Safe な Base64 エンコードされた値。

レスポンス例:

HTTP/1.1 200 OK
Content-Type:  text/xml;charset=utf-8

<?xml version="1.0" encoding="UTF-8"?>
<nex>
  <ranking2>
    <common_data_entries length="2" offset="0">
      <common_data_entry>
        <binary_data>THF5YWx4RGNNTXFKcmRLb3prQnBUTkl3YWxFWFp0VXJCRGNIU3hzSktncmJ5d25HRk1vSkJBR0FDYnVIeGx2dlR6bkhUdlJJZHpLaHBTamFSWE9kRHNPV0R3eHR1bmJ6aEx2cw==</binary_data>
        <name>UElEPTIwMDA=</name>
        <common_data_id>1</common_data_id>
        <principal_id>2000</principal_id>
        <date>2015-06-15T01:26:49Z</date>
        <unique_id>0</unique_id>
      </common_data_entry>
      <common_data_entry>
        <binary_data>dkhWUEdJQWVQVktJbW15VlFDWElxRllIVkJtQ0FYSVRXaWJYQ1hDeVVTUEpkbFZVeUdtc0NkdmlLVm1Md2FKS1FpQVVXVUhzT2JmWWdralJDTm9hR214dVp5Y3BUSHZTTFpnSw==</binary_data>
        <name>UElEPTIwMDE=</name>
        <common_data_id>2</common_data_id>
        <principal_id>2001</principal_id>
        <date>2015-06-15T01:26:49Z</date>
        <unique_id>0</unique_id>
      </common_data_entry>
    </common_data_entries>
  </ranking2>
</nex>

12.3.5.2. ユーザー共通データの登録

ユーザー共通データを登録します。 ユーザー共通データ ID を指定することはできません。自動で新しい番号が割り当てられます。 特定のユーザー共通データ ID のデータを変更したい場合は、削除して新しく登録することで代用してください。

PUT /nex/ranking2/v1/common_data_entries
POST /nex/ranking2/v1/common_data_entries/put

ユーザー共通データを登録します。

リクエストボディ

要素名 親要素 内容
change   ルート要素。 必須
common_data_entries change 必須
common_data_entry common_data_entries 複数のユーザー共通データを登録する際は、この要素を複数並べる。必須
principal_id common_data_entry プリンシパル ID。必須
unique_id common_data_entry NEX ユニーク ID。未使用なら 0。必須
name common_data_entry ユーザー共通データの名前。URL Safe な Base64 エンコードされた値。必須
binary_data common_data_entry ユーザー共通データのバイナリデータ。URL Safe な Base64 エンコードされた値。必須

対象のプリンシパル ID に NEX ユニーク ID が関連付けられている場合は、 その関連付けに合うようにプリンシパル ID と NEX ユニーク ID を指定してください。 実際の関連付けと異なる組み合わせを指定した場合は、登録したユーザ共通データが正しく参照されないことがあります。

リクエスト例:

PUT /nex/ranking2/v1/common_data_entries HTTP/1.1

<change>
  <common_data_entries>
    <common_data_entry>
     <principal_id>2000</principal_id>
     <unique_id>0</unique_id>
     <name>aG9nZQ==</name>
     <binary_data>AAECAwQF</binary_data>
    </common_data_entry>
  </common_data_entries>
</change>

レスポンス例:

HTTP/1.1 200 OK
Content-Type:  text/xml;charset=utf-8

<?xml version="1.0" encoding="UTF-8"?>
<nex>
  <ranking2>
    <common_data_entries>
      <changed length="1"/>
    </common_data_entries>
  </ranking2>
</nex>

length は登録したユーザー共通データの数。

12.3.5.3. ユーザー共通データの削除

ユーザー共通データを削除します。

DELETE /nex/ranking2/v1/common_data_entries/(common_data_id)
POST /nex/ranking2/v1/common_data_entries/(common_data_id)/delete

1 つのユーザー共通データを削除します。

パラメーター:

名前 内容
common_data_id 削除するユーザー共通データ ID。1 つのみ指定可。

リクエスト例:

DELETE /nex/ranking2/v1/common_data_entries/2001 HTTP/1.1

レスポンス例:

HTTP/1.1 200 OK
Content-Type:  text/xml;charset=utf-8

<?xml version="1.0" encoding="UTF-8"?>
<nex>
  <ranking2>
    <common_data_entries>
      <deleted length="1"/>
    </common_data_entries>
  </ranking2>
</nex>

length は削除されたユーザー共通データの数。

DELETE /nex/ranking2/v1/common_data_entries
POST /nex/ranking2/v1/common_data_entries/delete

すべてのユーザー共通データを削除します。

リクエスト例:

DELETE /nex/ranking2/v1/common_data_entries HTTP/1.1

レスポンス例:

HTTP/1.1 200 OK
Content-Type:  text/xml;charset=utf-8

<?xml version="1.0" encoding="UTF-8"?>
<nex>
  <ranking2>
    <common_data_entries>
      <deleted length="100"/>
    </common_data_entries>
  </ranking2>
</nex>

length は削除されたユーザー共通データの数。

12.3.6. 不正スコア関連 API

不正スコアを取得、削除する場合に本 API を使用します。不正スコアの詳細は、「 6.9.2.1. 有効スコアの最小値および最大値 」を参照してください。

12.3.6.1. 不正スコアデータの取得

不正スコアデータを取得します。

GET /nex/ranking2/v1/invalid_scores/(invalid_score_id)

1 つの不正スコアデータを取得します。

パラメーター:

名前 内容
invalid_score_id 不正スコア ID。1 つのみ指定可能。

不正スコア ID は、各不正スコアに自動で割り振られる固有の値です。特定のデータを参照、変更、削除する際に使用します。ゲームからは使用できません。

リクエスト例:

GET /nex/ranking2/v1/invalid_scores/0 HTTP/1.1
GET /nex/ranking2/v1/invalid_scores
GET /nex/ranking2/v1/categories/(category_id)/invalid_scores

指定した条件に合致する複数の不正スコアデータを取得します。

パラメーター:

名前 内容
category_id 不正スコアデータを取得するカテゴリ番号。1 つのみ指定可能。categories と同時に指定不可。
invalid_score_ids 不正スコア ID。カンマ区切りで複数指定可。
principal_ids プリンシパル ID。カンマ区切りで複数指定可。
unique_ids NEX ユニーク ID。カンマ区切りで複数指定可。
categories カテゴリ番号。カンマ区切りで複数指定可。
offset 取得するオフセット位置。0 開始。指定なしの場合、offset=0。
limit 取得する長さ。1 ~ 1000。指定なしの場合、limit=10。

リクエスト例:

GET /nex/ranking2/v1/invalid_scores?categories=1,2 HTTP/1.1
GET /nex/ranking2/v1/categories/1/invalid_scores HTTP/1.1

レスポンスボディ:

要素名 親要素 内容
invalid_scores   ルート要素。
invalid_score invalid_scores 1 つの不正スコアデータの要素。
invalid_score_id invalid_score 不正スコアデータの ID。不正スコアデータを削除する際に使用。
principal_id invalid_score プリンシパル ID。
unique_id invalid_score NEX ユニーク ID。未使用なら 0。
category invalid_score カテゴリ番号。
score_value invalid_score スコア。
isolated_date invalid_score 隔離された日時。形式は %Y-%m-%dT%H:%M:%SZ 。UTC。

レスポンス例:

HTTP/1.1 200 OK
Content-Type:  text/xml;charset=utf-8

<?xml version="1.0" encoding="UTF-8"?>
<nex>
  <ranking2>
    <invalid_scores length="2" offset="0">
      <invalid_score>
        <invalid_score_id>1</invalid_score_id>
        <principal_id>1001</principal_id>
        <unique_id>0</unique_id>
        <category>1</category>
        <score_value>34</score_value>
        <isolated_date>2015-06-15T01:26:49Z</isolated_date>
      </invalid_score>
      <invalid_score>
        <invalid_score_id>3</invalid_score_id>
        <principal_id>1003</principal_id>
        <unique_id>0</unique_id>
        <category>2</category>
        <score_value>33</score_value>
        <isolated_date>2015-06-15T01:26:49Z</isolated_date>
      </invalid_score>
    </invalid_scores>
  </ranking2>
</nex>

12.3.6.2. 不正スコアデータの登録

不正スコアデータを登録します。

PUT /nex/ranking2/v1/invalid_scores
POST /nex/ranking2/v1/invalid_scores/put

不正スコアデータを登録します。 不正スコア ID を指定すると、既存の不正スコアデータを上書きすることができます。

リクエストボディ

要素名 親要素 内容
change   ルート要素。 必須
invalid_scores change 必須
invalid_score invalid_scores 複数の不正スコアデータを登録する際は、この要素を複数並べる。必須
invalid_score_id invalid_score 不正スコア ID。
principal_id invalid_score プリンシパル ID。必須
unique_id invalid_score NEX ユニーク ID。未使用なら 0。必須
category invalid_score カテゴリ番号。必須
score_value invalid_score スコア。必須

リクエスト例:

PUT /nex/ranking2/v1/invalid_scores HTTP/1.1

<change>
  <invalid_scores>
    <invalid_score>
      <principal_id>2000</principal_id>
      <unique_id>0</unique_id>
      <category>3</category>
      <score_value>9999999</score_value>
    </invalid_score>
  </invalid_scores>
</change>

レスポンス例:

HTTP/1.1 200 OK
Content-Type:  text/xml;charset=utf-8

<?xml version="1.0" encoding="UTF-8"?>
<nex>
  <ranking2>
    <invalid_scores>
      <changed length="1"/>
    </invalid_scores>
  </ranking2>
</nex>

length は登録した不正スコアデータの数。

12.3.6.3. 不正スコアデータの削除

不正スコアデータを削除します。

DELETE /nex/ranking2/v1/invalid_scores/(invalid_score_id)
POST /nex/ranking2/v1/invalid_scores/(invalid_score_id)/delete

1 つの不正スコアデータを削除します。

パラメーター:

名前 内容
invalid_score_id 削除する不正スコア ID。1 つのみ指定可。

リクエスト例:

DELETE /nex/ranking2/v1/invalid_scores/0 HTTP/1.1

レスポンス例:

HTTP/1.1 200 OK
Content-Type:  text/xml;charset=utf-8

<?xml version="1.0" encoding="UTF-8"?>
<nex>
  <ranking2>
    <invalid_scores>
      <deleted length="1"/>
    </invalid_scores>
  </ranking2>
</nex>

length は削除された不正スコアデータの数。

DELETE /nex/ranking2/v1/categories/(category_id)/invalid_scores
POST /nex/ranking2/v1/categories/(category_id)/invalid_scores/delete

指定されたカテゴリの不正スコアデータを全削除します。

パラメーター:

名前 内容
category_id スコアを削除するカテゴリ ID。1 つのみ指定可。

リクエスト例:

DELETE /nex/ranking2/v1/categories/0/invalid_scores HTTP/1.1

レスポンス例:

HTTP/1.1 200 OK
Content-Type:  text/xml;charset=utf-8

<?xml version="1.0" encoding="UTF-8"?>
<nex>
  <ranking2>
    <invalid_scores>
      <deleted length="1"/>
    </invalid_scores>
  </ranking2>
</nex>

length は削除された不正スコアデータの数。

DELETE /nex/ranking2/v1/invalid_scores
POST /nex/ranking2/v1/invalid_scores/delete

すべての不正スコアデータを削除します。

リクエスト例:

DELETE /nex/ranking2/v1/invalid_scores HTTP/1.1

レスポンス例:

HTTP/1.1 200 OK
Content-Type:  text/xml;charset=utf-8

<?xml version="1.0" encoding="UTF-8"?>
<nex>
  <ranking2>
    <invalid_scores>
      <deleted length="100"/>
    </invalid_scores>
  </ranking2>
</nex>

length は削除された不正スコアデータの数。

12.3.7. ランキングチャートデータ設定 API

ランキングチャートデータの設定を変更する場合に本 API を使用します。

12.3.7.1. ランキングチャートデータの設定取得

GET /nex/ranking2/v1/chart_settings/(chart_index)

1 つのランキングチャートデータの設定を取得します。

パラメーター:

名前 内容
chart_index 取得するランキングチャートデータのインデックス番号。1 つのみ指定可。

リクエスト例:

GET /nex/ranking2/v1/chart_settings/1 HTTP/1.1
GET /nex/ranking2/v1/chart_settings

複数のカテゴリタイプの設定を取得します。

パラメーター:

名前 内容
chart_indexes 取得するランキングチャートデータのインデックス番号。カンマ区切りで複数指定可。指定なしで、全カテゴリタイプの情報を取得。

リクエスト例:

GET /nex/ranking2/v1/chart_settings?chart_indexes=1,3 HTTP/1.1

レスポンス例:

HTTP/1.1 200 OK
Content-Type:  text/xml;charset=utf-8

<?xml version="1.0" encoding="UTF-8"?>
<nex>
  <ranking2>
    <chart_settings length="1">
      <chart_setting>
        <chart_index>1</chart_index>
        <category>100</category>
        <bins_size>10</bins_size>
        <highest_score></highest_score>
        <lowest_score></lowest_score>
        <highest_bins_score></highest_bins_score>
        <lowest_bins_score></lowest_bins_score>
        <is_median_adjustment>0</is_median_adjustment>
        <attribute1>0</attribute1>
        <attribute2>0</attribute2>
        <note></note>
      </chart_setting>
    </chart_settings>
  </ranking2>
</nex>

12.3.7.2. ランキングチャートデータの設定変更

ランキングチャートデータの設定を変更します。

設定の詳細は、「 6.10.1. サーバー設定項目 」を参照してください。

PUT /nex/ranking2/v1/chart_settings
POST /nex/ranking2/v1/chart_settings/put

複数のランキングチャートデータの設定を変更します。 各設定項目の中で指定しなかったものは変更されません。

リクエストボディ

要素名 親要素 内容
nex   ルート要素。 必須
ranking2 nex 必須
chart_settings ranking2 必須
chart_setting chart_settings 複数のランキングチャートデータの設定を変更する際は、この要素を複数並べる。必須
chart_index chart_setting ランキングチャートデータのインデックス番号。0 ~ 4294967295。必須
category chart_setting Ranking2 で指定できるカテゴリ。必須
bins_size chart_setting ランキングチャートデータの分割区間数。最大 255。必須
highest_score chart_setting このスコアより上位のスコアは集計対象としません。未指定時には、生成元となるランキングの最高スコアが用いられます。
lowest_score chart_setting 最低スコア。このスコアより下位のスコアは集計対象としません。未指定時には、生成元となるランキングの(推定)最低スコアが用いられます。
highest_bins_score chart_setting 最高区間スコア。分布図の区間が終了する最高スコア側の値を固定したい場合に指定します。この値は含まれず、 1 つ低い値までの値が集計されます。未指定時には、自動調整されます。
lowest_bins_score chart_setting 最低区間スコア。分布図の区間が開始する最低スコア側の値を固定にしたい場合に指定します。未指定時には、自動調整されます
is_median_adjustment chart_setting 中央値の調整。スコアの中央値が区間範囲の中心になるように最高区間スコアと最低区間スコアを自動調整させたい場合は、 1 を指定します。無効時には、 0 を指定します。未指定時には、0 とみなされます。
attribute1 chart_setting 任意の設定値その 1。アプリケーションで必要な設定値がある場合に利用します。 0 ~ 4294967295 の値域で指定可能です。未指定時には、0 とみなされます。
attribute2 chart_setting 任意の設定値その 2。アプリケーションで必要な設定値がある場合に利用します。 0 ~ 4294967295 の値域で指定可能です。未指定時には、0 とみなされます。
note chart_setting WebAPI から取得や NMAS で表示可能な文字列。 アプリケーションから取得できません。未指定時には、空文字列となります。UTF-8 で 255 文字までです。

category が 変更になった chart_index に該当するランキングチャートデータは、削除され、定期更新タイミングでランキングチャートデータが更新されます。 それ以外は、定期更新タイミングでランキングチャートデータが更新されます。

<nex><ranking2><chart_settings> の代わりに、 <change><chart_settings> でも可能です。

CSV形式を用いて設定を管理したい場合は、ChartSettings XML CSV Converter でCSV形式とXML形式を相互に変換できます。

リクエスト例:

PUT /nex/ranking2/v1/chart_settings HTTP/1.1

<nex>
  <ranking2>
    <chart_settings length="1">
      <chart_setting>
        <chart_index>1</chart_index>
        <category>100</category>
        <bins_size>10</bins_size>
        <highest_score></highest_score>
        <lowest_score></lowest_score>
        <highest_bins_score></highest_bins_score>
        <lowest_bins_score></lowest_bins_score>
        <is_median_adjustment>0</is_median_adjustment>
        <attribute1>0</attribute1>
        <attribute2>0</attribute2>
        <note></note>
      </chart_setting>
    </chart_settings>
  </ranking2>
</nex>

レスポンス例:

HTTP/1.1 200 OK
Content-Type:  text/xml;charset=utf-8

<?xml version="1.0" encoding="UTF-8"?>
<nex>
  <ranking2>
    <chart_settings>
      <changed length="1"/>
    </chart_settings>
  </ranking2>
</nex>

length は変更したカテゴリタイプの数。

12.3.7.3. ランキングチャートデータの一括設定

ランキングチャートデータを一括設定します。

設定の詳細は、「 6.10.1. サーバー設定項目 」を参照してください。

PUT /nex/ranking2/v1/chart_settings/sync
POST /nex/ranking2/v1/chart_settings/sync/put

ランキングチャートデータの全体の設定を一括設定します。 指定されなかったランキングチャートデータのインデックス番号に該当する設定は削除されます。

リクエストボディ

12.3.7.2. ランキングチャートデータの設定変更 と同様です。

リクエスト例:

PUT /nex/ranking2/v1/chart_settings/sync HTTP/1.1

<nex>
  <ranking2>
    <chart_settings length="1">
      <chart_setting>
        <chart_index>1</chart_index>
        <category>100</category>
        <bins_size>10</bins_size>
        <highest_score></highest_score>
        <lowest_score></lowest_score>
        <highest_bins_score></highest_bins_score>
        <lowest_bins_score></lowest_bins_score>
        <is_median_adjustment>0</is_median_adjustment>
        <attribute1>0</attribute1>
        <attribute2>0</attribute2>
        <note></note>
      </chart_setting>
    </chart_settings>
  </ranking2>
</nex>

レスポンス例:

HTTP/1.1 200 OK
Content-Type:  text/xml;charset=utf-8

<?xml version="1.0" encoding="UTF-8"?>
<nex>
  <ranking2>
    <chart_settings>
      <changed length="1"/>
    </chart_settings>
  </ranking2>
</nex>

length は変更したカテゴリタイプの数。削除した数は含まない。

12.3.7.4. ランキングチャートデータの設定削除

ランキングチャートデータの設定を削除します。 設定の削除とともに該当するランキングチャートデータも削除します。

DELETE /nex/ranking2/v1/chart_settings/(chart_index)
POST /nex/ranking2/v1/chart_settings/(chart_index)/delete

1 つのランキングチャートデータの設定を削除します。

パラメーター:

名前 内容
chart_index 削除するランキングチャートデータのインデックス番号。1 つのみ指定可。

リクエスト例:

DELETE /nex/ranking2/v1/chart_settings/0 HTTP/1.1

レスポンス例:

HTTP/1.1 200 OK
Content-Type:  text/xml;charset=utf-8

<?xml version="1.0" encoding="UTF-8"?>
<nex>
  <ranking2>
    <chart_settings>
      <initialized length="1"/>
    </chart_settings>
  </ranking2>
</nex>

length は削除されたランキングチャートデータの設定の数。

DELETE /nex/ranking2/v1/chart_settings
POST /nex/ranking2/v1/chart_settings/delete

すべてのランキングチャートデータの設定を削除します。

リクエスト例:

DELETE /nex/ranking2/v1/chart_settings HTTP/1.1

レスポンス例:

HTTP/1.1 200 OK
Content-Type:  text/xml;charset=utf-8

<?xml version="1.0" encoding="UTF-8"?>
<nex>
  <ranking2>
    <chart_settings>
      <initialized length="2"/>
    </chart_settings>
  </ranking2>
</nex>

length は削除されたランキングチャートデータの設定の数。

12.3.8. ランキングチャートデータ API

ランキングチャートデータを操作する場合に本 API を使用します。

12.3.8.1. ランキングチャートデータの取得

GET /nex/ranking2/v1/charts/(chart_index)/(num_seasons_to_go_back)

1 つのランキングチャートデータを取得します。

パラメーター:

名前 内容
chart_index 取得するランキングチャートデータのインデックス番号。1 つのみ指定可。
num_seasons_to_go_back さかのぼるシーズンの数を指定します。 1 つのみ指定可。省略時には、 0 が指定されたものとします。

リクエスト例:

GET /nex/ranking2/v1/charts/1/0 HTTP/1.1
GET /nex/ranking2/v1/charts

複数のランキングチャートデータを取得します。

パラメーター:

名前 内容
indexes 取得するランキングチャートデータのインデックス番号とさかのぼるシーズンの数。コロン区切りで指定。:0の場合は省略可能。カンマ区切りで複数指定可。

最大 20 件取得可能です。

リクエスト例:

GET /nex/ranking2/v1/charts?indexes=1:0,2,3:1 HTTP/1.1

レスポンス例:

HTTP/1.1 200 OK
Content-Type:  text/xml;charset=utf-8

<?xml version="1.0" encoding="UTF-8"?>
<nex>
  <ranking2>
    <charts length="1">
      <chart>
        <create_time>2017-10-23T04:13:13Z</create_time>
        <index>1</index>
        <category>1</category>
        <season>1</season>
        <bins_size>5</bins_size>
        <sampling_rate>0</sampling_rate>
        <score_order>True</score_order>
        <estimate_length>3</estimate_length>
        <estimate_highest_score>100</estimate_highest_score>
        <estimate_lowest_score>96</estimate_lowest_score>
        <estimate_median_score>99</estimate_median_score>
        <estimate_average_score>98</estimate_average_score>
        <highest_bins_score>101</highest_bins_score>
        <lowest_bins_score>96</lowest_bins_score>
        <bins_width>1</bins_width>
        <attribute1>0</attribute1>
        <attribute2>0</attribute2>
        <quantities>
          <quantity>1</quantity><quantity>1</quantity><quantity>0</quantity><quantity>0</quantity><quantity>1</quantity>
        </quantities>
      </chart>
    </charts>
  </ranking2>
</nex>

12.3.8.2. ランキングチャートデータの強制アップデート

ランキングチャートデータを強制アップデート対象とします。次回定期チェック時に作成されます。

PUT /nex/ranking2/v1/charts
POST /nex/ranking2/v1/charts/put

全ランキングチャートデータを強制アップデートの対象とします。

リクエスト例:

PUT /nex/ranking2/v1/charts HTTP/1.1

レスポンス例:

HTTP/1.1 200 OK
Content-Type:  text/xml;charset=utf-8

<?xml version="1.0" encoding="UTF-8"?>
<nex>
  <ranking2>
    <force_chart_update>
      <changed length="1"/>
    </force_chart_update>
  </ranking2>
</nex>

length は強制アップデート対象数。

PUT /nex/ranking2/v1/charts/(chart_index)/all
POST /nex/ranking2/v1/charts/(chart_index)/all/put

指定されたランキングチャートデータのインデックスから生成されたチャートを強制アップデートの対象とします。

パラメーター:

名前 内容
chart_index 強制アップデート対象のランキングチャートデータのインデックス番号。1 つのみ指定可。

リクエスト例:

PUT /nex/ranking2/v1/charts/10/all HTTP/1.1

レスポンス例:

HTTP/1.1 200 OK
Content-Type:  text/xml;charset=utf-8

<?xml version="1.0" encoding="UTF-8"?>
<nex>
  <ranking2>
    <force_chart_update>
      <changed length="1"/>
    </force_chart_update>
  </ranking2>
</nex>

length は強制アップデート対象数。

12.3.8.3. ランキングチャートデータの削除

ランキングチャートデータを削除します。ただし、設定が残っている限り、次回定期チェック時に作成されます。

DELETE /nex/ranking2/v1/charts
POST /nex/ranking2/v1/charts/delete

全ランキングチャートデータを削除します。

リクエスト例:

DELETE /nex/ranking2/v1/charts HTTP/1.1

レスポンス例:

HTTP/1.1 200 OK
Content-Type:  text/xml;charset=utf-8

<?xml version="1.0" encoding="UTF-8"?>
<nex>
  <ranking2>
    <chart_delete>
      <changed length="1"/>
    </chart_delete>
  </ranking2>
</nex>

length は削除件数。

DELETE /nex/ranking2/v1/charts/(chart_index)/all
POST /nex/ranking2/v1/charts/(chart_index)/all/delete

指定されたランキングチャートデータのインデックスから生成されたチャートを削除します。

パラメーター:

名前 内容
chart_index 削除対象のランキングチャートデータのインデックス番号。1 つのみ指定可。

リクエスト例:

DELETE /nex/ranking2/v1/charts/10/all HTTP/1.1

レスポンス例:

HTTP/1.1 200 OK
Content-Type:  text/xml;charset=utf-8

<?xml version="1.0" encoding="UTF-8"?>
<nex>
  <ranking2>
    <chart_delete>
      <changed length="1"/>
    </chart_delete>
  </ranking2>
</nex>

length は削除されたランキングチャートデータの数。

DELETE /nex/ranking2/v1/charts/(chart_index)/(num_season_to_go_back)
POST /nex/ranking2/v1/charts/(chart_index)/(num_season_to_go_back)/delete

1 つのランキングチャートデータを削除します。

パラメーター:

名前 内容
chart_index 削除するランキングチャートデータのインデックス番号。1 つのみ指定可。
num_season_to_go_back さかのぼるシーズンの数を指定します。 1 つのみ指定可。

リクエスト例:

DELETE /nex/ranking2/v1/charts/0/0 HTTP/1.1

レスポンス例:

HTTP/1.1 200 OK
Content-Type:  text/xml;charset=utf-8

<?xml version="1.0" encoding="UTF-8"?>
<nex>
  <ranking2>
    <chart_delete>
      <changed length="1"/>
    </chart_delete>
  </ranking2>
</nex>

length は削除されたランキングチャートデータの数。

12.3.9. ポピュレーション API

大量のデバッグ用データを登録する場合に本 API を使用します。

12.3.9.1. データのポピュレーション

スコアとユーザー共通データのポピュレーション処理を行います。デバッグ向けの機能です。 カテゴリやスコアなどの範囲を指定して、一度に大量のデータを登録します。

スコアが登録済みの状態で呼び出すと、既存のスコアを上書き更新します。

各ユーザーごとに、min_category から max_category までのすべてのカテゴリに対して登録が行われます。 ただし、一度に 10000 を超えるカテゴリを指定することはできません。 category_id を指定する場合は、1 カテゴリのみに登録されます。

スコアおよび misc は、指定の範囲内でランダムに決定されます。 ユーザー共通データの名前には、プリンシパル ID の値を使った名前が付けられます(例:プリンシパル ID が 2001 なら “PID=2001”)。 ユーザー共通データのバイナリデータには、指定したサイズのランダム文字列が使用されます。

不正な範囲のスコアを登録しても、不正スコアとして隔離されず、通常のスコアと同じように保存されます。

ポピュレーション処理によって ランキングの最低順位 を下回るスコアが発生した場合も、ここでは必ず一度登録されます。その後、定期的な削除処理によって削除されます。

PUT /nex/ranking2/v1/scores/population
POST /nex/ranking2/v1/scores/population/put
PUT /nex/ranking2/v1/categories/(category_id)/scores/population
POST /nex/ranking2/v1/categories/(category_id)/scores/population/put

指定された条件にそって、データを登録します。

パラメーター:

名前 内容
category_id 対象のカテゴリ番号。

リクエストボディ

要素名 親要素 内容
populate   ルート要素。 必須
param populate 必須
num param 1 カテゴリあたり何人のデータを登録するか。最大 20000。必須
min_category param 登録する最小のカテゴリ番号。未指定なら 0。category_id との併用は不可。
max_category param 登録する最大のカテゴリ番号。未指定なら 0。category_id との併用は不可。
min_score param 登録する最小のスコア。未指定なら 0。
max_score param 登録する最大のスコア。未指定なら 4294967295。
min_misc param 登録する最小の misc データ。未指定なら 0。
max_misc param 登録する最大の misc データ。未指定なら 0xFFFFFFFFFFFFFFFF。
common_data_binary_size param 登録するユーザー共通データのバイナリデータのサイズ。未指定なら Ranking2Constants::MAX_BINARY_DATA_LENGTH。
dist_name param 乱数の分布名。 “uniform” (一様分布), “normal” (正規分布), “lognormal” (対数正規分布)。 未指定なら、”uniform”。
dist_param1 param パラメータその 1 。”normal”では、 mu で、mean(平均値)。 “lognormal”の場合は、 median (中央値)。
dist_param2 param パラメータその 2 。”normal”では、 sigma で、標準偏差。 “lognormal”の場合は、 sigma。

リクエスト例:

PUT /nex/ranking2/v1/scores/population HTTP/1.1

<populate>
  <param>
    <num>100</num>
  </param>
</populate>

レスポンス例:

HTTP/1.1 200 OK
Content-Type:  text/xml;charset=utf-8

<?xml version="1.0" encoding="UTF-8"?>
<nex>
  <ranking2>
    <scores>
      <populated length="100"/>
    </scores>
  </ranking2>
</nex>

length は登録したスコアデータの数。

乱数分布:

dist_name が uniform の場合

  • min_score から max_score まで一様に分布した乱数を生成します。
  • dist_param1、dist_param2 は無視されます。

dist_name が normal の場合

  • 普通の降順のスコアに適した正規分布で乱数を生成します。
  • 確率密度関数は、f(x) = 1/(sqrt(2*PI)*sigma) * exp( -((x - mu)^2/(2 sigma^2))) で定義されます。
  • dist_param1 は、mu に対応して、乱数の平均値となります。 dist_param1 の省略時は、 3 * min_score / 4 + max_score / 4 となります。
  • dist_param2 は、sigmaに対応して、乱数の標準偏差となります。 dist_param2 の省略時は、(max_score - min_score) / 8 となります。
  • min_score, max_scoreを超えた場合は、乱数を生成しなおします。

dist_name が lognormal の場合

  • タイムアタックのような昇順のスコアに適した対数正規分布で乱数を生成します。
  • 対数正規分布の確率密度関数は、f(x) = 1/(sqrt(2 * PI) * sigma * x) * exp( -((log x - mu)^2 / (2 * sigma^2)) ) と通常定義されますが、f(x) = 1/(sqrt(2 * PI) * sigma * (x - min_score)) * exp( -((log (x - min_score) - mu)^2 / (2 * sigma^2)) ) と min_score 分ずらした形で定義しています。
  • dist_param1 は、乱数の中央値となり、mu = log (dist_param1 - min_score) に対応します。 dist_param1 の省略時は、3 * min_score / 4 + max_score / 4 となります。
  • dist_param2 は、sigma に対応して、省略時は 0.5 となります。
  • max_score を超えた場合は、乱数を生成しなおします。 min_score は、 乱数の性質上生成されません。

dist_name が normal もしくは、 lognormal の場合の確率分布は、Ranking2PopulationDistribution.xlsx で確認できます。