【问题标题】:Twilio function giving invalid content-type errorTwilio 函数给出无效的内容类型错误
【发布时间】: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


【解决方案1】:

您的构造中缺少 url 或 twiml。

https://www.twilio.com/docs/voice/api/call-resource

网址 返回调用的 TwiML 指令的绝对 URL。我们将在呼叫连接时使用该方法调用此 URL。有关详细信息,请参阅拨打电话中的 Url 参数部分。

用于调用 Twilio 的 TwiML 指令将在不获取 Twiml 的情况下使用 从 url 参数。如果同时提供了 twiml 和 url,则 twiml 参数将被忽略。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-19
    相关资源
    最近更新 更多