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

# プレイヤーステータス

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

`POST` /users/v1/update-status

## **説明**

GGWP以外のシステムでプレイヤーに対して措置を行った場合（例：プレイヤーをミュートするなど）、その情報を当社と共有していただければ、当社のシステムでそのステータスを更新できます。以下のガイドでは、RESTful Player Status API を使用してその方法を説明します。&#x20;

ゲームの行動規範に基づき、プレイヤーのステータスは次の間で変化する場合があります `active`  および  `muted`。ゲームのモデレーターがプレイヤーのステータスを変更するきっかけとなるイベントはさまざまです。

これまでにステータス情報が送信されていないプレイヤーは、次のものと見なされます `不明`.

## **パラメータ**

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

* **user\_id**：送信対象となるプレイヤーのID。
* **status**：プレイヤーの現在のステータス。対応する値： `active`, `muted`
  * `active` → プレイヤーは対応するチャンネルへの参加が許可されています。
  * `muted` → プレイヤーは対応するチャンネルへの参加が許可されていません。
* **channel**：ステータス変更を適用するチャンネル。チャンネルの対応値： `チャット`, `ボイス`, `discord` および `ゲーム`.
* （任意） **expiry\_at:** 次の形式のタイムスタンプ *YYYY-MM-DD HH:MM:SS* で、ステータスの有効期限が切れて `active`に戻る時刻を示します。ステータスが `active` に設定されている場合、このフィールドはデータ処理時にどこでも考慮されません。
* （任意） **updated\_by:** ステータス更新を行ったシステムユーザーの名前またはメールアドレス。
* （任意） **username:** 送信対象となるユーザーの名前。
  * この `username` フィールドは、1〜128文字の文字列値を受け付けます。
  * もし `username` フィールドが指定されると、新規ユーザーのユーザー名が設定されます。ユーザーが既に存在する場合、その値は既存のユーザー名を上書きします。
* サンプル呼び出し

  ```bash
  curl --request POST 'https://api.ggwp.com/users/v1/update-status' \\
  --header 'x-api-key: api_key' \\
  --header 'Content-Type: application/json' \\
  --data-raw '{
    "user_id": "<id1>",
    "status": "アクティブ",
    "expiry_at": "2022-12-30 07:44:37",
    "channel": "chat",
    "username": "<username>"
  }'
  ```

## **出力**

* 200 - 正常な操作

  ```json
  {
      "success": true
  }
  ```
* 400
  * エラーレスポンス。&#x20;
    * `expiry_at`
      * expiry\_at フィールドの形式が正しくありません。UTC で YYYY-MM-DD HH:MM:SS を使用してください。
      * expiry\_at は未来の日付である必要があります。
    * `status`&#x20;
      * status に対する有効な選択肢ではありません。
    * `channel`&#x20;
      * channel に対する有効な選択肢ではありません。
    * `username`&#x20;
      * username の長さが無効です。
  * 例
    * ```json
      {
          "error": "channel に対する有効な選択肢ではありません。"
      }
      ```
* 403
  * 無効な API キー、または API キーがありません
  * 例
    * ```json
      {
          "error": "有効でない、または欠落している API キー"
      }
      ```
* 500
  * エラーレスポンス。&#x20;
    * Discord チャンネルのユーザーステータスの更新に失敗しました。有効な Discord ユーザーを指定してください。
    * ユーザーのステータスを更新できませんでした
  * 例
    * ```json
      {
          "error": "ユーザーのステータスを更新できませんでした"
      }
      ```
  *
