Warning |
---|
Мы обновили документацию, актуальная версия страницы доступна по ссылке: Call Interactive |
Функция Call Interactive позволяет в качестве действия опции контекста IVR инициировать HTTP-запрос на заданный URL и обработать ответ на него. С запросом передается постоянный набор параметров, содержащий информацию о вызове в IVR, эти параметры располагаются в строке запроса (при методе GET) или в теле запроса (при методе POST). URL и метод запросы может запроса могут быть задан заданы при настройке действия опции контекста IVR.
...
Имя | Тип | Описание |
---|---|---|
EventType |
| Тип события, всегда имеет значение call_interactive |
CallID |
| Уникальный идентификатор вызова. |
CallerIDNum |
| Номер вызывающего абонента. |
CallerIDName |
| Имя вызывающего абонента. |
CalledDID |
| Внешний вызываемый номер. Присутствует, если доступен. |
CalledExtension |
| Номер IVR в расширенном формате (например: |
CalledExtensionID | integer | Идентификатор добавочного IVR в системе |
CallStatus |
| Статус вызова, всегда имеет значение ANSWER |
CallFlow |
| Поток вызовов, всегда имеет значение IN |
CallerExtension |
| Имя добавочного номера, осуществляющий вызов IVR. Присутствует только при внутреннем вызове. Flag notifications |
CallerExtensionID | integer | Идентификатор добавочного номера, осуществляющего вызов IVR. Присутствует только при внутреннем вызове. |
CalledNumber |
| Номер, который набирала вызывающая сторона (может быть внешним номером: |
CallAPIID |
| Идентификатор звонка. Автоматически генерируется и сохраняется на протяжении всего звонка вне зависимости от того, переводится ли он. |
Опциональные параметры запроса
Могут присутствовать в запросе call_intercative
Имя | Тип | Описание |
---|---|---|
voice_navigator_DTMF |
| Донабор с телефонного терминала во время правила Голосовое меню (/ivr/) action voice_helper |
voice_navigator_STT |
| Содержит распознавание голоса во время правила Голосовое меню (/ivr/) action voice_helper |
может использоваться для создании голосовых роботов в комбинации с Голосовая навигация для управления логикой после полученного распознавания
Пример запроса
Code Block |
---|
http://mysite.com/myscript?CalledExtensionID=145&CalledNumber=332&CallID=5205dc5cc5a411e5ab9eb3691b90ea15&CallerIDNum=000%2A306&CallerExtensionID=134&CallerExtension=000%2A306&CallFlow=IN&CalledExtension=000%2A332&CallAPIID=3584705175%3A5205dc5cc5a411e5ab9eb3691b90ea15&CallerIDName=000%2A306&CallStatus=ANSWER |
Переменные в строке запроса
В строке запроса могут быть переданы дополнительные параметры, содержащиеся в URL. Эти могут принимать как статические значения, так и значения переменных, заданных в IVR ранее. Для того, чтобы использовать в URL значение переменной, необходимо использовать формат $varname, где varname – это имя требуемой переменной.
Если выбран метод запроса GET, параметры, содержащие информацию о вызове добавятся к уже существующим параметрам URL.
Пример URL со статическими параметрами
Code Block |
---|
http://mysite.com/myscript?param1=value1¶m2=value2 |
Пример URL с параметрами-переменными
Code Block |
---|
http://mysite.com/myscript?param1=$var¶m2=$var2 |
...
где Action может быть одним из перечисленных ниже действий.
Допускается до 10 действий включительно в одном ответе.
Варианты действий
Hangup
Немедленно завершает звонок.
...
PlaySound
Проигрывает звук, имя файла которого задано содержимым тега PlaySound. Имя файла можно получить из API как параметр filename ресурса Sound. Атрибутом where тега PlaySound указывается тип проигрывания звука: foreground или background. При проигрывании типа background возможен ввод цифр в переменную, имя которой указывается в атрибуте digitvar тега PlaySound.
Code Block | ||
---|---|---|
| ||
<?xml version="1.0" encoding="UTF-8"?> <Response> <PlaySound where="background" digitvar="transferDestination">ae3d969ccc49e1a7746e0b1ce36ee4176190040c.wav</PlaySound> </Response> |
SimpleTransfer
Правило переадресации simple transfer, вызов через это правило игнорирует настройки добавочного и правила переадресации добавочного.
Ответ, аналогичный заранее определенному правилу simple transfer.
Возможно указать как один, так и несколько номеров (NUM1,NUM2) разделенных запятой, пробелы не должны присутствовать.
Правило по умолчанию финальное final='yes', в том числе при отсутствии указания final, за исключением случаев, если не указано final="no"
Параметр timeout задает время ожидания ответа вызовов(в секундах). В случае некорректного указания timeout, либо отсутствия данного параметра будет использован системный timeout.
Также, при необходимости, можно добавить параметр early_media="True" (именно в таком формате) в таком случае early media не будет игнорироваться.
Code Block | ||
---|---|---|
| ||
<?xml version="1.0" encoding="UTF-8"?> <Response> <SimpleTransfer final="no" timeout="20">NUM1,NUM2</SimpleTransfer> </Response> |
TTS
Text to speech
Работает только при активированной функции speech_to_text в клиентской конфигурации (эта настройка доступна только администратору платформы)
Code Block | ||
---|---|---|
| ||
<?xml version="1.0" encoding="UTF-8"?> <Response> <TTS lang="ru-RU" voice="alena" speed="2.0" play_now="true" save_to_var="false">текст для озвучки</TTS> </Response> |
lang - язык чтения текста. Если язык не указан- то будет использован ru-RU (по умолчанию) — русский язык;
Также доступны варианты:
en-US — английский язык;
tr-TR — турецкий язык.
Если язык указан то только в этом случае проверяется параметр voice по условию совпадения голоса по списку ниже. Если не указан, или указан не из списка- то будет дефолтный для языка
Code Block |
---|
ru_voices = {'voices': ['oksana', 'jane', 'omazh', 'zahar', 'ermil', 'alena', 'filipp'], 'def': 'oksana'}
en_voices = {'voices': ['alyss', 'nick'], 'def': 'alyss'}
tr_voices = {'voices': ['silaerkan', 'erkanyavas'], 'def': 'silaerkan'} |
speed (скорость чтения текста) доступна только из следующего диапазона:
[0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3.0]
Для передачи слов-омографов, используйте «+» перед ударной гласной: з+амок, зам+ок. Чтобы отметить паузу между словами используйте «-». Рекомендуемая максимальная длина строки: 500 символов.
play_now: "true", либо "false" инструктирует о том, нужно ли проиграть сразу синтезированное приветствие, отложить проигрывание приветствия можно с помощью дополнительного параметра save_to_var="true".
Проигрывание приветствия из переменной доступно в правилах /ivr/ play_sound, quality_rate и voice_helper
Возможны комбинации:
play_now="true", save_to_var="false" - приветствие проиграется сразу же
play_now="true", save_to_var="true" - приветствие проиграется сразу же, а также его можно будет использовать дальше в логике ivr
play_now="false", save_to_var="true"- приветствие не проиграется, но его можно будет использовать дальше в логике ivr
play_now="false", save_to_var="false" - ничего не проиграется, такой ответ на call interactive будет проигнорирован.