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

ช่อง

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

ภาพรวม

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

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

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

ช่องทางประเภทต่อไปนี้สามารถสร้างได้ผ่านคำขอ API

ประเภทช่องทาง สมาชิก ขีดจำกัดการเข้าร่วม ออกจากระบบเมื่อหลุด กรณีการใช้งานหลัก
PUBLIC 1 ~ 5000 สูงสุด 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 อัปเดตช่อง
    • รายการที่สามารถอัปเดตได้: ชื่อช่อง, จำนวนสมาชิกสูงสุด, รหัสผ่าน, ความพร้อมใช้งานของประวัติการสนทนา
    • หากคุณลดจำนวนสมาชิกสูงสุดต่ำกว่าจำนวนผู้เข้าร่วมในปัจจุบัน ผู้เข้าร่วมที่มีอยู่จะไม่ถูกลบออกโดยบังคับ
    • ข้อมูลช่อง 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 ตัวอักษร)
string Y
playerId รหัสผู้เล่นของผู้สร้างช่อง long N
password รหัสผ่าน (จำเป็นสำหรับช่อง PRIVATE)
(สูงสุด 50 ตัวอักษร)
string N
channelName ชื่อช่อง
(สูงสุด 50 ตัวอักษร)
string Y
maxMemberCount จำนวนผู้เข้าร่วมช่องสูงสุด
(ตั้งแต่ 2 ถึง 5,000)
integer Y
type ประเภทช่อง (PRIVATE, PUBLIC, GROUP) string Y
chatHistoryAllowed ประวัติข้อความที่สามารถดูได้
(ค่าเริ่มต้น: false)
boolean N

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

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

Response body > data

Field name 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 มิลลิวินาที) 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 และเข้าร่วมผู้ใช้ที่ตรงกับ playerId และ otherPlayerId ในข้อมูลคำขอไปยังช่อง 1:1 (ONE_ON_ONE) หากช่อง 1:1 (ONE_ON_ONE) มีอยู่แล้ว จะเข้าร่วมช่องที่มีอยู่

ผู้ใช้แต่ละคนสามารถมีช่อง 1:1 ได้สูงสุด 200 ช่อง (ONE_ON_ONE).

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) string ใช่
Content-Type ประเภทของข้อมูลคำขอ (application/json) string ใช่

เนื้อหาคำขอ

ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น
playerId รหัสผู้เล่น long Y
otherPlayerId รหัสผู้เล่นฝ่ายตรงข้าม long Y
chatHistoryAllowed ประวัติข้อความที่สามารถดูได้ (ค่าเริ่มต้น: false) boolean N

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

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

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

ชื่อฟิลด์ คำอธิบาย ประเภท
channelId รหัสช่อง string
type ประเภทช่อง (ONE_ON_ONE) 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 มิลลิวินาที) long

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

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'{
    "playerId": 1000,
    "otherPlayerId": 2000,
    "chatHistoryAllowed": false
}'

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

{
    "code": 0,
    "message": "Success.",
    "data": {
        "channelId": "V0FQBKSa9bWC33v",
        "type": "ONE_ON_ONE",
        "gameIndex": 1,
        "owner": "100",
        "channelName": "100&200",
        "chatHistoryAllowed": true,
        "maxMemberCount": 2,
        "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

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

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

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

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 information
    ],
    "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 รหัสช่อง string
type ประเภทช่อง (PRIVATE, PUBLIC, GROUP, ONE_ON_ONE) 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

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

ชื่อฟิลด์ คำอธิบาย ประเภท
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 รายชื่อผู้เข้าร่วมช่อง อาร์เรย์วัตถุ

Response Body > data > สมาชิก

ชื่อฟิลด์ คำอธิบาย ประเภท
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) string Y
Content-Type ประเภทของข้อมูลคำขอ (application/json) string Y

เนื้อหาคำขอ

ชื่อฟิลด์ คำอธิบาย ประเภท จำเป็น
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) string Y
Content-Type ประเภทของข้อมูลการร้องขอ (application/json) string Y

เนื้อหาคำขอ

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

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

ชื่อฟิลด์ คำอธิบาย ประเภท
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."
}