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 Авторизация: Basic Auth Метод: POST
Expand |
---|
title | CreateCustomerPrompt |
---|
| Создаёт 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"
}
}
]
}
}
|
|
Expand |
---|
| Возвращает информацию о всех промтах предустановленных для 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",
"file_id": "c20ed66245ae695fc35f846ef3f35e94" },
{
"id":2,
"name":"TTS_116.mp3",
"file_id": "a11b494d3952ff1fb2b7de375524db41" }
]
}
}
|
Не успешный ответ: 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"
}
}
]
}
}
|
|
Expand |
---|
title | DeleteCustomerPrompt |
---|
| Описание:Удаляет 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"
}
}
]
}
}
|
|
Expand |
---|
title | UpdatePremediaAccountSettings |
---|
| @ "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"
}
}
]
}
}
|
|
Expand |
---|
| Метод привязывает к аккаунту уже загруженный ранее промт, согласно ранее установленному сценарию. Входные параметры: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"
}
}
]
}
}
|
|
Expand |
---|
| Удаляет у 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"
}
}
]
}
}
|
|
Expand |
---|
title | getPremediaAccountSettings |
---|
| Просмотр установленного сценария 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"
}
}
}
}
|
|
Expand |
---|
| Устанавливает настройки переадресациии на 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"
}
}
]
}
}
|
|
Expand |
---|
title | getFollowmeAccountSettings |
---|
| Возвращает информацию о настройках переадресаций 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"
}
}
]
}
}
|
|
|