Протестировать методы API можно на странице интерактивного обозревателя API и без написания кода
Некоторые ресурсы, описанные на странице, по умолчанию могут быть не доступны из-за типа приложения (см. Создание и авторизация приложений)
Note |
---|
Content-Type при загрузке файлов |
Описание полей запроса
Параметр | Тип | Обяза-тельный | Значение по умолчанию | Обязательный | Описание |
---|---|---|---|---|---|
title | string | да | Название звукового файла | ||
file | file | да | Звуковой файл в формате wav или mp3. Максимальный размер файла – 10 мегабайт. |
В случае успешной загрузки файла возвращается ресурс "Звуковой файл", содержащий в том числе идентификатор звукового файла (поле id), который используется для указания звука в ресурсах очереди, голосового приветствия и т.п.
Пример
Загрузка звукового файла test_sound.wav c именем “Файл приветствия”.
Tabs |
---|
[{"content":{"version":1,"type":"doc","content":[{"type":"codeBlock","attrs":{"language":"html"},"content":[{"type":"text","text":"Request URL: https://hostname.domain/api/ver1.0/client/@me/sound/\nRequest Method: POST\nAuthorization: Bearer token\nContent-Type: multipart/form-data; boundary=----WebKitFormBoundaryRJjeZXUAAoerF744\nHost: hostname.domain\n------WebKitFormBoundaryRJjeZXUAAoerF744\nContent-Disposition: form-data; name=\"file\"; filename=\"test_sound.wav\"\nContent-Type: audio/wav\n \n \n------WebKitFormBoundaryRJjeZXUAAoerF744\nContent-Disposition: form-data; name=\"title\"\n \nФайл приветствия\n------WebKitFormBoundaryRJjeZXUAAoerF744--"}]}]},"id":"5c4bc8bd-f7f6-483c-8bbf-5c370916dcd8","label":"HTTP-запрос ","type":"tab"},{"content":{"version":1,"type":"doc","content":[{"type":"paragraph","content":[{"type":"text","text":"В разделе "},{"type":"text","text":"authentication","marks":[{"type":"strong"}]},{"type":"text","text":" в поля "},{"type":"text","text":"client_id","marks":[{"type":"strong"}]},{"type":"text","text":" и "},{"type":"text","text":"client_secret","marks":[{"type":"strong"}]},{"type":"text","text":" требуется ввести полученные при регистрации приложения значения "},{"type":"text","text":"Application_ID","marks":[{"type":"strong"}]},{"type":"text","text":" и "},{"type":"text","text":"Application_Secret","marks":[{"type":"strong"}]},{"type":"text","text":", затем нажать на кнопку \""},{"type":"text","text":"Try it out!","marks":[{"type":"strong"}]},{"type":"text","text":"\". Если данные приложения верны, в ответ вернётся токен доступа ("},{"type":"text","text":"access_token","marks":[{"type":"strong"}]},{"type":"text","text":"). Полученный токен доступа следует ввести в поле \""},{"type":"text","text":"Access Token Field","marks":[{"type":"strong"}]},{"type":"text","text":"\" вверху страницы и сохранить его нажатием кнопки \""},{"type":"text","text":"Set Token","marks":[{"type":"strong"}]},{"type":"text","text":"\"."}]},{"type":"table","attrs":{"isNumberColumnEnabled":false,"layout":"default"},"content":[{"type":"tableRow","content":[{"type":"tableHeader","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"метод","marks":[{"type":"strong"}]}]}]},{"type":"tableHeader","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"ресурс","marks":[{"type":"strong"}]}]}]},{"type":"tableHeader","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"данные","marks":[{"type":"strong"}]}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"POST"}]}]},{"type":"tableCell","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"/client/@me/sound/"}]}]},{"type":"tableCell","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"{"},{"type":"hardBreak"},{"type":"text","text":"”file”: ”test_sound.wav“,"},{"type":"hardBreak"},{"type":"text","text":"”title”: “Файл приветствия“"},{"type":"hardBreak"},{"type":"text","text":"}"}]}]}]}]},{"type":"paragraph","content":[]}]},"id":"3d8179b5-d0e6-40ba-8eff-364f1c562289","label":"Интерактивный обозреватель API ","type":"tab"},{"content":{"version":1,"type":"doc","content":[{"type":"codeBlock","attrs":{"language":"shell"},"content":[{"type":"text","text":"Загрузка звука через cURL\nuser@host$ curl -i -X POST -F file=@test_sound.wav -F\"title=Файл приветствия\" -H\"Authorization: Bearer TSyAxXtAsbE9Kl0iAVGG6LmnfEte8X\" https://host.domain/api/ver1.0/client/@me/sound/\nHTTP/1.1 100 Continue\nHTTP/1.1 201 CREATED\nServer: nginx/1.8.0\nDate: Tue, 11 Aug 2015 09:50:41 GMT\nContent-Type: application/json\nContent-Length: 150\nConnection: keep-alive\nAccess-Control-Allow-Origin: *\nAccess-Control-Allow-Methods: GET, POST, DELETE, PUT, PATCH, OPTIONS\nAccess-Control-Allow-Headers: Content-Type, api_key, Authorization\n{\"id\": 51, \"client_id\": 12, \"title\": \"Файл приветствия\", \"dealer_id\": null, \"filename\": \"test_sound.wav\"}"}]}]},"id":"f38dbd24-00e0-409c-b235-9f954cfffd00","label":"Программа cURL ","type":"tab"},{"content":{"version":1,"type":"doc","content":[{"type":"codeBlock","attrs":{"language":"python"},"content":[{"type":"text","text":"#!/usr/bin/python\n# -*- coding: utf-8 -*-\n \nimport requests\nimport json\n \n# Установка параметров\nAPI_HOST = \"https://hostname.domain\"\nAPP_ID = \"APP_ID\"\nAPP_SECRET = \"APP_SECRET\"\nREDIRECT_URI = \"\"\n \n# Получение авторизации\nbody = {\n 'grant_type': 'client_credentials',\n 'client_id': APP_ID,\n 'client_secret': APP_SECRET,\n}\n \nrequest_url = \"{host}/oauth/token\".format(host=API_HOST)\nresponse = requests.post(request_url, data=body, verify=False)\n \nif response.status_code == 200:\n # Получение токена доступа\n access_token = response.json()['access_token']\nelif response.status_code == 401:\n print 'Ошибка авторизации: {error}'.format(error=response.json()['error'])\n exit(1)\nelse:\n print 'Неизвестная ошибка'\n exit(2)\n \n# Установка заголовка авторизации\nheaders = {\n 'Authorization': 'Bearer {access_token}'.format(access_token=access_token) # Заголовок авторизации\n}\n \nfiles = {'file': open('test_sound.wav', 'rb')}\ndata = {'title': 'Файл приветствия'}\n \nrequest_url = \"{host}/api/ver1.0/client/@me/sound/\".format(host=API_HOST)\nresponse = requests.post(request_url, files=files, data=data, headers=headers)\nif response.status_code == 201:\n file_info = response.json()\n print file_info\nelse:\n print response.text"}]}]},"id":"f9c9c173-12bc-489c-b8f7-b2da9aacb27e","label":"На языке Python ","type":"tab"}] |
Получение списка звуковых файлов
Получение всех доступных для использования клиенту или внутреннему номеру звуков осуществляется через соответствующий ресурс. Полученный список содержит информацию обо всех звуковых файлах, доступных для использования клиенту или внутреннему номеру, в том числе загруженных администратором или дилером клиента.
Описание полей
Параметр | Тип | Описание |
---|---|---|
id | integer | Идентификатор звукового файла |
title | string | Название звукового файла |
client_id | integer | Идентификатор клиента, владеющего звуковым файлом. Может иметь значение null, если звук не принадлежит клиенту |
dealer_id | integer | Идентификатор дилера, владеющего звуковым файлом. Может иметь значение null, если звук не принадлежит дилеру клиента |
filename | string | Системное имя файла, которое может быть использовано, в частности, для проигрывания звука через функцию голосового меню “Call Interactive” |
Ресурсы раздела "Клиент"
Expand | |||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||
POST /client/{client_id}/sound/ Добавить звуковой файл Параметры URL
Параметры запроса
Поля ответа
|
Expand | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||
GET /client/{client_id}/sound/ Получить список доступных клиенту звуковых файлов Параметры запроса
Поля ответа
|
Expand | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||
POST /client/{client_id}/sound/{sound_id} Заменить контент звукового файла Параметры URL
Параметры Запроса
Поля ответа
|
Expand | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||
PUT /client/{client_id}/sound/{sound_id} Обновить информацию о звуковом файле Параметры URL
Параметры JSON
Поля ответа
|
Expand | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||
GET /client/{client_id}/sound/{sound_id} Получить информацию о звуковом файле Параметры URL
Поля ответа
|
Expand | ||||||
---|---|---|---|---|---|---|
| ||||||
DELETE /client/{client_id}/sound/{sound_id} Удалить звуковой файл Параметры URL
|
Expand | ||||||
---|---|---|---|---|---|---|
| ||||||
GET /client/{client_id}/sound/{sound_id}/download/ Получить звуковой файл Параметры URL
|
Ресурсы раздела "Внутренний номер"
Expand | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||
GET /extension/{extension_id}/sound/ Получить список доступных внутреннему номеру звуковых файлов Параметры URL
Параметры запроса
Поля ответа
|
Expand | ||||||
---|---|---|---|---|---|---|
| ||||||
GET /extension/{extension_id}/sound/{sound_id}/download/ Получить звуковой файл Параметры URL
|