HTTP API
概要
HTTP APIはAPIサーバーとHTTP通信を行い、チャットサービスを提供します。大きくチャネルAPIとユーザーAPIで構成されています。
各チャネルAPIとユーザーAPIの主要機能は以下の通りです。
- チャンネル API
- 全チャンネルリスト取得 API
- チャンネル取得 API
- チャンネル参加者取得 API
- チャンネル作成 API
- チャンネル削除 API
- チャンネル入場 API
- チャンネル退場 API
- お知らせメッセージ送信 API
- ユーザー API
- ユーザートークン発行 API
- ユーザー参加チャンネル取得 API
- ユーザーブロックリスト取得 API
- ユーザーブロック API
- ユーザーブロック解除 API
基本情報
HTTP APIを使用する際に、共通して知っておくべき基本情報を案内します。
事前準備
HTTP APIを使用するには、以下の項目を準備する必要があります。
- Hive認証キー(Hive 인증키): API呼び出しのための認証トークン
- Hiveコンソール > アプリセンター > プロジェクト管理 > ゲーム詳細 > 基本情報 で確認可能
- ゲームインデックス(Game Index): Hiveコンソール > アプリセンター > プロジェクト管理 で作成したゲームのインデックス
チャンネルの種類
HTTP APIの送信時に使用されるチャネルの種類は以下の通りです。
タイプ | 説明 |
PUBLIC | 誰でも入場可能なチャンネル |
PRIVATE | パスワードを入力して入場可能なチャンネル |
GROUP | 特定のユーザーのみ参加するチャンネル (例. ギルドチャンネル) |
リクエストURL
サーバー | URL |
LIVE | api-chat.withhive.com |
SANDBOX | sandbox-api-chat.withhive.com |
共通ヘッダー
フィールド名 | 説明 | タイプ | 必須かどうか |
Authorization | API呼び出しのための認証トークン (Bearer ) | string | Y |
Content-Type | リクエストデータのタイプ (application/json ) | string | Y |
応答コード
HTTPステータスコード | コード | メッセージ | 説明 |
200 | 0 | 成功。 | 成功 |
400 | 100 | 不正なリクエスト。 | 不正なリクエスト |
401 | 101 | 無効なトークン。 | 有効ではないトークン |
403 | 102 | 禁止。 | 権限がありません |
404 | 103 | 見つかりません。 | 見つかりません |
405 | 104 | メソッドは許可されていません。 | 許可されていないメソッド |
500 | 105 | 内部サーバーエラー。 | 内部サーバーエラー |
HTTPステータスコード | コード | メッセージ | 説明 |
400 | 200 | 重複したチャンネルIDです。 | 中複されたチャンネルID |
| 201 | チャンネルが見つからないか、削除されています。 | チャンネルを見つけることができないか、削除されています。 |
| 202 | チャンネルが満員です。 | チャンネル参加人数を超えてチャンネルに入れません。 |
| 203 | 無効なチャンネルパスワードです。 | 有効ではないチャンネルパスワード |
| 204 | メッセージサイズを超えました。最大サイズは200です。 | メッセージサイズ超過(最大200文字) |
| 300 | ユーザーがセッションにいません。 | ユーザーがセッションにいない(Socketサーバーに接続していない状態) |
| 301 | ユーザーがチャンネルにいません。 | ユーザーがチャンネルにいない |
| 302 | ユーザーはすでにチャンネルにいます。 | ユーザーはすでにチャンネルにいます。 |
| 303 | ユーザーはすでにブロックされています。 | ユーザーはすでにブロックされています。 |
| 304 | ブロックリストが満杯です。最大サイズは100です。 | ブロックリストがいっぱいです(最大100人) |
| 305 | ユーザーはブロックリストにいません。 | ユーザーはブロックリストにいない |
| 306 | ユーザーはブロックされています。 | ユーザーはブロックされています。 |
| 307 | ユーザーが入れるチャンネルの最大数は10です。 | 該当ユーザーの入場可能なチャンネル数を超えています(10個制限) |
403 | 308 | ユーザーはチャンネルの所有者ではありません。 | ユーザーはチャンネルの所有者ではありません。 |
チャンネルAPI機能
チャットサービスで使用されるチャンネルAPIの機能別APIリクエストと応答、例コードを説明します。
全チャンネルリストの取得
現在生成されたチャンネルの一覧を照会します。
リクエストURL
サーバー | URL |
LIVE | https://api-chat.withhive.com/api/v1/games/{gameIndex}/channels |
SANDBOX | https://sandbox-api-chat.withhive.com/api/v1/games/{gameIndex}/channels |
HTTP METHOD | GET |
パスパラメータ
フィールド名 | 説明 | タイプ | 必須かどうか |
gameIndex | Hive ゲームインデックス | integer | Y |
ヘッダー パラメータ
フィールド名 | 説明 | タイプ | 必須かどうか |
Authorization | API呼び出しのための認証トークン (Bearer ) | string | Y |
クエリパラメータ
フィールド名 | 説明 | タイプ | 必須 여부 |
type | チャンネルタイプ (PRIVATE , PUBLIC , GROUP ) | string | N |
channelId | 特定のチャンネルIDで始まるチャンネルを取得 | string | N |
channelName | 特定のチャンネル名を含むチャンネルを取得 | string | N |
sort | ソート基準 (channelId , channelName , regTime ) (デフォルト regTime ) | string | N |
order | ソート方式 (ASC , DESC ) (デフォルト DESC ) | string | N |
size | 1ページあたり取得するチャンネル数 (最小10件〜最大100件、デフォルト10) | integer | N |
page | 取得するページ番号 (1から開始、デフォルト1) | integer | N |
レスポンスボディ
フィールド名 | 説明 | タイプ |
code | 応答結果コード | integer |
message | 結果メッセージ | string |
data | 応答データ | object |
レスポンスボディ > データ
フィールド名 | 説明 | タイプ |
content | チャンネルリスト | array |
page | ページ情報 | object |
レスポンスボディ > データ > コンテンツ
フィールド名 | 説明 | タイプ |
channelId | チャンネル ID | string |
type | チャンネルタイプ (PRIVATE , PUBLIC , GROUP ) | string |
gameIndex | Hive ゲームインデックス | integer |
owner | チャンネル所有者の Hive プレイヤー ID | string |
channelName | チャンネル名 | string |
maxMemberCount | 最大チャンネル参加人数 | integer |
regTime | チャンネル作成日時 (UTC+0 基準, yyyy-MM-dd'T'HH:mm:ss.SSSZ 形式) | string |
レスポンスボディ > データ > ページ
フィールド名 | 説明 | タイプ |
size | 1ページあたりの項目数 | integer |
currentPage | 現在のページ番号 | integer |
totalElements | 全体の項目数 | integer |
totalPages | 全体のページ数 | integer |
リクエストサンプル
curl --request GET 'https://api-chat.withhive.com/api/v1/games/1/channels?type=PUBLIC&sort=regTime&order=DESC&size=10&page=1' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNzAyNDU4MTkzLCJqdGkiOiIxMzY2NDk4MjcxIn0.VSwvsTE-tS0sL_e9p9gNvHRkMCbsycSO4ObE4J2ysjs'
レスポンスサンプル
{
"code": 0,
"message": "Success.",
"data": {
"content": [
{
"channelId": "open:12345",
"type": "PUBLIC",
"gameIndex": 1,
"owner": "1000",
"channelName": "Open chat room",
"maxMemberCount": 50,
"regTime": "2024-12-30T15:01:01.004Z"
},
/// ... Channel Information
],
"page": {
"size": 10,
"currentPage": 1,
"totalElements": 100,
"totalPages": 10
}
}
}
チャンネルの取得
特定のチャンネルの詳細情報を取得します。
リクエストURL
サーバー | URL |
LIVE | https://api-chat.withhive.com/api/v1/games/{gameIndex}/channels/{channelId} |
SANDBOX | https://sandbox-api-chat.withhive.com/api/v1/games/{gameIndex}/channels/{channelId} |
HTTP METHOD | GET |
パスパラメータ
フィールド名 | 説明 | タイプ | 必須かどうか |
gameIndex | Hive ゲームインデックス | integer | Y |
channelId | 取得するチャンネルID | string | Y |
ヘッダーパラメータ
フィールド名 | 説明 | タイプ | 必須 여부 |
Authorization | API呼び出しのための認証トークン (Bearer ) | string | Y |
レスポンスボディ
フィールド名 | 説明 | タイプ |
code | 応答結果コード | integer |
message | 結果メッセージ | string |
data | 応答データ | object |
レスポンスボディ > データ
フィールド名 | 説明 | タイプ |
info | チャンネル情報 | object |
members | 参加者リスト | array |
レスポンスボディ > データ > 情報
フィールド名 | 説明 | タイプ |
channelId | チャンネル ID | string |
type | チャンネルタイプ (PRIVATE , PUBLIC , GROUP ) | string |
gameIndex | Hive ゲームインデックス | integer |
owner | チャンネルの所有者 | string |
channelName | チャンネル名 | string |
maxMemberCount | 最大チャンネル参加人数 | integer |
regTime | チャンネル作成日時 (UTC+0 基準, yyyy-MM-dd'T'HH:mm:ss.SSSZ 形式) | string |
レスポンスボディ > データ > メンバー
フィールド名 | 説明 | タイプ |
playerId | Hive プレイヤー ID | long |
extraData | 追加データ (UTF-8 基準) (最大 256 Byte) | string |
connectedTime | 接続日時 (UTC+0 基準, yyyy-MM-dd'T'HH:mm:ss.SSSZ 形式) | string |
リクエストサンプル
curl --request GET 'https://api-chat.withhive.com/api/v1/games/1/channels/open:12345' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNzAyNDU4MTkzLCJqdGkiOiIxMzY2NDk4MjcxIn0.VSwvsTE-tS0sL_e9p9gNvHRkMCbsycSO4ObE4J2ysjs'
レスポンスサンプル
{
"code": 0,
"message": "Success.",
"data": {
"info": {
"channelId": "open:12345",
"type": "PUBLIC",
"gameIndex": 1,
"owner": "SYSTEM",
"channelName": "오픈채팅방",
"maxMemberCount": 50,
"regTime": "2024-12-30T15:01:01.004Z"
},
"members": [
{
"playerId": 1,
"extraData": null,
"connectedTime": "2024-11-25T06:22:06.604Z"
},
{
"playerId": 2,
"extraData": null,
"connectedTime": "2024-11-25T06:22:16.233Z"
}
]
}
}
チャンネル参加者の取得
特定のチャンネルの参加者情報を取得します。
リクエストURL
サーバー | URL |
LIVE | https://api-chat.withhive.com/api/v1/games/{gameIndex}/channels/{channelId}/members |
SANDBOX | https://sandbox-api-chat.withhive.com/api/v1/games/{gameIndex}/channels/{channelId}/members |
HTTP METHOD | GET |
パスパラメータ
フィールド名 | 説明 | タイプ | 必須かどうか |
gameIndex | Hive ゲームインデックス | integer | Y |
channelId | 取得するチャンネルID | string | Y |
ヘッダーパラメータ
フィールド名 | 説明 | タイプ | 必須かどうか |
Authorization | API呼び出しのための認証トークン (Bearer ) | string | Y |
レスポンスボディ
フィールド名 | 説明 | タイプ |
code | 応答結果コード | integer |
message | 結果メッセージ | string |
data | 応答データ | object |
レスポンスボディ > データ
フィールド名 | 説明 | タイプ |
members | チャンネル参加者リスト | array |
レスポンスボディ > データ > メンバー
フィールド名 | 説明 | タイプ |
playerId | Hive プレイヤー ID | long |
extraData | 追加データ (UTF-8 基準) (最大 256 Byte) | string |
connectedTime | 接続日時 (UTC+0 基準, yyyy-MM-dd'T'HH:mm:ss.SSSZ 形式) | string |
リクエストサンプル
curl --request GET 'https://api-chat.withhive.com/api/v1/games/1/channels/open:12345/members' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNzAyNDU4MTkzLCJqdGkiOiIxMzY2NDk4MjcxIn0.VSwvsTE-tS0sL_e9p9gNvHRkMCbsycSO4ObE4J2ysjs'
レスポンスサンプル
{
"code": 0,
"message": "Success.",
"data": {
"members": [
{
"playerId": 1,
"extraData": null,
"connectedTime": "2024-11-25T06:22:06.604Z"
},
{
"playerId": 2,
"extraData": null,
"connectedTime": "2024-11-25T06:22:16.233Z"
}
]
}
}
チャンネル作成
新しい会話チャンネルを作成します。
playerIdが存在する場合、該当ユーザーをチャンネルに入室させます。playerIdがない場合、オーナーはSYSTEM
になります。
リクエストURL
サーバー | URL |
LIVE | https://api-chat.withhive.com/api/v1/games/{gameIndex}/channel |
SANDBOX | https://sandbox-api-chat.withhive.com/api/v1/games/{gameIndex}/channel |
HTTP METHOD | POST |
CONTENT-TYPE | application/json |
パスパラメータ
フィールド名 | 説明 | タイプ | 必須 여부 |
gameIndex | Hive ゲームインデックス | integer | Y |
ヘッダー パラメータ
フィールド名 | 説明 | タイプ | 必須かどうか |
Authorization | API呼び出しのための認証トークン (Bearer ) | string | Y |
Content-Type | リクエストデータのタイプ (application/json ) | string | Y |
リクエストボディ
チャンネル生成リクエスト時に必要な送信データです。
フィールド名 | 説明 | タイプ | 必須 여부 |
channelId | チャンネル ID (英字の大文字と小文字、数字、一部の特殊文字(- , . , _ , ~ , : )が使用可能、最大 100 文字) | string | Y |
playerId | チャンネル作成者の Hive プレーヤー ID | long | N |
password | パスワード (PRIVATE チャンネルの場合必須) (最大 50 文字) | string | N |
channelName | チャンネル名 (最大 50 文字) | string | Y |
maxMemberCount | 最大チャンネル参加人数 (最小 2 人 ~ 最大 5,000 人) | integer | Y |
type | チャンネルタイプ (PRIVATE , PUBLIC , GROUP ) | string | Y |
レスポンスボディ
フィールド名 | 説明 | タイプ |
code | レスポンス結果コード | integer |
message | 結果メッセージ | string |
リクエストサンプル
curl --request POST 'https://sandbox-api-chat.withhive.com/api/v1/games/1/channel' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNzAyNDU4MTkzLCJqdGkiOiIxMzY2NDk4MjcxIn0.VSwvsTE-tS0sL_e9p9gNvHRkMCbsycSO4ObE4J2ysjs' \
--header 'Content-Type: application/json' \
--data'{
"channelId": "open:12345",
"playerId": 1000,
"channelName": "Open chat room",
"maxMemberCount": 100,
"type": "PUBLIC"
}'
レスポンスサンプル
{
"code": 0,
"message": "Success."
}
チャンネル削除
特定のチャンネルを削除します。
リクエストURL
サーバー | URL |
LIVE | https://api-chat.withhive.com/api/v1/games/{gameIndex}/channels/{channelId} |
SANDBOX | https://sandbox-api-chat.withhive.com/api/v1/games/{gameIndex}/channels/{channelId} |
HTTP メソッド | DELETE |
パスパラメータ
フィールド名 | 説明 | タイプ | 必須かどうか |
gameIndex | Hive ゲームインデックス | integer | Y |
channelId | 削除するチャンネルID | string | Y |
ヘッダーパラメータ
フィールド名 | 説明 | タイプ | 必須かどうか |
Authorization | API呼び出しのための認証トークン (Bearer ) | string | Y |
レスポンスボディ
フィールド名 | 説明 | タイプ |
code | 応答結果コード | integer |
message | 結果メッセージ | string |
リクエストサンプル
curl --request DELETE 'https://api-chat.withhive.com/api/v1/games/1/channels/open:12345' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNzAyNDU4MTkzLCJqdGkiOiIxMzY2NDk4MjcxIn0.VSwvsTE-tS0sL_e9p9gNvHRkMCbsycSO4ObE4J2ysjs'
レスポンスサンプル
{
"code": 0,
"message": "Success."
}
チャンネル入場
既存のチャンネルにユーザーを入場させます。
1人のユーザーが参加できる最大チャンネル数は10個です。
リクエストURL
サーバー | URL |
LIVE | https://api-chat.withhive.com/api/v1/games/{gameIndex}/channels/{channelId}/enter |
SANDBOX | https://sandbox-api-chat.withhive.com/api/v1/games/{gameIndex}/channels/{channelId}/enter |
HTTP METHOD | POST |
CONTENT-TYPE | application/json |
パスパラメータ
フィールド名 | 説明 | タイプ | 必須かどうか |
gameIndex | Hive ゲームインデックス | integer | Y |
channelId | チャンネルID | string | Y |
ヘッダーパラメータ
フィールド名 | 説明 | タイプ | 必須かどうか |
Authorization | API呼び出しのための認証トークン (Bearer ) | string | Y |
Content-Type | リクエストデータのタイプ (application/json ) | string | Y |
リクエストボディ
チャンネル入場リクエスト時に必要な送信データです。
フィールド名 | 説明 | タイプ | 必須かどうか |
playerId | 入場させるユーザーのHiveプレイヤーID | long | Y |
password | パスワード(PRIVATE チャンネルの場合必須) | string | N |
レスポンスボディ
フィールド名 | 説明 | タイプ |
code | 応答結果コード | integer |
message | 結果メッセージ | string |
リクエストサンプル
curl --request POST 'https://api-chat.withhive.com/api/v1/games/1/channels/guild:12345/enter' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNzAyNDU4MTkzLCJqdGkiOiIxMzY2NDk4MjcxIn0.VSwvsTE-tS0sL_e9p9gNvHRkMCbsycSO4ObE4J2ysjs' \
--header 'Content-Type: application/json' \
--data-raw '{
"playerId": 1001,
"password": "guildPass123"
}'
レスポンスサンプル
{
"code": 0,
"message": "Success."
}
チャンネル退出
チャンネルからユーザーを退出させます。チャンネルの所有者が退出する場合、そのチャンネルは削除されます。
リクエストURL
サーバー | URL |
LIVE | https://api-chat.withhive.com/api/v1/games/{gameIndex}/channels/{channelId}/exit |
SANDBOX | https://sandbox-api-chat.withhive.com/api/v1/games/{gameIndex}/channels/{channelId}/exit |
HTTP METHOD | POST |
CONTENT-TYPE | application/json |
パスパラメータ
フィールド名 | 説明 | タイプ | 必須かどうか |
gameIndex | Hive ゲームインデックス | integer | Y |
channelId | チャンネルID | string | Y |
ヘッダーパラメータ
フィールド名 | 説明 | タイプ | 必須 여부 |
Authorization | API呼び出しのための認証トークン (Bearer ) | string | Y |
Content-Type | リクエストデータのタイプ (application/json ) | string | Y |
リクエストボディ
チャンネル退出リクエスト時に必要な送信データです。
フィールド名 | 説明 | タイプ | 必須 여부 |
playerId | 退場させるユーザーのHiveプレイヤーID | long | Y |
レスポンスボディ
フィールド名 | 説明 | タイプ |
code | 応答結果コード | integer |
message | 結果メッセージ | string |
リクエストサンプル
curl --request POST 'https://sandbox-api-chat.withhive.com/api/v1/games/1/channels/guild:12345/exit' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNzAyNDU4MTkzLCJqdGkiOiIxMzY2NDk4MjcxIn0.VSwvsTE-tS0sL_e9p9gNvHRkMCbsycSO4ObE4J2ysjs' \
--header 'Content-Type: application/json' \
--data '{
"playerId": 1001
}'
レスポンスサンプル
{
"code": 0,
"message": "Success."
}
お知らせメッセージ送信
ゲーム内の特定のチャンネルまたは全チャンネルに通知メッセージを送信します。channelIdパラメータがない場合は、該当するgameIndexに生成された全チャンネルに通知メッセージが送信されます。
リクエストURL
サーバー | URL |
LIVE | https://api-chat.withhive.com/api/v1/games/{gameIndex}/notice |
SANDBOX | https://sandbox-api-chat.withhive.com/api/v1/games/{gameIndex}/notice |
HTTP METHOD | POST |
CONTENT-TYPE | application/json |
パスパラメータ
フィールド名 | 説明 | タイプ | 必須かどうか |
gameIndex | Hive ゲームインデックス | integer | Y |
ヘッダー パラメータ
フィールド名 | 説明 | タイプ | 必須 여부 |
Authorization | API呼び出しのための認証トークン (Bearer ) | string | Y |
Content-Type | リクエストデータのタイプ (application/json ) | string | Y |
リクエストボディ
通知メッセージ送信リクエスト時に必要な送信データです。
フィールド名 | 説明 | タイプ | 必須かどうか |
channelId | メッセージを送信するチャネルID (channelId がない場合は全チャネルに送信) | string | N |
message | 送信する通知メッセージの内容 | string | Y |
レスポンスボディ
フィールド名 | 説明 | タイプ |
code | 応答結果コード | integer |
message | 説明結果メッセージ | string |
リクエストサンプル
curl --request POST 'https://sandbox-api-chat.withhive.com/api/v1/games/1/notice' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJnYW1lSW5kZXgiOjEsInBsYXllcklkIjoxLCJpYXQiOjE3MzI1MTcyMzUsImV4cCI6MTczMjUyMDgzNX0.lm5eFqEuSPjsKZUItpTQvFy_2oWrMMJ_J0MPH9VFtNg' \
--header 'Content-Type: application/json' \
--data '{
"channelId": "open:12345",
"message": "Server maintenance is in progress. Please try connecting again later.
}'
レスポンスサンプル
{
"code": 0,
"message": "Success."
}
ユーザーAPI機能
チャットサービスで使用されるユーザーAPIの機能ごとのAPIリクエストとレスポンス、例のコードを説明します。
ユーザートークン発行
Socketサーバー接続のための認証トークンを発行します。
発行されたトークンを通じて返されたSocketサーバーアドレスに接続します。
リクエストURL
サーバー | URL |
LIVE | https://api-chat.withhive.com/api/v1/games/{gameIndex}/users/{playerId}/token |
SANDBOX | https://sandbox-api-chat.withhive.com/api/v1/games/{gameIndex}/users/{playerId}/token |
HTTP METHOD | POST |
パスパラメータ
フィールド名 | 説明 | タイプ | 必須かどうか |
gameIndex | Hive ゲームインデックス | integer | Y |
playerId | Hive プレイヤーID | long | Y |
ヘッダー パラメータ
フィールド名 | 説明 | タイプ | 必須かどうか |
Authorization | API呼び出しのための認証トークン (Bearer ) | string | Y |
レスポンスボディ
フィールド名 | 説明 | タイプ |
code | 応答結果コード | integer |
message | 結果メッセージ | string |
data | 応答データ | object |
レスポンスボディ > データ
フィールド名 | 説明 | タイプ |
gameIndex | Hive ゲームインデックス | integer |
socketAddress | Socket サーバーアドレス | string |
token | 発行されたトークン | string |
リクエストサンプル
curl --request POST 'https://api-chat.withhive.com/api/v1/games/1/users/1001/token' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJnYW1lSW5kZXgiOjEsInBsYXllcklkIjoxLCJpYXQiOjE3MzI1MTcyMzUsImV4cCI6MTczMjUyMDgzNX0.lm5eFqEuSPjsKZUItpTQvFy_2oWrMMJ_J0MPH9VFtNg'
レスポンスサンプル
{
"code": 0,
"message": "Success.",
"data": {
"gameIndex": 1,
"socketAddress": "wss://test-socket-chat.withhive.com/ws",
"token": "eyJhbGciOiJIUzI1NiJ9.eyJnYW1lSW5kZXgiOjEsInBsYXllcklkIjoxLCJpYXQiOjE3MzI1MTcyMzUsImV4cCI6MTczMjUyMDgzNX0.lm5eFqEuSPjsKZUItpTQvFy_2oWrMMJ_J0MPH9VFtNg"
}
}
ユーザー参加チャンネルの取得
ユーザーが参加しているチャンネルの一覧を取得します。
リクエスト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 ゲームインデックス | integer | Y |
playerId | Hive プレイヤーID | long | Y |
ヘッダー パラメータ
フィールド名 | 説明 | タイプ | 必須かどうか |
Authorization | API呼び出しのための認証トークン (Bearer ) | string | Y |
レスポンスボディ
フィールド名 | 説明 | タイプ |
code | 応答結果コード | integer |
message | 結果メッセージ | string |
data | 応答データ | object |
レスポンスボディ > データ
フィールド名 | 説明 | タイプ |
gameIndex | Hive ゲームインデックス | integer |
playerId | Hive プレイヤーID | long |
channels | チャンネルリスト | array |
レスポンスボディ > データ > チャンネル
フィールド名 | 説明 | タイプ |
channelId | チャンネル ID | string |
type | チャンネルタイプ (PRIVATE , PUBLIC , GROUP ) | string |
gameIndex | Hive ゲームインデックス | integer |
owner | チャンネルの所有者 | string |
channelName | チャンネル名 | string |
maxMemberCount | 最大チャンネル参加人数 | integer |
regTime | チャンネル作成日時 (UTC+0 基準, yyyy-MM-dd'T'HH:mm:ss.SSSZ 形式) | string |
リクエストサンプル
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",
"maxMemberCount": 50,
"regTime": "2023-12-19T15:01:01.004Z"
},
{
"channelId": "open:67890",
"type": "PUBLIC",
"gameIndex": 1,
"owner": "SYSTEM",
"channelName": "Open chat room",
"maxMemberCount": 100,
"regTime": "2023-12-20T10:15:30.123Z"
}
// ... 채널
]
}
}
ユーザーブロックリストの取得
ユーザーがブロックしたユーザーのリストを表示します。
リクエスト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 ゲームインデックス | string | Y |
playerId | Hive プレイヤーID | long | Y |
ヘッダー パラメータ
フィールド名 | 説明 | タイプ | 必須かどうか |
Authorization | API呼び出しのための認証トークン (Bearer ) | string | Y |
レスポンスボディ
フィールド名 | 説明 | タイプ |
code | 応答結果コード | integer |
message | 結果メッセージ | string |
data | 応答データ | object |
レスポンスボディ > データ
フィールド名 | 説明 | タイプ |
gameIndex | Hive ゲームインデックス | integer |
playerId | Hive プレイヤーID | long |
blockedUsers | ブロックリスト | array |
レスポンスボディ > データ > ブロック
フィールド名 | 説明 | タイプ |
blockedPlayerId | ブロックしたユーザーのHiveプレイヤーID | long |
blockedTime | ブロックした日時(UTC+0 基準、yyyy-MM-dd'T'HH:mm:ss.SSSZ 形式) | string |
リクエストサンプル
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,
"blocks": [
{
"blockedPlayerId": 1002,
"blockedTime": "2023-12-20T10:15:30.123Z"
},
{
"blockedPlayerId": 1003,
"blockedTime": "2023-12-21T08:45:12.456Z"
},
// ... 차단 목록
]
}
}
ユーザーのブロック
ユーザーが特定のユーザーをブロックします。
リクエスト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 ゲームインデックス | string | Y |
playerId | Hive プレイヤーID | long | Y |
blockPlayerId | ブロックする Hive プレイヤーID | long | Y |
ヘッダーパラメータ
フィールド名 | 説明 | タイプ | 必須かどうか |
Authorization | API呼び出しのための認証トークン (Bearer ) | string | Y |
レスポンスボディ
フィールド名 | 説明 | タイプ |
code | 応答結果コード | integer |
message | 結果メッセージ | string |
リクエストサンプル
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}/block/{blockedPlayerId} |
SANDBOX | https://sandbox-api-chat.withhive.com/api/v1/games/{gameIndex}/users/{playerId}/block/{blockedPlayerId} |
HTTP METHOD | DELETE |
パスパラメータ
フィールド名 | 説明 | タイプ | 必須かどうか |
gameIndex | Hive ゲームインデックス | string | Y |
playerId | Hive プレイヤー ID | long | Y |
blockedPlayerId | ブロック解除する Hive プレイヤー ID | long | Y |
ヘッダー パラメータ
フィールド名 | 説明 | タイプ | 必須かどうか |
Authorization | API呼び出しのための認証トークン (Bearer ) | string | Y |
レスポンスボディ
フィールド名 | 説明 | タイプ |
code | 応答結果コード | integer |
message | 結果メッセージ | string |
リクエストサンプル
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."
}