> For the complete documentation index, see [llms.txt](https://docs.ggwp.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ggwp.com/jp/apidokyumento-kontekisuto/shi-he-tong-ji.md).

# 試合統計

\[ ベース URL: `api.ggwp.com`]

`POST` /data/v1/ingest

## **説明**

マッチイベントに関連するあらゆる統計を報告します。この情報は、インシデントに重大度の修正を適用したり、時間の経過に伴うプレイヤーパーティーを追跡したり、GGWP のモデレーションツールでインシデントやプレイヤーを確認する際の追加コンテキストを提供したりするために使用されます。

関連統計に含まれる内容はゲームごとに大きく異なる場合があるため、代表的なゲームジャンルごとの一般的な要約指標についてガイドラインを用意しました。これらは一般的に 3 つのカテゴリに分類できます:

* **正の統計** - 他の条件を一定にすると、プレイヤースキルと正の相関がある
* **負の統計** - 他の条件を一定にすると、プレイヤースキルと負の相関がある
* **中立の統計** - 正でも負でもなく、他の統計を正規化するためによく使われる

| ゲームジャンル      | 正の統計                                                                         | 負の統計                      | 中立の統計                          |
| ------------ | ---------------------------------------------------------------------------- | ------------------------- | ------------------------------ |
| シューティング      | キル、アシスト、ヘッドショット、与ダメージ、スコア、命中率、XP、蘇生、勝利                                       | デス、被ダメージ、敗北               | セッション時間、プレイしたゲーム数、移動距離、発射した弾数  |
| MOBA         | キル、アシスト、与ダメージ、獲得通貨（例: ゴールド）、XP、レベル、ランク、勝利                                    | デス、被ダメージ、敗北               | セッション時間、プレイしたゲーム数、1分あたりのアクション数 |
| スポーツ         | ゴール、アシスト、セーブ、得点、ラン、勝利、MVP                                                    | ミス、ファウル、オフサイド、敗北          | シュート、スイング、試合時間                 |
| アクションアドベンチャー | ミッション成功数、獲得通貨、入手アイテム、与ダメージ、倒した敵数                                             | ミッション失敗数、失った体力、被ダメージ、死亡回数 | セッション時間、ゲーム内ミッション数             |
| カードゲーム       | ポイント、攻撃、使用したカード、与ダメージ、勝利                                                     | 被ダメージ、敗北                  | 各ターンの継続時間、ラウンド数、セッション時間        |
| カジノ          | 獲得賞金、獲得通貨                                                                    | 敗北                        | セッション時間、投入通貨、選択したゲーム           |
| 対戦格闘         | 与ダメージ、成功したキック数、成功したパンチ数、コンボ数、最大コンボ数、勝利、ブロックした攻撃数、受け流し成功数、アルティメット使用数、スペシャル使用数 | 被ダメージ、敗北                  | 試行したキック数、試行したパンチ数              |
| パズル          | ポイント、レベル、トロフィー、スター、達成した目標                                                    |                           | セッション時間、ラウンド継続時間               |
| レーシング        | 平均速度、最高速度、勝利                                                                 | クラッシュ回数、最終順位              | セッション時間、周回数                    |
| RPG          | 獲得XP、上昇したレベル数、力の増加、魔力の増加、防御の増加、倒した敵数、与ダメージ                                   | 敗北した戦闘数、HP減少              | セッション時間、キャラクターレベル、戦闘数          |
| シミュレーション     | 獲得した資源、使用した資源、達成した目標、与ダメージ、移動距離、倒した敵数、作成したアイテム、繁殖させたペット、消費した食料               |                           | セッション時間（時間、ターン、日数）             |
| ストラテジー       | レベル、スター、トロフィー、勝利、攻撃勝利、防御勝利、対戦勝利、破壊したユニット数                                    | 敗北、失ったユニット数               | セッション時間（時間、ターン）                |

## **パラメータ**

`ボディ`: 次のフィールドを含む辞書:

* **type**: `マッチ統計`
* **session\_id**: 試合の一意の識別子。
* **開始時刻**: 試合開始時刻の *YYYY-MM-DD HH:MM:SS* UTC形式。
* **終了時刻**: 試合終了時刻の *YYYY-MM-DD HH:MM:SS* UTC形式。
* **セッション継続時間**: 試合の総継続時間（秒）。
* **セッション種別**: 試合の種類またはモードを説明する文字列。例: `カジュアル`, `競技`, `カスタム`.
* **勝利チーム**: 試合の勝者となったチームの識別子。
* **プレイヤー**: 試合に参加したすべてのプレイヤーと、その個人パフォーマンスを要約する指標の一覧です。これらの指標の例を以下に示します:
  * **user\_id**: ユーザーの一意の識別子。
  * **username**: 親しみやすい表示名。
  * **チームID**: チームの識別子。
  * **パーティID**: 一緒にキューに並んでいるプレイヤーのパーティを関連付ける識別子。
  * **キャラクター名**: プレイヤーが選択したキャラクターの名前。
  * **user\_level**: 現在のプレイヤーレベル。
  * **マッチ統計**: 関連する正、負、または中立の統計（上のガイド表を参照）。
* サンプル呼び出し

  ```bash
  curl --request POST 'https://api.ggwp.com/data/v1/ingest' \\
  --header 'x-api-key: api_key' \\
  --header 'Content-Type: application/json' \\
  --data-raw '{
    "type": "マッチ統計",
    "session_id": "<sessionID1>",
    "start_time": "2022-01-25 09:44:00",
    "end_time": "2022-01-25 10:12:23",
    "session_duration": 1703,
    "session_type": "競技",
    "winning_team": "2",
    "players": [
      {
        "user_id": "<id1>",
        "username": "nlxdz",
        "team_id": "1",
        "party_id": "1",
        "character_name": "Dracarys",
        "user_level": "50",
        "match_stats": {
          "positive_stats": {
            "kills": 3,
            "headshots": 1,
            "assists": 4
          },
          "negative_stats": {
            "deaths": 2
          },
          "neutral_stats": {
            "distance_traveled": 125,
            "actions_taken": 78,
            "active_session_duration": 1560
          }		
        }
      },
      {
        "user_id" "<id2>",
        ...
      }
    ]
  }'
  ```

## **出力**

* 200 - 正常な操作

  ```json
  {
    "status": "success"
  }
  ```
* 400
  * エラーレスポンス。イベントはシステムに挿入されていません。このエラーは次のケースで発生します：
    * `無効な本文。JSON入力が必要です`
      * データペイロードはJSON形式ではありません
    * `データペイロードが大きすぎます`
      * データペイロードのサイズが1MBを超えています
* 403
  * 無効なAPIキー、またはAPIキーがありません。
* 500
  * エラーレスポンス。イベントはシステムに挿入されていません。リクエストの処理中にサーバー側でエラーが発生しました。
