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

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СтрокаДаЦифры и символы, которые бот отправляет в тональном режиме: 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#"
});