聊天室聊天室管理更新聊天室

更新聊天室

概述

更新現有聊天室的資訊和設定。此 API 允許修改聊天室的基本資訊、權限設定、管理員配置等。僅限聊天室的擁有者、管理員或平台管理員使用。


API 端點

更新聊天室資訊

修改指定聊天室的屬性和設定。

PUT /rooms/{id}

Headers

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

Path Parameters

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

Request Body

參數類型必填說明
namestring聊天室名稱
coverstring聊天室封面圖片 URL
descriptionstring聊天室描述
roomTagsarray共享聊天室標籤陣列
webhookstringWebhook 金鑰或 URL
botModeboolean是否啟用聊天室機器人
extParamsstring擴展自訂參數,格式:param1=value1&param2=value2&…
openingnumber開放狀態:0=關閉加入或邀請,1=開放加入和邀請
ownerstring新的擁有者客戶端 ID(限平台管理員或聊天室超級用戶)
managersarray管理員客戶端 ID 陣列(限平台管理員或聊天室超級用戶)
statusnumber聊天室狀態:0=無效,1=有效

範例請求

PUT /rooms/58871b877390be11d5f1ab30 HTTP/1.1
IM-CLIENT-KEY: 9FSk26d4AIbZh0k44F5+DzbetgAJA9WjC7WP36Khm6c=
IM-Authorization: fVy7YhqBZqEzNO9LhMmcyA==
Content-Type: application/json; charset=utf-8
Host: your-app.imkit.io
Connection: close
 
{
  "description": "Description La La",
  "name": "Martena",
  "cover": "http://loremflickr.com/240/240/style?Kelly"
}

JavaScript 範例:

const response = await axios.put(
  `https://your-app.imkit.io/rooms/58871b877390be11d5f1ab30`,
  {
    description: "Description La La",
    name: "Martena",
    cover: "http://loremflickr.com/240/240/style?Kelly",
  },
  {
    headers: {
      "IM-CLIENT-KEY": IM_CLIENT_KEY,
      "IM-Authorization": TOKEN,
      "Content-Type": "application/json",
    },
  }
);

cURL 範例:

curl -X "PUT" "https://your-app.imkit.io/rooms/58871b877390be11d5f1ab30" \
     -H 'IM-CLIENT-KEY: {IM-CLIENT-KEY}' \
     -H 'IM-Authorization: {IM-Authorization}' \
     -H 'Content-Type: application/json' \
     -d '{"description": "Description La La", "name": "Martena", "cover": "http://loremflickr.com/240/240/style?Kelly"}'

Response

成功回應(200 OK)

參數類型說明
RCnumber回應代碼(0 表示成功)
RMstring回應訊息
resultobject更新後的聊天室資料

聊天室物件結構

參數類型說明
_idstring聊天室唯一識別碼
namestring聊天室名稱
coverstring聊天室封面圖片 URL
descriptionstring聊天室描述
statusnumber聊天室狀態
lastMessageobject最後一則訊息資訊
membersarray聊天室成員列表

範例回應

{
  "RC": 0,
  "RM": "OK",
  "result": {
    "_id": "58871b877390be11d5f1ab30",
    "name": "Martena",
    "cover": "http://loremflickr.com/240/240/style?Kelly",
    "description": "Description La La",
    "status": 1,
    "lastMessage": {
      "_id": "588723a346006e17f4d82fe3",
      "message": "hhhooo",
      "messageType": "text",
      "sender": {
        "_id": "1485248560558",
        "nickname": "Test CCDD",
        "avatarUrl": "http://example.com/avatarUrl",
        "lastLoginTimeMS": 0
      },
      "messageTimeMS": 1485251491375
    },
    "members": [
      {
        "_id": "1485248560558",
        "nickname": "Test CCDD",
        "avatarUrl": "http://example.com/avatarUrl",
        "lastLoginTimeMS": 1485764751552
      }
    ]
  }
}

錯誤回應

401 Unauthorized - 認證失敗

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

403 Forbidden - 權限不足

{
  "RC": 403,
  "RM": "Forbidden",
  "error": {
    "code": "INSUFFICIENT_PERMISSIONS",
    "message": "Only room owner, manager, or platform admin can update room"
  }
}

404 Not Found - 聊天室不存在

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

使用場景

聊天室管理

  • 基本資訊維護:更新聊天室名稱、描述、封面圖片
  • 權限管理:調整聊天室開放狀態和管理員配置
  • 功能設定:啟用或停用機器人模式

管理後台

  • 批量管理:透過管理介面批量更新聊天室設定
  • 內容審核:修改不當的聊天室資訊
  • 所有權轉移:將聊天室擁有權轉移給其他用戶

系統整合

  • Webhook 配置:設定聊天室的 Webhook 接收端點
  • 擴展參數:透過 extParams 整合第三方系統
  • 狀態管理:啟用或停用特定聊天室

注意事項

  • 權限限制:僅聊天室擁有者、管理員或平台管理員可執行更新
  • 所有權轉移:更改 owner 和 managers 需要更高權限
  • 參數驗證:所有參數都是選擇性的,只更新提供的欄位
  • 狀態影響:設定 status=0 會讓聊天室變為無效狀態
  • 開放設定:opening 參數影響新用戶是否能加入聊天室
© 2026 FUNTEK Software Inc. All rights reserved.