Перейти к основному содержимому

dtmf

Используйте тип ответа dtmf для работы с тональными сигналами (DTMF). Поддерживается только в телефонном канале.

Тип ответа dtmf работает в двух режимах:

Получение сигналов от пользователя

Свойства

СвойствоТипОбязательныйОписание
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СтрокаДаЦифры и символы, которые бот отправляет в тональном режиме: 09, AD, *, #.

Синтаксис

$response.replies.push({
"type": "dtmf",
"digits": "*1234#"
})

Пример

Рассмотрим пример, когда бот совершает исходящий звонок на IVR и должен программно выбрать пункт меню.

state: SendDtmf
script:
$response.replies = $response.replies || [];
$response.replies.push({
"type": "dtmf",
"digits": "*1234#"
});