API ข้อมูลในแอป
API การดึงข้อมูลในแอปคือ API สำหรับดึงข้อมูลเซิร์ฟเวอร์แอป ช่องทาง และข้อมูลตัวละครของผู้ใช้ที่เข้าถึงร้านค้าออนไลน์ API นี้ส่งคำขอจากเซิร์ฟเวอร์ Hive ไปยังเซิร์ฟเวอร์แอปของนักพัฒนา และเซิร์ฟเวอร์ของนักพัฒนาจะส่งการตอบกลับไปยังเซิร์ฟเวอร์ Hive
ภาพรวม¶
เมื่อใช้ Hive ชุมชนและร้านค้าออนไลน์ ข้อมูลเซิร์ฟเวอร์แอป ช่องทาง และตัวละครของผู้ใช้ที่เชื่อมต่อจะต้องใช้เพื่อดำเนินการ UI สำหรับการซื้อในร้านค้าออนไลน์ตามที่แสดงด้านล่าง
กระบวนการทั้งหมด รวมถึงการใช้ API นี้ สามารถสรุปได้ดังนี้
- นักพัฒนาแอป: เตรียม URL ของเซิร์ฟเวอร์โดย กำหนดค่า API endpoint
- นักพัฒนาแอป: ตั้งค่าข้อมูลที่จะส่งไปยังเซิร์ฟเวอร์ Hive ในคอนโซล Hive ข้อมูลในเกม
- เซิร์ฟเวอร์ Hive: นักพัฒนาแอปส่งคำขอ API แบบ POST ไปยัง URL เซิร์ฟเวอร์ที่ลงทะเบียนและได้รับข้อมูลเป็นการตอบกลับ
- เซิร์ฟเวอร์ Hive: ส่งข้อมูลเซิร์ฟเวอร์แอป ช่องทาง และตัวละครที่ได้รับไปยังส่วนหน้า
- ส่วนหน้าเว็บสโตร์: แสดงเมนูแบบเลื่อนใน 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.
การตอบสนอง 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 | ข้อผิดพลาดของเซิร์ฟเวอร์ |