アプリ内情報 API
アプリ内情報取得APIは、ウェブストアにアクセスするユーザーのアプリサーバー、チャネル、およびキャラクター情報を取得するためのAPIです。このAPIは、Hiveサーバーから開発者のアプリサーバーにリクエストを送信し、開発者のサーバーがHiveサーバーにレスポンスを返します。
概要¶
Hive コミュニティとウェブストアを使用する際には、接続されたユーザーのアプリサーバー、チャネル、およびキャラクター情報が必要です。これにより、以下に示すようにウェブストアでの購入のためのUIを実装できます。
このAPIの使用を含む全プロセスは、以下のように要約できます。
- アプリ開発者: APIエンドポイントを設定することでサーバーURLを準備します
- アプリ開発者: Hive コンソールの Hive サーバーに送信される情報を ゲーム内情報として設定します
- Hive サーバー: アプリ開発者が登録されたサーバーURLにPOST APIリクエストを送信し、レスポンスとしてデータを受け取ります
- Hive サーバー: 受信したアプリサーバー、チャンネル、キャラクター情報をフロントエンドに送信します
- ウェブストアフロントエンド: ウェブストア購入UIにドロップダウンメニューを表示します
APIエンドポイントの設定 (サーバーURL)¶
Hive Console Community & Web Shop > Web Shop > Web Shop Settings > In-Game InformationにAPIエンドポイントを登録します。
APIエンドポイントは、リクエストを受け取る際にリクエストパラメータにユーザー情報(cs_code
)を受け取る必要があり、レスポンスにはアプリサーバー、チャネル、およびキャラクター情報を返す必要があります。APIエンドポイントは、以下の例に示すように構成されており、Hive コンソール(本番、サンドボックス、テスト)に対応しています。
コンソール環境 | APIエンドポイント |
---|---|
本番 | https://{URL}/webstore-profile |
サンドボックス | https://{URL}/webstore-profile |
テスト | https://{URL}/webstore-profile |
APIリクエスト (Hive サーバー → アプリサーバー) 設定¶
これは、Hive サーバーからアプリサーバーに送信された POST リクエスト情報です。レスポンスとして、アプリサーバーのリスト、サーバーに含まれるチャネル、およびキャラクターリストを受け取ります。
API情報 | 説明 |
---|---|
メソッド | POST |
レスポンス形式 | JSON |
コンテンツタイプ | application/json |
以下はリクエストボディの情報です。
名前 | タイプ | 必須 (必須: O, オプション: X) | 説明 |
---|---|---|---|
cs_code | 文字列 | O | ユーザーの一意の識別子 |
ここにリクエストボディの例があります。
APIレスポンス (アプリサーバー → Hive サーバー) 設定¶
これは、応答が成功したときにアプリサーバーからHiveサーバーに配信されなければならない応答値情報です。各製品のキャラクターレベルに基づく購入制限機能について、Hiveコンソールのアプリ内情報でキャラクターが選択されていない場合でも、キャラクターレベル情報は配信されなければなりません。キャラクターが選択されておらず、配列(data.channels.characters
)に複数のキャラクターが存在する場合、配列の最初の要素に対応するキャラクターのレベルが使用されます。
名前 | タイプ | 必須 (必須: O, オプション: X) | 説明 |
---|---|---|---|
result_code | 整数 | O | 結果コード |
result_message | 文字列 | O | 結果メッセージ |
cs_code | 文字列 | O | ユーザーの一意の識別子 |
data | 配列 | O | サーバーリスト (ユーザー情報がない場合、応答値: "[ ]") |
data.server_id | 文字列 | O | サーバーの一意の識別子 |
data.server_name | 文字列 | O | サーバーの名前 |
data.channels | 配列 | O | サーバーに含まれるチャンネルのリスト |
data.channels.channel_id | 文字列 | O | チャンネルの一意の識別子 (チャンネルが使用されていない場合、応答値: "0") |
data.channels.channel_name | 文字列 | O | チャンネルの名前 (チャンネルが使用されていない場合、応答値: "-") |
data.channels.characters | 配列 | O | チャンネルに含まれるキャラクターのリスト |
data.channels.characters.character_id | 文字列 | O | キャラクターの一意の識別子 (キャラクターが使用されていない場合、応答値: "-") |
data.channels.characters.character_name | 文字列 | O | キャラクターの名前 (キャラクターが使用されていない場合、応答値: "-") |
data.channels.characters.character_level | 文字列 | O | キャラクターのレベル (キャラクターレベルが利用できない場合、応答値: "0") |
以下は、レスポンスが成功したときのレスポンス値の例です。
// When you activated the server, the channel, and the character in the console
{
"result_code": 200,
"result_message": "success",
"cs_code": "c_123412341234",
"data": [
{
"server_id": "1",
"server_name": "Server 1",
"channels": [{
"channel_id": "1",
"channel_name": "Channel 1",
"characters": [{
"character_id": "A",
"character_name": "Character A",
"character_level": "99"
},
{
"character_id": "B",
"character_name": "Character B",
"character_level": "10"
}
]
}]
}
]
}
// When you activated the server and the character in the console
{
"result_code": 200,
"result_message": "success",
"cs_code": "c_123412341234",
"data": [
{
"server_id": "2",
"server_name": "Server 2",
"channels": [{
"channel_id": "0",
"channel_name": "-",
"characters": [{
"character_id": "C",
"character_name": "Character C",
"character_level": "11"
},
{
"character_id": "D",
"character_name": "Character E",
"character_level": "12"
}
]
}]
}
]
}
// When you activated the server and the channel in the console
{
"result_code": 200,
"result_message": "success",
"cs_code": "c_123412341234",
"data": [
{
"server_id": "3",
"server_name": "Server 3",
"channels": [{
"channel_id": "2",
"channel_name": "Channel 2",
"characters": [{
"character_id": "-",
"character_name": "-",
"character_level": "99"
}]
}]
}
]
}
// When you activated the server in the console
{
"result_code": 200,
"result_message": "success",
"cs_code": "c_123412341234",
"data": [
{
"server_id": "4",
"server_name": "Server 4",
"channels": [{
"channel_id": "0",
"channel_name": "-",
"characters": [{
"character_id": "-",
"character_name": "-",
"character_level": "99"
}]
}]
}
]
}
// When you activated the server, the channel, and the character in the console: multiple channels
{
"result_code": 200,
"result_message": "success",
"cs_code": "c_123412341234",
"data": [
{
"server_id": "1",
"server_name": "Server 1",
"channels": [
{
"channel_id": "1",
"channel_name": "Channel 1",
"characters": [
{
"character_id": "A",
"character_name": "Character A",
"character_level": "99"
}, {
"character_id": "B",
"character_name": "Character B",
"character_level": "10"
}
]
}, {
"channel_id": "2",
"channel_name": "Channel 2",
"characters": [
{
"character_id": "A2",
"character_name": "Character A2",
"character_level": "99"
}, {
"character_id": "B2",
"character_name": "Character B2",
"character_level": "10"
}
]
}
]
}
]
}
以下はレスポンスコード(result_code
)です。
コード | 説明 |
---|---|
200 | 成功 |
204 | ユーザーに関する情報なし |
500 | サーバーエラー |