ข้ามไปที่เนื้อหา

API ข้อมูลในแอป

API การดึงข้อมูลในแอปคือ API สำหรับดึงข้อมูลเซิร์ฟเวอร์แอป ช่องทาง และข้อมูลตัวละครของผู้ใช้ที่เข้าถึงร้านค้าออนไลน์ API นี้ส่งคำขอจากเซิร์ฟเวอร์ Hive ไปยังเซิร์ฟเวอร์แอปของนักพัฒนา และเซิร์ฟเวอร์ของนักพัฒนาจะส่งการตอบกลับไปยังเซิร์ฟเวอร์ Hive

ภาพรวม

เมื่อใช้ Hive ชุมชนและร้านค้าออนไลน์ ข้อมูลเซิร์ฟเวอร์แอป ช่องทาง และตัวละครของผู้ใช้ที่เชื่อมต่อจะต้องใช้เพื่อดำเนินการ UI สำหรับการซื้อในร้านค้าออนไลน์ตามที่แสดงด้านล่าง


กระบวนการทั้งหมด รวมถึงการใช้ API นี้ สามารถสรุปได้ดังนี้

  1. นักพัฒนาแอป: เตรียม URL ของเซิร์ฟเวอร์โดย กำหนดค่า API endpoint
  2. นักพัฒนาแอป: ตั้งค่าข้อมูลที่จะส่งไปยังเซิร์ฟเวอร์ Hive ในคอนโซล Hive ข้อมูลในเกม
  3. เซิร์ฟเวอร์ Hive: นักพัฒนาแอปส่งคำขอ API แบบ POST ไปยัง URL เซิร์ฟเวอร์ที่ลงทะเบียนและได้รับข้อมูลเป็นการตอบกลับ
  4. เซิร์ฟเวอร์ Hive: ส่งข้อมูลเซิร์ฟเวอร์แอป ช่องทาง และตัวละครที่ได้รับไปยังส่วนหน้า
  5. ส่วนหน้าเว็บสโตร์: แสดงเมนูแบบเลื่อนใน UI การซื้อของเว็บสโตร์

การกำหนดค่าจุดสิ้นสุด API (URL เซิร์ฟเวอร์)

ลงทะเบียนจุดสิ้นสุด API ใน Hive Console Community & Web Shop > Web Shop > Web Shop Settings > In-Game Information.


จุดสิ้นสุด API จะต้องรับข้อมูลผู้ใช้ (cs_code) ในพารามิเตอร์คำขอเมื่อได้รับคำขอ และควรส่งคืนข้อมูลเซิร์ฟเวอร์แอป ช่องทาง และตัวละครในคำตอบ จุดสิ้นสุด API ถูกกำหนดค่าไว้ตามที่แสดงในตัวอย่างด้านล่าง ซึ่งสอดคล้องกับ Hive คอนโซล (ผลิตภัณฑ์, แซนด์บ็อกซ์, ทดสอบ)

สภาพแวดล้อมคอนโซล จุดสิ้นสุด API
การผลิต https://{URL}/webstore-profile
แซนด์บ็อกซ์ https://{URL}/webstore-profile
การทดสอบ https://{URL}/webstore-profile

การกำหนดค่าการร้องขอ API (Hive เซิร์ฟเวอร์ → แอปเซิร์ฟเวอร์)

นี่คือข้อมูลการร้องขอ POST ที่ส่งจากเซิร์ฟเวอร์ Hive ไปยังเซิร์ฟเวอร์แอป คุณจะได้รับรายการเซิร์ฟเวอร์แอป ช่องทางที่รวมอยู่ในเซิร์ฟเวอร์ และรายการตัวละครในคำตอบ

ข้อมูล API คำอธิบาย
วิธีการ POST
รูปแบบการตอบกลับ JSON
ประเภทเนื้อหา application/json


ข้อมูลใน Request Body มีดังนี้

ชื่อ ประเภท จำเป็น (จำเป็น: O, ไม่จำเป็น: X) คำอธิบาย
cs_code สตริง O รหัสประจำตัวผู้ใช้ที่ไม่ซ้ำกัน


นี่คือตัวอย่างของ Request Body.

{
  cs_code: "c_1234123"
}

การตอบสนอง 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 ข้อผิดพลาดของเซิร์ฟเวอร์