ผู้ใช้
 คู่มือนี้อธิบายวิธีการใช้ API สำหรับการดูช่องที่ผู้ใช้เข้าร่วม, การดูรายการบล็อกของผู้ใช้, การบล็อกผู้ใช้, และการยกเลิกการบล็อกผู้ใช้
 รับ API ช่องที่ผู้ใช้เข้าร่วม
 ดึงรายการช่องที่ผู้ใช้เข้าร่วมอยู่ โดยไม่รวมช่อง 1:1 (ONE_ON_ONE).
 URL คำขอ
    | เซิร์ฟเวอร์ | URL | 
    | LIVE | https://api-chat.withhive.com/api/v1/games/{gameIndex}/users/{playerId}/channels | 
  | SANDBOX | https://sandbox-api-chat.withhive.com/api/v1/games/{gameIndex}/users/{playerId}/channels | 
  | HTTP METHOD | GET | 
  
 พารามิเตอร์เส้นทาง
    | ฟิลด์ | คำอธิบาย | ประเภท | จำเป็น | 
    | gameIndex | ดัชนีเกม Hive | จำนวนเต็ม | ใช่ | 
  | playerId | รหัสผู้เล่น | ยาว | ใช่ | 
  
 พารามิเตอร์หัวข้อ
    | ฟิลด์ | คำอธิบาย | ประเภท | จำเป็น | 
    | Authorization | โทเค็นการตรวจสอบสิทธิ์สำหรับการเรียก API ( Bearer) | สตริง | ใช่ | 
  
 เนื้อหาการตอบกลับ
    | ฟิลด์ | คำอธิบาย | ประเภท | 
    | รหัส | รหัสการตอบกลับ | จำนวนเต็ม | 
  | ข้อความ | ข้อความผลลัพธ์ | สตริง | 
  | ข้อมูล | ข้อมูลการตอบกลับ | วัตถุ | 
  
 เนื้อหาการตอบกลับ > ข้อมูล
    | ฟิลด์ | คำอธิบาย | ประเภท | 
    | gameIndex | Hive ดัชนีเกม | จำนวนเต็ม | 
  | playerId | รหัสผู้เล่น | ยาว | 
  | channels | รายการช่อง | อาร์เรย์วัตถุ | 
  
 เนื้อหาการตอบสนอง > ข้อมูล > ช่องทาง
    | ฟิลด์ | คำอธิบาย | ประเภท | 
    | channelId | รหัสช่อง | สตริง | 
  | type | ประเภทช่อง ( PRIVATE,PUBLIC,GROUP) | สตริง | 
  | gameIndex | ดัชนีเกม Hive | จำนวนเต็ม | 
  | owner | เจ้าของช่อง | สตริง | 
  | channelName | ชื่อช่อง | สตริง | 
  | memberCount | จำนวนสมาชิกปัจจุบันในช่อง | จำนวนเต็ม | 
  | maxMemberCount | จำนวนสมาชิกสูงสุดในช่อง | จำนวนเต็ม | 
  | chatHistoryAllowed | ว่าสามารถดูประวัติข้อความได้หรือไม่ | บูลีน | 
  | regTime | เวลาสร้างช่อง ( UTC+0, รูปแบบyyyy-MM-dd'T'HH:mm:ss.SSSZ) | สตริง | 
  | regTimeMillis | เวลาสร้างช่อง (UnixTimestamp มิลลิวินาที) | ยาว | 
  
 ตัวอย่างคำขอ
 curl --request GET 'https://sandbox-api-chat.withhive.com/api/v1/games/1/users/1001/channels' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJnYW1lSW5kZXgiOjEsInBsYXllcklkIjoxLCJpYXQiOjE3MzI1MTcyMzUsImV4cCI6MTczMjUyMDgzNX0.lm5eFqEuSPjsKZUItpTQvFy_2oWrMMJ_J0MPH9VFtNg' 
ตัวอย่างการตอบกลับ
 {
  "code": 0,
  "message": "Success.",
  "data": {
    "gameIndex": 1,
    "playerId": 1001,
    "channels": [
      {
        "channelId": "guild:12345",
        "type": "GROUP",
        "gameIndex": 1,
        "owner": "1000",
        "channelName": "Guild chat room",
        "memberCount": 1,
        "maxMemberCount": 50,
        "chatHistoryAllowed": true,
        "regTime": "2023-12-19T15:01:01.004Z",
        "regTimeMillis": 1731306364351
      },
      {
        "channelId": "open:67890",
        "type": "PUBLIC",
        "gameIndex": 1,
        "owner": "SYSTEM",
        "channelName": "Open chat room",
        "memberCount": 2,
        "maxMemberCount": 100,
        "chatHistoryAllowed": true,
        "regTime": "2023-12-20T10:15:30.123Z",
        "regTimeMillis": 1731302348750
      }
      // ... channels
    ]
  }
}
บล็อกผู้ใช้ API
 บล็อกผู้ใช้เพื่อจำกัดการส่งและรับข้อความแบบเรียลไทม์
 หลังจากบล็อกผู้ใช้ พฤติกรรมของช่องและข้อความจะเปลี่ยนไปดังนี้:
  - คุณยังสามารถรับคำเชิญช่อง 1:1 (ONE_ON_ONE) จากผู้ใช้ที่ถูกบล็อกได้ - นี่คือเพื่อหลีกเลี่ยงการแจ้งเตือนผู้ใช้ที่ถูกบล็อกว่าพวกเขาถูกบล็อก
 
- คุณจะไม่ได้รับ ข้อความแชท หรือ ข้อความเหตุการณ์ เกี่ยวกับการเข้าหรือออกจากช่องจากผู้ใช้ที่ถูกบล็อก
- คุณไม่สามารถส่งข้อความไปยังผู้ใช้ที่ถูกบล็อกได้
URL การร้องขอ
    | เซิร์ฟเวอร์ | URL | 
    | LIVE | https://api-chat.withhive.com/api/v1/games/{gameIndex}/users/{playerId}/block/{blockPlayerId} | 
  | SANDBOX | https://sandbox-api-chat.withhive.com/api/v1/games/{gameIndex}/users/{playerId}/block/{blockPlayerId} | 
  | HTTP METHOD | POST | 
  
 พารามิเตอร์เส้นทาง
    | ฟิลด์ | คำอธิบาย | ประเภท | จำเป็น | 
    | gameIndex | Hive ดัชนีเกม | string | ใช่ | 
  | playerId | รหัสผู้เล่นของผู้ใช้ที่บล็อก | long | ใช่ | 
  | blockPlayerId | รหัสผู้เล่นของผู้ใช้ที่ถูกบล็อก | long | ใช่ | 
  
 พารามิเตอร์หัวข้อ
    | ฟิลด์ | คำอธิบาย | ประเภท | จำเป็น | 
    | Authorization | โทเค็นการตรวจสอบสิทธิ์สำหรับการเรียก API ( Bearer) | สตริง | ใช่ | 
  
 เนื้อหาการตอบกลับ
    | ฟิลด์ | คำอธิบาย | ประเภท | 
    | code | รหัสการตอบกลับ | จำนวนเต็ม | 
  | message | ข้อความผลลัพธ์ | สตริง | 
  
 ตัวอย่างคำขอ
 curl --request POST 'https://sandbox-api-chat.withhive.com/api/v1/games/1/users/1001/block/1002' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJnYW1lSW5kZXgiOjEsInBsYXllcklkIjoxLCJpYXQiOjE3MzI1MTcyMzUsImV4cCI6MTczMjUyMDgzNX0.lm5eFqEuSPjsKZUItpTQvFy_2oWrMMJ_J0MPH9VFtNg' 
ตัวอย่างการตอบกลับ
 {
  "code": 0,
  "message": "Success."
}
รับรายการบล็อกผู้ใช้
 ดึงรายชื่อผู้ใช้ที่ถูกบล็อกโดยผู้ใช้เฉพาะ
 URL การร้องขอ
    | เซิร์ฟเวอร์ | URL | 
    | LIVE | https://api-chat.withhive.com/api/v1/games/{gameIndex}/users/{playerId}/blocks | 
  | SANDBOX | https://sandbox-api-chat.withhive.com/api/v1/games/{gameIndex}/users/{playerId}/blocks | 
  | HTTP METHOD | GET | 
  
 พารามิเตอร์เส้นทาง
    | ฟิลด์ | คำอธิบาย | ประเภท | จำเป็น | 
    | gameIndex | Hive ดัชนีเกม | สตริง | ใช่ | 
  | playerId | รหัสผู้เล่นของผู้ใช้ที่บล็อก | ยาว | ใช่ | 
  
 พารามิเตอร์หัวเรื่อง
    | ฟิลด์ | คำอธิบาย | ประเภท | จำเป็น | 
    | Authorization | โทเค็นการตรวจสอบสิทธิ์สำหรับการเรียก API ( Bearer) | สตริง | ใช่ | 
  
 เนื้อหาการตอบกลับ
    | ฟิลด์ | คำอธิบาย | ประเภท | 
    | รหัส | รหัสการตอบกลับ | จำนวนเต็ม | 
  | ข้อความ | ข้อความผลลัพธ์ | สตริง | 
  | ข้อมูล | ข้อมูลการตอบกลับ | วัตถุ | 
  
 เนื้อหาการตอบกลับ > ข้อมูล
    | ฟิลด์ | คำอธิบาย | ประเภท | 
    | gameIndex | ดัชนีเกมของ Hive | จำนวนเต็ม | 
  | playerId | รหัสผู้เล่นของผู้ใช้ที่ถูกบล็อก | ยาว | 
  | blockedUsers | รายการข้อมูลผู้ใช้ที่ถูกบล็อก | อาร์เรย์วัตถุ | 
  
 เนื้อหาการตอบกลับ > ข้อมูล > ผู้ใช้ที่ถูกบล็อก
    | ฟิลด์ | คำอธิบาย | ประเภท | 
    | blockedPlayerId | รหัสผู้เล่นของผู้ใช้ที่ถูกบล็อก | long | 
  | blockedTime | เวลาที่ถูกบล็อก ( UTC+0, รูปแบบyyyy-MM-dd'T'HH:mm:ss.SSSZ) | string | 
  | blockedTimeMillis | เวลาที่ถูกบล็อก (UnixTimestamp Millisecond) | long | 
  
 ตัวอย่างคำขอ
 curl  --request GET 'https://sandbox-api-chat.withhive.com/api/v1/games/1/users/1001/blocks' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJnYW1lSW5kZXgiOjEsInBsYXllcklkIjoxLCJpYXQiOjE3MzI1MTcyMzUsImV4cCI6MTczMjUyMDgzNX0.lm5eFqEuSPjsKZUItpTQvFy_2oWrMMJ_J0MPH9VFtNg' 
ตัวอย่างการตอบกลับ
 {
  "code": 0,
  "message": "Success.",
  "data": {
    "gameIndex": 1,
    "playerId": 1001,
    "blockedUsers": [
      {
        "blockedPlayerId": 1002,
        "blockedTime": "2023-12-20T10:15:30.123Z",
        "blockedTimeMillis": 1739329550811
      },
      {
        "blockedPlayerId": 1003,
        "blockedTime": "2023-12-21T08:45:12.456Z",
        "blockedTimeMillis": 1739329553137
      }
      // ... block list
    ]
  }
}
ปลดบล็อกผู้ใช้
 ปลดบล็อกผู้ใช้ที่ถูกบล็อก
 URL การร้องขอ
    | เซิร์ฟเวอร์ | URL | 
    | LIVE | https://api-chat.withhive.com/api/v1/games/{gameIndex}/users/{playerId}/block/{blockedPlayerId} | 
  | SANDBOX | https://sandbox-api-chat.withhive.com/api/v1/games/{gameIndex}/users/{playerId}/block/{blockedPlayerId} | 
  | HTTP METHOD | DELETE | 
  
 พารามิเตอร์เส้นทาง
    | ฟิลด์ | คำอธิบาย | ประเภท | จำเป็น | 
    | gameIndex | ดัชนีเกม Hive | string | ใช่ | 
  | playerId | รหัสผู้เล่น | long | ใช่ | 
  | blockedPlayerId | รหัสผู้เล่นของผู้ใช้ที่ต้องการปลดบล็อก | long | ใช่ | 
  
 พารามิเตอร์หัวเรื่อง
    | ฟิลด์ | คำอธิบาย | ประเภท | จำเป็น | 
    | Authorization | โทเค็นการตรวจสอบสิทธิ์สำหรับการเรียก API ( Bearer) | สตริง | ใช่ | 
  
 เนื้อหาการตอบกลับ
    | ฟิลด์ | คำอธิบาย | ประเภท | 
    | code | รหัสการตอบกลับ | จำนวนเต็ม | 
  | message | ข้อความผลลัพธ์ | สตริง | 
  
 ตัวอย่างคำขอ
 curl --request DELETE 'https://sandbox-api-chat.withhive.com/api/v1/games/1/users/1001/block/1002' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJnYW1lSW5kZXgiOjEsInBsYXllcklkIjoxLCJpYXQiOjE3MzI1MTcyMzUsImV4cCI6MTczMjUyMDgzNX0.lm5eFqEuSPjsKZUItpTQvFy_2oWrMMJ_J0MPH9VFtNg'
ตัวอย่างการตอบกลับ
 {
  "code": 0,
  "message": "Success."
}