Premedia API позволяет: ü Загружать промт и воспроизводить его в сторону звонящего и/либо в сторону принимающего вызов при переадресации; ü Устанавливать text-to-speech и воспроизводить его в сторону звонящего и/либо в сторону принимающего вызов при переадресации; ü Управление основными сценариями Premedia API: - "scenario_id": "1" - проигрывание промта/TTS в сторону А-номера
- "scenario_id": "2" - проигрывание промта/TTS в сторону принимающего вызов (С-номер)
- "scenario_id": "3" - проигрывание промта/TTS в сторону А-номера и в сторону принимающего вызов (С-номер - redirect number)
Точка подключения: https://gapi.mtt.ru:6443/v1/api
Создаёт prompt/TTS Входные параметры:Name | Type | Description | customer_name* | string | Идентификатор customer'а. | prompt_type | string | 'file' || 'text' (дефолтное значение 'file'). Если 'text', то prompt_file_contents посредством TextToSpeech преобразуется в mp3 файл. | prompt_name* | string | Название prompt'а (обязательно наличие расширения mp3 !!!) | prompt_file_contents* | string | Содержимое файла prompt'а в кодировке base64. Формат файлов mp3. (для TTS - UTF-8!!!) |
* - обязательные поля Выходные параметры:Name | Type | Description | success | boolean | Флаг успеха |
Авторизация:Авторизация осуществляется штатными средствами HTTP Пример:Запрос: JSON Загрузка prompta (аудио файла)
{
" id ": "1",
"jsonrpc": "2.0",
"method": "createCustomerPrompt",
"params":
{
"customer_name" : "110000777",
"prompt_name": "116",
"prompt_type" : "file",
"prompt_file_contents": " ���� h ��� ' � "
}
}
Загрузка текста (TTS) { "id": "1",
"jsonrpc": "2.0",
"method": "createCustomerPrompt",
"params":
{
"customer_name" : "110000777",
"prompt_name": "116",
"prompt_type" : "text",
"prompt_file_contents": "Ваш
звонок судьбоносен для нас"
}
}
|
Ответ: Успешный ответ: JSON {
"jsonrpc":"2.0",
"id":55585,
"result":
{
"success":true
}
}
|
Не успешный ответ:JSON {
"jsonrpc": "2.0",
"id": "1",
"error":
{
"code":
-32601,
"message": "Data
not found",
"data":
[
{
"code": "V_VALUE_NOT_FOUND",
"attribute": "customer_id",
"message": "customer_name
«79991234568» not found.",
"tpl": "{attribute}
«{value}» not found.",
"tplParams":
{
"value": "79991234568",
"attribute": "customer_name"
}
}
]
}
}
{
"jsonrpc":"2.0",
"id":55585,
"error":
{
"code":-32602,
"message":"Invalid
params",
"data":
[
{
"code":"V_VALUE_ALREADY_EXISTS",
"attribute":"prompt_name",
"message":"prompt_name
«TTS_file12.wav» already exists.",
"tpl":"{attribute}
«{value}» already exists.",
"tplParams":
{
"value":"TTS_file12.wav",
"attribute":"prompt_name"
}
}
]
}
}
|
|
Возвращает информацию о всех промтах предустановленных для customer'а в premedia api. Входные параметры:Name | Type | Description | customer_name* | string | Идентификатор customer'а. |
* - обязательные поля Выходные параметры:Name | Type | Description | id | integer | Идентификатор промта в premedia api | name | string | Название файла промта |
Авторизация:Авторизация осуществляется штатными средствами HTTP Пример:Запрос: JSON {
"id": "1",
"jsonrpc": "2.0",
"method": "getCustomerPrompts",
"params":
{
"customer_name":
110000777
}
}
|
Ответ: Успешный ответ: JSON {
"jsonrpc":"2.0",
"id":"1",
"result":
{
"prompts_list":
[
{
"id":1,
"name":"116.mp3"
},
{
"id":2,
"name":"TTS_116.mp3"
}
]
}
}
|
Не успешный ответ: JSON {
"jsonrpc":"2.0",
"id":"1",
"error":
{
"code":-32001,
"message":"Data
not found",
"data":
[
{
"code":"V_VALUE_NOT_FOUND",
"attribute":"i_customer",
"message":"customer_name
«1012» not found.",
"tpl":"{attribute}
«{value}» not found.",
"tplParams":
{
"value":1012,
"attribute":"customer_name"
}
}
]
}
}
|
|
Описание:Удаляет prompt customer'а Входные параметры:Name | Type | Description | customer_name* | string | Идентификатор customer'а. По соглашению было принято использовать i_customer. | prompt_name* | string | Имя prompt'а |
* - обязательные поля Выходные параметры:Name | Type | Description | success | bool | Успешность выполнения |
Авторизация:Авторизация осуществляется штатными средствами HTTP Пример:Запрос: JSON {
"id": "1",
"jsonrpc": "2.0",
"method": "deleteCustomerPrompt",
"params":
{
"customer_name" : "110000777",
"prompt_name": "116.mp3"
}
}
|
Ответ: Успешный ответ: JSON {
"jsonrpc": "2.0",
"id":
1,
"result":
{
"success": true
}
}
|
Не успешный ответ: JSON {
"jsonrpc":"2.0",
"id":"1",
"error":
{
"code":-32001,
"message":"Data
not found",
"data":
[
{
"code":"V_VALUE_NOT_FOUND",
"attribute":"prompt_name",
"message":"prompt_name
«file4.wav.mp3a» not found.",
"tpl":"{attribute}
«{value}» not found.",
"tplParams":
{
"value":"file4.wav.mp3a",
"attribute":"prompt_name"
}
}
]
}
}
|
|
@ "scenario_id": "1" - проигрывание промта/TTS в сторону А-номера @ "scenario_id": "2" - проигрывание промта/TTS в сторону принимающего вызов (С-номер) @ "scenario_id": "3" - проигрывание промта/TTS в сторону А-номера и в сторону принимающего вызов (С-номер - redirect number) Входные параметры:Name | Type | Description | sip_id* | string | Идентификатор account'а. | scenario_id* | integer | Идентификатор сценария | answer | integer | Флаг предответного состояния - 0, 1 (default 0) |
* - обязательные поля Выходные параметры:Name | Type | Description | success | bool | Успешность выполнения |
Авторизация:Авторизация осуществляется штатными средствами HTTP Пример:Запрос: JSON {
"jsonrpc":"2.0",
"method":"updatePremediaAccountSettings",
"id":45630,
"params":{
"sip_id":" 74951348579 ",
"scenario_id": "3"
}
}
|
Ответ: Успешный ответ: JSON {
"jsonrpc": "2.0",
"id":
1,
"result":
{
"success": true
}
}
|
Не успешный ответ:JSON {
"jsonrpc": "2.0",
"id":
1,
"error":
{
"code":
-32001,
"message": "Data
not found",
"data":
[
{
"code": "V_VALUE_NOT_FOUND",
"attribute": "sip_id",
"message": "sip_id
«79991111112» not found.",
"tpl": "{attribute}
«{value}» not found.",
"tplParams":
{
"value": "79991111112",
"attribute": "sip_id"
}
}
]
}
}
{
"jsonrpc":"2.0",
"id":45630,
"error":
{
"code":-32001,
"message":"Data
not found",
"data":
[
{
"code":"V_VALUE_NOT_FOUND",
"attribute":"scenario_id",
"message":"scenario_id
«4» not found.",
"tpl":"{attribute}
«{value}» not found.",
"tplParams":
{
"value":"4",
"attribute":"scenario_id"
}
}
]
}
}
{
"jsonrpc":"2.0",
"id":45630,
"error":
{
"code":-32602,
"message":"Invalid
params",
"data":
[
{
"code":"V_VALUE_NOT_IN_LIST",
"attribute":"answer",
"message":"answer
3 must be one of those valid values 0,1.",
"tpl":"{attribute}
{currentvalue} must be one of those valid values {value}.",
"tplParams":
{
"attribute":"answer",
"currentvalue":"3",
"value":"0,1"
}
}
]
}
}
|
|
Метод привязывает к аккаунту уже загруженный ранее промт, согласно ранее установленному сценарию. Входные параметры:Name | Type | Description | sip_id* | string | Идентификатор account'а. | prompt_name* | integer | Имя промпта (ранее загруженного) | side* | string | Какому плечу (A или B) будет проигрываться промпт |
* - обязательные поля Выходные параметры:Name | Type | Description | success | bool | Успешность выполнения |
Авторизация:Авторизация осуществляется штатными средствами HTTP Пример:Запрос: JSON Установка TTS для абонента А
{
"id": "1",
"jsonrpc": "2.0",
"method": "setAccountPrompt",
"params":
{
"sip_id" : "74951348579",
"prompt_name": "TTS_116.mp3",
"side" : "A"
}
}
Установка промта для абонента B (кто принимает вызов)
{
"id": "1",
"jsonrpc": "2.0",
"method": "setAccountPrompt",
"params":
{
"sip_id" : "74951348579",
"prompt_name": "116.mp3",
"side" : "B"
}
}
|
Ответ: Успешный ответ: JSON {
"jsonrpc": "2.0",
"id":
1,
"result":
{
"success": true
}
}
|
Не успешный ответ:JSON {
"jsonrpc": "2.0",
"id":
1,
"error":
{
"code":
-32001,
"message": "Data
not found",
"data":
[
{
"code": "V_VALUE_NOT_FOUND",
"attribute": "sip_id",
"message": "sip_id
«79991111112» not found.",
"tpl": "{attribute}
«{value}» not found.",
"tplParams":
{
"value": "79991111112",
"attribute": "sip_id"
}
}
]
}
}
{
"jsonrpc":"2.0",
"id":45630,
"error":
{
"code":-32602,
"message":"Invalid
params",
"data":
[
{
"code":"V_VALUE_NOT_IN_LIST",
"attribute":"side",
"message":"side
C must be one of those valid values A, B.",
"tpl":"{attribute}
{currentvalue} must be one of those valid values {value}.",
"tplParams":
{
"attribute":"side",
"currentvalue":"C",
"value":"A, B"
}
}
]
}
}
|
|
Удаляет у account'а привязку промта, установленного для указанного плеча. Входные параметры:Name | Type | Description | sip_id* | string | Идентификатор account'а. | side* | string | К какому плечу (A или B) привязанный промпт нужно удалить |
* - обязательные поля Выходные параметры:Name | Type | Description | success | bool | Успешность выполнения |
Авторизация:Авторизация осуществляется штатными средствами HTTP Пример:Запрос: JSON {
"id": "1",
"jsonrpc": "2.0",
"method": "unsetAccountPrompt",
"params":
{
"sip_id" : "74951348579",
"side" : "A"
}
}
|
Ответ: Успешный ответ: JSON {
"jsonrpc": "2.0",
"id":
1,
"result":
{
"success": true
}
}
|
Не успешный ответ:JSON {
"jsonrpc": "2.0",
"id":
1,
"error":
{
"code":
-32001,
"message": "Data
not found",
"data":
[
{
"code": "V_VALUE_NOT_FOUND",
"attribute": "sip_id",
"message": "sip_id
«79991111112» not found.",
"tpl": "{attribute}
«{value}» not found.",
"tplParams":
{
"value": "79991111112",
"attribute": "sip_id"
}
}
]
}
}
|
|
Просмотр установленного сценария Premedia c выводом привязанных промтов Входные параметры:Name | Type | Description | sip_id* | string | Идентификатор account'а. |
* - обязательные поля Выходные параметры:Name | Type | Description | sip_id | string | Идентификатор промпта в премедиа апи | answer | boolean | Значение флага ответного/предответного состояния | diversion | boolean | Значение флага установки переадресации | scenario_id | integer | Идентификатор сценария | scenario_name | string | Наименование сценария | prompts | array | Инфо о промтах привязанных к аккаунту для плечей A,B |
Авторизация:Авторизация осуществляется штатными средствами HTTP Пример:Запрос: JSON {
"id": "1",
"jsonrpc": "2.0",
"method": "getPremediaAccountSettings",
"params":
{
"sip_id" : " 74951348579 "
}
}
|
Ответ: Успешный ответ: JSON {
"jsonrpc":"2.0",
"id":"1",
"result":
{
"sip_id":"74951348579",
"answer":false,
"diversion":true,
"scenario_id":3,
"scenario_name":"Premedia
Сценарий
3",
"prompts":
{
"a_prompt":
{
"id":2,
"name":"116.mp3"
},
"b_prompt":
{
"id":2,
"name":"TTS_116.mp3"
}
}
}
}
|
|
Устанавливает настройки переадресациии на Premedia аккаунте Входные параметры:Name | Type | Description | sip_id* | string | Идентификатор аккаунта | sequence | string:range(Order,Random,Simultaneous) | Тип сортировки при обзвоне списка правил. По умолчанию Order | caller_id | string | Отображаемый номер А-номер при переадресации Допустимый формат: ^7\d{10}$ ("7"+10цифр). | followmeStructure | array | Mассив настроек follow_me |
* - обязательные поля Формат настроек follow_me:Name | Type | Description | redirect_number | string | Номер для переадресации | name | string | Наименование follow_me записи | timeout | integer | По умолчанию 15 | active | string:range(Y,N) | Флаг активно/неактивно | follow_order | integer | Номер в очереди переадресации |
Авторизация:Авторизация осуществляется штатными средствами HTTP Пример:Запрос: JSON {
"jsonrpc":"2.0",
"method":"setFollowme",
"id":45630,
"params":{
"sip_id":"74951348579",
"caller_id":"74951348579",
"sequence": "Simultaneous",
"followmeStructure":
[
{
"redirect_number": "79163777604",
"name": "79163777604",
"active": "Y",
"timeout":15,
"follow_order":
1
},
{
"redirect_number": "79636793312",
"name": "79636793312",
"active": "Y",
"follow_order":
2
}
]
}
}
|
Ответ: Успешный ответ: JSON {
"jsonrpc":"2.0",
"id":45630,
"result":
{
"success":1
}
}
|
Не успешный ответ: JSON {
"jsonrpc":"2.0",
"id":45630,
"error":
{
"code":-32602,
"message":"Invalid
params",
"data":
[
{
"code":"V_REGEX_DO_NOT_MATCH",
"attribute":"caller_id",
"message":"The
caller_id property must match regular expression /^7\\d{10}$/.",
"tpl":"The
{attribute} property must match regular expression {pattern}.",
"tplParams":
{
"attribute":"caller_id",
"pattern":"/^7\\d{10}$/"
}
}
]
}
}
{
jsonrpc":"2.0",
"id":45630,
"error":
{
"code":-32603,
"message":"Internal
error",
"data":
[
{
"code":"A_CAPI_SET_FOLLOWME",
"attribute":"sip_id",
"message":"Failed
to set follow_me for account
sip_id «74951346313»",
"tpl":"Failed
to set follow_me for account
{attribute} «{value}»",
"tplParams":
{
"attribute":"sip_id",
"value":"74951346313"
}
}
]
}
}
|
|
Возвращает информацию о настройках переадресаций account'а. Входные параметры:Name | Type | Description | sip_id* | string | Идентификатор account'а. |
* - обязательные поля Выходные параметры:Name | Type | Description | sip_id | string | Идентификатор account'а. | sequence | stringstring:range(Order,Random,Simultaneous) | Тип сортировки при обзвоне списка правил. | caller_id | string | Отображаемый А-номер при переадресации | followmeStructure | array | Mассив настроек follow_me |
Формат элементов followmeStructure:Name | Type | Description | redirect_number | string | Номер для переадресации | name | string | Наименование follow_me записи | timeout | integer | Величина таймаута | active | string:range(Y,N) | Флаг активно/неактивно | follow_order | integer | Номер в очереди переадресации |
Авторизация: Авторизация осуществляется штатными средствами HTTP Пример:Запрос: JSON {
"id": "1",
"jsonrpc": "2.0",
"method": "getFollowmeAccountSettings",
"params":
{
"sip_id" : "74951348579"
}
}
|
Ответ:Успешный ответ: JSON {
"jsonrpc":"2.0",
"id":"1",
"result":
{
"sip_id":"74951348579",
"sequence":"Order",
"caller_id":"74951348579",
"followmeStructure":
[
{
"redirect_number":"79163777604",
"name":"79163777604",
"active":"Y",
"follow_order":"1",
"timeout":"25"
},
{
"redirect_number":"79636793312",
"name":"79636793312",
"active":"Y",
"follow_order":"2",
"timeout":"15"
}
]
}
}
|
Не успешный ответ: JSON {
"jsonrpc":"2.0",
"id":"1",
"error":
{
"code":-32002,
"message":"Permission
denied",
"data":
[
{
"code":"C_PERMISSION_DENIED",
"attribute":"common\\models\\premedia\\api\\Account",
"message":"You
don't have access to this common\\models\\premedia\\api\\Account «».",
"tpl":"You
don't have access to this {attribute} «{value}».",
"tplParams":
{
"value":"",
"attribute":"common\\models\\premedia\\api\\Account"
}
}
]
}
}
{
"jsonrpc":"2.0",
"id":45630,
"error":
{
"code":-32602,
"message":"Invalid
params",
"data":
[
{
"code":"V_VALUE_NOT_FOUND",
"attribute":"sip_id",
"message":"sip_id
« 74951346313» not found.",
"tpl":"{attribute}
«{value}» not found.",
"tplParams":
{
"attribute":"sip_id",
"value":"
74951346313"
}
}
]
}
}
|
|
|