聊天室聊天室成員聊天室成員列表

列出成員

概述

取得指定聊天室的成員列表。此 API 與取得聊天室使用相同端點 GET /rooms/{id},回傳的聊天室資料中包含完整的 members 成員陣列與 memberProperties 成員屬性。


API 端點

取得聊天室詳細資訊(包含成員列表)

查詢指定聊天室的完整資訊,包含所有成員的詳細資料。

GET /rooms/{id}

Headers

參數類型必填說明
IM-CLIENT-KEYstringClient Key
IM-AuthorizationstringClient Token

Path Parameters

參數類型必填說明
idstring聊天室 ID

範例請求

GET /rooms/58871b877390be11d5f1ab30 HTTP/1.1
IM-CLIENT-KEY: 9FSk26d4AIbZh0k44F5+DzbetgAJA9WjC7WP36Khm6c=
IM-Authorization: fVy7YhqBZqEzNO9LhMmcyA==
Host: your-app.imkit.io
Connection: close
User-Agent: Paw/3.0.14 (Macintosh; OS X/10.11.6) GCDHTTPRequest

JavaScript 範例:

const response = await axios.get(
  `https://your-app.imkit.io/rooms/58871b877390be11d5f1ab30`,
  {
    headers: {
      "IM-CLIENT-KEY": IM_CLIENT_KEY,
      "IM-Authorization": TOKEN,
    },
  }
);

cURL 範例:

curl -X "GET" "https://your-app.imkit.io/rooms/58871b877390be11d5f1ab30" \
     -H 'IM-CLIENT-KEY: {IM-CLIENT-KEY}' \
     -H 'IM-Authorization: {IM-Authorization}'

Response

成功回應(200 OK)

參數類型說明
RCnumber回應代碼(0 表示成功)
RMstring回應訊息
resultobject聊天室詳細資訊

聊天室詳細資訊物件結構

參數類型說明
_idstring聊天室唯一識別碼
appIDstring應用程式識別碼
descriptionstring聊天室描述
lastMessageobject最後一則訊息資訊
memberPropertiesarray成員屬性列表(未讀數、最後讀取)
membersarray成員詳細資訊列表
unreadnumber當前用戶未讀訊息數
isSuperuserbool當前用戶是否為超級用戶

成員物件結構

參數類型說明
_idstring成員唯一識別碼
nicknamestring成員暱稱
avatarUrlstring成員頭像 URL
lastLoginTimestring最後登入時間(ISO 格式)
lastLoginTimeMSnumber最後登入時間(毫秒時間戳)

成員屬性物件結構

參數類型說明
clientstring成員客戶端 ID
badgenumber未讀訊息數量
lastReadstring最後讀取的訊息 ID

範例回應

{
  "RC": 0,
  "RM": "OK",
  "result": {
    "_id": "58871b877390be11d5f1ab30",
    "appID": "SampleApp",
    "lastMessage": {
      "_id": "58b7b7c4c246bc0b41afb148",
      "message": 1111234,
      "messageType": "text",
      "sender": {
        "_id": "1485248566481",
        "nickname": "Test2",
        "lastLoginTimeMS": 0,
        "id": "1485248566481"
      },
      "messageTime": "2017-03-02T06:12:20.775Z",
      "messageTimeMS": 1488435140775,
      "id": "58b7b7c4c246bc0b41afb148"
    },
    "memberProperties": [
      {
        "badge": 5,
        "lastRead": "58b7a2c5f034920a878e9a53",
        "client": "1485248560558"
      },
      {
        "badge": 0,
        "lastRead": "58b7b7c4c246bc0b41afb148",
        "client": "1485248566481"
      },
      {
        "badge": 61,
        "client": "1485250743313"
      }
    ],
    "members": [
      {
        "_id": "1485248560558",
        "nickname": "Test AB",
        "avatarUrl": "http://example.com/avatarUrl",
        "lastLoginTime": "2017-02-15T09:02:35.934Z",
        "lastLoginTimeMS": 1487149355934,
        "id": "1485248560558"
      },
      {
        "_id": "1485248566481",
        "nickname": "Test2",
        "lastLoginTime": "2017-03-02T07:11:40.398Z",
        "lastLoginTimeMS": 1488438700398,
        "id": "1485248566481"
      },
      {
        "_id": "1485250743313",
        "nickname": "Test 3",
        "lastLoginTime": "2017-03-02T07:18:31.436Z",
        "lastLoginTimeMS": 1488439111436,
        "id": "1485250743313"
      }
    ],
    "unread": 5,
    "description": "Sample Description",
    "isSuperuser": true,
    "id": "58871b877390be11d5f1ab30"
  }
}

錯誤回應

401 Unauthorized - 認證失敗

{
  "RC": 401,
  "RM": "Unauthorized",
  "error": {
    "code": "INVALID_TOKEN",
    "message": "Invalid or expired token"
  }
}

403 Forbidden - 權限不足或非成員

{
  "RC": 403,
  "RM": "Forbidden",
  "error": {
    "code": "NOT_ROOM_MEMBER",
    "message": "You are not a member of this room"
  }
}

404 Not Found - 聊天室不存在

{
  "RC": 404,
  "RM": "Room not found",
  "error": {
    "code": "ROOM_NOT_FOUND",
    "message": "Room with specified ID does not exist"
  }
}

使用場景

成員管理

  • 成員列表:顯示聊天室內所有成員的詳細資訊
  • 成員監控:查看成員的登入狀態和活躍度
  • 權限檢查:確認當前用戶在聊天室中的權限級別

聊天室資訊

  • 聊天室狀態:獲取聊天室的完整狀態資訊
  • 未讀統計:查看個人和整體的未讀訊息統計
  • 最新訊息:獲取聊天室的最後一則訊息資訊

應用整合

  • 資料同步:同步聊天室成員和狀態資訊
  • UI 顯示:為聊天室界面提供完整的顯示資料
  • 分析統計:分析聊天室成員的參與度和活躍度

注意事項

  • 成員權限:只有聊天室成員才能查看詳細資訊
  • 資料完整性:回應包含成員列表和成員屬性的完整資訊
  • 未讀計算:memberProperties 中包含每個成員的未讀訊息數量
  • 權限識別:isSuperuser 欄位標識當前用戶是否為管理員
  • 時間格式:提供 ISO 格式和毫秒時間戳兩種時間格式
  • 資料量:大型聊天室可能返回大量成員資料,注意處理效能
  • 即時性:成員狀態和未讀數可能需要定期更新以保持即時性
© 2026 FUNTEK Software Inc. All rights reserved.