コンテンツにスキップ

ユーザー

このガイドでは、ユーザーが参加したチャンネルの表示、ユーザーのブロックリストの表示、ユーザーのブロック、およびユーザーのブロック解除を行うためのAPIの使用方法について説明します。

ユーザー参加チャンネルAPI

ユーザーが参加しているチャンネルのリストを取得します。1:1 チャンネル(ONE_ON_ONE)は除外されます。

リクエストURL

サーバー URL
LIVE https://api-chat.withhive.com/api/v1/games/{gameIndex}/users/{playerId}/channels
SANDBOX https://sandbox-api-chat.withhive.com/api/v1/games/{gameIndex}/users/{playerId}/channels
HTTP METHOD GET

パスパラメータ

フィールド 説明 タイプ 必須
gameIndex Hive ゲームインデックス 整数 Y
playerId プレイヤーID 長整数 Y

ヘッダーパラメータ

フィールド 説明 タイプ 必須
Authorization API呼び出しの認証トークン(Bearer) 文字列 Y

レスポンスボディ

フィールド 説明 タイプ
コード レスポンスコード 整数
メッセージ 結果メッセージ 文字列
データ レスポンスデータ オブジェクト

レスポンスボディ > データ

フィールド 説明 タイプ
gameIndex Hive ゲームインデックス 整数
playerId プレイヤーID 長整数
channels チャンネルリスト オブジェクト配列

レスポンスボディ > データ > チャンネル

フィールド 説明 型
channelId チャンネルID 文字列
type チャンネルタイプ(PRIVATE, PUBLIC, GROUP) 文字列
gameIndex Hive ゲームインデックス 整数
owner チャンネルオーナー 文字列
channelName チャンネル名 文字列
memberCount 現在のチャンネルメンバー数 整数
maxMemberCount 最大チャンネルメンバー数 整数
chatHistoryAllowed メッセージ履歴が表示できるかどうか ブール
regTime チャンネル作成時間(UTC+0, yyyy-MM-dd'T'HH:mm:ss.SSSZ形式) 文字列
regTimeMillis チャンネル作成時間(UnixTimestampミリ秒) 長整数

リクエストサンプル

curl --request GET 'https://sandbox-api-chat.withhive.com/api/v1/games/1/users/1001/channels' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJnYW1lSW5kZXgiOjEsInBsYXllcklkIjoxLCJpYXQiOjE3MzI1MTcyMzUsImV4cCI6MTczMjUyMDgzNX0.lm5eFqEuSPjsKZUItpTQvFy_2oWrMMJ_J0MPH9VFtNg' 

応答サンプル

{
  "code": 0,
  "message": "Success.",
  "data": {
    "gameIndex": 1,
    "playerId": 1001,
    "channels": [
      {
        "channelId": "guild:12345",
        "type": "GROUP",
        "gameIndex": 1,
        "owner": "1000",
        "channelName": "Guild chat room",
        "memberCount": 1,
        "maxMemberCount": 50,
        "chatHistoryAllowed": true,
        "regTime": "2023-12-19T15:01:01.004Z",
        "regTimeMillis": 1731306364351
      },
      {
        "channelId": "open:67890",
        "type": "PUBLIC",
        "gameIndex": 1,
        "owner": "SYSTEM",
        "channelName": "Open chat room",
        "memberCount": 2,
        "maxMemberCount": 100,
        "chatHistoryAllowed": true,
        "regTime": "2023-12-20T10:15:30.123Z",
        "regTimeMillis": 1731302348750
      }
      // ... channels
    ]
  }
}

ユーザーをブロックするAPI

ユーザーをブロックして、リアルタイムのメッセージ送受信を制限します。

ユーザーをブロックした後、チャンネルとメッセージの動作は次のように変わります:

  • ブロックされたユーザーからの1:1チャンネル(ONE_ON_ONE)の招待を受け取ることができます。
    • これは、ブロックされたユーザーに対してブロックされたことを通知しないためです。
  • ブロックされたユーザーからのチャンネルの出入りに関する**チャットメッセージ**や**イベントメッセージ**は受け取れません。
  • ブロックされたユーザーにメッセージを送信することはできません。

リクエストURL

サーバー URL
LIVE https://api-chat.withhive.com/api/v1/games/{gameIndex}/users/{playerId}/block/{blockPlayerId}
SANDBOX https://sandbox-api-chat.withhive.com/api/v1/games/{gameIndex}/users/{playerId}/block/{blockPlayerId}
HTTP METHOD POST

パスパラメータ

フィールド 説明 タイプ 必須
gameIndex Hive ゲームインデックス 文字列 Y
playerId ブロックしているユーザーのプレイヤーID 長整数 Y
blockPlayerId ブロックされているユーザーのプレイヤーID 長整数 Y

ヘッダーパラメータ

フィールド 説明 タイプ 必須
Authorization API呼び出しのための認証トークン(Bearer) 文字列 Y

レスポンスボディ

フィールド 説明 タイプ
code レスポンスコード 整数
message 結果メッセージ 文字列

リクエストサンプル

curl --request POST 'https://sandbox-api-chat.withhive.com/api/v1/games/1/users/1001/block/1002' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJnYW1lSW5kZXgiOjEsInBsYXllcklkIjoxLCJpYXQiOjE3MzI1MTcyMzUsImV4cCI6MTczMjUyMDgzNX0.lm5eFqEuSPjsKZUItpTQvFy_2oWrMMJ_J0MPH9VFtNg' 

レスポンスサンプル

{
  "code": 0,
  "message": "Success."
}

ユーザーブロックリストを取得

特定のユーザーによってブロックされたユーザーのリストを取得します。

リクエストURL

サーバー URL
LIVE https://api-chat.withhive.com/api/v1/games/{gameIndex}/users/{playerId}/blocks
SANDBOX https://sandbox-api-chat.withhive.com/api/v1/games/{gameIndex}/users/{playerId}/blocks
HTTP METHOD GET

パスパラメータ

フィールド 説明 タイプ 必須
gameIndex Hive ゲームインデックス 文字列 Y
playerId ブロックしているユーザーのプレイヤーID 長整数 Y

ヘッダーパラメータ

フィールド 説明 タイプ 必須
Authorization API呼び出しのための認証トークン(Bearer) 文字列 Y

レスポンスボディ

フィールド 説明 タイプ
code レスポンスコード 整数
message 結果メッセージ 文字列
data レスポンスデータ オブジェクト

レスポンスボディ > データ

フィールド 説明 型
gameIndex Hive ゲームインデックス 整数
playerId ブロックしているユーザーのプレイヤーID 長整数
blockedUsers ブロックされたユーザー情報のリスト オブジェクト配列

レスポンスボディ > データ > ブロックされたユーザー

フィールド 説明 タイプ
blockedPlayerId ブロックされたユーザーのプレイヤーID long
blockedTime ブロックされた時間(UTC+0、yyyy-MM-dd'T'HH:mm:ss.SSSZ形式) string
blockedTimeMillis ブロックされた時間(UnixTimestampミリ秒) long

リクエストサンプル

curl  --request GET 'https://sandbox-api-chat.withhive.com/api/v1/games/1/users/1001/blocks' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJnYW1lSW5kZXgiOjEsInBsYXllcklkIjoxLCJpYXQiOjE3MzI1MTcyMzUsImV4cCI6MTczMjUyMDgzNX0.lm5eFqEuSPjsKZUItpTQvFy_2oWrMMJ_J0MPH9VFtNg' 

応答サンプル

{
  "code": 0,
  "message": "Success.",
  "data": {
    "gameIndex": 1,
    "playerId": 1001,
    "blockedUsers": [
      {
        "blockedPlayerId": 1002,
        "blockedTime": "2023-12-20T10:15:30.123Z",
        "blockedTimeMillis": 1739329550811
      },
      {
        "blockedPlayerId": 1003,
        "blockedTime": "2023-12-21T08:45:12.456Z",
        "blockedTimeMillis": 1739329553137
      }
      // ... block list
    ]
  }
}

ユーザーのブロックを解除

ブロックされたユーザーのブロックを解除します。

リクエストURL

サーバー URL
LIVE https://api-chat.withhive.com/api/v1/games/{gameIndex}/users/{playerId}/block/{blockedPlayerId}
SANDBOX https://sandbox-api-chat.withhive.com/api/v1/games/{gameIndex}/users/{playerId}/block/{blockedPlayerId}
HTTP METHOD DELETE

パスパラメータ

フィールド 説明 タイプ 必須
gameIndex Hive ゲームインデックス 文字列 Y
playerId プレイヤーID 長整数 Y
blockedPlayerId アンブロックするユーザーのプレイヤーID 長整数 Y

ヘッダーパラメータ

フィールド 説明 タイプ 必須
Authorization API呼び出しのための認証トークン(Bearer) 文字列 Y

応答本文

フィールド 説明 タイプ
code レスポンスコード 整数
message 結果メッセージ 文字列

リクエストサンプル

curl --request DELETE 'https://sandbox-api-chat.withhive.com/api/v1/games/1/users/1001/block/1002' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJnYW1lSW5kZXgiOjEsInBsYXllcklkIjoxLCJpYXQiOjE3MzI1MTcyMzUsImV4cCI6MTczMjUyMDgzNX0.lm5eFqEuSPjsKZUItpTQvFy_2oWrMMJ_J0MPH9VFtNg'

レスポンスサンプル

{
  "code": 0,
  "message": "Success."
}