用途:这是 Zoom WebSockets 的参考技能,用于在路由到低延迟事件工作流后,搭建持久连接以更快接收 Zoom 事件,或在安全要求较高时替代 Webhook。
主要能力与选择依据:资料给出 WebSockets 与 Webhooks 的对比。WebSockets 为持久双向连接、延迟更低、无需暴露公共端点,属拉取模型且有状态,设置较复杂;Webhooks 为一次性 HTTP POST、推送模型、无状态,设置较简单。资料建议在实时低延迟关键、安全性要求高(银行、医疗、金融)、不希望暴露公共端点或需要双向通信时选 WebSockets;设置简单、事件通知少或已有 HTTP 基础设施时选 Webhooks。
必要用法:前置条件为在 Zoom Marketplace 创建 Server-to-Server OAuth 应用,取得 Account ID、Client ID、Client Secret,并创建启用事件的 WebSocket 订阅。步骤包括创建 S2S OAuth 应用、在 Feature → Event Subscriptions 添加订阅并选择 WebSockets 作为方法类型、勾选事件(如 meeting.created、meeting.started)后保存并生成端点 URL。连接时先用客户端凭据向 https://zoom.us/oauth/token 获取访问令牌,再连接 wss://ws.zoom.us/ws?subscriptionId=${SUBSCRIPTION_ID}&access_token=${accessToken}。事件格式与 Webhook 一致,常用事件包括会议创建/更新/删除/开始/结束、参与者加入/离开、录制完成、用户创建/更新。
连接管理:需周期性心跳(示例每 30 秒发送 ping),Zoom 会关闭空闲连接;应实现自动重连(示例为 5 秒后重连)。重要限制:每个订阅同一时间只允许一个 WebSocket 连接,打开新连接会关闭已有连接。
限制与区分:WebSockets 仅用于事件通知,不传输音频、视频或转录;实时音视频与转录应使用 RTMS 技能。认证流程可参考 zoom-oauth 技能,排障可先看 5-Minute Runbook 与 troubleshooting/common-issues.md,详细内容见 references/connection.md 与 references/events.md,环境变量见 references/environment-variables.md。资料未提供收费、价格或平台覆盖信息。