首页 > 解决方案 > 如何使用 Twiml 或 twilio JSClient 实现应答机检测

问题描述

我们正在使用 Twilio 构建一个浏览器内的消息应用程序,从 JS 客户端我们拨打电话并使用 Twiml 拨打号码,这是我们的基本流程。我从其他问题中了解到 AMD 仅适用于 RestAPI,如何将 Rest API 与 JS 客户端一起使用,或者如何将 AMD 与我当前的设置集成。任何帮助/建议请:)。提前致谢

标签: twilio

解决方案


是的,据我所知,您不能使用 TwiML 来打开应答机检测,并且您只能使用 API。

您要使用的 API 端点是Call Resource。本质上,这不过是一个POSTto https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Calls.json,然后您将参数设置MachineDetectionEnable(请参阅此处的文档)。

但这需要以您的形式进行身份验证,TWILIO_AUTH_TOKEN您不能将其公开给任何客户。我不知道您的 JS 客户端的详细信息以及您如何进行身份验证和授权,但我建议您将逻辑封装在您可以正确保护它的后端。然后,您还可以使用 Twilio 帮助程序库(例如 Python 或 Node.JS)来进行调用(Node.JS 的示例取自文档并进行了改编):

const accountSid = process.env.TWILIO_ACCOUNT_SID;
const authToken = process.env.TWILIO_AUTH_TOKEN;
const client = require('twilio')(accountSid, authToken);

client.calls
  .create({
     twiml: '<Response><Say>Hello World!</Say></Response>',
     to: '+1...',
     from: '+1...',
     machineDetection: 'Enable'
   })
  .then(call => console.log(call.sid));

推荐阅读