> 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/webhook/webhookibento.md).

# Webhookイベント

## 1. **プレイヤーへの制裁**

プレイヤーに制裁が科され、その `user_status` が更新されました。&#x20;

*イベントタイプ：* `player-sanctioned`

*適用対象：* チャット、音声、ゲーム、Discord

*トリガー：* プレイヤーが以下のいずれかを通じて制裁を受けたとき

* GGWPのAutomod
* ダッシュボードから直接

*注：* 次の場合はイベントは発生しません [ステータス更新API](/jp/apidokyumento-kontekisuto/pureiysuttasu.md) がプレイヤーのステータス変更に使用された場合。

*ペイロードの説明：*

* **type**：Webhookイベントタイプ。デフォルトは `player-sanctioned` このイベントの既定値です。
* **event\_id**：イベントの一意の識別子。
* **created\_at**：UTCで、YYYY-MM-DD HH:MM:SS形式のイベント発生時刻。
* **data**：追加のイベント詳細を含む辞書。含まれる項目は次のとおりです：&#x20;
  * **session\_id**：該当する場合、制裁が発生したセッションの識別子。
  * **incident\_id**：プレイヤー制裁のトリガーとなったインシデントの識別子。該当する場合。
  * **user\_id**：制裁を受けたプレイヤーの識別子。
  * **username**：制裁を受けたプレイヤーの表示名。
  * **reputation\_score**：プレイヤーのレピュテーションスコア（150〜850）。
  * **timestamp**：制裁が行われた時刻。YYYY-MM-DD HH:MM:SS形式、UTC。
  * **channel**：制裁が適用された場所を示します。サポートされているチャネルは `チャット`, `ボイス`, `ゲーム` および `discord`.
  * **incident\_types**：該当する場合、プレイヤー制裁のトリガーとなったインシデントに関連するインシデントタイプの一覧。
  * **severity**：プレイヤー制裁のトリガーとなったインシデントの重大度。該当する場合。取り得る値は `低`, `中`, `高`.
  * **confidence**：プレイヤー制裁のトリガーとなったインシデントに対する確信度。該当する場合。取り得る値は `低`, `中`, `高`, `非常に高い`.
  * **messages**：該当する場合、インシデントに関連するメッセージ詳細を含む辞書の一覧。含まれる項目は次のとおりです：
    * **message\_id**：インシデント作成のトリガーとなったメッセージの識別子。
    * **audio\_id**：該当する場合、インシデント作成のトリガーとなった音声クリップの識別子。
    * **message**：インシデント作成のトリガーとなったメッセージ。
    * **filtered\_message**：チャットAPIの返す、不適切な内容をマスクしたメッセージ版。
    * **timestamp**：メッセージが送信された時刻。YYYY-MM-DD HH:MM:SS形式、UTC。
    * **language**：メッセージの言語。対応言語の一覧は <https://docs.ggwp.com/api-docs-chat#language-support>.
    * **metadata**：該当する場合、インシデントに関連するメッセージのメタデータ。
  * **player\_sanction**：適用された制裁を説明する辞書。含まれる項目は次のとおりです：
    * **status**：更新されたプレイヤーのステータス。取り得る値は `session-muted` および `muted`.
    * **duration**：制裁の継続時間（秒）。制裁が無期限で適用される場合、この値は `null`.
    * **expiry\_at**：制裁の有効期限。制裁の継続時間をトリガー時刻に加算した結果である必要があります。制裁が無期限で適用される場合、この値は `null`.
  * **reporters:** 過去2週間に制裁を受けたプレイヤーを報告したプレイヤーの一覧です。彼らのJSONオブジェクトの配列になっています。 `user_id` および `username`.
  * **sanctioned\_by:** プレイヤーを制裁した人を説明する辞書。含まれる項目は次のとおりです：
    * **type:** 次のいずれかです `humanmod` （モデレーターが手動で制裁した場合）または `automod` （Automodサービスによって自動的に制裁された場合）。
    * **email:** プレイヤーを制裁したモデレーターのメールアドレス。 *注意：キー `email` は次の場合は存在しません `type == automod` .*
    * **name:** プレイヤーを制裁したモデレーターの名前。 `null` name が利用できない場合は null になります。 *注意：キー `name` は次の場合は存在しません `type == automod` .*
  * **ladder\_level\_change:** プレイヤーが制裁された際のラダーレベル変更情報を含む辞書。 `ladder_level_change` 次のいずれかになります `null` ゲームがAutomodサービスに登録していない場合。

    * **current\_ladder\_level:** 制裁適用時点のラダーレベルを表す整数を保持します。&#x20;
    * **previous\_ladder\_level:** 制裁適用直前のラダーレベルを表す整数を保持します。

    *注：*

    * 値0は、プレイヤーがまだラダーに参加していないことを意味します。
    * 制裁がラダーレベルの変更につながらなかった場合、両方の値は同じになることがあります。
  * **incident\_count:** 過去30日間のプレイヤーの負の非ゼロインシデントの件数を、ソース別（例： `チャット`, `player_reports`, `ボイス` など）および incident\_type 別（例： `profanity`, `verbal_abuse` など）にグループ化して含む辞書。&#x20;

    *注：*&#x20;

    * 1つのインシデントが複数のインシデントカテゴリに関連付けられることがあります。件数は、指定されたカテゴリに分類されたインシデント数を表します。
    * キー `incident_count` **r**eturns an empty dictionary when no incidents are recorded
  * **source***（任意）***:** インシデントのソースを保持します。 *注意：これは、 `incident_id` が存在する場合のみ送信される任意のキーです。*

#### サンプルペイロード&#x20;

{% code overflow="wrap" %}

```json
{
  "type": "player-sanctioned",
  "event_id": "edce24d3-bf56-46b4-b5ea-40266mnaa5a84",
  "created_at": "2022-06-02 16:49:00",
  "data": {
    "session_id": "freeforallsession_o34u2",
    "incident_id": "20230629051500.000000-1aaf864e-1cdc-4c10-b1f2-ec90bfd4b244",
    "user_id": "12aladf91",
    "username": "sharonsfakeaccount",
    "reputation_score": 150,
    "timestamp": "2022-06-02 16:49:00",
    "channel": "chat",
    "incident_types": ["identity_hate", "chat_verbal_abuse"],
    "severity": "高",
    "confidence": "高",
    "messages": [
      {
        "message_id": "20240905234945.804840-19ea0a90-ecf8-4daa-849c-b9e0ef7cc705",
        "message": "no ur a b*tch",
        "filtered_message": "no ur a *****",
        "timestamp": "2024-09-05 23:49:45",
        "language": "英語",
        "metadata": {
          "position": {
            "x": 154,
            "y": 112,
            "z": 77
          }
        }
      }
    ],
    "player_sanction": {
      "status": "ミュート済み",
      "duration": 86400,
      "expiry_at": "2022-06-03 16:49:00"
    },
    "reporters": [
      {
        "username": "satish0521",
        "user_id": "101628273075088104"
      },
      {
        "username": "krishnan_ggwp_001",
        "user_id": "100730037617480092"
      },
      {
        "username": "sunandaisro",
        "user_id": "100901564882486072"
      }
    ],
    "sanctioned_by": {
      "type": "humanmod",
      "email": "sahil@fakeaccount.com",
      "name": "sahil"
    },
    "ladder_level_change": {
      "current_ladder_level": 1,
      "previous_ladder_level": 0
    },
    "incident_count": {
      "chat": {
        "chat_severe_verbal_abuse": 2,
        "identity_hate": 2,
        "threat": 2,
        "verbally_abusive_language": 2
      },
      "player_reports": {
        "cheating": 1,
        "exploiting": 1,
        "griefing": 1
      },
      "voice": {
        "sexual_reference": 2,
        "threat": 2,
        "verbally_abusive_language": 2
      }
    },
    "source": "chat"
  }
}
```

{% endcode %}

## **2. プレイヤーが再有効化されました**

以前制裁を受けていたプレイヤーが、現在はアクティブです。

*イベントタイプ：* `player-reinstated`

*適用対象：* チャット、音声、ゲーム、Discord

*トリガー：* プレイヤーのステータスが再びアクティブに変更されたとき。これは次の理由による場合があります

* モデレーターがプレイヤーを再有効化した
* プレイヤーが制裁を完了した

*注：* 次の場合はイベントは発生しません [ステータス更新API](/jp/apidokyumento-kontekisuto/pureiysuttasu.md) がプレイヤーのステータス変更に使用された場合。

*ペイロードの説明：*

* **type**：Webhookイベントタイプ。デフォルトは `player-reinstated` このイベントの既定値です。
* **event\_id**：イベントの一意の識別子。
* **created\_at**：UTCで、YYYY-MM-DD HH:MM:SS形式のイベント発生時刻。
* **data**：追加のイベント詳細を含む辞書。含まれる項目は次のとおりです：&#x20;
  * **user\_id**：再有効化されたプレイヤーの識別子。
  * **username**：再有効化されたプレイヤーの表示名。
  * **reputation\_score**：プレイヤーのレピュテーションスコア（150〜850）。
  * **timestamp**：再有効化が行われた時刻。YYYY-MM-DD HH:MM:SS形式、UTC。
  * **channel**：再有効化が行われた場所を示します。サポートされているチャネルは `チャット`, `ボイス`, `ゲーム` および `discord`.
  * **status**：更新されたプレイヤーステータス。デフォルトは `active` このイベントの既定値です。
  * **reinstated\_by:** プレイヤーを再有効化した人を説明する辞書。含まれる項目は次のとおりです：
    * **type:** 次のいずれかです `humanmod` （モデレーターが手動で再有効化した場合）または `automod` （制裁完了時にAutomodサービスによって自動的に再有効化された場合）。
    * **email:** プレイヤーを再有効化したモデレーターのメールアドレス。 *注意：キー `email` は次の場合は存在しません `type == automod` .*
    * **name:** プレイヤーを再有効化したモデレーターの名前。 `null` name が利用できない場合は null になります。 *注意：キー `name` は次の場合は存在しません `type == automod` .*

#### サンプルペイロード&#x20;

{% code overflow="wrap" %}

````json
{
  "type": "player-reinstated",
  "event_id": "edce24d3-bf56-46b4-b5ea-40266mnaa5a84",
  "created_at": "2022-06-02 16:49:00",
  "data": {
    "user_id": "12aladf91",
    "username": "sharonsfakeaccount",
    "reputation_score": 150,
    "timestamp": "2022-06-02 16:49:00",
    "channel": "chat",
    "status": "アクティブ",
    "reinstated_by": {
      "type": "humanmod",
      "email": "sunanda@ggwp.com",
      "name": "sunanda"
    }
```
  }
}
````

{% endcode %}

## **3. 警告**

プレイヤーが有害な行動を示しており、GGWPはその有害性を沈静化するために警告を送ることを推奨したいと考えています。

*イベントタイプ：* `player-warning`

*適用対象：* チャット、音声、ゲーム

*トリガー：* Automodが中以上の確信度のインシデントによりプレイヤーのレピュテーションスコアを下げる場合

*注：* このイベントはAutomodに登録している顧客にのみ生成されます。

*ペイロードの説明：*

* **type**：Webhookイベントタイプ。デフォルトは `player-warning` このイベントの既定値です。
* **event\_id**：イベントの一意の識別子。
* **created\_at**：UTCで、YYYY-MM-DD HH:MM:SS形式のイベント発生時刻。
* **data**：追加のイベント詳細を含む辞書。含まれる項目は次のとおりです：&#x20;
  * **session\_id**：警告の発生元となったセッションの識別子。
  * **incident\_id**：警告のトリガーとなったインシデントの識別子。
  * **messages**：該当する場合、インシデントに関連するメッセージ詳細を含む辞書の一覧。含まれる項目は次のとおりです：
    * **message\_id**：インシデント作成のトリガーとなったメッセージの識別子。
    * **audio\_id**：該当する場合、インシデント作成のトリガーとなった音声クリップの識別子。
    * **message**：インシデント作成のトリガーとなったメッセージ。
    * **filtered\_message**：チャットAPIの返す、不適切な内容をマスクしたメッセージ版。
    * **timestamp**：メッセージが送信された時刻。YYYY-MM-DD HH:MM:SS形式、UTC。
    * **language**：メッセージの言語。対応言語の一覧は <https://docs.ggwp.com/api-docs-chat#language-support>.
    * **metadata**：該当する場合、インシデントに関連するメッセージのメタデータ。
  * **user\_id**：警告対象のプレイヤーの識別子。
  * **username**：警告対象のプレイヤーの表示名。
  * **reputation\_score**：プレイヤーのレピュテーションスコア（150〜850）。
  * **timestamp**：警告が発行された時刻。YYYY-MM-DD HH:MM:SS形式、UTC。
  * **channel**：制裁が適用された場所を示します。サポートされているチャネルは `チャット`, `ボイス` および `ゲーム` .
  * **incident\_types**：該当する場合、警告のトリガーとなったインシデントに関連するインシデントタイプの一覧。
  * **severity**：警告のトリガーとなったインシデントの重大度。該当する場合。取り得る値は `低`, `中`, `高`.
  * **confidence**：警告のトリガーとなったインシデントに対する確信度。該当する場合。取り得る値は `低`, `中`, `高`, `非常に高い`.
  * **warned\_by:** 警告を発行した人を説明する辞書。含まれる項目は次のとおりです：
    * **type:** 次のいずれかです `humanmod` （モデレーターが手動で警告を発行した場合）または `automod` （Automodサービスによって自動的に発行された場合）。
    * **email:** 警告を発行したモデレーターのメールアドレス。\
      *注意：キー `email` は次の場合は存在しません `type == automod`.*
    * **name:** 警告を発行したモデレーターの名前。利用できない場合は null です。\
      *注意：キー `name` は次の場合は存在しません `type == automod`.*
  * **recommended\_warning**：プレイヤー通知に含めることが推奨されるメッセージ。

#### サンプルペイロード&#x20;

{% code overflow="wrap" %}

```json
{
  "type": "player-warning",
  "event_id": "edce24d3-bf56-46b4-b5ea-40266mnaa5a84",
  "created_at": "2022-06-02 16:49:00",
  "data": {
    "session_id": "freeforallsession_o34u2",
    "incident_id": "20230629051500.000000-1aaf864e-1cdc-4c10-b1f2-ec90bfd4b244",
    "messages": [
      {
        "message_id": "20240905234945.804840-19ea0a90-ecf8-4daa-849c-b9e0ef7cc705",
        "message": "no ur a b*tch",
        "filtered_message": "no ur a *****",
        "timestamp": "2024-09-05 23:49:45",
        "language": "英語",
        "metadata": {
          "position": {
            "x": 154,
            "y": 112,
            "z": 77
          }
        }
      }
    ],
    "user_id": "12aladf91",
    "username": "sharonsfakeaccount",
    "reputation_score": 150,
    "timestamp" : "2022-06-02 16:49:00",
    "channel": "chat", 
    "incident_types": ["identity_hate", "chat_verbal_abuse"],
    "severity": "高",
    "confidence": "高",
    "warned_by": {
      "type": "humanmod",
      "email": "moderator@example.com",
      "name": "John"
    },
    "recommended_warning": "これは最近のチャット行動に基づく警告です。ミュートされないよう、今後は攻撃的なメッセージの送信を控えてください。"
  }
}
```

{% endcode %}

## **4. ワークフロー統合**

インシデントのワークフロープロパティがダッシュボードから変更されるとき。

*イベントタイプ：* `incident-updated`

*トリガー：* インシデントに関連する次の属性のいずれかの値が変更されたとき

* `status` -> `未レビュー`, `レビュー済み`,`処理中`, `アーカイブ済み`, `より詳細なレビューのためにエスカレーション`
* `confidence` -> `非常に低い`, `低`, `中`, `高`, `非常に高い`
* `severity` -> `低`, `中`, `高`
* `accuracy` -> `未確認`, `正確と確認`, `不正確としてマーク`, `インシデントを却下`
* `incident_assignee` →担当者のメールID。担当者がいない場合の値は `null`
* `incident_types`

*ペイロードの説明：*

* **type**：Webhookイベントタイプ。デフォルトは `incident-updated` このイベントの既定値です。
* **event\_id**：イベントの一意の識別子。
* **created\_at**：UTCで、YYYY-MM-DD HH:MM:SS形式のイベント発生時刻。
* **data**：追加のイベント詳細を含む辞書。含まれる項目は次のとおりです：&#x20;
  * **incident\_id**：更新されたインシデントの識別子。
  * **timestamp**：UTCで、YYYY-MM-DD HH:MM:SS形式のインシデント更新時刻。
  * **user\_id**：制裁を受けたプレイヤーの識別子。
  * **username**：制裁を受けたプレイヤーの表示名。
  * **reputation\_score**：プレイヤーのレピュテーションスコア（150〜850）。
  * **incident\_details**：インシデントの更新内容を説明する辞書。含まれる項目は次のとおりです：
    * **user**：インシデントの属性を更新したモデレーター/管理者に関する情報。
    * **source:** インシデントが適用された場所を示します。サポートされているソースは `チャット`, `ボイス`, `player_reports` , `discord` , `usernames`  および `image` .
    * **session\_id**：該当する場合、インシデントが発生したセッションの識別子。
    * **changelog**：古いインシデント詳細と新しいインシデント詳細を含む辞書。内容は次のとおりです：
      * **from**：更新適用前の古い値の辞書。
      * **to**：更新適用後の新しい値の辞書。
  * **messages**：該当する場合、インシデントに関連するメッセージ詳細を含む辞書の一覧。含まれる項目は次のとおりです：&#x20;
    * **message\_id**：インシデント作成のトリガーとなったメッセージの識別子。
    * **audio\_id**：該当する場合、インシデント作成のトリガーとなった音声クリップの識別子。
    * **message**：インシデント作成のトリガーとなったメッセージ。
    * **filtered\_message**：チャットAPIの返す、不適切な内容をマスクしたメッセージ版。
    * **timestamp**：メッセージが送信された時刻。YYYY-MM-DD HH:MM:SS形式、UTC。
    * **language**：メッセージの言語。対応言語の一覧は <https://docs.ggwp.com/api-docs-chat#language-support>.
    * **metadata**：該当する場合、インシデントに関連するメッセージのメタデータ。

#### サンプルペイロード&#x20;

* モデレーターがチケットに割り当てられたとき

{% code overflow="wrap" %}

```json
{
  "type": "incident-updated",
  "event_id": "edce24d3-bf56-46b4-b5ea-40266mnaa5a84",
  "created_at": "2022-06-02 16:49:00",
  "data": {
    "incident_id": "20230629051500.000000-1aaf864e-1cdc-4c10-b1f2-ec90bfd4b244",
    "timestamp" : "2022-06-02 16:49:00", 
    "user_id": "12aladf91",
    "username": "sharonsfakeaccount",
    "reputation_score": 150,
    "incident_details": {
      "user": "appuser@ggwp.com",
      "source": "chat",
      "session_id": "sessio9999999",
      "changelog": {
	"from": {"incident_assignee": null},
	"to": {"incident_assignee": "newmoderator@ggwp.com"}
      }
    },
    "messages": [
      {
        "message_id": "20240905234945.804840-19ea0a90-ecf8-4daa-849c-b9e0ef7cc705",
        "message": "no ur a b*tch",
        "filtered_message": "no ur a *****",
        "timestamp": "2024-09-05 23:49:45",
        "language": "英語",
        "metadata": {
          "position": {
            "x": 154,
            "y": 112,
            "z": 77
          }
        }
      }
    ]
  }
}
```

{% endcode %}

* インシデントが正確とマークされ、それによって確信度が変更されたとき

{% code overflow="wrap" %}

```json
{
  "type": "incident-updated",
  "event_id": "182a35b0-5e5c-49d3-9d91-210aaaf51497",
  "created_at": "2024-02-23 10:41:03",
  "data": {
    "incident_id": "20240223094326.000000-ee79cba4-be6d-4d50-bfa9-cec5efe64f21",
    "timestamp": "2024-02-23 10:41:03",
    "user_id": "12aladf91",
    "username": "sharonsfakeaccount",
    "reputation_score": 150,
    "incident_details": {
      "user": "appuser@ggwp.com",
      "source": "chat",
      "session_id": "sessio9999999",
      "changelog": {
        "from": {
          "status": "未レビュー",
          "confidence": "中",
          "accuracy": "未確認"
        },
        "to": {
          "status": "レビュー済み",
          "confidence": "非常に高い",
          "accuracy": "正確と確認"
        }
      }
    },
    "messages": [
      {
        "message_id": "20240905234945.804840-19ea0a90-ecf8-4daa-849c-b9e0ef7cc705",
        "message": "no ur a b*tch",
        "filtered_message": "no ur a *****",
        "timestamp": "2024-09-05 23:49:45",
        "language": "英語",
        "metadata": {
          "position": {
            "x": 154,
            "y": 112,
            "z": 77
          }
        }
      }
    ]
  }
}
```

{% endcode %}

* インシデントが不正確とマークされ、そのインシデントタイプが変更されたとき。なお、確信度は `非常に高い` 人為的介入により変更されます。

{% code overflow="wrap" %}

```json
{
  "type": "incident-updated",
  "event_id": "383a9aae-1845-4448-b485-ff72d1afee2e",
  "created_at": "2024-02-23 10:41:33",
  "data": {
    "incident_id": "20240223094326.000000-ee79cba4-be6d-4d50-bfa9-cec5efe64f21",
    "timestamp": "2024-02-23 10:41:33",
    "user_id": "12aladf91",
    "username": "sharonsfakeaccount",
    "reputation_score": 150,
    "incident_details": {
      "user": "appuser@ggwp.com",
      "source": "chat",
      "session_id": "sessio9999999",
      "changelog": {
        "from": {
          "status": "レビュー済み",
          "confidence": "非常に高い",
          "incident_types": [
            "chat_offensive_language",
            "profanity"
          ],
          "accuracy": "正確と確認"
        },
        "to": {
          "status": "レビュー済み",
          "confidence": "非常に高い",
          "incident_types": [
            "chat_verbal_abuse"
          ],
          "accuracy": "不正確としてマーク"
        }
      }
    },
    "messages": [
      {
        "message_id": "20240905234945.804840-19ea0a90-ecf8-4daa-849c-b9e0ef7cc705",
        "message": "no ur a b*tch",
        "filtered_message": "no ur a *****",
        "timestamp": "2024-09-05 23:49:45",
        "language": "英語",
        "metadata": {
          "position": {
            "x": 154,
            "y": 112,
            "z": 77
          }
        }
      }
    ]
  }
}
```

{% endcode %}

## 5. **インシデント検出**

新しいインシデントが検出されたときに発生します。

*イベントタイプ：* `incident-detected`

*適用対象：* チャット、音声、プレイヤー報告、Discord、ユーザー名、画像。

*トリガー：* 次のいずれかを通じてインシデントが作成されたとき

* チャットメッセージ
* 音声の書き起こし
* プレイヤー報告
* Discordメッセージ
* ユーザー名の作成
* 画像

*ペイロードの説明：*

* **type**：Webhookイベントタイプ。デフォルトは `incident-detected` このイベントの既定値です。
* **event\_id**：イベントの一意の識別子。
* **created\_at**：UTCで、YYYY-MM-DD HH:MM:SS形式のイベント発生時刻。
* **data**：追加のイベント詳細を含む辞書。含まれる項目は次のとおりです：&#x20;
  * **session\_id**：該当する場合、インシデントが発生したセッションの識別子（n*ユーザー名には適用されません*)
  * **incident\_id**：インシデントの識別子。
  * **messages**：該当する場合、インシデントに関連するメッセージ詳細を含む辞書のリスト（a*チャット、ボイス、Discord のみに適用されます*）。以下を含みます：
    * **message\_id**：インシデント作成のトリガーとなったメッセージの識別子。
    * **audio\_id**：該当する場合、インシデント作成のトリガーとなった音声クリップの識別子。
    * **message**：インシデント作成のトリガーとなったメッセージ。
    * **filtered\_message**：チャットAPIの返す、不適切な内容をマスクしたメッセージ版。
    * **timestamp**：メッセージが送信された時刻。YYYY-MM-DD HH:MM:SS形式、UTC。
    * **language**：メッセージの言語。対応言語の一覧は <https://docs.ggwp.com/api-docs-chat#language-support>.
    * **metadata**：該当する場合、インシデントに関連するメッセージのメタデータ。
  * **user\_id**：有害なメッセージを送信したプレイヤーの識別子（Chat、Voice、Discord、Usernames）またはPlayer Reports経由で報告されたプレイヤーの識別子。
  * **username**：プレイヤーの表示名（ `null` ユーザー名のないユーザー、またはユーザー名作成時の無効なユーザー向け）。
  * **reputation\_score**：プレイヤーのレピュテーションスコア（150～850）。(ユーザー名には適用されません)
  * **timestamp**：インシデントが検出された時刻。UTCのYYYY-MM-DD HH:MM:SS形式。
  * **source**：インシデントが適用された場所を示します。対応ソースは `チャット`, `ボイス`, `player_reports` , `discord` , `usernames` および `image` .
  * **incident\_types**：インシデントに関連付けられたインシデント種別のリスト。
  * **severity**：インシデントの重大度。可能な値は `低`, `中`, `高`.
  * **confidence**：インシデントへの確信度。可能な値は `低`, `中`, `高`, `非常に高い`.
  * **報告者**：該当する場合、報告者のリスト（a*player\_reports にのみ適用されます*）。以下を含みます：
    * **user\_id**：報告を送信したプレイヤーの識別子。
    * **username**：報告を送信したプレイヤーの表示名。
    * **comment**：必要な報告理由を説明するコメント。該当する場合。
  * **flagged\_usernames**：フラグ付けされたユーザー名の一覧 *（ユーザー名にのみ適用）。* 以下を含みます：
    * **username\_id**：インシデント作成のきっかけとなった、フラグ付けされたユーザー名の一意の識別子。
    * **username**：インシデント作成のきっかけとなったユーザー名。
    * **timestamp**：ユーザー名が送信された時刻。UTCのYYYY-MM-DD HH:MM:SS形式。
  * **flagged\_images**：フラグ付けされた画像の一覧 *（画像にのみ適用）。* 以下を含みます：
    * **image\_id**：インシデント作成のきっかけとなった、フラグ付けされた画像の一意の識別子。
    * **timestamp**：画像が送信された時刻。UTCのYYYY-MM-DD HH:MM:SS形式。

#### サンプルペイロード&#x20;

* チャットのインシデントが検出された場合

{% code overflow="wrap" %}

```json
{
  "type": "incident-detected",
  "event_id": "09152afb-7a61-4348-9959-6d1938f7f044",
  "created_at": "2024-09-05 23:49:45",
  "data": {
    "session_id": "sessio9999999",
    "incident_id": "20240905234945.804840-b9da93e1-82e0-47b4-adce-ac9ee3cd8cde",
    "user_id": "12aladf91",
    "username": "sharonsfakeaccount",
    "reputation_score": 345,
    "timestamp": "2024-09-05 23:49:45",
    "incident_types": [
      "chat_verbal_abuse",
      "identity_hate"
    ],
    "severity": "高",
    "confidence": "中",
    "source": "chat",
    "messages": [
      {
        "message_id": "20240905234945.804840-19ea0a90-ecf8-4daa-849c-b9e0ef7cc705",
        "message": "no ur a b*tch",
        "filtered_message": "no ur a *****",
        "timestamp": "2024-09-05 23:49:45",
        "language": "英語",
        "metadata": {
          "position": {
            "x": 154,
            "y": 112,
            "z": 77
          }
        }
      }
    ]
  }
}
```

{% endcode %}

* ボイスのインシデントが検出された場合

{% code overflow="wrap" %}

```json
{
  "type": "incident-detected",
  "event_id": "09152afb-7a61-4348-9959-6d1938f7f044",
  "created_at": "2024-04-10 05:50:39",
  "data": {
    "session_id": "sessio9999999",
    "incident_id": "20240410054953.222782-b9da93e1-82e0-47b4-adce-ac9ee3cd8cde",
    "user_id": "12aladf91",
    "username": "sharonsfakeaccount",
    "reputation_score": 345,
    "timestamp": "2024-09-05 23:49:45",
    "incident_types": [
      "chat_verbal_abuse",
      "identity_hate"
    ],
    "severity": "高",
    "confidence": "中",
    "source": "voice",
    "messages": [
      {
        "message_id": "20240410054953.222782-2072ec67-f3b6-4c2d-bfa4-9cc13f81b7a8",
        "audio_id": "fe8ef39c-0d70-417f-9087-6f4cf7ad5308",
        "no you are a bitch",
        "no you are a *****",
        "timestamp": "2024-04-10 05:49:53",
        "language": "english"
      }
    ]
  }
}
```

{% endcode %}

* Discordのインシデントが検出された場合

```json
{
  "type": "incident-detected",
  "event_id": "13f219b9-2a09-4736-91ec-d783df5f5bf9",
  "created_at": "2024-09-05 23:49:45",
  "data": {
    "session_id": "1008833492383178872_1025355886220288060",
    "incident_id": "20240905234945.804840-c9f36850-0ea3-41b3-831c-647c2a81e737",
    "user_id": "8e6eebe7-944f-4209-a94e-9a79e1cb7a41",
    "username": "clive",
    "reputation_score": 450,
    "timestamp": "2024-09-05 23:49:45",
    "incident_types": [
      "chat_offensive_language",
      "ゲームプレイへの批判"
    ],
    "severity": "low",
    "confidence": "中",
    "source": "discord",
    "messages": [
      {
        "message_id": "20240905234945.804840-19ea0a90-ecf8-4daa-849c-b9e0ef7cc705",
        "you guys suck",
        "you guys ****",
        "timestamp": "2024-09-05 23:49:45",
        "language": "english"
      }
    ]
  }
}
```

* プレイヤーの報告インシデントが検出された場合

```json
{
  "type": "incident-detected",
  "event_id": "c8476d6b-fcd4-4254-b762-8b1b825d4995",
  "created_at": "2024-04-10 07:17:27",
  "data": {
    "session_id": "1008833492383178872_1025355886220288060",
    "incident_id": "12b2e6cd-7d5b-5f30-9b29-a61dc631351f",
    "user_id": "12aladf91",
    "username": "sharonsfakeaccount",
    "reputation_score": 212,
    "timestamp": "2024-04-10 07:14:51",
    "incident_types": [
      "不正行為"
    ],
    "severity": "low",
    "confidence": "low",
    "source": "player_reports",
    "reporters": [
      {
        "username": "clive",
        "user_id": "8e6eebe7-944f-4209-a94e-9a79e1cb7a41",
        "ゲーム内での罵倒"
      }
    ]
  }
}
```

* ユーザー名のインシデントが検出された場合

```json
{
  "type": "incident-detected",
  "event_id": "9fcea299-13d7-42e4-9317-c4a431b7a877",
  "created_at": "2025-05-27 23:39:32",
  "data": {
    "incident_id": "20250527233727-2c9b5c4f-105e-4d8c-aaa1-e3122c80f703",
    "user_id": "user1234",
    "username": null,
    "timestamp": "2025-05-27 23:37:27",
    "incident_types": [
      "性的コンテンツ",
      "言葉による虐待"
    ],
    "severity": "low",
    "confidence": "高",
    "source": "usernames",
    "flagged_usernames": [
      {
        "username_id": "20250527233727-3db17bf0-4748-488c-a187-b409a9a73155",
        "username": "BigCock",
        "timestamp": "2025-05-27 23:37:27"
      }
    ]
  }
}
```

* 画像のインシデントが検出された場合

```json
{
  "type": "incident-detected",
  "event_id": "3954725b-1cb8-44dc-9827-bd839f3848bd",
  "created_at": "2026-06-18 04:13:52",
  "data": {
    "incident_id": "20260618041318.965248-14a03030-e573-4920-9e53-c9155d003b57",
    "user_id": "user1234",
    "username": null,
    "timestamp": "2026-06-18 04:13:18",
    "incident_types": [
      "アルコール・薬物"
    ],
    "severity": "low",
    "confidence": "高",
    "source": "image",
    "flagged_images": [
      {
        "image_id": "20260618041318.965248-732f7827-a53d-49c0-8f04-34e96fb7940f",
        "timestamp": "2026-06-18 04:13:18"
      }
    ]
  }
}
```

## 6. プレイヤーレピュテーションスコアのバッチ

レピュテーションスコアバッチのCSVをダウンロード可能な状態になったときにトリガーされます。次の呼び出しの後： [レピュテーションバッチAPI](/jp/apidokyumento-2/sukoa-batchi.md).&#x20;

*イベントタイプ：* `player-reputation-batch-export`

*トリガー：* レピュテーションスコアバッチのCSVをダウンロード可能な状態になったときにトリガーされます

*ペイロードの説明：*

* **type**：Webhookイベントタイプ。デフォルトは `player-reputation-batch-export` このイベントの既定値です。
* **event\_id**：イベントの一意の識別子。
* **created\_at**：UTCで、YYYY-MM-DD HH:MM:SS形式のイベント発生時刻。
* **data**：追加のイベント詳細を含む辞書。含まれる項目は次のとおりです：&#x20;
  * csv\_urls: すべてのユーザーのレピュテーションスコアデータを含むCSVのURL。

#### サンプルペイロード

{% code overflow="wrap" %}

```json
{
  "type": "player-reputation-batch-export",
  "event_id": "6dd903ba-c464-4a78-9706-88c9d5ee455e",
  "created_at": "2024-10-08 05:18:48",
  "data": {
    "csv_urls": [
      "https://ggwp-list-export.com/dev/91012e3b8a27426a95a43a3d84bad440-players.csv?AWSAccessKeyId=ASIAQEFB2&Signature=xP8B%2Bw2F1O8rFHYhfJ8Vj7p0KkI%3D&x-amz-security-token=IQoJbRjURp%3D&Expires=1728366528"
    ]
  }
}
```

{% endcode %}

**注：** ユーザー数が1,000,000を超える場合、データは複数のCSVファイルに分割されます。

## 7. グルーミングアラート

*イベントタイプ：* `grooming-alert`

*適用対象：* Chat、Voice、Discord

*トリガー：* プレイヤーのコミュニケーションパターンに基づいて新しいグルーミングフラグが作成された場合

*ペイロードの説明：*

* **type**：Webhookイベントタイプ。デフォルトは `grooming-alert` このイベントの既定値です。
* **event\_id**：イベントの一意の識別子。
* **created\_at**：UTCで、YYYY-MM-DD HH:MM:SS形式のイベント発生時刻。
* **data**：追加のイベント詳細を含む辞書。含まれる項目は次のとおりです：&#x20;
  * **user\_id:** 潜在的なグルーミングとしてフラグ付けされたプレイヤーの一意の識別子。
  * **username:** プレイヤーの表示名。
  * **date:** イベントが検出された時刻。YYYY-MM-DD形式。
  * **source:** インシデントが検出されたソース。対応する値： `チャット`, `ボイス`, `discord`.
  * **risk\_level:** 集約された指標に基づいてアラートの確信度を測定します。可能な値： `低`, `中`, `高`.&#x20;
  * **top\_risk\_indicators:** このアラートに最も寄与した指標。これは、フラグ付けされたユーザーが通常のユーザーコミュニケーションと比較して、通常とは異なるパターンを示した行動シグナルを表します。可能な値は以下のとおりです：
    * 年齢の要求 - 対象者の年齢を特定しようとします。
    * 口説くような振る舞い - 対象者の外見への賛辞。
    * 性別の要求 - 対象者の性別を特定しようとします。
    * PIIの取得 - 個人を特定できる情報を求めます。
    * プライバシー侵害 - 対象者の生活状況や交際状況を探ります。
    * 写真の要求 - 対象者の身体の画像または動画を要求します。
    * 面会の要求 - 対面での会合を設定しようとします。
    * 秘密めいた言葉 - 対象者に会話を他人から隠すよう促す言葉。
    * 性的コンテンツ - 特定の相手を定めない性的に露骨な言語またはコンテンツ。
    * 性的嫌がらせ - 性的化、物象化、侮辱、圧力、または貶めを意図した、相手に向けられた性的言語または行動。
    * 性的暴力 - 暴力、強制、圧力、または同意の欠如を伴う性的行為に言及する、脅す、美化する、または描写する性的言語。
  * **reputation\_score:** プレイヤーのレピュテーションスコア（150～850）。

#### サンプルペイロード

{% code overflow="wrap" %}

```json
{
  "type": "grooming-alert",
  "event_id": "a914c763-22b8-4f65-b7b2-46a912e1df0a",
  "created_at": "2025-07-03 09:12:27",
  "data": {
    "user_id": "plr_5829zb",
    "username": "crimsonvale",
    "date": "2025-07-03",
    "source": "chat",
    "risk_level": "high",
    "top_risk_indicators": [
      "口説くような振る舞い", 
      "プライバシー侵害",
      "年齢の要求"
    ],
    "reputation_score": 657
  }
}
```

{% endcode %}

## 8. メンタルヘルスアラート

*イベントタイプ：* `mental-health-alert`

*適用対象：* Chat、Voice、Discord

*トリガー：* プレイヤーのコミュニケーションパターンに基づいて新しいメンタルヘルスフラグが作成された場合

*ペイロードの説明：*

* **type**：Webhookイベントタイプ。デフォルトは `mental-health-alert` このイベントの既定値です。
* **event\_id**：イベントの一意の識別子。
* **created\_at**：UTCで、YYYY-MM-DD HH:MM:SS形式のイベント発生時刻。
* **data**：追加のイベント詳細を含む辞書。含まれる項目は次のとおりです：&#x20;
  * **user\_id:** 潜在的なメンタルヘルスリスクとしてフラグ付けされたプレイヤーの一意の識別子。
  * **username:** プレイヤーの表示名。
  * **date:** イベントが検出された時刻。YYYY-MM-DD形式。
  * **source:** インシデントが検出されたソース。対応する値： `チャット`, `ボイス`, `discord`.
  * **risk\_level:** 集約された指標に基づいてアラートの確信度を測定します。可能な値： `低`, `中`, `高`.&#x20;
  * **top\_risk\_indicators: i**ndicators このアラートに最も寄与した指標。これは、フラグ付けされたユーザーが通常のユーザーとのやり取りと比較して、潜在的な苦痛や異常な感情行動の兆候を示したコミュニケーションパターンを表します。可能な値は以下のとおりです：
    * 家庭内の対立 - 虐待、ぎくしゃくした家族関係、家庭内の口論、または家族の支援基盤の喪失への言及。
    * 経済的困難 - 食料、住居、または日々の基本的な必需品を買う余裕がないなどの金銭的な苦境への言及。
    * 学業ストレス - 学業上のプレッシャー、燃え尽き、退学、または学校・大学環境での社会的な困難に関連する苦痛。
    * 関係の苦痛 - 恋愛関係に結びつく感情的な苦痛。愛されていないと感じること、パートナーとの対立、見捨てられる不安を含みます。
    * 自傷 - 自分自身を身体的に傷つける意図の表明、または過去もしくは継続中の自傷行為への言及。
    * 自己嫌悪 - 深い自己憎悪、愛されるに値しない、属するに値しない、自分の存在には価値がないという感情の表現。
    * 自殺念慮 - 死にたい、世界は自分がいないほうがよいという感情、または実際に自殺を考えていることの表現。
  * **reputation\_score:** プレイヤーのレピュテーションスコア（150～850）。

#### サンプルペイロード

{% code overflow="wrap" %}

```json
{
  "type": "mental-health-alert",
  "event_id": "f913d2e1-4b8e-4f0b-a1b7-8e4a930cd3d6",
  "created_at": "2025-08-22 11:39:28",
  "data": {
    "user_id": "plr_6729qw",
    "username": "nova_ember",
    "date": "2025-08-22",
    "source": "chat",
    "risk_level": "medium",
    "top_risk_indicators": [
      "自殺念慮", 
      "自傷", 
      "家庭内の対立"
    ],
    "reputation_score": 328
  }
}
```

{% endcode %}

## 9. プレイヤー離脱リスク

行動指標に基づき、プレイヤーが離脱の初期兆候を示しており、離脱リスクが高い可能性があります。このイベントを処理することで、プレイヤーが完全に離脱する前に、カスタマーサポートやLive Opsによるナッジ、オファー、レビューなどの先回りした介入が可能になります。

*イベントタイプ：* `player-churn-risk`

*適用対象：* Chat

*トリガー：* 複数のエンゲージメント要因に基づき、プレイヤーの最近の行動が離脱リスクの定義された閾値を超えた場合に発生します。高リスクのティアのみがこのイベントをトリガーします。

*ペイロードの説明：*

* **type**：Webhookイベントタイプ。既定値は `player-churn-risk` このイベントの既定値です。
* **event\_id**：イベントの一意の識別子。
* **created\_at**：イベントがトリガーされた時刻。UTCのYYYY-MM-DD HH:MM:SS形式。
* **data**：すべての追加イベント詳細を格納するコンテナ。
  * **user\_id**：リスクのあるプレイヤーの一意の識別子。
  * **username**：プレイヤーの表示名。
  * **timestamp**：離脱リスクが判定された時刻（UTC）。
  * **risk\_factors**：離脱リスクに寄与するエンゲージメント指標のリスト。各イベントには最も関連性の高い指標のみが含まれます。可能な値は以下のとおりです：
    * `活動量の少なさ`
    * `低い社会的交流`
    * `エンゲージメントの低下`
    * `メッセージの努力不足`
    * `新規プレイヤー`
    * `協力の弱さ`
    * `好意的反応の少なさ`
    * `不明瞭な言葉`
    * `対立の兆候`
    * `技術的な問題`
  * **reports\_filed**：過去30日間にプレイヤーが提出した報告の要約。種類ごとの報告件数の辞書を含みます（例：ハラスメント、不正行為）
  * **reports\_received**：過去30日間にプレイヤーに対して提出された報告の要約。種類ごとの報告件数の辞書を含みます（例：虐待、スパム送信）

#### サンプルペイロード

{% code overflow="wrap" %}

```json
{
  "type": "player-churn-risk",
  "event_id": "b328e182-d4fc-4f2b-b302-d0f9152bb08a",
  "created_at": "2025-06-12 18:45:00",
  "data": {
    "user_id": "plr_8391xa",
    "username": "runefirex",
    "timestamp": "2025-06-12 18:44:50",
    "risk_factors": [
      "エンゲージメントの低下", 
      "協力の弱さ", 
      "技術的な問題"
    ],
    "sessions_with_flagged_players": 15,
    "reports_filed": {
      "cheating": 4,
      "bullying": 6
    },
    "reports_received": {
      "abusing": 4,
      "cheating": 1
    }
  }
}
```

{% endcode %}

## 10. **メッセージフィードバック**&#x20;

*イベントタイプ：* `message-feedback`

*適用対象：* Chat、Voice、Discord

*トリガー：* モデレーターが非負のインシデントまたはメッセージに対してフィードバックを送信した場合。

*ペイロードの説明：*

* **type**：Webhookイベントタイプ。デフォルトは `message-feedback` このイベントの既定値です。
* **event\_id**：イベントの一意の識別子。
* **created\_at**：UTCで、YYYY-MM-DD HH:MM:SS形式のイベント発生時刻。
* **data**：追加のイベント詳細を含む辞書。含まれる項目は次のとおりです：&#x20;
  * **incident\_id**：フィードバックに関連付けられたインシデントの識別子 - 既存の非負インシデント、またはメッセージ用に新しく作成されたインシデントのいずれか。
  * **session\_id**：該当する場合、インシデントが発生したセッションの識別子
  * **timestamp**：フィードバックが送信された時刻。UTCのYYYY-MM-DD HH:MM:SS形式。
  * **user\_id**：メッセージを送信したプレイヤーの識別子。
  * **username**：メッセージを送信したプレイヤーの表示名。
  * **reputation\_score**：プレイヤーのレピュテーションスコア（150〜850）。
  * **source**：インシデント／メッセージのソースを示します。対応ソースは `チャット`, `ボイス`, `discord`.
  * **severity**：フィードバックが送信されたインシデントの重大度。可能な値は `低`, `中`, `高`.
  * **confidence**：フィードバックが送信されたインシデントへの確信度。可能な値は `低`, `中`, `高`, `非常に高い`.
  * **score\_change**：送信されたフィードバックによって生じたプレイヤースコアの変化
  * **incident\_types**：モデレーターが送信したフィードバックに含まれるインシデント種別のリスト。
  * **feedback**：モデレーターが送信したフィードバックメッセージ
  * **submitted\_by**：該当する場合、フィードバックを送信したモデレーターのメールアドレス
  * **message\_details**：該当する場合、インシデントに関連するメッセージ詳細を含む辞書。以下を含みます：
    * **message\_id**：フィードバックが送信されたメッセージの識別子。
    * **audio\_id**：フィードバックが送信された音声クリップの識別子。該当する場合。
    * **message**：フィードバックが送信されたメッセージ。
    * **filtered\_message**：チャットAPIの返す、不適切な内容をマスクしたメッセージ版。
    * **timestamp**：メッセージが送信された時刻。YYYY-MM-DD HH:MM:SS形式、UTC。
    * **language**：メッセージの言語。対応言語の一覧は <https://docs.ggwp.com/api-docs-chat#language-support>.
    * **metadata**：該当する場合、インシデントに関連するメッセージのメタデータ。

#### サンプルペイロード&#x20;

{% code overflow="wrap" %}

```json
{
  "type": "message-feedback",
  "event_id": "c0af414d-5bc8-4176-a574-e2e511a31980",
  "created_at": "2026-01-21 11:55:05",
  "data": {
    "incident_id": "20260121113632.810202-c49d9cc9-00a1-4246-8945-624b78818d0c",
    "session_id": "jan_20_2026_s05",
    "timestamp": "2026-01-21 11:55:05",
    "user_id": "jan_20_2026_u05",
    "username": "jan_20_2026_u05",
    "reputation_score": 450,
    "source": "chat",
    "severity": "medium",
    "confidence": "非常に高い",
    "score_change": -10,
    "incident_types": [
      "bullying"
    ],
    "feedback": "bullying message",
    "user": "krishnan@ggwp.com",
    "message_details": {
      "message_id": "20260121113632.810202-3e95db1f-fccc-4c60-8638-f01449e69a57",
      "hey fella",
      "hey fella",
      "timestamp": "2026-01-21 11:36:32", 
      "language": "english"
    }
  }
}
```

{% endcode %}
