應用內資訊 API
應用內資訊檢索API是一個用於獲取訪問網絡商店的用戶的應用伺服器、頻道和角色資訊的API。此API從Hive伺服器向開發者的應用伺服器發送請求,然後開發者的伺服器將響應返回給Hive伺服器。
概述¶
在使用Hive社群和網路商店時,連接用戶的應用伺服器、頻道和角色資訊是必需的,以實現下方所示的網路商店購買UI。
整個過程,包括使用此API,可以總結如下。
- 應用程式開發者:通過 配置 API 端點 準備伺服器 URL
- 應用程式開發者:在 Hive 控制台中設置要發送到 Hive 伺服器的信息 遊戲內信息
- Hive 伺服器:應用程式開發者向註冊的伺服器 URL 發送 POST API 請求並接收數據作為響應
- Hive 伺服器:將接收到的應用程式伺服器、頻道和角色信息發送到前端
- 網路商店前端:在網路商店購買 UI 中顯示下拉菜單
API 端點配置 (伺服器網址)¶
在Hive 控制台社區與網路商店 > 網路商店 > 網路商店設定 > 遊戲內資訊中註冊 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": 100001234,
  "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": 100001234,
  "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": 100001234,
  "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": 100001234,
  "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": 100001234,
    "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 | 伺服器錯誤 | 

