Протестировать методы API можно на странице интерактивного обозревателя API и без написания кода
Некоторые ресурсы, описанные на странице, по умолчанию могут быть не доступны из-за типа приложения (см. Создание и авторизация приложений)
Параметры запроса
Имя | Тип | Описание |
---|---|---|
EventType | string | Тип события, всегда имеет значение call_interactive |
CallID | string | Уникальный идентификатор вызова |
CallerIDNum | string | Номер вызывающего абонента |
CallerIDName | string | Имя вызывающего абонента |
CalledDID | string | Внешний вызываемый номер. Присутствует, если доступен |
CalledExtension | string | Номер IVR в расширенном формате (например: yyyy*zzz) |
CalledExtensionID | integer | Идентификатор внутреннего номера типа ‘IVR’ в системе |
CallStatus | string | Статус вызова, всегда имеет значение ANSWER |
CallFlow | string | Поток вызовов, всегда имеет значение IN |
CallerExtension | string | Имя внутреннего номера, осуществляющего вызов IVR. Присутствует только при внутреннем вызове |
CallerExtensionID | integer | Идентификатор внутреннего номера, осуществляющего вызов IVR. Присутствует только при внутреннем вызове |
CalledNumber | string | Номер, который набирала вызывающая сторона. Может быть внешним номером (например: 003258422544), номером IVR в расширенном формате (например: 0003*001) или коротким номером IVR (например: 001). |
CallAPIID | string | Идентификатор звонка. Автоматически генерируется и сохраняется на протяжении всего звонка вне зависимости от того, переводится ли он |
Опциональные параметры запроса
Могут присутствовать в запросе call_interactive
Имя | Тип | Описание |
---|---|---|
voice_navigator_DTMF | string | Донабор с телефонного терминала во время правила голосового меню action='voice_helper' |
voice_navigator_STT | string | Содержит распознавание голоса во время правила голосового меню action='voice_helper' |
Может использоваться для создания голосовых роботов в комбинации с голосовой навигацией для управления логикой после полученного распознавания.
Пример запроса
|
Переменные в строке запроса
В строке запроса могут быть переданы дополнительные параметры, содержащиеся в URL. Эти могут принимать как статические значения, так и значения переменных, заданных в IVR ранее. Для того, чтобы использовать в URL значение переменной, необходимо использовать формат $varname, где varname – это имя требуемой переменной.
Если выбран метод запроса GET, параметры, содержащие информацию о вызове, добавятся к уже существующим параметрам URL.
Пример URL со статическими параметрами:
|
Пример URL с параметрами-переменными:
|
Структура ответа
Ответ на запрос Call Interactive не является обязательным и нужен, если требуется совершить какое-либо действие.
Ответ на запрос должен быть сформирован в формате XML и иметь следующую структуру:
|
где Action может быть одним из перечисленных ниже действий. Допускается до 10 действий включительно в одном ответе.
Варианты действий
Hangup
Немедленно завершает звонок.
Code Block | ||
---|---|---|
| ||
<?xml version="1.0" encoding="UTF-8"?> <Response> <Hangup/> </Response> |
Pause
Приостанавливает звонок на заданное атрибутом length тега Pause число секунд. Если значение не задано, то по умолчанию принимается 10.
Code Block | ||
---|---|---|
| ||
<?xml version="1.0" encoding="UTF-8"?> <Response> <Pause length="15" /> </Response> |
SetVar
Задает значение переменной для IVR. Имя переменной должно содержатся в атрибуте name тега SetVar, а значение – содержимым это тега.
Code Block | ||
---|---|---|
| ||
<?xml version="1.0" encoding="UTF-8"?> <Response> <SetVar name="transferDestination">09897987</SetVar> </Response> |
Jump
Осуществляет переход к заданной опции заданного контекста IVR. Идентификатор контекста и опция задаются атрибутами context и option тега Jump.
Code Block | ||
---|---|---|
| ||
<?xml version="1.0" encoding="UTF-8"?> <Response> <Jump context="3" option="start"/> </Response> |
SetCallerId
Задает номер вызывающего абонента и имя вызывающего абонента в среде IVR. Номер и имя задаются атрибутами name и number тега SetCaller.
Code Block | ||
---|---|---|
| ||
<?xml version="1.0" encoding="UTF-8"?> <Response> <SetCaller name="callerName" number="92992"/> </Response> |
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
Info |
---|
Работает только при активированной функции 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]
Info |
---|
Для передачи слов-омографов используйте знак «+» перед ударной гласной: з+амок, зам+ок. |
Параметр play_now –может принимать значения "true" либо "false". Информирует о том, нужно ли проиграть синтезированное приветствие сразу. Отложить проигрывание приветствия можно с помощью дополнительного параметра save_to_var="true".
Проигрывание приветствия из переменной доступно в правилах голосового меню 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 Call Interactive будет проигнорирован.