Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Протестировать методы API можно на странице интерактивного обозревателя API и без написания кода
Некоторые ресурсы, описанные на странице, по умолчанию могут быть не доступны из-за типа приложения (см. Создание и авторизация приложений)

Ресурс позволяет с помощью API связать несколько добавочных. Главный добавочный будет отражаться в статистике и событиях, а также только при вызове главного добавочного будут вызываться связанные с ним добавочные. В случае вызова связанного добавочного будет вызываться только он. При совершении исходящего вызова от связанного добавочного будет эмулироваться исходящий от главного добавочного.

Управление bundle происходит через ресурс Телефонный терминал (/phone/)

Table of Contents

Синхронизация параметров добавочных в "Bundle"

Anchor
bundle_sync_params
bundle_sync_params

Info

Синхронизирующиеся параметры добавочных в “bundle“

Параметры ресурса phone:
"record_transfer", "ringback_sound", "geo_list", "record_enabled", "hold_music", "announce_sound_upon_outgoing_call", "announce_sound_upon_incoming_call", "conference_pin", "conference_announce_caller_name", "conference_end_on_exit", "record_format", "record_stereo", ”incoming_limit”, “call_status_id“, “transfer_after_call_end_to”

Параметры ресурса extension:
"status", "dial_rule_id", "dial_rule_limit"

  1. При создании “bundle”, параметры связанного добавочного перезатираются в соответствии с главным

  2. При обновлении параметров на любом из добавочных в “bundle”, параметры остальных добавочных в “bundle” также обновляются

  3. При удалении связанного добавочного ничего не происходит

Ресурсы "Bundle"

Expand
titlePOST /client/{client_id}/extensions_bundle/{extension_id}

POST /client/{client_id}/extensions_bundle/{extension_id}

Ресурс POST позволяет задать список связанных добавочных для главного, указанного в extension_id. Указанный в пути extension_id должен быть идентификатором внутреннего номера типа ‘phone’.

Параметры URL

Имя

Тип

extension_id

string

Параметры json

Имя

Тип

Описание

extension_id

array

Задать список id добавочных, чтобы связать их с главным добавочным, который был указан в пути запроса в виде extension_id.

Указанные добавочные должны быть обязательно типа phone, не должны быть другими главными добавочными, а также не должны быть связаны с каким-либо еще добавочным.

Поля ответа

Имя

Тип

Описание

bundle_list

array

Список связанных добавочных

bundle_id

int

id главного добавочного

Expand
titleGET /client/{client_id}/extensions_bundle/{extension_id}

GET /client/{client_id}/extensions_bundle/{extension_id}

Ресурс GET позволяет получить список связанных добавочных. Указанный в пути extension_id должен быть идентификатором внутреннего номера типа ‘phone’.

Параметры URL

Имя

Тип

extension_id

string

Поля ответа

Имя

Тип

Описание

bundle_list

array

Список связанных добавочных

bundle_id

int

id главного добавочного

Expand
titleDELETE /client/{client_id}/extensions_bundle/{extension_id}

DELETE /client/{client_id}/extensions_bundle/{extension_id}

Ресурс DELETE позволяет отвязать добавочные от главного. Указанный в пути extension_id должен быть идентификатором внутреннего номера типа ‘phone’.

Параметры URL

Имя

Тип

extension_id

string

Поля ответа

Имя

Тип

Описание

bundle_list

array

Список связанных добавочных

bundle_id

int

id главного добавочного

Пример использования

На примере client_id=801, где главным добавочным является extension_id=31456 и список связываемых добавочных содержит id: 32486, 32767

Tabs[{"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":"метод"}]}]},{"type":"tableHeader","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"ресурс"}]}]},{"type":"tableHeader","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"данные"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"POST"}]}]},{"type":"tableCell","attrs":{},"content":[{"type":"heading","attrs":{"level":3},"content":[{"type":"text","text":"/client/801/extensions_bundle/31456"}]},{"type":"paragraph","content":[]}]},{"type":"tableCell","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"{","marks":[{"type":"code"}]},{"type":"hardBreak"},{"type":"text","text":"\"bundle_list\": [32486, 32767]","marks":[{"type":"code"}]},{"type":"hardBreak"},{"type":"text","text":"}","marks":[{"type":"code"}]}]}]}]}]},{"type":"paragraph","content":[]}]},"id":"1ab97921-e7ca-452f-965a-4a763b57f8d3","label":"Интерактивный обозреватель API ","type":"tab"},{"content":{"version":1,"type":"doc","content":[{"type":"paragraph","content":[{"type":"text","text":"Для отправки запросов с помощью программы cURL установим значения переменных "},{"type":"text","text":"url ","marks":[{"type":"strong"}]},{"type":"text","text":"и "},{"type":"text","text":"access_token","marks":[{"type":"strong"}]},{"type":"text","text":":"}]},{"type":"paragraph","content":[{"type":"text","text":"export url=\"https://<hostname>/api/ver1.0\"","marks":[{"type":"code"}]},{"type":"text","text":" "},{"type":"hardBreak"},{"type":"text","text":"(где hostname — hostname API-сервера провайдера IP-телефонии),"}]},{"type":"paragraph","content":[{"type":"text","text":"export access_token=\"8SNsrS0jV35vfmKqKeKtRrHfpbg4UX\"","marks":[{"type":"code"}]},{"type":"text","text":" "},{"type":"hardBreak"},{"type":"text","text":"(полученный токен доступа)."}]},{"type":"paragraph","content":[{"type":"text","text":"Отправим запрос:"}]},{"type":"codeBlock","attrs":{"language":"shell"},"content":[{"type":"text","text":"curl -H \"Authorization: Bearer ${access_token}\" -H \"Content-Type: application/json\" -d '{\"bundle_list\": [32486, 32767]}' -X POST ${url}/client/801/extensions_bundle/31456"}]}]},"id":"59f02ace-6798-4ee6-8ed3-7c878969f35b","label":"Программа cURL ","type":"tab"},{"content":{"version":1,"type":"doc","content":[{"type":"paragraph","content":[{"type":"text","text":"Для отправки запросов на языке Python установим значения переменных URL и ACCESS_TOKEN:"}]},{"type":"paragraph","content":[{"type":"text","text":"URL = \"https://<hostname>/api/ver1.0\"","marks":[{"type":"code"}]},{"type":"hardBreak"},{"type":"text","text":"(где hostname — hostname API-сервера провайдера IP-телефонии),"}]},{"type":"paragraph","content":[{"type":"text","text":"ACCESS_TOKEN = \"8SNsrS0jV35vfmKqKeKtRrHfpbg4UX\"","marks":[{"type":"code"}]},{"type":"hardBreak"},{"type":"text","text":"(полученный токен доступа)."}]},{"type":"codeBlock","attrs":{"language":"python"},"content":[{"type":"text","text":"#!/usr/bin/python\r\n\r\nimport requests\r\n\r\nurl = f'/client/801/extensions_bundle/31456'\r\nheaders = {\r\n 'Authorization': f'Bearer {ACCESS_TOKEN}',\r\n 'Content-Type': 'application/json'\r\n}\r\ndata = '''{\"bundle_list\": [32486, 32767]}'''\r\nresponse = requests.post(url, headers=headers, data=data)\r\nprint(response.text)"}]}]},"id":"fe3b5416-5aa2-4f51-b4b2-2d3f3e4d8438","label":"На языке Python3 ","type":"tab"}]
  1. происходитРесурсы "Bundle"