ユーザー
このガイドでは、ユーザーが参加したチャンネルの表示、ユーザーのブロックリストの表示、ユーザーのブロック、およびユーザーのブロック解除を行うための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."
}