> 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/chinese-simplified/api-wen-dang-shang-xia-wen-xin-xi/bi-sai-tong-ji.md).

# 比赛统计

\[ 基础 URL: `api.ggwp.com`]

`POST` /data/v1/ingest

## **描述**

报告与比赛事件相关的任何相关统计数据。此信息用于为事件应用严重程度修饰项、跨时间跟踪玩家队伍，并在 GGWP 的审核工具中查看事件或玩家时提供额外上下文。

相关统计数据的组成在不同游戏之间可能有很大差异，因此我们为最受欢迎的游戏类型提供了常见汇总指标指南。这些指标通常可分为 3 类：

* **正向统计** - 在其他变量固定不变时，与玩家技能正相关
* **负向统计** - 在其他变量固定不变时，与玩家技能负相关
* **中性统计** - 既非正向也非负向，更常用于对其他统计数据进行归一化

| 游戏类型  | 正向统计                                                | 负向统计                 | 中性统计                |
| ----- | --------------------------------------------------- | -------------------- | ------------------- |
| 射击类   | 击杀、助攻、爆头、造成伤害、得分、命中率、经验值、复活、胜利                      | 死亡、受到伤害、失败           | 对局时长、游玩场次、移动距离、发射次数 |
| MOBA  | 击杀、助攻、造成伤害、获得货币（例如：金币）、经验值、等级、排名、胜利                 | 死亡、受到伤害、失败           | 对局时长、游玩场次、每分钟操作数    |
| 体育类   | 进球、助攻、扑救、得分、得分局数、胜利、MVP                             | 失误、犯规、越位、失败          | 射门、挥杆、比赛时长          |
| 动作冒险类 | 任务成功、获得货币、获得物品、造成伤害、击败敌人                            | 任务失败、失去生命值、受到伤害、死亡次数 | 对局时长、游戏内任务数         |
| 卡牌类   | 得分、攻击、打出的牌、造成伤害、胜利                                  | 受到伤害、失败              | 回合时长、回合数、对局时长       |
| 赌场类   | 赢得金额、获得货币                                           | 失败                   | 对局时长、投入货币、选择的游戏     |
| 格斗类   | 造成伤害、命中踢击、命中拳击、连击次数、最大连击、胜利、格挡攻击、招架攻击、使用终极技能、使用特殊技能 | 受到伤害、失败              | 尝试踢击次数、尝试拳击次数       |
| 益智类   | 得分、关卡、奖杯、星星、完成目标                                    |                      | 对局时长、回合持续时间         |
| 竞速类   | 平均速度、最高速度、胜利                                        | 碰撞次数、最终名次            | 对局时长、圈数             |
| RPG   | 获得经验值、提升等级、力量提升、魔法提升、防御提升、击败敌人、造成伤害                 | 战斗失败、生命值下降           | 对局时长、角色等级、战斗次数      |
| 模拟类   | 获得资源、消耗资源、完成目标、造成伤害、移动距离、击败敌人、制作物品、繁育宠物、消耗食物        |                      | 对局时长（时间、回合、天数）      |
| 策略类   | 等级、星星、奖杯、胜利、进攻胜利、防守胜利、对战胜利、摧毁单位                     | 失败、损失单位              | 对局时长（时间、回合）         |

## **参数**

`请求体`：包含以下字段的字典：

* **类型**: `比赛统计`
* **session\_id**: 比赛的唯一标识符。
* **start\_time**: 比赛开始时间，格式为 *YYYY-MM-DD HH:MM:SS* 格式，采用 UTC。
* **结束时间**: 比赛结束时间，格式为 *YYYY-MM-DD HH:MM:SS* 格式，采用 UTC。
* **session\_duration**：比赛总时长（秒）。
* **session\_type**：描述比赛类型或模式的字符串。示例： `休闲`, `竞技`, `自定义`.
* **winning\_team**：最终获胜的队伍标识符。
* **players**：所有玩家参与者及用于概括他们在比赛中个人表现的指标列表。下面列出了一些这些指标的示例：
  * **user\_id**：用户的唯一标识符。
  * **用户名**：友好显示名称。
  * **team\_id**：队伍标识符。
  * **party\_id**：用于关联一起排队的玩家队伍的标识符。
  * **character\_name**：玩家所选角色的名称。
  * **用户等级**：当前玩家等级。
  * **match\_stats**：任何相关的正向、负向或中性统计数据（见上方指南表）。
* 示例调用

  ```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": "成功"
  }
  ```
* 400
  * 错误响应。该事件尚未插入系统。以下情况会抛出此错误：
    * `无效的请求体。应为 JSON 输入`
      * 数据载荷不是 JSON 格式
    * `数据载荷过大`
      * 数据载荷大小超过 1MB
* 403
  * API 密钥无效或缺失。
* 500
  * 错误响应。该事件尚未插入系统。处理请求时服务器发生了一些错误。
