用途:通过 curl 调用 Telnyx TeXML API 构建语音应用,使用与 TwiML 兼容的 TeXML 标记语言,管理应用、呼叫、会议、录音、队列与流媒体。
安装与环境:curl 在 macOS、Linux 及 Windows 10+ 上已预装。设置环境变量 export TELNYX_API_KEY="YOUR_API_KEY_HERE",所有示例均用该密钥认证。
主要能力与端点(均以 https://api.telnyx.com/v2 为基址): 呼叫:GET /texml/Accounts/{account_sid}/Calls 获取多个呼叫资源(最终一致性,支持 Page、PageSize、To、From、Status、StartTime、EndTime 等参数);POST 该路径发起外呼 TeXML 调用,必填 Url,可选 Texml 对象;GET .../Calls/{call_sid} 获取单个呼叫;POST 同路径更新呼叫(负载键须为 CamelCase)。 录音:GET/POST .../Calls/{call_sid}/Recordings.json 查询或开始录制;POST .../Recordings/{recording_sid}.json 更新录音。 Siprec:POST .../Calls/{call_sid}/Siprec.json 启动会话,POST .../Siprec/{siprec_sid}.json 更新。 流媒体:POST .../Calls/{call_sid}/Streams.json 将媒体流推送到指定 WebSocket 地址,POST .../Streams/{streaming_sid}.json 更新。 会议:GET/POST /texml/Accounts/{account_sid}/Conferences 列出或更新;GET .../Conferences/{conference_sid} 获取;会议参与者支持列表、拨入、获取、更新、删除;会议录音支持列表与获取。 队列:GET/POST /texml/Accounts/{account_sid}/Queues 列出或创建;GET/POST .../Queues/{queue_sid} 获取或更新。
错误处理:所有调用可能遇到网络错误、限流(429)、校验错误(422)、认证错误(401)。示例中通过 curl -s -w "\n%{http_code}" 获取状态码并分支处理:2* 成功、422 校验错误、429 限流后 sleep 1 重试、401 认证失败。常见错误码包括 401、403、404、422、429。
分页:列表端点返回分页结果,使用 page[number] 与 page[size] 查询参数翻页,并检查响应中的 meta.total_pages。
限制与说明:呼叫相关端点标注为最终一致性;更新呼叫时键名必须为 CamelCase;资料未提供具体收费、价格或限额信息。