ช่อง
คู่มือนี้อธิบายวิธีการใช้ 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."
}