Telnyx Video - curl 是一个面向实时视频通信与会议场景的技能,以 curl 命令形式提供 Telnyx Video REST API 的调用示例。
用途
该技能用于创建和管理实时视频房间,支持会议、多人视频通话等场景的房间生命周期管理与会话控制。所有操作通过 HTTPS 调用 https://api.telnyx.com/v2 下的 REST 接口完成。
安装与认证
curl 在 macOS、Linux 和 Windows 10+ 上已预装,无需额外安装步骤。认证方式为设置环境变量:
export TELNYX_API_KEY="YOUR_API_KEY_HERE"
后续所有示例均使用 $TELNYX_API_KEY 作为 Bearer 令牌进行认证。
错误处理
技能文档指出所有 API 调用都可能因网络错误、速率限制(429)、校验错误(422)或认证错误(401)而失败,并建议在生产代码中始终处理错误。文档给出了一段检查 HTTP 状态码的 curl 示例,使用 -w "\n%{http_code}" 分离状态码与响应体,并根据 2*、422、429、401 等状态码分别输出对应提示。常见错误码含义:401 无效 API 密钥,403 权限不足,404 资源未找到,422 校验错误(检查字段格式),429 速率受限(建议使用指数退避重试)。
主要能力
房间(Rooms):列出房间(GET /rooms,可选 include_sessions)、创建房间(POST /rooms,可选字段包括 unique_name、max_participants、enable_recording、webhook 相关字段等)、查看房间(GET /rooms/{room_id})、更新房间(PATCH /rooms/{room_id})、删除房间(DELETE /rooms/{room_id},删除后参与者会被踢出且无法再加入该房间,也不再对该房间计费)。
房间会话(Sessions):列出会话(GET /room_sessions,可选 include_participants)、查看会话(GET /room_sessions/{room_session_id})、结束会话(POST /room_sessions/{room_session_id}/actions/end,会踢出当前所有参与者)、踢出参与者(POST .../actions/kick,可选 exclude、participants)、静音(POST .../actions/mute)、取消静音(POST .../actions/unmute)、查看某会话的参与者列表(GET /room_sessions/{room_session_id}/participants)、列出某房间的会话(GET /rooms/{room_id}/sessions)。
参与者(Participants):列出参与者(GET /room_participants)、查看参与者(GET /room_participants/{room_participant_id})。
录制(Recordings):列出录制(GET /room_recordings)、查看录制(GET /room_recordings/{room_recording_id})、删除单条录制(DELETE /room_recordings/{room_recording_id})、批量删除录制(DELETE /room_recordings)。
合成(Compositions):列出合成(GET /room_compositions)、异步创建合成(POST /room_compositions,可选 format、resolution、session_id、video_layout、webhook 字段等)、查看合成(GET /room_compositions/{room_composition_id})、删除合成(DELETE /room_compositions/{room_composition_id})。
客户端令牌:生成加入房间的 Client Token(POST /rooms/{room_id}/actions/generate_join_client_token,可选 refresh_token_ttl_secs、token_ttl_secs),返回 token、token_expires_at、refresh_token、refresh_token_expires_at;刷新 Client Token(POST /rooms/{room_id}/actions/refresh_client_token,必填 refresh_token,可选 token_ttl_secs),返回 token、token_expires_at。文档说明 Client Token 是加入 Telnyx Room 所必需的,会按 token_ttl_secs 过期,并提供 Refresh Token 用于刷新,Refresh Token 按 refresh_token_ttl_secs 过期。
使用方式
按照文档中的 curl 示例,替换 URL 中的 room_id、room_session_id、room_recording_id、room_composition_id、room_participant_id 等占位符,并设置好 TELNYX_API_KEY 环境变量即可调用。请求体使用 JSON,需带 Authorization 与 Content-Type 头。
适用场景
适合需要通过命令行或脚本快速集成 Telnyx Video REST API 的开发者,用于搭建和管理实时视频会议、房间会话、录制与合成的后端流程。
限制
文档仅以 curl 形式提供 REST API 示例,未提供 SDK、客户端库或前端集成方式;未说明计费价格、平台兼容性之外的运行要求、并发上限或性能指标,这些信息暂未提供。