提问者:小点点

使用 webhook 和 Coldfusion 的 Twilio 入站短信


我已经在Twilio上设置了短信,可以通过网络钩子接收短信。我可以操纵表单数据来做我想做的事情,但是每条入站短信都会在 Twilio 的仪表板上抛出错误。它正在寻找一些回应。现在,我只是在测试时将表单转储到文本文件中。

<!doctype html>
<?xml version="1.0" encoding="UTF-8"?>
<html>
<head>
<Response>   
</Response>
    <cfdump
        var="#form#"
        label="HTTP Body" output="C:/webhook-sms.txt"
        />
</head>
</html>

错误是: 消息 文档中根元素前面的标记必须格式正确。警告 - 12200 架构验证警告 提供的 XML 不符合 Twilio 标记 XML 架构。请参考具体错误并更正问题。

我需要用什么来回应 Twilio?

提前感谢任何帮助!

加里


共2个答案

匿名用户

Twilio 需要 text/xml 的内容类型,并且还期望响应的第一行是

如果您的回复前面有一个或多个空行

我最终做的是使用一个应用程序.cfm如下所示:

<cfsetting enablecfoutputonly="true" showdebugoutput="false" requesttimeout="30" />
<cfheader name="content-type" value="text/xml" />
<!--- // more code --->

和以第一行开头的endpoint文件,如下所示:

<cfoutput><?xml version="1.0" encoding="UTF-8"?></cfoutput>
<!--- // more code --->

并确保你发回有效的TwiML(Twilio的XML)(没有HTML)。

匿名用户

谢谢大家。我的最终测试代码如下所示:

    <cfsetting enablecfoutputonly="true" showdebugoutput="false" requesttimeout="30" />
<cfheader name="content-type" value="text/xml" />
<cfoutput><?xml version="1.0" encoding="UTF-8"?>

<Response>
    <Message>Thanks for getting in touch, I'll call you later</Message>
</Response></cfoutput>