Twilio входящие SMS с использованием веб-хуков и Coldfusion - PullRequest
2 голосов
/ 03 апреля 2019

Я настроил SMS на Twilio и могу получать SMS через webhooks. Я могу манипулировать данными формы, чтобы делать то, что я хочу, однако каждое входящее SMS-сообщение выдает ошибку на приборной панели 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 не соответствует XML-схеме Twilio Markup. Пожалуйста, обратитесь к конкретной ошибке и исправьте проблему.

Чем мне нужно ответить на Twilio?

Заранее спасибо за любую помощь!

Gary

Ответы [ 2 ]

2 голосов
/ 04 апреля 2019

Спасибо всем.Мой последний тестовый код выглядел так:

    <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>
2 голосов
/ 03 апреля 2019

Twilio ожидает тип содержимого text/xml, а также ожидает, что первая строка ответа будет <?xml version="1.0" encoding="UTF-8"?>.

Если ваш ответ содержит одну или несколько пустых строк до <?xml version="1.0" encoding="UTF-8"?>, вы все равно получите сообщение об ошибке.

То, что я закончил, было с Application.cfm примерно так:

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

и файлы конечных точек, которые начинаются с первой строки следующим образом:

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

И убедитесь, что вы отправили обратно верный TwiML (XML Twilio) (без HTML).

...