# RTC、SFU 会议与协作接口 这一层负责会议室、成员、发布订阅、WHIP/WHEP、聊天、白板、投屏、主持权限和会议录像。业务系统先签发短时票据,再由具体设备加入;不要把管理员令牌直接交给浏览器。 本页覆盖 **117** 个接口。每一行都回答五件事:接口地址、它做什么、何时调用、如何确认完成、谁可以调用。参数字段的精确定义以同版本 OpenAPI 为准。 > “业务接口”可以由 WebUI 或第三方系统按权限调用;“管理员接口”需要后台管理员;“内部接口/内部回调”只允许产品组件之间使用。 ## RTC 公共能力 | 接口 | 讲人话 | 什么时候用 | 调完看什么 | 身份 / 权限 | 主要输入 | |---|---|---|---|---|---| | `GET /api/v2/rtc/capabilities` | 查看WebRTC SFU 规划能力。 | 在展示功能、生成表单或发起控制前,先用它确认当前版本和目标设备真正支持什么。 | 以返回数据、分页总数和目标资源的当前状态为准。 | 业务接口
`rtc.view` | 无业务参数 | | `POST /api/v2/rtc/media-sessions/{sessionId}/release` | 按媒体会话编号释放流媒体服务 WebRTC 会话。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.manage` | sessionId(必填) | | `POST /api/v2/rtc/participants/timeout-scan` | 手动触发 RTC 成员心跳超时离线治理。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.manage` | 无业务参数 | | `GET /api/v2/rtc/recordings` | 按会议号、名称、录制时间、状态、成员及入会设备会话分页查询录制。 | 页面加载、刷新状态或按条件检索数据时调用。 | 以返回数据、分页总数和目标资源的当前状态为准。 | 业务接口
`rtc.recordings.view` | roomId、search、participantId、deviceSessionId、state、fromUtc、toUtc、page、pageSize | | `GET /api/v2/rtc/resources` | 查询 RTC 资源树快照。 | 页面加载、刷新状态或按条件检索数据时调用。 | 以返回数据、分页总数和目标资源的当前状态为准。 | 业务接口
`rtc.view` | 无业务参数 | | `GET /api/v2/rtc/room-state-model` | 查看RTC 房间状态机说明。 | 页面加载、刷新状态或按条件检索数据时调用。 | 以返回数据、分页总数和目标资源的当前状态为准。 | 业务接口
`rtc.view` | 无业务参数 | | `GET /api/v2/rtc/session/rooms/{roomId}` | 查看当前参会身份可见的房间策略与成员状态。 | 页面加载、刷新状态或按条件检索数据时调用。 | 以返回数据、分页总数和目标资源的当前状态为准。 | 业务接口
`rtc.view` | roomId(必填) | | `PUT /api/v2/rtc/session/rooms/{roomId}/access-policy` | 更新会议访问、等候室与锁定策略。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.participate` | roomId(必填)、UpdateRtcRoomAccessRequest | | `GET /api/v2/rtc/session/rooms/{roomId}/admission/status` | 查询当前设备的等候室准入状态。 | 做页面概览、运行监控或排障时调用。 | 以返回数据、分页总数和目标资源的当前状态为准。 | 业务接口
`rtc.participate` | roomId(必填) | | `POST /api/v2/rtc/session/rooms/{roomId}/chat/attachments` | 上传并广播或私发会议文件、图片和视频,也可作为白板图片素材。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.participate` | roomId(必填) | | `GET /api/v2/rtc/session/rooms/{roomId}/chat/attachments/{attachmentId}` | 在参会身份与私发可见性校验后读取会议附件。 | 页面加载、刷新状态或按条件检索数据时调用。 | 以返回数据、分页总数和目标资源的当前状态为准。 | 业务接口
`rtc.participate` | roomId(必填)、attachmentId(必填) | | `POST /api/v2/rtc/session/rooms/{roomId}/close` | 当前主持人结束整个会议并撤销所有设备会话。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.participate` | roomId(必填) | | `GET /api/v2/rtc/session/rooms/{roomId}/connection-settings` | 查看当前会议的客户端 STUN/TURN 连接配置。 | 页面加载、刷新状态或按条件检索数据时调用。 | 以返回数据、分页总数和目标资源的当前状态为准。 | 业务接口
`rtc.view` | roomId(必填) | | `GET /api/v2/rtc/session/rooms/{roomId}/endpoint-info` | 查看当前会议在线成员最近 90 秒自报的终端参数。 | 页面加载、刷新状态或按条件检索数据时调用。 | 以返回数据、分页总数和目标资源的当前状态为准。 | 业务接口
`rtc.participate` | roomId(必填) | | `PUT /api/v2/rtc/session/rooms/{roomId}/endpoint-info` | SDK 上报本机可获得的终端与实际媒体参数,不接受硬件唯一标识。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.participate` | roomId(必填)、RtcEndpointTelemetry | | `POST /api/v2/rtc/session/rooms/{roomId}/extend` | 在预约硬截止时间内延长 RTC 会议。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.participate` | roomId(必填)、ExtendRtcMeetingRequest | | `GET /api/v2/rtc/session/rooms/{roomId}/external-sources` | 会议成员查看当前外部媒体源,不计作参会人。 | 页面加载、刷新状态或按条件检索数据时调用。 | 以返回数据、分页总数和目标资源的当前状态为准。 | 业务接口
`rtc.view` | roomId(必填) | | `POST /api/v2/rtc/session/rooms/{roomId}/external-sources` | 主持人将已授权已有通道加入房间。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.participate` | roomId(必填)、AddRtcExternalSourceRequest | | `DELETE /api/v2/rtc/session/rooms/{roomId}/external-sources/{bindingId}` | 主持人移出本会议外部源,不停止平台原流。 | 用户明确确认删除或清理后调用;调用前应先展示影响范围。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.participate` | roomId(必填)、bindingId(必填) | | `GET /api/v2/rtc/session/rooms/{roomId}/external-sources/candidates` | 主持人查看业务方已授权的可接入通道。 | 页面加载、刷新状态或按条件检索数据时调用。 | 以返回数据、分页总数和目标资源的当前状态为准。 | 业务接口
`rtc.view` | roomId(必填) | | `GET /api/v2/rtc/session/rooms/{roomId}/external-sources/candidates/{grantId}/snapshot` | 主持人按授权通道查看最新截图,不暴露源URL。 | 页面加载、刷新状态或按条件检索数据时调用。 | 以返回数据、分页总数和目标资源的当前状态为准。 | 业务接口
`rtc.view` | roomId(必填)、grantId(必填) | | `POST /api/v2/rtc/session/rooms/{roomId}/heartbeat` | 刷新经过设备绑定校验的 RTC 心跳。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.participate` | roomId(必填) | | `POST /api/v2/rtc/session/rooms/{roomId}/host/claim` | 由组织者或平台 RTC 管理员接管无人主持的会议。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.participate` | roomId(必填)、ClaimRtcHostRequest | | `POST /api/v2/rtc/session/rooms/{roomId}/host/transfer` | 由当前主持人安全移交主持身份。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.participate` | roomId(必填)、TransferRtcHostRequest | | `GET /api/v2/rtc/session/rooms/{roomId}/invitations` | 查询会议邀请摘要。 | 页面加载、刷新状态或按条件检索数据时调用。 | 以返回数据、分页总数和目标资源的当前状态为准。 | 业务接口
`rtc.participate` | roomId(必填) | | `POST /api/v2/rtc/session/rooms/{roomId}/invitations` | 为指定外部主体签发一次性会议接入票据。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.participate` | roomId(必填)、CreateRtcMeetingInvitationRequest | | `POST /api/v2/rtc/session/rooms/{roomId}/invitations/{invitationId}/revoke` | 撤销尚未使用的会议邀请。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.participate` | roomId(必填)、invitationId(必填)、RevokeRtcMeetingInvitationRequest | | `POST /api/v2/rtc/session/rooms/{roomId}/join` | 使用第三方应用签发的主体票据加入 RTC 房间。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`专用流程` | roomId(必填)、SecureJoinRtcRoomRequest | | `GET /api/v2/rtc/session/rooms/{roomId}/leadership` | 查询会议组织者、当前主持人和联席主持人。 | 页面加载、刷新状态或按条件检索数据时调用。 | 以返回数据、分页总数和目标资源的当前状态为准。 | 业务接口
`rtc.view` | roomId(必填) | | `POST /api/v2/rtc/session/rooms/{roomId}/leave` | 使当前 RTC 设备安全离会。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.participate` | roomId(必填)、SecureLeaveRtcRoomRequest | | `GET /api/v2/rtc/session/rooms/{roomId}/participants` | 查询安全 RTC 房间成员列表。 | 页面加载、刷新状态或按条件检索数据时调用。 | 以返回数据、分页总数和目标资源的当前状态为准。 | 业务接口
`rtc.view` | roomId(必填) | | `POST /api/v2/rtc/session/rooms/{roomId}/participants/{participantId}/admission` | 主持人准入或拒绝等候室成员。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.participate` | roomId(必填)、participantId(必填)、ReviewRtcAdmissionRequest | | `POST /api/v2/rtc/session/rooms/{roomId}/participants/{participantId}/cohost` | 由当前主持人授予或收回联席主持人身份。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.participate` | roomId(必填)、participantId(必填)、SetRtcCohostRequest | | `POST /api/v2/rtc/session/rooms/{roomId}/participants/{participantId}/moderation` | 使用可信主持人身份管理 RTC 成员。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.participate` | roomId(必填)、participantId(必填)、ModerateRtcParticipantRequest | | `POST /api/v2/rtc/session/rooms/{roomId}/participants/{participantId}/whiteboard-access` | 主持人审批或收回成员白板书写权。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.participate` | roomId(必填)、participantId(必填)、ReviewRtcWhiteboardAccessRequest | | `POST /api/v2/rtc/session/rooms/{roomId}/playback-ticket` | 签发会议内只读 HTTP-FLV 播放票据。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.participate` | roomId(必填) | | `GET /api/v2/rtc/session/rooms/{roomId}/playback/files/{fileId}/download` | 下载会议归档中的单个录像分片。 | 页面加载、刷新状态或按条件检索数据时调用。 | 检查 Content-Type、文件长度或 Range 响应,不要按普通 JSON 解析。 | 业务接口
`rtc.recordings.download` | roomId(必填)、fileId(必填) | | `GET /api/v2/rtc/session/rooms/{roomId}/playback/files/{fileId}/media` | 播放会议归档中的单个录像分片。 | 页面加载、刷新状态或按条件检索数据时调用。 | 检查 Content-Type、文件长度或 Range 响应,不要按普通 JSON 解析。 | 业务接口
`rtc.recordings.play` | roomId(必填)、fileId(必填) | | `GET /api/v2/rtc/session/rooms/{roomId}/playback/manifest` | 查看会议音视频、白板和事件的统一时间轴回放清单。 | 页面加载、刷新状态或按条件检索数据时调用。 | 以返回数据、分页总数和目标资源的当前状态为准。 | 业务接口
`rtc.recordings.view` | roomId(必填)、afterSequence、maxEvents | | `GET /api/v2/rtc/session/rooms/{roomId}/playback/package` | 流式打包下载整场 RTC 会议归档。 | 页面加载、刷新状态或按条件检索数据时调用。 | 检查 Content-Type、文件长度或 Range 响应,不要按普通 JSON 解析。 | 业务接口
`rtc.recordings.download` | roomId(必填) | | `GET /api/v2/rtc/session/rooms/{roomId}/playback/recordings/{recordingId}/attachments/{attachmentId}/content` | 按录制档案权限读取本次录制实际引用的公开图片、视频、PDF或文本附件。 | 页面加载、刷新状态或按条件检索数据时调用。 | 以返回数据、分页总数和目标资源的当前状态为准。 | 业务接口
`rtc.recordings.view` | roomId(必填)、recordingId(必填)、attachmentId(必填) | | `GET /api/v2/rtc/session/rooms/{roomId}/playback/recordings/{recordingId}/attachments/{attachmentId}/download` | 凭独立下载权限读取本次录制实际引用的公开附件。 | 页面加载、刷新状态或按条件检索数据时调用。 | 检查 Content-Type、文件长度或 Range 响应,不要按普通 JSON 解析。 | 业务接口
`rtc.recordings.download` | roomId(必填)、recordingId(必填)、attachmentId(必填) | | `GET /api/v2/rtc/session/rooms/{roomId}/playback/recordings/{recordingId}/files/{fileId}/download` | 下载指定录制任务确实关联的媒体分片。 | 页面加载、刷新状态或按条件检索数据时调用。 | 检查 Content-Type、文件长度或 Range 响应,不要按普通 JSON 解析。 | 业务接口
`rtc.recordings.download` | roomId(必填)、recordingId(必填)、fileId(必填) | | `GET /api/v2/rtc/session/rooms/{roomId}/playback/recordings/{recordingId}/files/{fileId}/media` | 查看指定录制任务确实关联的媒体分片。 | 页面加载、刷新状态或按条件检索数据时调用。 | 检查 Content-Type、文件长度或 Range 响应,不要按普通 JSON 解析。 | 业务接口
`rtc.recordings.play` | roomId(必填)、recordingId(必填)、fileId(必填) | | `GET /api/v2/rtc/session/rooms/{roomId}/playback/recordings/{recordingId}/full-exports` | 按档案授权查看整场导出任务与可下载结果。 | 页面加载、刷新状态或按条件检索数据时调用。 | 以返回数据、分页总数和目标资源的当前状态为准。 | 业务接口
`rtc.recordings.view` | roomId(必填)、recordingId(必填) | | `GET /api/v2/rtc/session/rooms/{roomId}/playback/recordings/{recordingId}/full-exports/{exportId}/download` | 下载获准范围内的固定布局整场MP4。 | 页面加载、刷新状态或按条件检索数据时调用。 | 检查 Content-Type、文件长度或 Range 响应,不要按普通 JSON 解析。 | 业务接口
`rtc.recordings.download` | roomId(必填)、recordingId(必填)、exportId(必填) | | `GET /api/v2/rtc/session/rooms/{roomId}/playback/recordings/{recordingId}/full-exports/{exportId}/media` | 支持HTTP Range播放获准的整场MP4。 | 页面加载、刷新状态或按条件检索数据时调用。 | 检查 Content-Type、文件长度或 Range 响应,不要按普通 JSON 解析。 | 业务接口
`rtc.recordings.play` | roomId(必填)、recordingId(必填)、exportId(必填) | | `GET /api/v2/rtc/session/rooms/{roomId}/playback/recordings/{recordingId}/manifest` | 按RecordingId查询固定原点的会议录制档案。 | 页面加载、刷新状态或按条件检索数据时调用。 | 以返回数据、分页总数和目标资源的当前状态为准。 | 业务接口
`rtc.recordings.view` | roomId(必填)、recordingId(必填)、afterSequence、maxEvents | | `GET /api/v2/rtc/session/rooms/{roomId}/playback/recordings/{recordingId}/package` | 按RecordingId打包公共事件、独立原轨与成员/屏幕兼容副本。 | 页面加载、刷新状态或按条件检索数据时调用。 | 检查 Content-Type、文件长度或 Range 响应,不要按普通 JSON 解析。 | 业务接口
`rtc.recordings.download` | roomId(必填)、recordingId(必填) | | `GET /api/v2/rtc/session/rooms/{roomId}/publications` | 查询当前房间可订阅的独立 Publication。 | 页面加载、刷新状态或按条件检索数据时调用。 | 以返回数据、分页总数和目标资源的当前状态为准。 | 业务接口
`rtc.view` | roomId(必填) | | `POST /api/v2/rtc/session/rooms/{roomId}/publications` | 创建当前设备的独立 RTC Publication。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.participate` | roomId(必填)、CreateRtcPublicationRequest | | `POST /api/v2/rtc/session/rooms/{roomId}/publications/{publicationId}/rtmp-ticket` | 为微信小程序签发短时 媒体服务 RTMP 发布票据。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.participate` | roomId(必填)、publicationId(必填) | | `POST /api/v2/rtc/session/rooms/{roomId}/publications/{publicationId}/stop` | 停止当前设备拥有的独立 Publication。 | 用户提交业务动作或配置变更时调用。 | HTTP 成功只表示请求被接收;继续查询命令、任务、通道或会话状态,直到成功或失败终态。 | 业务接口
`rtc.participate` | roomId(必填)、publicationId(必填)、StopRtcPublicationRequest | | `POST /api/v2/rtc/session/rooms/{roomId}/publications/{publicationId}/telemetry` | 上报独立 RTC Publication 的浏览器 getStats 实时遥测。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.participate` | roomId(必填)、publicationId(必填)、ReportRtcPublicationTelemetryRequest | | `POST /api/v2/rtc/session/rooms/{roomId}/publications/{publicationId}/whip` | 将独立 Publication 通过 WHIP 发布到 媒体服务。 | 用户提交业务动作或配置变更时调用。 | 拿到 SDP 响应后继续检查 ICE/DTLS 和媒体会话状态,不能只看 HTTP 状态码。 | 业务接口
`rtc.participate` | roomId(必填)、publicationId(必填)、preferredTcp、candUdp、candTcp | | `POST /api/v2/rtc/session/rooms/{roomId}/recording/continuous/{recordingId}/stop` | 由当前主持人停止指定持续录制任务。 | 用户提交业务动作或配置变更时调用。 | HTTP 成功只表示请求被接收;继续查询命令、任务、通道或会话状态,直到成功或失败终态。 | 业务接口
`rtc.participate` | roomId(必填)、recordingId(必填) | | `GET /api/v2/rtc/session/rooms/{roomId}/recording/continuous/current` | 已准入成员查询当前持续录制状态,启停仍限主持人。 | 页面加载、刷新状态或按条件检索数据时调用。 | 以返回数据、分页总数和目标资源的当前状态为准。 | 业务接口
`rtc.participate` | roomId(必填) | | `GET /api/v2/rtc/session/rooms/{roomId}/recording/continuous/runs` | 按房间档案权限列出持续录制任务。 | 页面加载、刷新状态或按条件检索数据时调用。 | 以返回数据、分页总数和目标资源的当前状态为准。 | 业务接口
`rtc.recordings.view` | roomId(必填) | | `POST /api/v2/rtc/session/rooms/{roomId}/recording/continuous/start` | 由当前主持人启动房间持续录制。 | 用户提交业务动作或配置变更时调用。 | HTTP 成功只表示请求被接收;继续查询命令、任务、通道或会话状态,直到成功或失败终态。 | 业务接口
`rtc.participate` | roomId(必填) | | `POST /api/v2/rtc/session/rooms/{roomId}/recording/start` | 主持人按独立 Publication 启动会议录制。 | 用户提交业务动作或配置变更时调用。 | HTTP 成功只表示请求被接收;继续查询命令、任务、通道或会话状态,直到成功或失败终态。 | 业务接口
`rtc.participate` | roomId(必填)、StartRtcRoomRecordingRequest | | `POST /api/v2/rtc/session/rooms/{roomId}/recording/stop` | 主持人按独立 Publication 停止会议录制。 | 用户提交业务动作或配置变更时调用。 | HTTP 成功只表示请求被接收;继续查询命令、任务、通道或会话状态,直到成功或失败终态。 | 业务接口
`rtc.participate` | roomId(必填)、StopRtcRoomRecordingRequest | | `GET /api/v2/rtc/session/rooms/{roomId}/recording/targets` | 通过可信参会身份查询独立 RTC 录制目标。 | 页面加载、刷新状态或按条件检索数据时调用。 | 以返回数据、分页总数和目标资源的当前状态为准。 | 业务接口
`rtc.view` | roomId(必填)、includeInactive | | `GET /api/v2/rtc/session/rooms/{roomId}/signaling/ws` | 建立绑定成员和设备身份的 RTC 参会 WebSocket。 | 页面加载、刷新状态或按条件检索数据时调用。 | 连接升级为 WebSocket 只是开始;还要处理鉴权失败、断线重连和事件序号。 | 业务接口
`rtc.participate` | roomId(必填)、lastSequence、replayPageSize | | `GET /api/v2/rtc/session/rooms/{roomId}/subscriptions` | 查询当前设备的独立订阅。 | 页面加载、刷新状态或按条件检索数据时调用。 | 以返回数据、分页总数和目标资源的当前状态为准。 | 业务接口
`rtc.view` | roomId(必填) | | `POST /api/v2/rtc/session/rooms/{roomId}/subscriptions` | 创建当前观看设备到指定 Publication 的独立订阅。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.participate` | roomId(必填)、CreateRtcSubscriptionRequest | | `POST /api/v2/rtc/session/rooms/{roomId}/subscriptions/{subscriptionId}/stop` | 停止当前设备拥有的独立 Subscription。 | 用户提交业务动作或配置变更时调用。 | HTTP 成功只表示请求被接收;继续查询命令、任务、通道或会话状态,直到成功或失败终态。 | 业务接口
`rtc.participate` | roomId(必填)、subscriptionId(必填)、StopRtcSubscriptionRequest | | `POST /api/v2/rtc/session/rooms/{roomId}/subscriptions/{subscriptionId}/whep` | 通过 媒体服务 WHEP 建立独立 Subscription。 | 用户提交业务动作或配置变更时调用。 | 拿到 SDP 响应后继续检查 ICE/DTLS 和媒体会话状态,不能只看 HTTP 状态码。 | 业务接口
`rtc.participate` | roomId(必填)、subscriptionId(必填)、preferredTcp、candUdp、candTcp | | `POST /api/v2/rtc/session/rooms/{roomId}/token/refresh` | 轮换并续签 RTC 设备令牌。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.participate` | roomId(必填) | | `PUT /api/v2/rtc/session/rooms/{roomId}/video-quality` | 主持人为单个或全部成员设置可自动适配的摄像头质量目标。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.participate` | roomId(必填)、SetRtcVideoQualityRequest | | `POST /api/v2/rtc/session/rooms/{roomId}/whiteboard/access-request` | 申请或取消申请 RTC 白板书写权。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.participate` | roomId(必填)、RequestRtcWhiteboardAccessRequest | | `POST /api/v2/rtc/session/rooms/{roomId}/whiteboard/lock` | 主持人锁定或解锁协作白板。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.participate` | roomId(必填)、SetRtcWhiteboardLockRequest | | `DELETE /api/v2/rtc/webrtc` | 代理释放流媒体服务 WebRTC 会话。 | 用户明确确认删除或清理后调用;调用前应先展示影响范围。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.manage` | mediaServerId、id、token | ## 会议室与协作 | 接口 | 讲人话 | 什么时候用 | 调完看什么 | 身份 / 权限 | 主要输入 | |---|---|---|---|---|---| | `GET /api/v2/rtc/rooms` | 查询 RTC 房间列表。 | 页面加载、刷新状态或按条件检索数据时调用。 | 以返回数据、分页总数和目标资源的当前状态为准。 | 业务接口
`rtc.view` | 无业务参数 | | `POST /api/v2/rtc/rooms` | 创建 RTC 房间。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.manage` | CreateRtcRoomRequest | | `GET /api/v2/rtc/rooms/{roomId}` | 查看RTC 房间详情。 | 页面加载、刷新状态或按条件检索数据时调用。 | 以返回数据、分页总数和目标资源的当前状态为准。 | 业务接口
`rtc.view` | roomId(必填) | | `POST /api/v2/rtc/rooms/{roomId}/access-tickets` | 为第三方应用主体签发一次性 RTC 入会票据。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.manage` | roomId(必填)、CreateRtcMeetingInvitationRequest | | `POST /api/v2/rtc/rooms/{roomId}/announcement` | 由平台管理员广播 RTC 会议公告。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.manage` | roomId(必填)、BroadcastRtcAnnouncementRequest | | `PUT /api/v2/rtc/rooms/{roomId}/capacity` | 更新既有 RTC 会议容量。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.manage` | roomId(必填)、UpdateRtcRoomCapacityRequest | | `POST /api/v2/rtc/rooms/{roomId}/chat/messages` | 发送 RTC 房间聊天消息。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.participate` | roomId(必填)、SendRtcChatMessageRequest | | `POST /api/v2/rtc/rooms/{roomId}/close` | 关闭 RTC 房间并将成员置为离线。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.manage` | roomId(必填) | | `POST /api/v2/rtc/rooms/{roomId}/datachannel/events` | 提交 RTC DataChannel 控制事件。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.participate` | roomId(必填)、PostRtcDataChannelEventRequest | | `GET /api/v2/rtc/rooms/{roomId}/events` | 按房间、通道和序号增量查询 RTC 事件。 | 页面加载、刷新状态或按条件检索数据时调用。 | 以返回数据、分页总数和目标资源的当前状态为准。 | 业务接口
`rtc.view` | roomId(必填)、channel、afterSequence、pageSize | | `GET /api/v2/rtc/rooms/{roomId}/external-sources/available-channels` | 业务管理员查询可授权给房间的已有通道,不返回源URL。 | 页面加载、刷新状态或按条件检索数据时调用。 | 以返回数据、分页总数和目标资源的当前状态为准。 | 业务接口
`rtc.view` | roomId(必填) | | `GET /api/v2/rtc/rooms/{roomId}/external-sources/grants` | 业务管理员查看房间当前外部源授权。 | 页面加载、刷新状态或按条件检索数据时调用。 | 以返回数据、分页总数和目标资源的当前状态为准。 | 业务接口
`rtc.view` | roomId(必填) | | `POST /api/v2/rtc/rooms/{roomId}/external-sources/grants` | 业务管理员按已有ChannelId授权本会议可观看/可录制范围。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.manage` | roomId(必填)、GrantRtcExternalSourceRequest | | `DELETE /api/v2/rtc/rooms/{roomId}/external-sources/grants/{grantId}` | 撤销外部源授权并终止本会议的接收和新增录制,不停止原流。 | 用户明确确认删除或清理后调用;调用前应先展示影响范围。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.manage` | roomId(必填)、grantId(必填) | | `POST /api/v2/rtc/rooms/{roomId}/join` | 兼容入口:使用服务端可信身份加入 RTC 房间。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.participate` | roomId(必填)、JoinRtcRoomRequest | | `GET /api/v2/rtc/rooms/{roomId}/media-sessions` | 查询 RTC 房间 WHIP/WHEP 媒体会话。 | 页面加载、刷新状态或按条件检索数据时调用。 | 以返回数据、分页总数和目标资源的当前状态为准。 | 业务接口
`rtc.view` | roomId(必填)、includeClosed | | `POST /api/v2/rtc/rooms/{roomId}/moderation` | 执行 RTC 房间级批量治理。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.manage` | roomId(必填)、ModerateRtcRoomRequest | | `GET /api/v2/rtc/rooms/{roomId}/participants/{participantId}/endpoint` | 生成 RTC 成员 WHIP/WHEP 端点。 | 页面加载、刷新状态或按条件检索数据时调用。 | 以返回数据、分页总数和目标资源的当前状态为准。 | 业务接口
`rtc.view` | roomId(必填)、participantId(必填)、screen(必填) | | `GET /api/v2/rtc/rooms/{roomId}/participants/{participantId}/events` | 按成员可见性增量查询 RTC 房间事件。 | 页面加载、刷新状态或按条件检索数据时调用。 | 以返回数据、分页总数和目标资源的当前状态为准。 | 业务接口
`rtc.view` | roomId(必填)、participantId(必填)、channel、afterSequence、pageSize | | `POST /api/v2/rtc/rooms/{roomId}/participants/{participantId}/heartbeat` | 刷新 RTC 成员心跳。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.participate` | roomId(必填)、participantId(必填) | | `POST /api/v2/rtc/rooms/{roomId}/participants/{participantId}/leave` | 成员离开 RTC 房间。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.manage` | roomId(必填)、participantId(必填) | | `POST /api/v2/rtc/rooms/{roomId}/participants/{participantId}/media-state` | 更新 RTC 成员麦克风、摄像头和连接状态。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.manage` | roomId(必填)、participantId(必填)、UpdateRtcParticipantMediaRequest | | `POST /api/v2/rtc/rooms/{roomId}/participants/{participantId}/moderation` | 执行 RTC 成员管理动作。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.manage` | roomId(必填)、participantId(必填)、ModerateRtcParticipantRequest | | `POST /api/v2/rtc/rooms/{roomId}/participants/{participantId}/screen-share` | 设置 RTC 成员投屏状态。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.manage` | roomId(必填)、participantId(必填)、SetRtcScreenShareRequest | | `POST /api/v2/rtc/rooms/{roomId}/participants/{participantId}/whep` | 代理流媒体服务 WHEP 播放 SDP 协商。 | 用户提交业务动作或配置变更时调用。 | 拿到 SDP 响应后继续检查 ICE/DTLS 和媒体会话状态,不能只看 HTTP 状态码。 | 业务接口
`rtc.participate` | roomId(必填)、participantId(必填)、screen、preferredTcp、candUdp、candTcp、string | | `POST /api/v2/rtc/rooms/{roomId}/participants/{participantId}/whip` | 代理流媒体服务 WHIP 推流 SDP 协商。 | 用户提交业务动作或配置变更时调用。 | 拿到 SDP 响应后继续检查 ICE/DTLS 和媒体会话状态,不能只看 HTTP 状态码。 | 业务接口
`rtc.participate` | roomId(必填)、participantId(必填)、screen、preferredTcp、candUdp、candTcp、string | | `POST /api/v2/rtc/rooms/{roomId}/participants/{participantId}/whiteboard-access` | 由平台管理员授予、拒绝或收回成员白板书写权。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.manage` | roomId(必填)、participantId(必填)、ReviewRtcWhiteboardAccessRequest | | `POST /api/v2/rtc/rooms/{roomId}/participants/{viewerParticipantId}/subscriptions/{publisherParticipantId}/whep` | WHEP 订阅 RTC 发布流。 | 用户提交业务动作或配置变更时调用。 | 拿到 SDP 响应后继续检查 ICE/DTLS 和媒体会话状态,不能只看 HTTP 状态码。 | 业务接口
`rtc.participate` | roomId(必填)、viewerParticipantId(必填)、publisherParticipantId(必填)、screen、preferredTcp、candUdp、candTcp、string | | `POST /api/v2/rtc/rooms/{roomId}/publications/{publicationId}/admin-stop` | 由平台管理员停止指定 RTC Publication。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.manage` | roomId(必填)、publicationId(必填)、StopRtcPublicationRequest | | `PUT /api/v2/rtc/rooms/{roomId}/recording-policy` | 会议所有者或超级管理员允许/禁用本会议录制。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.manage` | roomId(必填)、RtcRecordingPolicyRequest | | `POST /api/v2/rtc/rooms/{roomId}/recording/continuous/{recordingId}/composites/{compositeId}/retry` | 授权业务API重试失败的会后成员/屏幕兼容副本。 | 用户提交业务动作或配置变更时调用。 | HTTP 成功只表示请求被接收;继续查询命令、任务、通道或会话状态,直到成功或失败终态。 | 业务接口
`rtc.manage` | roomId(必填)、recordingId(必填)、compositeId(必填) | | `POST /api/v2/rtc/rooms/{roomId}/recording/continuous/{recordingId}/full-exports` | 按需排队生成固定布局、混音和公共事件字幕的整场MP4。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.manage` | roomId(必填)、recordingId(必填)、CreateRtcFullExportRequest | | `POST /api/v2/rtc/rooms/{roomId}/recording/continuous/{recordingId}/full-exports/{exportId}/retry` | 授权业务API重试失败的整场导出。 | 用户提交业务动作或配置变更时调用。 | HTTP 成功只表示请求被接收;继续查询命令、任务、通道或会话状态,直到成功或失败终态。 | 业务接口
`rtc.manage` | roomId(必填)、recordingId(必填)、exportId(必填) | | `POST /api/v2/rtc/rooms/{roomId}/recording/continuous/{recordingId}/stop` | 由授权业务API停止指定持续录制任务。 | 用户提交业务动作或配置变更时调用。 | HTTP 成功只表示请求被接收;继续查询命令、任务、通道或会话状态,直到成功或失败终态。 | 业务接口
`rtc.manage` | roomId(必填)、recordingId(必填) | | `GET /api/v2/rtc/rooms/{roomId}/recording/continuous/current` | 查询房间当前持续录制任务。 | 页面加载、刷新状态或按条件检索数据时调用。 | 以返回数据、分页总数和目标资源的当前状态为准。 | 业务接口
`rtc.recordings.view` | roomId(必填) | | `GET /api/v2/rtc/rooms/{roomId}/recording/continuous/runs` | 按会议档案权限列出录制任务。 | 页面加载、刷新状态或按条件检索数据时调用。 | 以返回数据、分页总数和目标资源的当前状态为准。 | 业务接口
`rtc.recordings.view` | roomId(必填) | | `POST /api/v2/rtc/rooms/{roomId}/recording/continuous/start` | 由授权业务API启动房间持续录制。 | 用户提交业务动作或配置变更时调用。 | HTTP 成功只表示请求被接收;继续查询命令、任务、通道或会话状态,直到成功或失败终态。 | 业务接口
`rtc.manage` | roomId(必填) | | `POST /api/v2/rtc/rooms/{roomId}/recording/start` | 启动 RTC 房间会议录制。 | 用户提交业务动作或配置变更时调用。 | HTTP 成功只表示请求被接收;继续查询命令、任务、通道或会话状态,直到成功或失败终态。 | 业务接口
`rtc.manage` | roomId(必填)、StartRtcRoomRecordingRequest | | `POST /api/v2/rtc/rooms/{roomId}/recording/stop` | 停止 RTC 房间会议录制。 | 用户提交业务动作或配置变更时调用。 | HTTP 成功只表示请求被接收;继续查询命令、任务、通道或会话状态,直到成功或失败终态。 | 业务接口
`rtc.manage` | roomId(必填)、StopRtcRoomRecordingRequest | | `GET /api/v2/rtc/rooms/{roomId}/recording/targets` | 查询 RTC 房间可录制的 WHIP 推流目标。 | 页面加载、刷新状态或按条件检索数据时调用。 | 以返回数据、分页总数和目标资源的当前状态为准。 | 业务接口
`rtc.view` | roomId(必填)、includeInactive | | `POST /api/v2/rtc/rooms/{roomId}/recordings/access` | 业务后端签发绑定会议和view/play/download操作的短时SDK档案票据。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.recordings.view` | roomId(必填)、RtcArchiveAccessRequest | | `GET /api/v2/rtc/rooms/{roomId}/signaling/connections` | 查询 RTC 房间当前 WebSocket 信令连接。 | 页面加载、刷新状态或按条件检索数据时调用。 | 以返回数据、分页总数和目标资源的当前状态为准。 | 业务接口
`rtc.view` | roomId(必填) | | `GET /api/v2/rtc/rooms/{roomId}/signaling/ws` | 兼容入口:建立设备身份绑定的 RTC WebSocket。 | 页面加载、刷新状态或按条件检索数据时调用。 | 连接升级为 WebSocket 只是开始;还要处理鉴权失败、断线重连和事件序号。 | 业务接口
`rtc.participate` | roomId(必填)、participantId、lastSequence、replayPageSize | | `GET /api/v2/rtc/rooms/{roomId}/subscription-topology` | 查询 RTC WHEP 订阅拓扑。 | 页面加载、刷新状态或按条件检索数据时调用。 | 以返回数据、分页总数和目标资源的当前状态为准。 | 业务接口
`rtc.view` | roomId(必填)、viewerParticipantId、includeSelf、includeInactive | | `POST /api/v2/rtc/rooms/{roomId}/whiteboard/events` | 提交 RTC 白板同步事件。 | 用户提交业务动作或配置变更时调用。 | 重新读取目标资源,确认保存值和运行状态都已更新。 | 业务接口
`rtc.participate` | roomId(必填)、PostRtcWhiteboardEventRequest | ## 接口字段与示例 本页故意先讲清业务用途,不把几百个字段塞进说明文字。真正编码时,请使用与部署版本一起提供的 OpenAPI 和 Postman 资产查看请求体、响应体、枚举、文件类型与示例;不要拿网站最新契约调用旧版本服务。