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

ช่อง

คู่มือนี้อธิบายวิธีการใช้ API สำหรับการสร้างและลบช่อง, การแก้ไขข้อมูลช่อง, และการดึงข้อมูลรายการช่องและผู้เข้าร่วม

ภาพรวม

ช่องคือพื้นที่เชิงแนวคิดที่การสนทนาเกิดขึ้น และการสนทนาทั้งหมดในเกมจะดำเนินการภายในช่องต่างๆ

ส่วนนี้อธิบายเกี่ยวกับประเภทของช่องทางและพฤติกรรมของช่องทางที่รองรับโดย API.

ประเภทช่องทาง

ประเภทช่องทางที่สามารถสร้างได้ผ่าน API มีดังนี้:

ประเภทช่องทาง ความจุ ช่องทางที่เข้าร่วมสูงสุด ออกจากช่องทางเมื่อการเชื่อมต่อขาด การใช้งานหลัก
PUBLIC 1 – 5,000 สูงสุด 10 O แชทเปิด, งานกิจกรรม, ฯลฯ
GROUP 1 – 500 สูงสุด 10 X แชทกิลด์, ทีม, ปาร์ตี้
PRIVATE 1 – 500 สูงสุด 10 X แชทกลุ่มส่วนตัว, เพื่อน
ONE_ON_ONE 2 สูงสุด 200 X แชท 1:1
  • ช่อง PUBLIC ถูกสร้างขึ้นสำหรับการสนทนาแบบเปิดที่ผู้ใช้ที่ไม่ได้ระบุสามารถเข้าร่วมได้ และเฉพาะผู้ใช้ที่ออนไลน์เท่านั้นที่สามารถเข้าร่วมได้
  • ช่อง GROUP และ PRIVATE ถูกสร้างขึ้นสำหรับการสนทนาในกลุ่มเฉพาะ เช่น กิลด์ เพื่อน และปาร์ตี้
  • ช่อง PRIVATE ถูกสร้างขึ้นสำหรับการสนทนาระหว่างเพื่อนหรือภายในกลุ่มส่วนตัว และผู้ใช้ต้องป้อนรหัสผ่านเพื่อเข้าร่วม

ช่องทางทำงานอย่างไร

พฤติกรรมพื้นฐานของช่องทางมีดังนี้:

  • มีช่วงเวลาที่ชัดเจนในการเข้าร่วมและออกจากช่อง และเซิร์ฟเวอร์แชทมีการจัดการที่สอดคล้องกันในแต่ละจุด
  • เมื่อมีการส่งข้อความไปยังช่อง ข้อความนั้นจะถูกส่งไปยังผู้ใช้ทั้งหมดในช่อง (อย่างไรก็ตาม ข้อความจะไม่ถูกส่งไปยังผู้ใช้ที่ถูกบล็อก)
  • เฉพาะผู้เข้าร่วมช่องเท่านั้นที่สามารถส่งข้อความไปยังช่องได้ (อย่างไรก็ตาม ข้อความแจ้งเตือนเป็นข้อยกเว้น)


พฤติกรรมที่อิงจากการใช้ API ช่องทางมีดังนี้:

การสร้างและการลบช่อง

  • คุณสามารถสร้างช่องโดยใช้ API สร้างช่อง หรือ สร้างช่อง 1:1
  • กรณีที่ช่องถูกลบ:
    • เมื่อใช้ API ลบช่อง
    • เมื่อเจ้าของช่องไม่ใช่ SYSTEM และช่องไม่มีผู้เข้าร่วม ช่องจะถูกลบเป็นระยะ
  • หากช่องถูกลบในขณะที่ยังมีผู้เข้าร่วมอยู่ จะมีการส่งเหตุการณ์การลบช่องไปยังผู้เข้าร่วม

การแก้ไขข้อมูลช่อง

  • คุณสามารถแก้ไขข้อมูลช่องได้โดยใช้ API อัปเดตช่อง.
    • ฟิลด์ที่สามารถแก้ไขได้: ชื่อช่อง, จำนวนสมาชิกสูงสุด, รหัสผ่าน, และความพร้อมใช้งานของประวัติการสนทนา
    • แม้ว่าจะมีการเปลี่ยนจำนวนสมาชิกสูงสุดเป็น 50 ในขณะที่ช่องมีผู้เข้าร่วมอยู่แล้ว 100 คน สถานะของผู้เข้าร่วมที่มีอยู่จะไม่ได้รับผลกระทบ
    • ข้อมูลช่อง 1:1 (ONE_ON_ONE) ไม่สามารถแก้ไขได้.

สร้าง API ช่อง

สร้างช่องใหม่

หาก playerId รวมอยู่ในพารามิเตอร์ของเนื้อหาคำขอ ผู้ใช้ที่มี playerId นั้นจะกลายเป็นเจ้าของช่องและเข้าร่วมช่องโดยอัตโนมัติ หาก playerId ไม่ได้รวมอยู่ เจ้าของช่องจะถูกตั้งค่าเป็น SYSTEM

ช่องทางต่อไปนี้จะถูกลบเป็นระยะๆ:

  • ช่องที่เจ้าของไม่ใช่ SYSTEM และไม่มีผู้เข้าร่วม

URL ที่ร้องขอ

เซิร์ฟเวอร์ URL
LIVE https://api-chat.withhive.com/api/v1/games/{gameIndex}/channel
SANDBOX https://sandbox-api-chat.withhive.com/api/v1/games/{gameIndex}/channel
HTTP METHOD POST
CONTENT-TYPE application/json

พารามิเตอร์เส้นทาง

ฟิลด์ คำอธิบาย ประเภท จำเป็น
gameIndex ดัชนีเกม Hive จำนวนเต็ม ใช่

พารามิเตอร์หัวเรื่อง

ฟิลด์ คำอธิบาย ประเภท จำเป็น
Authorization โทเค็นการตรวจสอบสิทธิ์สำหรับการเรียก API (Bearer) สตริง ใช่
Content-Type ประเภทข้อมูลคำขอ (application/json) สตริง ใช่

เนื้อหาคำขอ

ฟิลด์ คำอธิบาย ประเภท จำเป็น
channelId รหัสช่อง
(ตัวอักษรพิมพ์ใหญ่/พิมพ์เล็ก, ตัวเลข, และอักขระพิเศษบางตัว (-, ., _, ~, :) อนุญาต, สูงสุด 100 ตัวอักษร)
สตริง ใช่
playerId รหัสผู้เล่นของผู้สร้างช่อง ยาว ไม่
password รหัสผ่าน (จำเป็นสำหรับช่อง PRIVATE)
(สูงสุด 50 ตัวอักษร)
สตริง ไม่
channelName ชื่อช่อง
(สูงสุด 50 ตัวอักษร)
สตริง ใช่
maxMemberCount จำนวนผู้เข้าร่วมช่องสูงสุด
(ขั้นต่ำ 2 – สูงสุด 5,000)
จำนวนเต็ม ใช่
type ประเภทช่อง (PRIVATE, PUBLIC, GROUP) สตริง ใช่
chatHistoryAllowed ว่าประวัติข้อความสามารถใช้งานได้หรือไม่
(ค่าเริ่มต้น: false)
บูลีน ไม่

เนื้อหาการตอบกลับ

ฟิลด์ คำอธิบาย ประเภท
code รหัสผลลัพธ์ จำนวนเต็ม
message ข้อความผลลัพธ์ สตริง
data ข้อมูลการตอบกลับ วัตถุ

Response body > data

Field Description Type
channelId รหัสช่อง string
type ประเภทช่อง (PRIVATE, PUBLIC, GROUP) string
gameIndex ดัชนีเกม Hive integer
owner เจ้าของช่อง string
channelName ชื่อช่อง string
maxMemberCount จำนวนสูงสุดของผู้เข้าร่วมช่อง integer
chatHistoryAllowed ว่าประวัติข้อความมีให้ใช้งานหรือไม่ boolean
regTime วันและเวลาที่สร้างช่อง (ตาม UTC+0, รูปแบบ: yyyy-MM-dd'T'HH:mm:ss.SSSZ) string
regTimeMillis วันและเวลาที่สร้างช่อง (UnixTimestamp Millisecond) long

ตัวอย่างคำขอ

curl --request POST 'https://api-chat.withhive.com/api/v1/games/1/channel' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNzAyNDU4MTkzLCJqdGkiOiIxMzY2NDk4MjcxIn0.VSwvsTE-tS0sL_e9p9gNvHRkMCbsycSO4ObE4J2ysjs' \
--header 'Content-Type: application/json' \
--data'{
    "channelId": "open:12345",
    "channelName": "Open Chat Room",
    "maxMemberCount": 100,
    "type": "PUBLIC",
    "chatHistoryAllowed": true
}'

ตัวอย่างการตอบกลับ

{
    "code": 0,
    "message": "Success.",
    "data": {
        "channelId": "open:12345",
        "type": "PUBLIC",
        "gameIndex": 1,
        "owner": "SYSTEM",
        "channelName": "Open Chat Room",
        "chatHistoryAllowed": true,
        "maxMemberCount": 100,
        "regTime": "2025-07-21T08:39:07.542913300Z",
        "regTimeMillis": 1753087147542
  }
}

สร้าง API ช่อง 1:1

สร้างช่อง 1:1 (ONE_ON_ONE) และเข้าร่วมผู้ใช้ที่ตรงกับ playerId และ otherPlayerId ในข้อมูลคำขอ

หากมีช่อง 1:1 ที่สร้างขึ้นก่อนหน้านี้อยู่แล้วกับผู้ใช้เดียวกัน ช่องที่มีอยู่จะถูกเข้าร่วมแทน

URL การร้องขอ

เซิร์ฟเวอร์ URL
LIVE https://api-chat.withhive.com/api/v1/games/{gameIndex}/channels/1on1
SANDBOX https://sandbox-api-chat.withhive.com/api/v1/games/{gameIndex}/channels/1on1
HTTP METHOD POST
CONTENT-TYPE application/json

พารามิเตอร์เส้นทาง

ฟิลด์ คำอธิบาย ประเภท จำเป็น
gameIndex ดัชนีเกม Hive จำนวนเต็ม ใช่

พารามิเตอร์หัวเรื่อง

ฟิลด์ คำอธิบาย ประเภท จำเป็น
Authorization โทเค็นการตรวจสอบสิทธิ์สำหรับการเรียก API (Bearer) สตริง ใช่
Content-Type ประเภทข้อมูลคำขอ (application/json) สตริง ใช่

เนื้อหาคำขอ

ฟิลด์ คำอธิบาย ประเภท จำเป็น
channelId รหัสช่อง
(ตัวอักษรพิมพ์ใหญ่/พิมพ์เล็ก, ตัวเลข, และอักขระพิเศษบางตัว (-, ., _, ~, :) อนุญาต, สูงสุด 100 ตัวอักษร)
string ใช่
channelName ชื่อช่อง (สูงสุด 50 ตัวอักษร) string ใช่
playerId รหัสผู้เล่น long ใช่
otherPlayerId รหัสผู้เล่นอื่น long ใช่
chatHistoryAllowed ว่าประวัติข้อความมีให้ใช้งานหรือไม่ (ค่าเริ่มต้น: false) boolean ไม่

เนื้อหาการตอบกลับ

ฟิลด์ คำอธิบาย ประเภท
code รหัสผลลัพธ์การตอบกลับ จำนวนเต็ม
message ข้อความผลลัพธ์ สตริง
data ข้อมูลการตอบกลับ วัตถุ

ร่างการตอบกลับ > ข้อมูล

ฟิลด์ คำอธิบาย ประเภท
channelId รหัสช่อง สตริง
type ประเภทช่อง (ONE_ON_ONE) สตริง
gameIndex ดัชนีเกม Hive จำนวนเต็ม
owner เจ้าของช่อง สตริง
channelName ชื่อช่อง สตริง
maxMemberCount จำนวนสูงสุดของผู้เข้าร่วมช่อง จำนวนเต็ม
participants รายชื่อผู้เข้าร่วม playerIds อาร์เรย์
chatHistoryAllowed ว่าประวัติข้อความมีให้ใช้งานหรือไม่ บูลีน
regTime วันและเวลาที่สร้างช่อง (ตาม UTC+0, รูปแบบ: yyyy-MM-dd'T'HH:mm:ss.SSSZ) สตริง
regTimeMillis วันและเวลาที่สร้างช่อง (UnixTimestamp มิลลิวินาที) ยาว

ตัวอย่างคำขอ

curl --request POST 'https://api-chat.withhive.com/api/v1/games/1/channel/1on1' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNzAyNDU4MTkzLCJqdGkiOiIxMzY2NDk4MjcxIn0.VSwvsTE-tS0sL_e9p9gNvHRkMCbsycSO4ObE4J2ysjs' \
--header 'Content-Type: application/json' \
--data'{
    "channelId": "1on1:test",
    "channelName": "Test 1:1 Channel",
    "playerId": 1000,
    "otherPlayerId": 2000,
    "chatHistoryAllowed": false
}'

ตัวอย่างการตอบกลับ

{
    "code": 0,
    "message": "Success.",
    "data": {
        "channelId": "1on1:test",
        "type": "ONE_ON_ONE",
        "gameIndex": 1,
        "owner": "1000",
        "channelName": "Test 1:1 Channel",
        "chatHistoryAllowed": false,
        "maxMemberCount": 2,
        "participants": [1000, 2000],
        "regTime": "2025-07-18T09:37:36.697035738Z",
        "regTimeMillis": 1752831456697
    }
}

อัปเดตช่อง API

อัปเดตช่องที่สร้างขึ้นแล้ว

เฉพาะประเภทช่องทางต่อไปนี้เท่านั้นที่สามารถอัปเดตได้:

  • สาธารณะ
  • ส่วนตัว
  • กลุ่ม

URL ที่ร้องขอ

เซิร์ฟเวอร์ URL
LIVE https://api-chat.withhive.com/api/v1/games/{gameIndex}/channels/{channelId}
SANDBOX https://sandbox-api-chat.withhive.com/api/v1/games/{gameIndex}/channels/{channelId}
HTTP METHOD PATCH
CONTENT-TYPE application/json

พารามิเตอร์เส้นทาง

ฟิลด์ คำอธิบาย ประเภท จำเป็น
gameIndex ดัชนีเกม Hive จำนวนเต็ม ใช่
channelId รหัสช่อง สตริง ใช่

พารามิเตอร์หัวเรื่อง

ฟิลด์ คำอธิบาย ประเภท จำเป็น
Authorization โทเค็นการตรวจสอบสิทธิ์สำหรับการเรียก API (Bearer) สตริง ใช่
Content-Type ประเภทข้อมูลคำขอ (application/json) สตริง ใช่

เนื้อหาคำขอ

ฟิลด์ คำอธิบาย ประเภท จำเป็น
channelName ชื่อช่อง
(สูงสุด 50 ตัวอักษร)
string N
password รหัสผ่าน (จำเป็นสำหรับช่อง PRIVATE)
(สูงสุด 50 ตัวอักษร)
string N
maxMemberCount จำนวนสูงสุดของผู้เข้าร่วมช่อง integer N
type ประเภทช่อง (PRIVATE, PUBLIC, GROUP) string N
chatHistoryAllowed ว่าประวัติข้อความสามารถใช้งานได้หรือไม่
(ค่าเริ่มต้น: false)
boolean N

เนื้อหาการตอบกลับ

ฟิลด์ คำอธิบาย ประเภท
รหัส รหัสผลลัพธ์ จำนวนเต็ม
ข้อความ ข้อความผลลัพธ์ สตริง
ข้อมูล ข้อมูลการตอบกลับ อ็อบเจ็กต์

ตัวอย่างคำขอ

curl --request PATCH 'https://api-chat.withhive.com/api/v1/games/1/channels/testchannel' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNzAyNDU4MTkzLCJqdGkiOiIxMzY2NDk4MjcxIn0.VSwvsTE-tS0sL_e9p9gNvHRkMCbsycSO4ObE4J2ysjs' \
--header 'Content-Type: application/json' \
--data'{
    "channelName": "Open Chat Room",
    "maxMemberCount": 100,
    "type": "PUBLIC",
    "chatHistoryAllowed": true
}'

ตัวอย่างการตอบกลับ

{
    "code": 0,
    "message": "Success."
}

ลบช่อง API

ลบช่องที่สร้างขึ้นและส่งเหตุการณ์การลบช่องไปยังผู้ใช้ในช่องนั้น

URL การร้องขอ

เซิร์ฟเวอร์ URL
LIVE https://api-chat.withhive.com/api/v1/games/{gameIndex}/channels/{channelId}
SANDBOX https://sandbox-api-chat.withhive.com/api/v1/games/{gameIndex}/channels/{channelId}
HTTP Method DELETE

พารามิเตอร์เส้นทาง

ฟิลด์ คำอธิบาย ประเภท จำเป็น
gameIndex ดัชนีเกม Hive จำนวนเต็ม ใช่
channelId รหัสช่องที่จะลบ สตริง ใช่

พารามิเตอร์หัวเรื่อง

ฟิลด์ คำอธิบาย ประเภท จำเป็น
Authorization โทเค็นการตรวจสอบสิทธิ์สำหรับการเรียก API (Bearer) string Y

เนื้อหาการตอบกลับ

ฟิลด์ คำอธิบาย ประเภท
code รหัสผลลัพธ์ จำนวนเต็ม
message ข้อความผลลัพธ์ สตริง

ตัวอย่างคำขอ

curl --request DELETE 'https://api-chat.withhive.com/api/v1/games/1/channels/open:12345' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNzAyNDU4MTkzLCJqdGkiOiIxMzY2NDk4MjcxIn0.VSwvsTE-tS0sL_e9p9gNvHRkMCbsycSO4ObE4J2ysjs'

ตัวอย่างการตอบกลับ

{
    "code": 0,
    "message": "Success."
}

รับรายการช่อง API

ดึงรายการช่องที่สร้างขึ้น ช่องประเภทที่สามารถดึงข้อมูลได้มีดังนี้:

  • สาธารณะ
  • ส่วนตัว
  • กลุ่ม

URL การร้องขอ

เซิร์ฟเวอร์ URL
LIVE https://api-chat.withhive.com/api/v1/games/{gameIndex}/channels
SANDBOX https://sandbox-api-chat.withhive.com/api/v1/games/{gameIndex}/channels
HTTP METHOD GET

พารามิเตอร์เส้นทาง

ฟิลด์ คำอธิบาย ประเภท จำเป็น
gameIndex ดัชนีเกม Hive จำนวนเต็ม ใช่

พารามิเตอร์หัวเรื่อง

ฟิลด์ คำอธิบาย ประเภท จำเป็น
Authorization โทเค็นการตรวจสอบสิทธิ์สำหรับการเรียก API (Bearer) string Y

พารามิเตอร์การค้นหา

ฟิลด์ คำอธิบาย ประเภท จำเป็น
type ประเภทช่อง (PRIVATE, PUBLIC, GROUP) string N
channelId ดึงช่องที่เริ่มต้นด้วย ID ช่องที่ระบุ string N
channelName ดึงช่องที่มีชื่อช่องที่ระบุ string N
sort เกณฑ์การจัดเรียง (channelId, channelName, regTime)
(เริ่มต้น: regTime)
string N
order ลำดับการจัดเรียง (ASC, DESC)
(เริ่มต้น: DESC)
string N
size จำนวนช่องต่อหน้า
(ขั้นต่ำ 1 – สูงสุด 10, เริ่มต้น: 10)
integer N
page หมายเลขหน้าที่จะดึงข้อมูล
(เริ่มต้นจาก 1, เริ่มต้น: 1)
integer N

เนื้อหาการตอบกลับ

ฟิลด์ คำอธิบาย ประเภท
code รหัสผลลัพธ์ จำนวนเต็ม
message ข้อความผลลัพธ์ สตริง
data ข้อมูลการตอบกลับ อ็อบเจ็กต์

เนื้อหาการตอบกลับ > ข้อมูล

ฟิลด์ คำอธิบาย ประเภท
content รายการช่อง อาร์เรย์วัตถุ
page ข้อมูลหน้า วัตถุ

เนื้อหาของร่างตอบกลับ > ข้อมูล > เนื้อหา

ฟิลด์ คำอธิบาย ประเภท
channelId รหัสช่อง string
type ประเภทช่อง (PRIVATE, PUBLIC, GROUP) string
gameIndex ดัชนีเกม Hive integer
owner รหัสผู้เล่นของเจ้าของช่อง string
channelName ชื่อช่อง string
memberCount จำนวนผู้เข้าร่วมช่องปัจจุบัน integer
maxMemberCount จำนวนผู้เข้าร่วมช่องสูงสุด integer
chatHistoryAllowed ว่าประวัติข้อความสามารถใช้งานได้หรือไม่ boolean
regTime วันและเวลาที่สร้างช่อง (ตาม UTC+0, รูปแบบ: yyyy-MM-dd'T'HH:mm:ss.SSSZ) string
regTimeMillis วันและเวลาที่สร้างช่อง (UnixTimestamp Millisecond) long

เนื้อหาการตอบกลับ > ข้อมูล > หน้า

ฟิลด์ คำอธิบาย ประเภท
ขนาด จำนวนรายการต่อหน้า จำนวนเต็ม
หน้าปัจจุบัน หมายเลขหน้าปัจจุบัน จำนวนเต็ม
จำนวนทั้งหมด จำนวนรายการทั้งหมด จำนวนเต็ม
จำนวนหน้าทั้งหมด จำนวนหน้าทั้งหมด จำนวนเต็ม

ตัวอย่างคำขอ

curl --request GET 'https://api-chat.withhive.com/api/v1/games/1/channels?type=PUBLIC&sort=regTime&order=DESC&size=10&page=1' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNzAyNDU4MTkzLCJqdGkiOiIxMzY2NDk4MjcxIn0.VSwvsTE-tS0sL_e9p9gNvHRkMCbsycSO4ObE4J2ysjs'

ตัวอย่างการตอบกลับ

{
  "code": 0,
  "message": "Success.",
  "data": {
    "content": [
      {
        "channelId": "open:12345",
        "type": "PUBLIC",
        "gameIndex": 1,
        "owner": "1000",
        "channelName": "Open Chat Room",
        "memberCount": 2,
        "maxMemberCount": 50,
        "chatHistoryAllowed": true,
        "regTime": "2024-12-30T15:01:01.004Z",
        "regTimeMillis": 1731306364351
      },
      /// ... channel info
    ],
    "page": {
      "size": 10,
      "currentPage": 1,
      "totalElements": 100,
      "totalPages": 10
    }
  }
}

รับ API ช่อง

ดึงข้อมูลรายละเอียดของช่องที่สร้างขึ้น

URL คำขอ

เซิร์ฟเวอร์ URL
LIVE https://api-chat.withhive.com/api/v1/games/{gameIndex}/channels/{channelId}
SANDBOX https://sandbox-api-chat.withhive.com/api/v1/games/{gameIndex}/channels/{channelId}
HTTP METHOD GET

พารามิเตอร์เส้นทาง

ฟิลด์ คำอธิบาย ประเภท จำเป็น
gameIndex ดัชนีเกม Hive จำนวนเต็ม ใช่
channelId รหัสช่องที่ต้องการดึงข้อมูล สตริง ใช่

พารามิเตอร์หัวข้อ

ฟิลด์ คำอธิบาย ประเภท จำเป็น
Authorization โทเค็นการตรวจสอบสิทธิ์สำหรับการเรียก API (Bearer) สตริง ใช่

เนื้อหาการตอบกลับ

ฟิลด์ คำอธิบาย ประเภท
code รหัสผลลัพธ์ จำนวนเต็ม
message ข้อความผลลัพธ์ สตริง
data ข้อมูลการตอบกลับ อ็อบเจ็กต์

เนื้อหาการตอบกลับ > ข้อมูล

ฟิลด์ คำอธิบาย ประเภท
info ข้อมูลช่อง วัตถุ
members รายชื่อสมาชิก อาร์เรย์วัตถุ

เนื้อหาการตอบกลับ > ข้อมูล > ข้อมูล

ฟิลด์ คำอธิบาย ประเภท
channelId รหัสช่อง สตริง
type ประเภทช่อง (PRIVATE, PUBLIC, GROUP, ONE_ON_ONE) สตริง
gameIndex ดัชนีเกม Hive จำนวนเต็ม
owner เจ้าของช่อง สตริง
channelName ชื่อช่อง สตริง
memberCount จำนวนผู้เข้าร่วมช่องปัจจุบัน จำนวนเต็ม
maxMemberCount จำนวนสูงสุดของผู้เข้าร่วมช่อง จำนวนเต็ม
chatHistoryAllowed ว่าประวัติข้อความสามารถใช้ได้หรือไม่ บูลีน
regTime วันและเวลาที่สร้างช่อง (ตาม UTC+0, รูปแบบ: yyyy-MM-dd'T'HH:mm:ss.SSSZ) สตริง
regTimeMillis วันและเวลาที่สร้างช่อง (UnixTimestamp มิลลิวินาที) ยาว

เนื้อหาการตอบกลับ > ข้อมูล > สมาชิก

ฟิลด์ คำอธิบาย ประเภท
playerId รหัสผู้เล่น long

ตัวอย่างคำขอ

curl --request GET 'https://api-chat.withhive.com/api/v1/games/1/channels/open:12345' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNzAyNDU4MTkzLCJqdGkiOiIxMzY2NDk4MjcxIn0.VSwvsTE-tS0sL_e9p9gNvHRkMCbsycSO4ObE4J2ysjs'

ตัวอย่างการตอบกลับ

{
  "code": 0,
  "message": "Success.",
  "data": {
    "info": {
      "channelId": "open:12345",
      "type": "PUBLIC",
      "gameIndex": 1,
      "owner": "SYSTEM",
      "channelName": "Open Chat Room",
      "memberCount": 2,
      "maxMemberCount": 50,
      "chatHistoryAllowed": true,
      "regTime": "2024-12-30T15:01:01.004Z",
      "regTimeMillis": 1731306364351
    },
    "members": [
      {
        "playerId": 1
      },
      {
        "playerId": 2
      }
    ]
  }
}

รับสมาชิกช่อง API

ดึงข้อมูลเกี่ยวกับผู้ใช้ที่เข้าร่วมช่องทาง

URL ที่ร้องขอ

เซิร์ฟเวอร์ URL
LIVE https://api-chat.withhive.com/api/v1/games/{gameIndex}/channels/{channelId}/members
SANDBOX https://sandbox-api-chat.withhive.com/api/v1/games/{gameIndex}/channels/{channelId}/members
HTTP METHOD GET

พารามิเตอร์เส้นทาง

ฟิลด์ คำอธิบาย ประเภท จำเป็น
gameIndex ดัชนีเกม Hive จำนวนเต็ม ใช่
channelId รหัสช่องเพื่อดึงข้อมูล สตริง ใช่

พารามิเตอร์หัว

ฟิลด์ คำอธิบาย ประเภท จำเป็น
Authorization โทเค็นการตรวจสอบสิทธิ์สำหรับการเรียก API (Bearer) สตริง ใช่

เนื้อหาการตอบกลับ

ฟิลด์ คำอธิบาย ประเภท
code รหัสผลลัพธ์การตอบกลับ จำนวนเต็ม
message ข้อความผลลัพธ์ สตริง
data ข้อมูลการตอบกลับ วัตถุ

เนื้อหาการตอบกลับ > ข้อมูล

ฟิลด์ คำอธิบาย ประเภท
members รายชื่อสมาชิกช่อง อาร์เรย์วัตถุ

เนื้อหาการตอบกลับ > ข้อมูล > สมาชิก

ฟิลด์ คำอธิบาย ประเภท
playerId รหัสผู้เล่น long

ตัวอย่างคำขอ

curl --request GET 'https://api-chat.withhive.com/api/v1/games/1/channels/open:12345/members' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNzAyNDU4MTkzLCJqdGkiOiIxMzY2NDk4MjcxIn0.VSwvsTE-tS0sL_e9p9gNvHRkMCbsycSO4ObE4J2ysjs'

ตัวอย่างการตอบกลับ

{
  "code": 0,
  "message": "Success.",
  "data": {
    "members": [
      {
        "playerId": 1
      },
      {
        "playerId": 2
      }
    ]
  }
}

ป้อน API ช่อง

อนุญาตให้ผู้ใช้เฉพาะเข้าร่วมช่องทาง

URL การร้องขอ

เซิร์ฟเวอร์ URL
LIVE https://api-chat.withhive.com/api/v1/games/{gameIndex}/channels/{channelId}/enter
SANDBOX https://sandbox-api-chat.withhive.com/api/v1/games/{gameIndex}/channels/{channelId}/enter
HTTP METHOD POST
CONTENT-TYPE application/json

พารามิเตอร์เส้นทาง

ฟิลด์ คำอธิบาย ประเภท จำเป็น
gameIndex ดัชนีเกม Hive จำนวนเต็ม ใช่
channelId รหัสช่อง สตริง ใช่

พารามิเตอร์หัวเรื่อง

ฟิลด์ คำอธิบาย ประเภท จำเป็น
Authorization โทเค็นการตรวจสอบสิทธิ์สำหรับการเรียก API (Bearer) สตริง ใช่
Content-Type ประเภทข้อมูลคำขอ (application/json) สตริง ใช่

เนื้อหาคำขอ

ฟิลด์ คำอธิบาย ประเภท จำเป็น
playerId รหัสผู้เล่นของผู้ใช้ที่จะเข้าร่วม long ใช่
password รหัสผ่าน (จำเป็นสำหรับช่อง PRIVATE) string ไม่

เนื้อหาการตอบกลับ

ฟิลด์ คำอธิบาย ประเภท
code รหัสผลลัพธ์ จำนวนเต็ม
message ข้อความผลลัพธ์ สตริง

ตัวอย่างคำขอ

curl --request POST 'https://api-chat.withhive.com/api/v1/games/1/channels/guild:12345/enter' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNzAyNDU4MTkzLCJqdGkiOiIxMzY2NDk4MjcxIn0.VSwvsTE-tS0sL_e9p9gNvHRkMCbsycSO4ObE4J2ysjs' \
--header 'Content-Type: application/json' \
--data '{
    "playerId": 1001,
    "password": "guildPass123"
}'

ตัวอย่างการตอบกลับ

{
    "code": 0,
    "message": "Success."
}

API ช่องทางออก

ลบผู้ใช้จากช่องทาง

แม้ว่าผู้ดูแลช่องจะออกจากช่อง ช่องก็ยังคงอยู่ อย่างไรก็ตาม ช่องที่เจ้าของไม่ใช่ SYSTEM และไม่มีผู้เข้าร่วมจะถูกลบออกเป็นระยะๆ

URL ที่ร้องขอ

เซิร์ฟเวอร์ URL
LIVE https://api-chat.withhive.com/api/v1/games/{gameIndex}/channels/{channelId}/exit
SANDBOX https://sandbox-api-chat.withhive.com/api/v1/games/{gameIndex}/channels/{channelId}/exit
HTTP METHOD POST
CONTENT-TYPE application/json

พารามิเตอร์เส้นทาง

ฟิลด์ คำอธิบาย ประเภท จำเป็น
gameIndex ดัชนีเกม Hive จำนวนเต็ม ใช่
channelId รหัสช่อง สตริง ใช่

พารามิเตอร์หัวเรื่อง

ฟิลด์ คำอธิบาย ประเภท จำเป็น
Authorization โทเค็นการตรวจสอบสิทธิ์สำหรับการเรียก API (Bearer) สตริง ใช่
Content-Type ประเภทข้อมูลคำขอ (application/json) สตริง ใช่

เนื้อหาคำขอ

ฟิลด์ คำอธิบาย ประเภท จำเป็น
playerId รหัสผู้เล่นของผู้ใช้ที่จะออก long ใช่

เนื้อหาการตอบกลับ

ฟิลด์ คำอธิบาย ประเภท
code รหัสผลลัพธ์ จำนวนเต็ม
message ข้อความผลลัพธ์ สตริง

ตัวอย่างคำขอ

curl --request POST 'https://sandbox-api-chat.withhive.com/api/v1/games/1/channels/guild:12345/exit' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNzAyNDU4MTkzLCJqdGkiOiIxMzY2NDk4MjcxIn0.VSwvsTE-tS0sL_e9p9gNvHRkMCbsycSO4ObE4J2ysjs' \
--header 'Content-Type: application/json' \
--data '{
    "playerId": 1001
}'

ตัวอย่างการตอบกลับ

{
    "code": 0,
    "message": "Success."
}