#twilio #twilio-api #twilio-twiml
Вопрос:
У меня есть следующий код:
<?xml version="1.0" encoding="UTF-8"?>
<!-- page located at http://example.com/simple_gather.xml -->
<Response>
<Pause length="2"/> <Play>https://welcomehisheart.com/wp-content/uploads/2021/10/congress-invitation.mp3</Play>
<Pause length="1"/>
<Say>If you would no longer like to receive information about the Sacred Heart, press 2</Say>
<Gather/>
<Pause length="1"/>
</Response>
URL-адрес TwiML является:
https://handler.twilio.com/twiml/EHe23193a659bfcf74b1061864aea9b224
Код работает так, как и ожидалось. Вы можете ввести выбор во время телефонного звонка.
Как получить доступ к собранной информации?
Спасибо
Ответ №1:
Евангелист-разработчик Twilio здесь.
Похоже, что вы работаете с контейнером TwiML, что отлично подходит для статического фрагмента TwiML, подобного этому первому сообщению. Однако есть несколько проблем.
Во-первых, вы не даете пользователю надлежащего времени для ввода своих данных. <Gather>
Элемент лучше всего использовать с вложенным в него сообщением, чтобы пользователь мог нажать в любое время. Вы также можете установить a timeout
, чтобы лучше контролировать, как долго они должны отвечать после завершения вложенного <Say>
. Значение по умолчанию timeout
равно 5 секундам.
Во-вторых, если вы просто ждете, пока пользователь нажмет одну цифру, вы можете добавить numDigits="1"
атрибут в <Gather>
. Это завершится <Gather>
, как только пользователь нажмет одну цифру.
Наконец, и предмет вашего вопроса, вам нужно указать <Gather>
URL-адрес в качестве action
атрибута. Затем, когда пользователь нажимает клавишу, Twilio отправит HTTP-запрос на этот URL-адрес с результатами их ввода. Вам нужно создать приложение, которое будет обрабатывать этот запрос и что-то делать с результатом нажатия клавиши.
Итак, вам следует обновить свой TwiML до:
<?xml version="1.0" encoding="UTF-8"?>
<!-- page located at http://example.com/simple_gather.xml -->
<Response>
<Pause length="2"/>
<Play>https://welcomehisheart.com/wp-content/uploads/2021/10/congress-invitation.mp3</Play>
<Pause length="1"/>
<Gather numDigits="1" action="https://example.com/gather">
<Say>If you would no longer like to receive information about the Sacred Heart, press 2</Say>
</Gather>
</Response>
и вам нужно создать приложение, которое может получать HTTP-запрос , в данном случае по URL example.com/gather
-адресу, хотя здесь вы должны указать свой собственный URL-адрес.
Существуют учебные пособия о том, как собирать данные пользователя при телефонном звонке, которые будут более подробно рассмотрены с примерами кода, которые вы должны прочитать далее.
Комментарии:
1. Спасибо за ваш подробный ответ! Очень признателен!
2. Без проблем. Убедитесь, что вы отметили ответ как правильный, если это вам поможет! Спасибо!