twilio произносит глагол только после нажатия определенной клавиши

StackOverflow https://stackoverflow.com//questions/23004722

  •  20-12-2019
  •  | 
  •  

Вопрос

Как мне использовать альтернативное действие в twilio?То, что я пытаюсь сделать, - это захватить определенный ключ (*).Если нажать эту клавишу, она выполнит другое действие вместо того, которое используется по умолчанию.Вот что у меня сейчас есть:

<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Gather finishOnKey="*" action="/another_thing" method="POST">
      <Say>Hi this is the initial message</Say>
    </Gather>

    <Say>Hi this is the default message. Please enter a 3 digit number</Say>
    <Gather numDigits="3" action="/save_number" method="POST" />
</Response>

Итак, в принципе, я хочу подчиниться another_thing маршрут, если нажата клавиша *.Но что в данный момент происходит, когда я нажимаю клавишу *, так это то, что она переходит к глаголу say прямо под gather.Так там написано Hi this is the default message. Please enter a 3 digit number вместо моего ожидаемого, которое заключается в том, что оно отправится в another_thing и выведите все, что там есть.

Возможно ли это с twilio или я делаю что-то не так?Пожалуйста, помогите.Заранее спасибо!

Если это поможет, вот что у меня есть для another_path:

<?xml version="1.0" encoding="UTF-8"?>
<Response>
   <Say>Hey whats up!</Say>
</Response>
Это было полезно?

Решение

Здесь евангелист Твилио.

Итак, вы на правильном пути.Вам нужно использовать отдельный маршрут TwiML для сообщения по умолчанию, и тогда все должно быть в порядке.Я бы также посоветовал вам использовать numDigits вместо finishOnKey.Если вы используете finishOnKey, на самом деле вам не прислали этого персонажа.Более подробная информация содержится в документации для <Gather>.

<?xml version="1.0" encoding="UTF-8"?>
<Response>
  <Gather numDigits="1" action="/another_thing" method="POST">
    <Say>Hi this is the initial message</Say>
  </Gather>
</Response>

Этот TwiML будет запущен, и если вызывающий абонент не нажмет клавишу, то <Gather> будет тайм-аут (вы можете настроить его продолжительность с помощью timeout="3" например), но он все равно отправит запрос на /another_thing.Обратите внимание, что тайм-аут начинается после <Say> завершает.

В вашем /another_thing маршрут, вы можете изучить Digits параметр, отправленный Twilio, и решите, что делать.Если они не нажимали клавишу:

<Response>
  <Say>Hi this is the default message. Please enter a 3 digit number</Say>
  <Gather numDigits="3" action="/save_number" method="POST" />
</Response>

Где как есть они нажали на кнопку * ключ:

<?xml version="1.0" encoding="UTF-8"?>
<Response>
  <Say>Hey whats up!</Say>
</Response>

Надеюсь, это поможет!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top