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

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 การซื้อเว็บสโตร์

อนุญาตกฎไฟร์วอลล์

เพื่อให้เซิร์ฟเวอร์ Hive สามารถส่งคำขอไปยัง API endpoint ของแอปเซิร์ฟเวอร์ได้ ให้เพิ่มกฎอนุญาตขาเข้า (Inbound) สำหรับที่อยู่ IP ด้านล่างในการตั้งค่าไฟร์วอลล์ของแอปเซิร์ฟเวอร์

IP ของเซิร์ฟเวอร์ Hive
15.165.223.210
3.34.158.195
43.202.20.33
13.209.91.38
3.34.235.15
15.165.134.120

การกำหนดค่าจุดสิ้นสุด 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": 100001234 
}

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

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

ชื่อ ประเภท จำเป็น (จำเป็น: O, ไม่จำเป็น: X) คำอธิบาย
result_code Integer O รหัสผลลัพธ์
result_message String O ข้อความผลลัพธ์
cs_code Integer O รหัสประจำตัวที่ไม่ซ้ำสำหรับผู้ใช้
data Array O รายชื่อเซิร์ฟเวอร์ (หากไม่มีข้อมูลผู้ใช้ ค่าการตอบกลับ: "[ ]")
data.server_id String O รหัสประจำตัวที่ไม่ซ้ำสำหรับเซิร์ฟเวอร์
data.server_name String O ชื่อของเซิร์ฟเวอร์
data.channels Array O รายชื่อช่องที่รวมอยู่ในเซิร์ฟเวอร์
data.channels.channel_id String O รหัสประจำตัวที่ไม่ซ้ำสำหรับช่อง (หากช่องไม่ได้ใช้ ค่าการตอบกลับ: "0")
data.channels.channel_name String O ชื่อของช่อง (หากช่องไม่ได้ใช้ ค่าการตอบกลับ: "-")
data.channels.characters Array O รายชื่อของตัวละครที่รวมอยู่ในช่อง
data.channels.characters.character_id String O รหัสประจำตัวที่ไม่ซ้ำสำหรับตัวละคร (หากตัวละครไม่ได้ใช้ ค่าการตอบกลับ: "-")
data.channels.characters.character_name String O ชื่อของตัวละคร (หากตัวละครไม่ได้ใช้ ค่าการตอบกลับ: "-")
data.channels.characters.character_level String 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 ข้อผิดพลาดของเซิร์ฟเวอร์