コンテンツにスキップ

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 コンソール > アプリセンター > プロジェクト管理 > ゲーム詳細 > 基本情報 で確認できます
  • ゲームインデックス (Game Index): 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 チャンネルタイプ(PRIVATEPUBLICGROUP string N
channelId 特定のチャンネルIDで始まるチャンネルを取得 string N
channelName 特定のチャンネル名を含むチャンネルを取得 string N
sort ソート基準(channelIdchannelNameregTime
(デフォルトはregTime)
string N
order ソート方法(ASCDESC
(デフォルトはDESC)
string N
size ページごとに取得するチャンネルの数
(最小10〜最大100、デフォルトは10)
integer N
page 取得するページ番号
(1から始まり、デフォルトは1)
integer N

レスポンスボディ

フィールド名 説明 種類
code レスポンスコード 整数
message 結果メッセージ 文字列
data レスポンスデータ オブジェクト
レスポンスボディ > データ
フィールド名 説明 タイプ
content チャンネルリスト 配列
page ページ情報 オブジェクト
レスポンスボディ > データ > コンテンツ
フィールド名 説明 タイプ
channelId チャンネルID 文字列
type チャンネルタイプ(PRIVATE, PUBLIC, GROUP 文字列
gameIndex Hive ゲームインデックス 整数
owner チャンネル所有者の Hive プレイヤーID 文字列
channelName チャンネル名 文字列
maxMemberCount チャンネル参加者の最大数 整数
regTime チャンネル作成日時(UTC+0に基づく、フォーマットyyyy-MM-dd'T'HH:mm:ss.SSSZ 文字列
レスポンスボディ > データ > ページ
フィールド名 説明 タイプ
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": "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 メソッド GET

パスパラメータ

フィールド名 説明 タイプ 必須
gameIndex Hive ゲームインデックス 整数 Y
channelId クエリするチャンネルID 文字列 Y

ヘッダー パラメータ

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

レスポンスボディ

フィールド名 説明
code レスポンスコード 整数
message 結果メッセージ 文字列
data レスポンスデータ オブジェクト
レスポンスボディ > データ
フィールド名 説明 タイプ
info チャンネル情報 オブジェクト
members 参加者リスト 配列
レスポンスボディ > データ > 情報
フィールド名 説明 タイプ
channelId チャンネルID 文字列
type チャンネルタイプ(PRIVATE, PUBLIC, GROUP 文字列
gameIndex Hive ゲームインデックス 整数
owner チャンネルオーナー 文字列
channelName チャンネル名 文字列
maxMemberCount チャンネル参加者の最大数 整数
regTime チャンネル作成日時(UTC+0に基づき、フォーマットはyyyy-MM-dd'T'HH:mm:ss.SSSZ 文字列
レスポンスボディ > データ > メンバー
フィールド名 説明 タイプ
playerId Hive プレイヤーID long
extraData 追加データ (UTF-8 ベース)
(最大 256 バイト)
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": "Open Chat Room",
        "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 メソッド 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

リクエストサンプル

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"
      }
    ]
  }
}

チャンネルを作成

新しい会話チャネルを作成しています。

プレイヤー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 文字列 Y
Content-Type リクエストデータのタイプ(application/json 文字列 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": "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 ゲームインデックス 整数 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 METHOD POST
CONTENT-TYPE application/json

パスパラメータ

フィールド名 説明 タイプ 必須
gameIndex Hive ゲームインデックス 整数 Y
channelId チャンネルID 文字列 Y

ヘッダーパラメータ

フィールド名 説明 タイプ 必須
Authorization API呼び出しの認証トークン(Bearer string Y
Content-Type リクエストデータのタイプ(application/json string Y

リクエストボディ

チャンネルに入るリクエストをする際に必要な送信データです。

フィールド名 説明 タイプ 必須
playerId Hive ユーザーのプレイヤーIDを承認するため 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 メソッド POST
コンテンツタイプ application/json

パスパラメータ

フィールド名 説明 タイプ 必須
gameIndex Hive ゲームインデックス 整数 Y
channelId チャンネルID 文字列 Y

ヘッダーパラメータ

フィールド名 説明 タイプ 必須
Authorization API呼び出しのための認証トークン(Bearer 文字列 Y
Content-Type リクエストデータのタイプ(application/json 文字列 Y

リクエストボディ

これは、チャンネルを離れるリクエストをする際に必要な送信データです。

フィールド名 説明 タイプ 必須
playerId Hive 削除されるユーザーのプレイヤーID 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 文字列 Y
Content-Type リクエストデータのタイプ(application/json 文字列 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": "Server maintenance is in progress. Please try connecting again later."
}'

レスポンスサンプル

{
    "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 METHOD GET

パスパラメータ

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

ヘッダーパラメータ

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

応答本文

フィールド名 説明
code レスポンスコード 整数
message 結果メッセージ 文字列
data レスポンスデータ オブジェクト
レスポンスボディ > データ
フィールド名 説明 タイプ
gameIndex Hive ゲームインデックス 整数
playerId Hive プレイヤーID 長整数
channels チャンネルのリスト 配列
レスポンスボディ > データ > チャンネル
フィールド名 説明 タイプ
channelId チャンネルID 文字列
type チャンネルタイプ(PRIVATE, PUBLIC, GROUP 文字列
gameIndex Hive ゲームインデックス 整数
owner チャンネルオーナー 文字列
channelName チャンネル名 文字列
maxMemberCount 最大チャンネル参加者数 整数
regTime チャンネル作成日時(UTC+0に基づく、フォーマットyyyy-MM-dd'T'HH:mm:ss.SSSZ 文字列

リクエストサンプル

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"
      }
      // ... channel
    ]
  }
}

ユーザーブロックリスト照会

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

リクエスト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 メソッド GET

パスパラメータ

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

ヘッダー パラメータ

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

レスポンスボディ

フィールド名 説明 タイプ
code レスポンスコード 整数
message 結果メッセージ 文字列
data レスポンスデータ オブジェクト
レスポンスボディ > データ
フィールド名 説明 タイプ
gameIndex Hive ゲームインデックス 整数
playerId Hive プレイヤーID 長整数
blockedUsers ブロックリスト 配列
レスポンスボディ > データ > ブロックされたユーザー
フィールド名 説明 タイプ
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,
    "blockedUsers": [
      {
        "blockedPlayerId": 1002,
        "blockedTime": "2023-12-20T10:15:30.123Z"
      },
      {
        "blockedPlayerId": 1003,
        "blockedTime": "2023-12-21T08:45:12.456Z"
      },
      // ... Block list
    ]
  }
}

ユーザーブロック

特定のユーザーをブロックします。

リクエスト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) 文字列 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 METHOD DELETE

パスパラメータ

フィールド名 説明 タイプ 必須
gameIndex Hive ゲームインデックス string Y
playerId Hive プレイヤーID long Y
blockedPlayerId Hive アンブロックするプレイヤーID long 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."
}