【问题标题】:How do I make the endpoint hit from a TwiML redirect in a VoiceResponse return a MessagingResponse?如何使 VoiceResponse 中 TwiML 重定向的端点命中返回 MessagingResponse?
【发布时间】:2019-09-22 00:58:32
【问题描述】:

我有一种情况,我希望 TwiML VoiceResponse 调用另一个返回 MessagingResponse 的端点。但是,我收到了 MessagingResponse 的 XML Validation warning,因为我怀疑入站类型(呼叫)和出站类型(短信)不匹配。

请注意,我不能按照此处https://support.twilio.com/hc/en-us/articles/360017437774-Combining-Voice-SMS-and-Fax-TwiML-in-the-Same-Response 的建议使用 Twilio 客户端。我想用纯 TwiML 来实现这一点。

我在我的 Twilio 电话号码上设置了一个呼叫 webhook,它访问了我的 NodeJS 服务器上的 POST /call 端点。端点以 TwiML 进行响应,该 TwiML 播放音调并调用重定向到我服务器上的另一个端点。

TwiML 返回:

<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Play digits="www9"/>
    <Redirect method="POST">[url-omitted]/notify</Redirect>
</Response>

然后,在同一台服务器上,我有第二个POST /notify 端点,为了简单起见,它向特定号码发送短信。

从重定向端点返回的 TwiML:

<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Message to="+11234567890">Hello world!</Message>
</Response>

预期结果

预期的结果是,当我用手机拨打 Twilio 号码时,我听到“9”音,然后收到一条带有“Hello world!”的短信。

实际结果

我只听到“9”音,从来没有收到过短信。

当我查看 Twilio 控制台时,我可以看到对 POST /notify 端点的调用,它以预期的 TwiML 响应,但它有一个 12200 - Schema validation warning

Msg "XML Validation warning"
line    "2"
parserMessage   " Invalid content was found starting with element 'Message'. One of '{Play"
ErrorCode   "12200"
cols    "32"
LogLevel    "WARN"
url "https://handler.twilio.com/twiml/[id-omitted]"

如前所述,我怀疑上述错误消息是因为这一切都源于电话而不是短信。

【问题讨论】:

    标签: twilio twilio-twiml


    【解决方案1】:

    这里是 Twilio 开发者宣传员。

    &lt;Message&gt; TwiML verb 仅在消息流期间可用,这就是您收到架构验证警告的原因。

    您可以使用已弃用的 &lt;Sms&gt; 动词在语音通话期间发送消息,但我不建议这样做,因为它使用旧的消息传递 API,并且不处理 unicode 或超过 160 个字符的消息。

    相反,我建议您在通话期间使用Messages REST API to send messages

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-05
      • 1970-01-01
      • 1970-01-01
      • 2021-05-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多