コンテンツにスキップ

HTTP API

概要

HTTP APIは、HTTPを介してAPIサーバーと通信することによってチャットサービスを提供します。主にChannel APIUser 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

レスポンスコード

  • APIレスポンスコード
HTTP ステータスコード コード メッセージ 説明
200 0 成功。 成功
400 100 不正なリクエスト。 不正なリクエスト
401 101 無効なトークン。 無効なトークン
403 102 禁止されています。 禁止
404 103 見つかりません。 見つかりません
405 104 メソッドは許可されていません。 メソッドは許可されていません
500 105 内部サーバーエラー。 内部サーバーエラー
  • 詳細なエラーコード (400, 403)
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."
}