Warning |
---|
Мы обновили документацию, актуальная версия страницы доступна по ссылке: Голосовое меню (/ivr/) |
Добавочные номера типа ivr служат для настройки маршрутизации звонков внутри АТС с использованием информации, вводимой клиентом на клавиатуре телефона с помощью тонального набора.
Для конфигурации голосового меню необходимо создать добавочный , указав в качестве типа (type) значение ivr. После этого становится возможным конфигурация голосового меню через API-интерфейс ivr.
Звуковые файлы, которые необходимы для настройки голосового приветствия, загружаются в ресурс sound.
Важные понятия:
- Контекст. Представляет собой заранее сформированный набор правил, на которые можно сослаться в настройках. Каждый контекст как минимум содержит опции:
- start: описывает действия при вхождении в контекст
- timeout: описывает действия при наступлении таймаута (клиент не сделал никакого выбора в течении заданного промежутка времени)
- invalid: действия, наступающие при выборе клиентом опции, которая не сконфигурирована
Все опции по умолчанию выполняют действие hangup (повесить трубку) и это действие должно быть переопределено для задания необходимой логики.
За IVR закреплен так называемый "entry_context" - в него попадает вызов после прихода в голосовое меню. Его еще можно назвать главным контекстом - 'background'/'foreground' тип звучания голосового приветствия. В случае "background" система готова принимать тональный набор в любой момент, а 'foreground' обязывает пользователя прослушать запись до конца и лишь после этого делать выбор(если возможность такого выбора сконфигурирована)
Table of Contents |
---|
Описание структур данных
Базовые параметры (ivr)
Имя | Тип | Обязательный | Значение По Умолчанию | Описание |
---|---|---|---|---|
|
|
|
идентификатор главного контекста | ||
|
|
|
время (в секундах) по истечении которого происходит принудительный выход из IVR | ||
|
|
|
Действия при выходе из IVR по наступлению lifetime
| ||
|
|
|
Переадресация на указанный номер при истечении lifetime и lifetime_exp_action='transfer' | ||
|
|
|
время (в миллисекундах) до начала выполнения любых действий после попадания вызова в ivr (может быть полезно, чтобы избегать выпадания первых слов в голосовом приветствии после установления соединения) |
Контекст (context)
Имя | Тип | Обязательный | Значение По Умолчанию | Описание |
---|---|---|---|---|
|
|
| 5000 | время (в миллисекундах) ожидания начала набора после выполнения последнего правила в опции контекста. По истечении уход в опцию timeout |
|
|
| false | позволен ли донабор любого добавочного клиента |
|
|
| 2000 | время (в миллисекундах) ожидания следующей цифры. По истечении набор считается завершенным. Например, при "digit_len": 3, набор "30" будет принят по прошествии inter_digit_timeout |
|
|
|
имя контекста | ||||
|
|
| длина добавочного клиента | после набора указанного количества цифр, ввод считается завершенным (без необходимости ожидания "inter_digit_timeout"). Также определяет максимальную длину возможного набора клиентом. Например, "digit_len": 3 позволяет набрать "7", "22", "300", но не дает возможности выбора "4000" |
Опция контекста (context_option)
Имя | Тип | Обязательный | Значение По Умолчанию | Описание |
---|---|---|---|---|
|
|
|
Добавляет к стандартным опциям конеткста (start,timout,invalid), пользовательскую опцию. Например, значение "2" задаст возможность обработки ввода цифры "2" после попадания в контекст |
Правило опции контекста (context_option_rule)
...
Имя | Тип | Обязательный | Значение По Умолчанию | Описание |
---|
digits
|
|
нет
sound
integer
нет
sound_type
string
нет
Обязателен при наличии идентификтора sound. Может принимать значения:
- 'background' пользователь может сделать донабор, пока звучит приветствие
- 'foreground' пользователь должен прослушать приветствие до конца
play_digits_method
string
нет
Обязателен при установленной опции digits. Может быть:
- 'pronounced' проговорить цифры как одно число
- iterated' - проговорить цифры последовательно одна за другой
interval
integer
нет
caller_id_action
string
нет
определяет метод анализа источника вызова caller_id:
- 'matches' должен совпадать (caller_id должен быть задан)
- 'not_matches' должен не совпадать (caller_id должен быть задан)
- 'anonymous' источник скрыт
- 'any' любой источник
caller_id
string
нет
context_option
string
нет
Определяет опцию контекста, в которую нужно перейти, при action='jump_to_context'
silence_time
integer
нет
context
integer
нет
transfer_dst
string
нет
set_variable_name
string
нет
Имя переменной, которая должна быть установлена. Должно начинаться с латинской буквы, может содержать латинские буквы, цифры, а также символы подчеркивания. Обязателен для action='set_variable
set_variable_value
string
нет
match_variable_name
string
match_variable_value
string
transfer_variable
string
нет
call_interactive_url
string
нет
call_interactive_method
string
нет
action
string
да
Непосредственно определяет, что нужно сделать в этом правиле:
- 'transfer' - перевод звонка (параметр transfer_dst)
- 'hangup' - повесить трубку
- 'play_sound' - проиграть приветствие (параметр sound и sound_type)
- 'play_silence' - тишина в background формате (параметр silence_time).
- 'jump_to_context' - перейти в другой контекст (параметр context и context_option)
- 'play_digits' - проиграть число (параметр digits и play_digits_method)
- 'set_variable' - установить переменную в канале (параметры
set_variable_name
и
set_variable_value
- 'transfer_from_variable' - перевод звонка на номер, содержащийся в переменной (параметр
transfer_variable
) - 'call_interactive' - функция Call Interactive – осуществить HTTP-запрос на определенный URL (параметры
call_interactive_url
иcall_interactive_method
)
...
Имя переменной | Описание |
---|---|
called_did | Публичный номер (DID), на который пришел вызов в систему. Если вызов локальный, переменная содержит номер IVR без префикса клиента. |
Пример
Для клиента с уникальным идентификатором 12, нужно создать IVR с номером "071" при попадании в который действуют правила:
- Проиграть foreground музыкальный файл "advertising.wav" 1 раз
- Проиграть background музыкальный файл "hello.wav" и в случае отсутствия выбора клиента автоматически переводить на добавочный 050
- При наборе "1" перевод на мобильный +7(987)6543210
- При наборе "2" перевод на добавочный 002
- Позволять прямой набор трехзначных добавочных номеров
Действия:
...
Используя ресурс sound, нужно загрузить файл hello.wav и advertising.wav
user@host$ curl -i -X POST -F file =@hello.wav -F "title=мой файл приветствия" -H "Authorization: Bearer TSyAxXtAsbE9Kl0iAVGG6LmnfEte8X" https: //host .domain /api/ver1 .0 /client/12/sound/ HTTP /1 .1 100 Continue HTTP /1 .1 201 CREATED Server: nginx /1 .8.0 Date: Tue, 11 Aug 2015 09:50:41 GMT Content-Type: application /json Content-Length: 150 Connection: keep-alive Access-Control-Allow-Origin: * Access-Control-Allow-Methods: GET, POST, DELETE, PUT, PATCH, OPTIONS Access-Control-Allow-Headers: Content-Type, api_key, Authorization { "id" : 51, "client_id" : 12, "title" : "мой файл приветствия" } user@host$ curl -i -X POST -F file =@advertising.wav -F "title=мой файл рекламы" -H "Authorization: Bearer TSyAxXtAsbE9Kl0iAVGG6LmnfEte8X" https: //host .domain /api/ver1 .0/client/12 /sound/ HTTP /1 .1 100 Continue HTTP /1 .1 201 CREATED Server: nginx /1 .8.0 Date: Tue, 11 Aug 2015 09:50:41 GMT Content-Type: application /json Content-Length: 150 Connection: keep-alive Access-Control-Allow-Origin: * Access-Control-Allow-Methods: GET, POST, DELETE, PUT, PATCH, OPTIONS Access-Control-Allow-Headers: Content-Type, api_key, Authorization { "id" : 52, "client_id" : 12, "title" : "мой файл рекламы" } |
идентификаторы новых файлов: hello.wav "id": 51; advertising.wav "id": 52
| Непосредственно определяет, что нужно сделать в этом правиле:
| |||
|
|
| Проговорить указанные цифры (методом play_digits_method), обязателен при action= 'play_digits' | |
|
|
| Идентификатор звукового файла, который необходимо проиграть, обязателен при action= 'play_sound' | |
|
| нет | Обязателен при наличии идентификтора sound. Может принимать значения:
| |
|
|
| Обязателен при установленной опции digits. Может быть:
| |
|
|
| правило выполняется только в этом временном интервале | |
|
|
| определяет метод анализа источника вызова caller_id:
| |
|
|
| Правило будет работать только для вызовов, источник которых определяется этим полем. Поле заполняется в виде регулярного выражения PCRE. Например: "^(\+|)7812" будет соответствовать всем источникам, начинающимся на "+7812" или "7812" | |
|
|
| Определяет опцию контекста, в которую нужно перейти, при action='jump_to_context' | |
|
|
| Время (в миллисекундах) отсутствия каких-либо звуков со стороны АТС, обязателен при action= 'play_silence' | |
|
|
| Определяет идентификатор другого контекста, в который нужно перейти, обязателен при action='jump_to_context' | |
|
|
| Переадресация на указанный номер. Если нужна переадресация на несколько номеров одновременно (одновременный вызов), то эти номера перечисляются через пробел. Обязателен для action='transfer' | |
|
|
| Имя переменной, которая должна быть установлена. Должно начинаться с латинской буквы, может содержать латинские буквы, цифры, а также символы подчеркивания. Обязателен для action='set_variable | |
|
|
| Значение переменной, которая должна быть установлена. Обязателен для action='set_variable' | |
match_variable_name | string | нет | Имя переменной IVR, значение которой будет сравниваться со значением, заданным параметром match_variable_value. Если значения совпадут, то правило выполнится. Сравниваемая переменная может быть установлена системой, см. раздел "Предустановленные переменные в IVR", либо задана правилом опции контекста типа set_variable. | |
match_variable_value | string | нет | Значение, которое будет сравниваться со значением переменной, имя которой задано параметром match_variable_name. Если значения совпадут, то правило выполнится. Обязателен, если задан параметр match_variable_name. | |
|
|
| Имя переменной, значение которой будет использовано в качестве номера для переадресации. Если переменная не установлена, то действие не выполняется. Переменная может быть установлена с помощью действия set_variable, record_digits, либо с помощью функции Call Interactive. Обязателен при action= 'transfer_from_variable' | |
|
|
| Имя переменной, значение которой будет использовано для проигрывания цифр. Если переменная не установлена, то действие не выполняется. Переменная может быть установлена с помощью действия set_variable, record_digits, либо с помощью функции Call Interactive. Обязателен при action= 'play_digits_from_variable' | |
|
|
| Имя переменной, в которую будут записаны введённые цифры. Обязателен при action= 'record_digits' | |
| integer |
| Максимальное количество введённый цифр, который будут записаны в переменную. Обязателен при action= 'record_digits' | |
max_rate | integer | нет | 5 | Максимальная оценка разговора, параметр, только для действия quality_rate |
| integer |
| Идентификатор звукового файла, который может быть проигран перед записью ввёденных цифр в переменную. | |
|
|
| URL, на который будет осуществляться HTTP-запрос функцией Call Interactive. Должен начинаться с http:// или c https://. Обязателен для action='call_interactive' | |
|
|
| Метод, которым будет осуществляться HTTP-запрос функцией Call Interactive . Может принимать значение 'GET' или 'POST'. Обязателен для action='call_interactive' | |
|
|
| 5 | Время в секундах, в течение которого система будет ожидать ответ на HTTP-запрос функции Call Interactive. Если вызываемый URL не вернул ответ по истечении этого времени, то выполняется следующее правило. |
|
|
| Номер звонящего для дальнейших переадресаций. Данный параметр может содержать в себе имена переменных, установленных в других действиях ранее, а также предустановленных переменных IVR. Имена переменных указываются в формате ${имя_переменной}. Обязателен при action= 'set_caller_id_number' | |
|
|
| Имя звонящего для дальнейших переадресаций. Данный параметр может содержать в себе имена переменных, установленных в других действиях ранее, а также предустановленных переменных IVR. Имена переменных указываются в формате ${имя_переменной}.Обязателен при action= 'set_caller_id_name' | |
play_sound_from_variable | boolean | нет | false | Для правил play_sound, quality_rate, voice_helper доступен параметр play_sound_from_variable. В этой системной переменной может хранится приветствие, синтезированное с помощью действия text_to_speech в call interactive: Call Interactive#TTS В случае, если синтезированного приветствия нет, а play_sound_from_variable активен- будет проигран звуковой файл по-умолчанию, указанный в sound |
Предустановленные переменные в IVR
Anchor | ||||
---|---|---|---|---|
|
Имя переменной | Описание |
---|---|
called_did | Публичный номер (DID), на который пришел вызов в систему. Если вызов локальный, переменная содержит номер IVR без префикса клиента. |
caller_id_name | Имя звонящего |
caller_id_number | Номер звонящего |
Пример
Для клиента с уникальным идентификатором 12, нужно создать IVR с номером "071" при попадании в который действуют правила:
- Проиграть foreground музыкальный файл "advertising.wav" 1 раз
- Проиграть background музыкальный файл "hello.wav" и в случае отсутствия выбора клиента автоматически переводить на добавочный 050
- При наборе "1" перевод на мобильный +7(987)6543210
- При наборе "2" перевод на добавочный 002
- Позволять прямой набор трехзначных добавочных номеров
Действия:
Используя ресурс sound, нужно загрузить файл hello.wav и advertising.wav
user@host$ curl -i -X POST -F
file
=@hello.wav -F
"title=мой файл приветствия"
-H
"Authorization: Bearer TSyAxXtAsbE9Kl0iAVGG6LmnfEte8X"
https:
//host
.domain
/api/ver1
.0
/client/12/sound/
HTTP
/1
.1 100 Continue
HTTP
/1
.1 201 CREATED
Server: nginx
/1
.8.0
Date: Tue, 11 Aug 2015 09:50:41 GMT
Content-Type: application
/json
Content-Length: 150
Connection: keep-alive
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, DELETE, PUT, PATCH, OPTIONS
Access-Control-Allow-Headers: Content-Type, api_key, Authorization
{
"id"
: 51,
"client_id"
: 12,
"title"
:
"мой файл приветствия"
}
user@host$ curl -i -X POST -F
file
=@advertising.wav -F
"title=мой файл рекламы"
-H
"Authorization: Bearer TSyAxXtAsbE9Kl0iAVGG6LmnfEte8X"
https:
//host
.domain
/api/ver1
.0/client/12
/sound/
HTTP
/1
.1 100 Continue
HTTP
/1
.1 201 CREATED
Server: nginx
/1
.8.0
Date: Tue, 11 Aug 2015 09:50:41 GMT
Content-Type: application
/json
Content-Length: 150
Connection: keep-alive
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, DELETE, PUT, PATCH, OPTIONS
Access-Control-Allow-Headers: Content-Type, api_key, Authorization
{
"id"
: 52,
"client_id"
: 12,
"title"
:
"мой файл рекламы"
}
идентификаторы новых файлов: hello.wav "id": 51; advertising.wav "id": 52
Используя ресурс extension, создать добавочный, типа "ivr"
методресурсданныеответPOST client/@me/extension/
{
"status": "active",
"name": "071",
"label": "тестовый IVR",
"type": "ivr"
}{
"status": "active",
"name": "000*071",
"extra_params": null,
"label": "тестовый IVR",
"client_id": 12,
"extension_group_id": null,
"type": "ivr",
"id": 204
}Идентификатор нового добавочного "id": 204
Создаем контекст, который будет являться главным (entry_context):
методресурсданныеответPOST /extension/204/ivr/context/
{
"digit_len": 3,
"allow_any_dial": true,
"inter_digit_timeout": 2000,
"name": "Основной контекст",
"timeout": 5000
}{
"name": "Основной контекст",
"inter_digit_timeout": 2000,
"timeout": 5000,
"allow_any_dial": true,
"id": 1,
"digit_len": 3
}Идентификатор контекста "id": 1
Теперь можно привязать этот контекст ,как главный к нашему IVR, заодно указываем "sleep-time", позволяющий задать паузу от прихода вызова в IVR до начала каких-либо действий контекста "entry_context"
методресурсданныеответPUT extension/204/ivr/
{
"sleep_time": 5000,
"entry_context": 1
}{
"lifetime_exp_transfer_dst": null,
"lifetime_exp_action": "hangup",
"lifetime": 1800,
"sleep_time": 5000,
"entry_context": 1
}Как отмечалось ранее, каждый контекст уже имеет опцию start. Сконфигурирем его для проигравания foreground музыкального файла "advertising.wav"
методресурсданныеответPOST extension/204/ivr/context/1/options/start/rules/
{
"sound": 52,
"sound_type": "foreground",
"action": "play_sound"
}{
"digits": null,
"sound": 52,
"sound_type": "foreground",
"play_digits_method": null,
"interval": null,
"caller_id_action": "any",
"caller_id": null,
"context_option": null,
"silence_time": null,
"context": null,
"transfer_dst": null,
"action": "play_sound",
"id": 1
}Далее, по аналогии, укажем воспроизвести файл hello.wav в background
методресурсданныеответPOST extension/204/ivr/context/1/options/start/rules/
{
"sound": 51,
"sound_type": "background",
"action": "play_sound"
}{
"digits": null,
"sound": 51,
"sound_type": "background",
"play_digits_method": null,
"interval": null,
"caller_id_action": "any",
"caller_id": null,
"context_option": null,
"silence_time": null,
"context": null,
"transfer_dst": null,
"action": "play_sound",
"id": 2
}Теперь в контексте "Основной контекст", добавим возможность обработки выбора "1"
методресурсданныеответPOST /extension/204/ivr/context/1/options/
{
"digits": "1"
}{
"digits": "1"
}И укажем, что хотим делать для выбора "1" (перевод на мобильный +7(987)6543210)
client/@me/extensionметодресурсданныеответPOST
status": "active",/extension/204/ivr/context/1/options/1/rules/
{
"
"name": "071",
"label": "тестовый IVR",
"type": "ivr"
}
"status": "active",
"name": "000*071",
"extra_params
labeltransfer_dst": "+7987654321",
"action": "transfer"
}{
"digits": null,
"sound": null,
"sound_type": null,
"play_digits_method": null,
"interval": null,
"caller_id_action": "any",
"caller_id": null,
"context_option": null,
"silence_time": null,
"context": null,
"
тестовый IVRtransfer_dst": "
"client_id": 12+7987654321",
extension_group_"action": "transfer",
"
null,id":
"type": "ivr",
"id": 204
}Идентификатор нового добавочного "id": 204
Создаем контекст, который будет являться главным (entry_context):3
}По аналогии добавим вызов добавочного "002" по набору "2"
методресурсданныеответPOST /extension/204/ivr/context/1/options/
{
"digits": "2"
}{
"digits": "2"
}методресурсданныеответPOST /extension/204/ivr/context/1/options/1/rules/
digit{
"
lentransfer_
3,dst":
"allow_any_dial": true
inter_digit_timeout"002",
"
2000,action":
"name": "Основной контекст",
"timeout": 5000
name": "Основной контекст","transfer"
}{
"
"inter_digit_timeout": 2000,
"timeout": 5000,
"allow_any_dial": true
iddigits": null,
"
1sound":
digitnull,
"
lensound_
3type":
}Идентификатор контекста "id": 1
Теперь можно привязать этот контекст ,как главный к нашему IVR, заодно указываем "sleep-time", позволяющий задать паузу от прихода вызова в IVR до начала каких-либо действий контекста "entry_context"
Как отмечалось ранее, каждый контекст уже имеет опцию start. Сконфигурирем его для проигравания foreground музыкального файла "advertising.wav"методресурсданныеответPUT extension/204/ivr/
{{
"sleep_time": 5000,
"entry_context": 1
}
"lifetime_exp_transfer_dst
lifetimenull,
"play_digits_method": null,
"interval": null,
"caller_id_action": "any",
"caller_id": null,
"context_option": null,
"
exp_actionsilence_
hanguptime": null,
"
lifetimecontext": null,
"
1800transfer_dst":
sleep_time"002",
"
5000action":
entry_context": 1"transfer",
"
}id": 4
}Осталось в случае отсутствия выбора клиента автоматически переводить на добавочный 050. Как уже отмечалсь, в контектсте есть опция "timeout", в которой можно задать это действие
extensionметодресурсданныеответPOST
204/
ivrivr/
1144/context/
start2/options/
sound": 52,timeout/rules/
{
"
"sound_type
foregroundtransfer_dst": "
play_sound050",
"action": "
52transfer"
}{
"digits": null,
"sound":
"foreground"null,
"sound_type":
": null,null,
"play_digits_method": null,
"interval": null,
"caller_id_action": "any",
"caller_id": null,
"context_option
"silence_time
null": null,
"context": null,
"transfer_dst":
play_sound"050",
"action": "
1transfer",
"id":5
}Далее, по аналогии, укажем воспроизвести файл hello.wav в background
В итоге можно посмотреть все доступные опции контекста:
POSTметодресурсданныеответ
start/rules/GET /extension/204/ivr/context/1/options/
sound[
{
"
51,digits":
"sound_type": "background",
"action": "play_sound
null,"start"
},
{
"digits": "timeout"
},
{
"digits":
sound"
: 51invalid"
sound_type
},
{
"
backgrounddigits": "
play_2"
},
{
"
_methoddigits
null,":
"interval": null,
"caller_id_action": "any",
"caller_id": null,
"context_option": null,
"silence_time": null,
"context": null,
"transfer_dst": null,
"action": "play_sound",
"id": 2
}Теперь в контексте "Основной контекст", добавим возможность обработки выбора "1"
методресурсданныеответPOST /extension/204/ivr/context/1/options/
{
"digits": "1"
}{
"digits": "1"
}И укажем, что хотим делать для выбора "1" (перевод на мобильный +7(987)6543210)
методресурсданныеответPOST /extension/204/ivr/context/1/options/1/rules/
{
"transfer_dst": "+7987654321",
"action": "transfer"
}{
"digits": null,
"sound": null,
"sound_type": null,
"play_digits_method": null,
"interval": null,
"caller_id_action": "any",
"caller_id": null,
"context_option": null,
"silence_time": null,
"context": null,
"transfer_dst": "+7987654321",
"action": "transfer",
"id": 3
}По аналогии добавим вызов добавочного "002" по набору "2"
методресурсданныеответPOST /extension/204/ivr/context/1/options/
{
"digits": "2"
}{
"digits": "2"
}методресурсданныеответPOST /extension/204/ivr/context/1/options/1/rules/
{
"transfer_dst": "002",
"action": "transfer"
}{
"digits": null,
"sound": null,
"sound_type": null,
"play_digits_method": null,
"interval": null,
"caller_id_action": "any",
"caller_id": null,
"context_option": null,
"silence_time": null,
"context": null,
"transfer_dst": "002",
"action": "transfer",
"id": 4
}Осталось в случае отсутствия выбора клиента автоматически переводить на добавочный 050. Как уже отмечалсь, в контектсте есть опция "timeout", в которой можно задать это действие
методресурсданныеответPOST /ivr/144/context/2/options/timeout/rules/
{
"transfer_dst": "050",
"action": "transfer"
}{
"digits": null,
"sound": null,
"sound_type": null,
"play_digits_method": null,
"interval": null,
"caller_id_action": "any",
"caller_id": null,
"context_option": null,
"context": null,
"transfer_dst": "050",
"action": "transfer",
"id": 5
}В итоге можно посмотреть все доступные опции контекста:
методресурсданныеответGET /extension/204/ivr/context/1/options/
[
{
"digits": "start"
},
{
"digits": "timeout"
},
{
"digits": "invalid"
},
{
"digits": "2"
},
{
"digits": "1"
}
]
Ресурсы
Раздел "добавочный"
PUT /extension/{extension_id}/ivr/
Обновить ivr configuration
Параметры URL
Имя | Тип |
---|---|
|
|
Параметры JSON
Имя | Тип | Обязательный |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Поля ответа
Имя | Тип |
---|---|
|
|
|
|
|
|
|
|
|
|
...
"1"
}
]
Ресурсы
Раздел "добавочный"
PUT /extension/{extension_id}/ivr/
Обновить ivr configuration
Параметры URL
Имя | Тип |
---|---|
|
|
Параметры JSON
Имя | Тип | Обязательный |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Поля ответа
Имя | Тип |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GET /extension/{extension_id}/ivr/
Получить ivr configuration
Параметры URL
Имя | Тип |
---|---|
|
|
Поля ответа
Имя | Тип |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
...
POST /extension/{extension_id}/ivr/context/
Добавить ivr context
Параметры URL
Имя | Тип |
---|---|
|
|
Параметры JSON
Имя | Тип | Обязательный |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Поля ответа
Имя | Тип |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
GET /extension/{extension_id}/ivr/context/
Получить ivr context list
Параметры URL
Имя | Тип |
---|---|
|
|
Поля ответа
Имя | Тип |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
...
PUT /extension/{extension_id}/ivr/context/{context_id
}
Обновить ivr context
Параметры URL
Имя | Тип |
---|---|
|
|
|
|
Параметры JSON
Имя | Тип | Обязательный |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Поля ответа
Имя | Тип |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
GET /extension/{extension_id}/ivr/context/{context_id
}
Получить ivr context
Параметры URL
Имя | Тип |
---|---|
|
|
|
|
Поля ответа
Имя | Тип |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
DELETE /extension/{extension_id}/ivr/context/{context_id
}
Удалить ivr context
Параметры URL
Имя | Тип |
---|---|
|
|
|
|
...
POST /extension/{extension_id}/ivr/context/{context_id}/
...
options/
Добавить context option
Параметры URL
Имя | Тип |
---|---|
|
|
|
|
...
Параметры JSON
Имя | Тип |
---|
lifetime_exp_transfer_dst
Обязательный | |
---|---|
|
|
lifetime
integer
sleep_time
integer
entry_context
integer
lifetime_exp_action
string
...
|
Поля ответа
Имя | Тип |
---|---|
|
|
GET /extension/{extension_id}/ivr/context/
...
{context_id}/options/
Получить context options list
Параметры URL
Имя | Тип |
---|---|
|
|
|
|
...
Поля ответа
Имя | Тип |
---|
|
timeout
integer
нет
allow_any_dial
boolean
нет
inter_digit_timeout
integer
нет
name
string
да
digit_len
integer
нет
...
|
...
DELETE /extension/{extension_id}/ivr/context/{context_id}/options/{option_digits
}
Удалить context option
Параметры URL
Имя | Тип |
---|
name
string
inter_digit_timeout
integer
|
|
timeout
integer
allow_any_dial
boolean
options
array [string]
digit_len
integer
...
|
|
|
|
...
POST /extension/{extension
...
_id}/ivr/context/{context_id}/options/{option_digits}/rules/
Добавить context rule
Параметры URL
Имя | Тип |
---|---|
|
|
|
|
...
|
|
Параметры JSON
Имя | Тип |
---|
name
Обязательный |
---|
string
inter_digit_timeout
integer
id
integer
timeout
integer
allow_any_dial
boolean
options
array [string]
digit_len
integer
PUT /extension/{extension_id}/ivr/context/{context_id
}
Обновить ivr context
Параметры URL
Имя | Тип |
---|---|
|
|
|
|
Параметры JSON
Имя
Тип
Обязательный
timeout
integer
нет
allow_any_dial
boolean
нет
inter_digit_timeout
integer
нет
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
max_rate | integer | нет |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
integer
|
|
|
...
|
|
|
name
|
string
|
|
|
integer
|
id
integer
timeout
integer
allow_any_dial
boolean
options
array [string]
digit_len
integer
GET /extension/{extension_id}/ivr/context/{context_id
}
Получить ivr context
Параметры URL
Имя | Тип |
---|---|
|
|
|
|
Поля ответа
Имя | Тип |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DELETE /extension/{extension_id}/ivr/context/{context_id
}
Удалить ivr context
Параметры URL
Имя | Тип |
---|---|
|
|
|
|
POST /extension/{extension_id}/ivr/context/{context_id}/options/
Добавить context option
Параметры URL
Имя | Тип |
---|---|
|
|
|
|
Параметры JSON
Имя | Тип | Обязательный |
---|---|---|
|
|
|
Поля ответа
Имя | Тип |
---|---|
|
|
GET /extension/{extension_id}/ivr/context/{context_id}/options/
Получить context options list
Параметры URL
Имя | Тип |
---|---|
|
|
|
|
Поля ответа
Имя | Тип |
---|---|
|
|
DELETE /extension/{extension_id}/ivr/context/{context_id}/options/{option_digits
}
Удалить context option
Параметры URL
Имя | Тип |
---|---|
|
|
|
|
|
|
...
| ||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Поля ответа
Имя | Тип |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GET /extension/{extension_id}/ivr/context/{context_id}/options/{option_digits}/rules/
Добавить Получить context rulerules list
Параметры URL
Имя | Тип |
---|---|
|
|
|
|
|
|
...
Поля ответа
Имя | Тип |
---|
Обязательный
digits
string
нет
sound
integer
нет
sound_type
string
нет
interval
integer
нет
transfer_dst
string
нет
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
нет
|
|
|
|
|
нет
|
|
|
|
|
нет
|
|
|
нет
|
caller_id
|
string
|
нет
|
|
|
|
нет
|
|
|
нет
silence_time
integer
нет
match_variable_value
|
|
нет
|
context
|
integer
|
нет
|
|
|
нет
action
|
|
|
|
да
|
position
|
integer
|
нет
| |
|
|
нет
transfer_variable
string
нет
name
string
нет
...
|
|
|
|
...
PUT /extension/{extension_id}/ivr/context/{context_id}/options/{option_digits}/rules/order/
Udpate context option rules order
Параметры URL
Имя | Тип |
---|
digits
|
string
|
sound
|
integer
|
|
|
|
interval
integer
transfer_dst
string
match_variable_name
string
context_option
string
call_interactive_url
string
caller_id_action
string
caller_id
string
play_digits_method
string
call_interactive_method
string
silence_time
integer
match_variable_value
string
context
integer
set_variable_name
string
action
string
set_variable_value
string
transfer_variable
string
id
integer
name
string
...
Параметры JSON
Имя | Тип | Обязательный |
---|---|---|
|
|
|
Поля ответа
Имя | Тип |
---|---|
|
|
GET /extension/{extension_id}/ivr/context/{context_id}/options/{option_digits}/rules/order/
Получить context option rules order
Параметры URL
Имя | Тип |
---|---|
|
|
|
|
|
|
Поля ответа
Имя | Тип |
---|---|
|
|
...
PUT /extension/{extension_id}/ivr/context/{context_id}/options/{option_digits}/rules/{rule_id
}
Получить Обновить context rules listrule
Параметры URL
Имя | Тип |
---|---|
|
|
extension_id
string
Имя
Тип
digits
string
sound
|
|
Поля ответа
|
|
|
|
|
interval
Параметры JSON
integer
Имя |
---|
transfer_dst
Тип |
---|
string
Обязательный |
---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
caller_id
| ||
|
|
|
|
|
|
|
|
|
silence_time
| ||
|
|
|
|
|
|
context
set
|
integer
|
|
|
|
action
set_variable_value
|
string
|
|
|
|
|
string
|
id
integer
Имя
Тип
Обязательный
| |
|
|
PUT /extension/{extension_id}/ivr/context/{context_id}/options/{option_digits}/rules/{rule_id
}
Обновить context rule
Параметры URL
Имя | Тип |
---|---|
|
|
|
|
|
|
|
|
Параметры JSON
| ||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sound
|
integer
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
match_variable_name
|
|
|
|
|
|
|
|
|
string
|
|
|
|
|
string
|
|
caller_id
string
нет
Поля ответа
call_interactive_method
string
нет
silence_time
integer
нет
Имя | Тип |
---|---|
|
|
|
|
|
|
нет
context
integer
нет
|
|
|
|
нет
|
action
|
нет
|
|
нет
position
set
|
|
нет
|
|
|
|
нет
|
string
нет
|
|
нет
Поля ответа
Имя
Тип
digits
string
sound
integer
sound_type
string
interval
integer
transfer_dst
string
match_variable_name
string
context_option
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
caller_id
|
|
play_digits_method
|
|
|
|
|
|
silence_time
|
|
|
|
|
|
|
set_variable_name
string
|
|
|
|
|
|
string
id
| |
|
|
name
string
GET /extension/{extension_id}/ivr/context/{context_id}/options/{option_digits}/rules/{rule_id
}
Получить context rule
Параметры URL
Имя | Тип |
---|---|
|
|
|
|
|
|
|
|
Поля ответа
match_variable_name
Имя | Тип |
---|
digits
string
sound
integer
sound_type
string
interval
integer
transfer_dst
string
Имя | Тип |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
silence_time
|
|
|
|
|
|
context
integer
|
|
|
|
|
|
|
|
string
|
id
| |
|
|
...
|
...
Удалить context rule
Параметры URL
Имя | Тип |
---|---|
|
|
|
|
|
|
|
|
PUT /extension/{extension_id}/ivr/context/{context_id}/options/{option_digits}/rules/order/
Udpate context option rules order
Параметры URL
Имя | Тип |
---|---|
|
|
|
|
|
|
Параметры JSON
Имя | Тип | Обязательный |
---|---|---|
|
|
|
Поля ответа
Имя | Тип |
---|---|
|
|
...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DELETE /extension/{extension_id}/ivr/context/{context_id}/options/{option_digits}/rules/
...
{rule_id
}
Удалить context rule
Параметры URL
Имя | Тип |
---|---|
|
|
extension_id
string
Имя
Тип
rules_ids
array [integer]
|
|
Поля ответа
|
|
|
|
...
Теги по теме
Related Labels |
---|