【发布时间】:2020-03-26 18:02:30
【问题描述】:
我正在尝试向自动电话系统拨打电话,但遇到了内容类型错误。我不明白什么是内容类型错误,所以如果有人能帮助我理解那会很棒。这是我现在的代码。
exports.handler = function(context, event, callback) {
const accountSid = 'AC5ca0acd115283b6d7ed38279';
const authToken = 'not my real auth token';
const client = require('twilio')(accountSid, authToken);
client.calls
.create({
to: '+14805402416',
from: '+18448345500',
record: 'True',
transcribe: 'True',
sendDigits: 'wwww1wwww123#wwww1', // w's are .5 second delays to navigate pauses in the automated system
// '1' - English, '123#' - PIN #, '1' - Confirm PIN
});
callback(null, client);
};
【问题讨论】:
-
您的网址或内嵌 twiml 在哪里?该命令缺少键值。
-
我不确定它们是否需要包含在内。我对 url 和 in-line twiml 有点困惑。我不明白为什么需要其中一个或两个来拨打这样的电话。也许一个原因是 Twilio 不知道什么时候挂断?我一直在梳理文档,但没有找到我可以轻松理解的描述。
-
它告诉 Twilio 在接听电话时要做什么。你需要一个或另一个,而不是两者兼而有之。 URL 指向 TwiML。参考 - twilio.com/docs/voice/twiml.
-
啊,好吧,所以您可以将一些参数传递给 outbound-api 调用,但是 TwiML(通过引用 TwiML 的 URL 参数或传递非常新的内联 TwiML 参数)将允许您合并不同的 TwiML 动词(Say/Play for Text to Speech 或播放 .mp3/.wav 文件),通过 DTMF(按键音)或语音收集反馈,并基本上编写与拨号方的自动交互。您的机器人对机器人用例可能没有这样的要求,但人对机器人有。
-
特定于转录,我没有看到 Calls 资源(您正在进行的 API 调用)的 transcribe 属性,因此您需要使用 TwiML 和带有 transcribe 属性的 Record 动词来携带出那个功能,twilio.com/docs/voice/twiml/record#transcribe。否则,您将需要使用 AddOn 转录合作伙伴 - support.twilio.com/hc/en-us/articles/…。
标签: twilio content-type