用途:该技能面向 JavaScript,使用 Telnyx Node SDK 在通话中采集来电者的 DTMF 按键或语音输入,用于构建交互式语音菜单(IVR)与 AI 语音助手。
主要能力:
- 标准采集 Gather:通过 POST /calls/{call_control_id}/actions/gather 采集 DTMF,可设置有效数字、位数上下限、超时与终止键等;停止采集用 gather_stop。注意发采集命令前须先执行 Answer 命令。
- 音频采集 Gather using audio:播放音频文件直至收到所需 DTMF,可提供 invalid_audio_url 作为无效重试提示,收到按键即中断播放。
- 语音采集 Gather using speak:将文本转语音播放直至采集到 DTMF,必填 voice 与 payload,支持 SSML、多语言、基础/高级服务等级等;无效输入可用 invalid_payload 提示。
- AI 采集 Gather using AI:以 JSON Schema 描述待采集参数,由语音助手尝试收集,必填 parameters,可配置问候语、语言、超时、部分结果、转写等。
- AI 助手:startAIAssistant 启动、stopAIAssistant 停止、addAIAssistantMessages 向助手对话添加消息。
使用方式:npm install telnyx;import Telnyx from 'telnyx';用 apiKey 初始化客户端。各动作示例见资料,如 client.calls.actions.gather(call_control_id)、client.calls.actions.gatherUsingSpeak('call_control_id', { payload: 'say this on call', voice: 'male' })。Webhook 用 Ed25519 签名校验,请求头含 telnyx-signature-ed25519 与 telnyx-timestamp,建议使用原始请求体并调用 client.webhooks.unwrap() 验证。相关事件包括 CallAIGatherEnded、CallAIGatherMessageHistoryUpdated、CallAIGatherPartialResults、callGatherEnded。
错误处理:需处理网络错误、401、403、404、422、429;429 可按 retry-after 指数退避重试。
适用场景:电话 IVR 菜单、按键采集、AI 语音信息收集与语音助手交互。
限制:采集前须先接听(Answer);资料未提供具体收费、价格、配额或平台限制信息。