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

Тональный набор

В сценарии бот может принимать и отправлять сигналы DTMF — цифры и символы, набранные в тональном режиме.

Запрос ввода от пользователя

Для запроса сигналов DTMF добавьте в нужном стейте сценария ответ с типом dtmf. В следующем ответе от абонента бот будет ожидать тональный набор.

предупреждение
Речевой ввод в контексте такого стейта будет проигнорирован.

Обработка сообщения

Чтобы распознать ввод, используйте паттерн для чисел. Если абонент не ввел сообщение в течение установленного времени, возникает событие noDtmfAnswerEvent.

Пример: запрос ввода от пользователя

state: Input
a: Введите PIN-код.
script:
$response.replies = $response.replies || [];
$response.replies.push({
"type": "dtmf",
"max": 4, // Максимальное количество цифр, которое ожидается от абонента
"timeout": 15000 // Интервал ожидания ввода от абонента в миллисекундах
});

state: Digits
q: $regexp<\d+>
a: Вы набрали {{$parseTree.text}}.

state: NoInput
event: noDtmfAnswerEvent
a: Вы ничего не набрали.

Отправка сигналов во внешнюю систему

Бот также может отправлять DTMF-сигналы во внешнюю систему, например в IVR или АТС. Для этого используйте ответ с типом dtmf и свойством digits.

Пример: отправка сигналов во внешнюю систему

state: SendDtmf
script:
$response.replies = $response.replies || [];
$response.replies.push({
"type": "dtmf",
"digits": "*1234#" // Цифры и символы, которые бот отправляет в тональном режиме
});