HTTP API 概要 HTTP APIは、HTTPを介してAPIサーバーと通信することによってチャットサービスを提供します。主にChannel API とUser API で構成されています。
チャネルAPIとユーザーAPIの主な機能は以下の通りです。
チャンネルAPI すべてのチャンネルリストAPI チャンネル取得API チャンネル参加者取得API チャンネル作成API チャンネル削除API チャンネル入場API チャンネル退出API お知らせメッセージ送信API ユーザーAPI ユーザートークン発行API ユーザー参加チャンネル取得API ユーザーブロックリスト取得API ユーザーブロックAPI ユーザーブロック解除API 基本情報 これはHTTP APIを使用する際に知っておくべき基本情報を提供します。
準備 HTTP APIを使用するには、以下の項目を準備する必要があります。
Hive 認証キー (Hive Certification Key): API呼び出し用の認証トークン Hive コンソール > アプリセンター > プロジェクト管理 > ゲーム詳細 > 基本情報 にあります ゲームインデックス: Hive コンソール > アプリセンター > プロジェクト管理 で作成されたゲームのインデックス チャンネルタイプ HTTP APIを送信する際に使用されるチャネルタイプは以下の通りです。
タイプ 説明 PUBLIC
誰でも入ることができるチャンネル PRIVATE
パスワードを入力することで入ることができるチャンネル GROUP
特定のユーザーのみが参加できるチャンネル(例:ギルドチャンネル)
リクエストURL サーバー URL LIVE api-chat.withhive.com
SANDBOX sandbox-api-chat.withhive.com
一般的なヘッダー フィールド名 説明 タイプ 必須 Authorization API呼び出しの認証トークン(Bearer
) 文字列 Y Content-Type リクエストデータのタイプ(application/json
) 文字列 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 ユーザーがセッションにいません。 ユーザーはセッションにいません(ソケットサーバーに接続されていません)。 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 メソッド GET
パスパラメータ フィールド名 説明 タイプ 必須 gameIndex Hive ゲームインデックス 整数 Y
ヘッダーパラメータ フィールド名 説明 タイプ 必須 Authorization API呼び出しの認証トークン (Bearer
) 文字列 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 ページごとに取得するチャンネルの数 (最小10〜最大100、デフォルトは10) integer N page 取得するページ番号 (1から始まる、デフォルトは1) integer N
レスポンスボディ フィールド名 説明 タイプ code レスポンスコード 整数 message 結果メッセージ 文字列 data レスポンスデータ オブジェクト
レスポンスボディ > データ フィールド名 説明 タイプ content チャンネルリスト 配列 page ページ情報 オブジェクト
レスポンスボディ > データ > コンテンツ フィールド名 説明 タイプ channelId チャンネルID string type チャンネルタイプ(PRIVATE
, PUBLIC
, GROUP
) string gameIndex Hive ゲームインデックス integer owner Hive チャンネルオーナーのプレイヤーID string channelName チャンネル名 string memberCount 現在のチャンネル参加者数 integer maxMemberCount 最大チャンネル参加者数 integer regTime チャンネル作成日時(UTC+0
に基づく、フォーマットyyyy-MM-dd'T'HH:mm:ss.SSSZ
) string regTimeMillis チャンネル作成日時(UnixTimestampミリ秒) integer
レスポンスボディ > データ > ページ フィールド名 説明 タイプ size ページあたりのアイテム数 整数 currentPage 現在のページ番号 整数 totalElements アイテムの総数 整数 totalPages ページの総数 整数
リクエストサンプル 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" : "오픈 채팅방" ,
"memberCount" : 2 ,
"maxMemberCount" : 50 ,
"regTime" : "2024-12-30T15:01:01.004Z" ,
"regTimeMillis" : 1731306364351
},
/// ... 채널 정보
],
"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 メソッド GET
パスパラメータ フィールド名 説明 タイプ 必須 gameIndex Hive ゲームインデックス 整数 Y channelId クエリするチャンネルID 文字列 Y
ヘッダーパラメータ フィールド名 説明 タイプ 必須 Authorization API呼び出しの認証トークン (Bearer
) 文字列 Y
レスポンスボディ フィールド名 説明 型 code レスポンス結果コード 整数 message 結果メッセージ 文字列 data レスポンスデータ オブジェクト
レスポンスボディ > データ フィールド名 説明 タイプ info チャンネル情報 オブジェクト members 参加者リスト 配列
レスポンスボディ > データ > 情報 フィールド名 説明 タイプ channelId チャンネルID string type チャンネルタイプ(PRIVATE
, PUBLIC
, GROUP
) string gameIndex Hive ゲームインデックス integer owner チャンネルオーナー string channelName チャンネル名 string memberCount 現在のチャンネル参加者数 integer maxMemberCount 最大チャンネル参加者数 integer regTime チャンネル作成日時(UTC+0
に基づく、フォーマットyyyy-MM-dd'T'HH:mm:ss.SSSZ
) string regTimeMillis チャンネル作成日時(UnixTimestampミリ秒) integer
レスポンスボディ > データ > メンバー フィールド名 説明 タイプ playerId Hive プレイヤーID long extraData 追加データ (UTF-8
ベース) (最大 256 バイト) string connectedTime 接続日時 (UTC+0
ベース, yyyy-MM-dd'T'HH:mm:ss.SSSZ
形式) string connectedTimeMillis 接続時間 (UnixTimestamp ミリ秒) integer
リクエストサンプル 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" : "오픈채팅방" ,
"memberCount" : 2 ,
"maxMemberCount" : 50 ,
"regTime" : "2024-12-30T15:01:01.004Z" ,
"regTimeMillis" : 1731306364351
},
"members" : [
{
"playerId" : 1 ,
"extraData" : null ,
"connectedTime" : "2024-11-25T06:22:06.604Z" ,
"connectedTimeMillis" : 1739328218507
},
{
"playerId" : 2 ,
"extraData" : null ,
"connectedTime" : "2024-11-25T06:22:16.233Z" ,
"connectedTimeMillis" : 1731306364351
}
]
}
}
チャンネル参加者クエリ 特定のチャネルの参加者情報を取得しています。
リクエスト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 メソッド GET
パスパラメータ フィールド名 説明 タイプ 必須 gameIndex Hive ゲームインデックス 整数 Y channelId クエリするチャンネルID 文字列 Y
ヘッダーパラメータ フィールド名 説明 タイプ 必須 Authorization API呼び出しのための認証トークン(Bearer
) 文字列 Y
レスポンスボディ フィールド名 説明 タイプ code レスポンス結果コード 整数 message 結果メッセージ 文字列 data レスポンスデータ オブジェクト
レスポンスボディ > データ フィールド名 説明 タイプ members チャンネル参加者のリスト 配列
レスポンスボディ > データ > メンバー フィールド名 説明 タイプ playerId Hive プレイヤーID long extraData 追加データ (UTF-8
ベース) (最大 256 バイト) string connectedTime 接続日時 (UTC+0
ベース, yyyy-MM-dd'T'HH:mm:ss.SSSZ
形式) string connectedTimeMillis 接続時間 (UnixTimestamp ミリ秒) integer
リクエストサンプル 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" ,
"connectedTimeMillis" : 1739328218507
},
{
"playerId" : 2 ,
"extraData" : null ,
"connectedTime" : "2024-11-25T06:22:16.233Z" ,
"connectedTimeMillis" : 1731306364351
}
]
}
}
チャンネルを作成 新しい会話チャネルを作成しています。
プレイヤーIDが存在する場合、ユーザーはチャンネルに入ることが許可されます。プレイヤーIDがない場合、オーナーは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 メソッド POST
CONTENT-TYPE application/json
パスパラメータ フィールド名 説明 タイプ 必須 gameIndex Hive ゲームインデックス 整数 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 レスポンス結果コード 整数 message 結果メッセージ 文字列
リクエストサンプル 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": "오픈 채팅방",
"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 ゲームインデックス 整数 Y channelId 削除するチャンネルID 文字列 Y
ヘッダーパラメータ フィールド名 説明 タイプ 必須 Authorization API呼び出しの認証トークン (Bearer
) 文字列 Y
レスポンスボディ フィールド名 説明 型 code レスポンスコード 整数 message 結果メッセージ 文字列
リクエストサンプル 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."
}
チャンネルに入る 既存のチャンネルにユーザーを追加しています。
ユーザーが参加できるチャンネルの最大数は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 メソッド POST
コンテンツタイプ application/json
パスパラメータ フィールド名 説明 種類 必須 gameIndex Hive ゲームインデックス 整数 Y channelId チャンネルID 文字列 Y
ヘッダーパラメータ フィールド名 説明 タイプ 必須 Authorization API呼び出しの認証トークン(Bearer
) string Y Content-Type リクエストデータのタイプ(application/json
) string Y
リクエストボディ チャンネルに入るリクエストをする際に必要な送信データです。
フィールド名 説明 タイプ 必須 playerId 入場するユーザーのプレイヤーID Hive long Y password パスワード(PRIVATE
チャンネルに必要) string N
レスポンスボディ フィールド名 説明 種類 code レスポンス結果コード 整数 message 結果メッセージ 文字列
リクエストサンプル 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 ゲームインデックス 整数 Y channelId チャンネルID 文字列 Y
ヘッダーパラメータ フィールド名 説明 タイプ 必須 Authorization API呼び出しの認証トークン(Bearer
) string Y Content-Type リクエストデータのタイプ(application/json
) string Y
リクエストボディ チャンネルを退出する際に要求される伝送データです。
フィールド名 説明 タイプ 必須 playerId 削除されるユーザーのプレイヤーID Hive long Y
レスポンスボディ フィールド名 説明 タイプ code レスポンス結果コード 整数 message 結果メッセージ 文字列
リクエストサンプル 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 メソッド POST
コンテンツタイプ application/json
パスパラメータ フィールド名 説明 タイプ 必須 gameIndex Hive ゲームインデックス 整数 Y
ヘッダーパラメータ フィールド名 説明 タイプ 必須 Authorization API呼び出しの認証トークン(Bearer
) string Y Content-Type リクエストデータのタイプ(application/json
) string Y
リクエストボディ 通知メッセージを送信する際に必要な送信データです。
フィールド名 説明 タイプ 必須 channelId メッセージを送信するチャンネルID(channelId
が提供されていない場合は、すべてのチャンネルに送信されます) 文字列 N message 送信されるアナウンスメッセージの内容 文字列 Y
レスポンスボディ フィールド名 説明 タイプ code レスポンス結果コード 整数 message 説明結果メッセージ 文字列
リクエストサンプル 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": "서버 점검이 있습니다. 잠시 후 다시 접속해 주세요."
}'
レスポンスサンプル {
"code" : 0 ,
"message" : "Success."
}
ユーザーAPIの機能 これはチャットサービスで使用されるユーザーAPIのAPIリクエストとレスポンス、およびサンプルコードについて説明しています。
ユーザートークンの発行 ソケットサーバーに接続するための認証トークンを発行しています。
発行されたトークンを通じて返されたソケットサーバーアドレスに接続します。
リクエスト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 メソッド POST
パスパラメータ フィールド名 説明 タイプ 必須 gameIndex Hive ゲームインデックス 整数 Y playerId Hive プレイヤーID 長整数 Y
ヘッダーパラメータ フィールド名 説明 タイプ 必須 Authorization API呼び出しの認証トークン (Bearer
) 文字列 Y
レスポンスボディ フィールド名 説明 型 code レスポンス結果コード 整数 message 結果メッセージ 文字列 data レスポンスデータ オブジェクト
レスポンスボディ > データ フィールド名 説明 タイプ gameIndex Hive ゲームインデックス 整数 socketAddress ソケットサーバーアドレス 文字列 token 発行されたトークン 文字列
リクエストサンプル 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 メソッド GET
パスパラメータ フィールド名 説明 タイプ 必須 gameIndex Hive ゲームインデックス 整数 Y playerId Hive プレイヤーID 長整数 Y
ヘッダーパラメータ フィールド名 説明 タイプ 必須 Authorization API呼び出しの認証トークン (Bearer
) 文字列 Y
レスポンスボディ フィールド名 説明 タイプ code レスポンス結果コード 整数 message 結果メッセージ 文字列 data レスポンスデータ オブジェクト
レスポンスボディ > データ フィールド名 説明 タイプ gameIndex Hive ゲームインデックス 整数 playerId Hive プレイヤーID 長整数 channels チャンネルのリスト 配列
レスポンスボディ > データ > チャンネル フィールド名 説明 タイプ channelId チャンネルID string type チャンネルタイプ (PRIVATE
, PUBLIC
, GROUP
) string gameIndex Hive ゲームインデックス integer owner チャンネルオーナー string channelName チャンネル名 string memberCount 現在のチャンネル参加者数 integer maxMemberCount 最大チャンネル参加者数 integer regTime チャンネル作成日時(UTC+0
に基づく、フォーマットyyyy-MM-dd'T'HH:mm:ss.SSSZ
) string regTimeMillis チャンネル作成日時(UnixTimestampミリ秒) integer
リクエストサンプル 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" : "길드 채팅방" ,
"memberCount" : 1 ,
"maxMemberCount" : 50 ,
"regTime" : "2023-12-19T15:01:01.004Z" ,
"regTimeMillis" : 1731306364351
},
{
"channelId" : "open:67890" ,
"type" : "PUBLIC" ,
"gameIndex" : 1 ,
"owner" : "SYSTEM" ,
"channelName" : "오픈 채팅방" ,
"memberCount" : 2 ,
"maxMemberCount" : 100 ,
"regTime" : "2023-12-20T10:15:30.123Z" ,
"regTimeMillis" : 1731302348750
}
// ... 채널
]
}
}
ユーザーブロックリストの取得 ユーザーによってブロックされたユーザーのリストを取得しています。
リクエスト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 Hive プレイヤーID 長整数 Y
ヘッダーパラメータ フィールド名 説明 タイプ 必須 Authorization API呼び出しの認証トークン (Bearer
) 文字列 Y
レスポンスボディ フィールド名 説明 型 code レスポンス結果コード 整数 message 結果メッセージ 文字列 data レスポンスデータ オブジェクト
レスポンスボディ > データ フィールド名 説明 タイプ gameIndex Hive ゲームインデックス 整数 playerId Hive プレイヤーID 長整数 blockedUsers ブロックされたリスト 配列
レスポンスボディ > データ > ブロックされたユーザー フィールド名 説明 タイプ blockedPlayerId ブロックされたユーザーのプレイヤーID Hive long blockedTime ブロックの時間(UTC+0
に基づく、フォーマットyyyy-MM-dd'T'HH:mm:ss.SSSZ
) string blockedTimeMillis ブロックの時間(Unixタイムスタンプミリ秒) integer
リクエストサンプル 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
},
// ... 차단 목록
]
}
}
ユーザーブロック 特定のユーザーをブロックします。
リクエスト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 メソッド POST
パスパラメータ フィールド名 説明 タイプ 必須 gameIndex Hive ゲームインデックス 文字列 Y playerId Hive プレイヤーID 長整数 Y blockPlayerId ブロック Hive プレイヤー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}/block/{blockedPlayerId}
SANDBOX https://sandbox-api-chat.withhive.com/api/v1/games/{gameIndex}/users/{playerId}/block/{blockedPlayerId}
HTTP メソッド DELETE
パスパラメータ フィールド名 説明 タイプ 必須 gameIndex Hive ゲームインデックス 文字列 Y playerId Hive プレイヤーID 長整数 Y blockedPlayerId Hive プレイヤー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."
}