dtmf
Используйте тип ответа dtmf для работы с тональными сигналами (DTMF).
Поддерживается только в телефонном канале.
Тип ответа dtmf работает в двух режимах:
- Получение сигналов от пользователя — бот запрашивает у пользователя набор цифр или символов в тональном режиме.
- Отправка сигналов во внешнюю систему — бот сам отправляет DTMF, например в IVR или АТС.
Получение сигналов от пользователя
Свойства
| Свойство | Тип | Обязательный | Описание |
|---|---|---|---|
timeout | Число | Да | Интервал ожидания ввода от пользователя в миллисекундах. |
max | Число | Да | Максимальное количество цифр, которые ожидаются от пользователя. |
Синтаксис
$response.replies.push({
"type": "dtmf",
"timeout": 5000,
"max": 3
})
подсказка
Если пользователь не введет цифры, то по истечении интервала ожидания сработает событие noDtmfAnswerEvent.
Пример
Рассмотрим пример, когда бот звонит пользователю, чтобы подтвердить заказ.
state: OrderConfirmation
a: Добрый день! Мы получили ваш заказ {{$session.orderItem}}.
a: Перейдите в тоновый режим, чтобы подтвердить заказ.
a: Если вы подтверждаете заказ, нажмите 1.
a: Если вы хотите отменить заказ, нажмите 2.
script:
$response.replies = $response.replies || [];
$response.replies.push({
"type": "dtmf",
"timeout": 10000,
"max": 1
});
state: Confirm
q: 1
a: Заказ подтвержден. Мы свяжемся с вами позже для уточнения деталей доставки.
# ...
state: Cancel
q: 2
a: Ваш заказ отменен.
# ...
state: NoInput
event: noDtmfAnswerEvent
a: Переключаю на оператора.
# ...
Отправка сигналов во внешнюю систему
Свойства
| Свойство | Тип | Обязательный | Описание |
|---|---|---|---|
digits | Строка | Да | Цифры и символы, которые бот отправляет в тональном режиме: 0–9, A–D, *, #. |
Синтаксис
$response.replies.push({
"type": "dtmf",
"digits": "*1234#"
})
Пример
Рассмотрим пример, когда бот совершает исходящий звонок на IVR и должен программно выбрать пункт меню.
state: SendDtmf
script:
$response.replies = $response.replies || [];
$response.replies.push({
"type": "dtmf",
"digits": "*1234#"
});