> 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/kr/api-6/match-stats.md).

# 매치 통계

\[ 기본 URL: `api.ggwp.com`]

`POST` /data/v1/ingest

## **설명**

매치 이벤트와 관련된 모든 관련 통계를 보고합니다. 이 정보는 사건에 심각도 수정을 적용하고, 시간에 따른 플레이어 파티를 추적하며, GGWP의 관리 도구에서 사건이나 플레이어를 검토할 때 추가 문맥을 제공하는 데 사용됩니다.

관련 통계가 무엇으로 구성되는지는 게임마다 크게 달라질 수 있으므로 가장 인기 있는 게임 장르에 대한 일반적인 요약 지표 가이드를 제공했습니다. 이러한 지표는 일반적으로 3가지 범주로 그룹화할 수 있습니다:

* **긍정적 통계** - 다른 모든 변수를 고정했을 때 플레이어 실력과 양의 상관관계가 있는 항목
* **부정적 통계** - 다른 모든 변수를 고정했을 때 플레이어 실력과 음의 상관관계가 있는 항목
* **중립 통계** - 긍정적도 부정적도 아닌 항목으로, 다른 통계를 정규화하는 데 더 자주 사용됩니다

| 게임 장르   | 긍정적 통계                                                                  | 부정적 통계                      | 중립 통계                             |
| ------- | ----------------------------------------------------------------------- | --------------------------- | --------------------------------- |
| 슈팅      | 킬, 어시스트, 헤드샷, 입힌 피해, 점수, 명중률, XP, 부활, 승리                                | 죽음, 받은 피해, 패배               | 세션 길이, 플레이한 게임 수, 이동 거리, 발사한 탄환 수 |
| MOBA    | 킬, 어시스트, 입힌 피해, 획득한 화폐(예: 골드), XP, 레벨, 순위, 승리                           | 죽음, 받은 피해, 패배               | 세션 길이, 플레이한 게임 수, 분당 행동 수         |
| 스포츠     | 골, 어시스트, 세이브, 점수, 득점, 승리, MVP                                           | 실축, 파울, 오프사이드, 패배           | 샷 수, 스윙 수, 경기 길이                  |
| 액션 어드벤처 | 성공한 임무, 획득한 화폐, 얻은 아이템, 입힌 피해, 처치한 적                                    | 실패한 임무, 잃은 체력, 받은 피해, 사망 횟수 | 세션 길이, 게임 내 임무 수                  |
| 카드 게임   | 점수, 공격, 사용한 카드, 입힌 피해, 승리                                               | 받은 피해, 패배                   | 턴 지속시간, 라운드 수, 세션 길이              |
| 카지노     | 당첨금, 획득한 화폐                                                             | 패배                          | 세션 길이, 투입한 화폐, 선택한 게임             |
| 격투      | 입힌 피해, 적중한 킥, 적중한 펀치, 콤보 수, 최대 콤보, 승리, 차단한 공격, 패리한 공격, 사용한 필살기, 사용한 스페셜 | 받은 피해, 패배                   | 시도한 킥, 시도한 펀치                     |
| 퍼즐      | 점수, 레벨, 트로피, 별, 클리어한 목표                                                 |                             | 세션 길이, 라운드 지속시간                   |
| 레이싱     | 평균 속도, 최고 속도, 승리                                                        | 충돌 횟수, 최종 순위                | 세션 길이, 랩 수                        |
| RPG     | 획득한 XP, 얻은 레벨, 힘 증가, 마력 증가, 방어력 증가, 처치한 적, 입힌 피해                        | 패배한 전투, HP 감소               | 세션 길이, 캐릭터 레벨, 전투 수               |
| 시뮬레이션   | 획득한 자원, 사용한 자원, 완료한 목표, 입힌 피해, 이동 거리, 처치한 적, 제작한 아이템, 번식한 애완동물, 소비한 음식  |                             | 세션 길이(시간, 턴, 일)                   |
| 전략      | 레벨, 별, 트로피, 승리, 공격 승리, 방어 승리, 대전 승리, 파괴된 유닛 수                           | 패배, 잃은 유닛 수                 | 세션 길이(시간, 턴)                      |

## **매개변수**

`본문`: 다음 필드를 포함하는 사전(Dictionary):

* **type**: `매치 통계`
* **session\_id**: 경기의 고유 식별자.
* **start\_time**: 에서의 경기 시작 시간 *YYYY-MM-DD HH:MM:SS* 형식, UTC 기준.
* **end\_time**: 에서의 경기 종료 시간 *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": "match-stats",
    "session_id": "<sessionID1>",
    "start_time": "2022-01-25 09:44:00",
    "end_time": "2022-01-25 10:12:23",
    "session_duration": 1703,
    "session_type": "competitive",
    "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 키입니다.
* 500
  * 오류 응답. 이벤트가 시스템에 삽입되지 않았습니다. 요청을 처리하는 동안 서버에 오류가 발생했습니다.
