Versions Compared

Key

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

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

Данный ресурс позволяет получить суммарные данные о вызовах и составных частях за указанный период времени либо по определенному внутреннему номеру (общее количество, количество пропущенных звонков и т.п.). С событиями на внутреннем номере можно ознакомиться по ссылке. При отправке запросов необходимо учитывать наличие лимитов на количество запросов к API.

Table of Contents

Описание структур данных

Expand
titleРесурс call_stat/cdr_stat

Ресурс Ресурсы call_stat/cdr_stat

Имя

Тип

Обяза-тельный

Описание

answered

long

да

Количество отвеченных вызовов

bridged

long

да

Вызовы, соединенные с конечным абонентом. Отличие от answered: вызов может быть отвечен, но без соединения с конечным абонентом (например, вызов был принят очередью, но никто его не смог принять, тогда вызов будет answered, но не bridged)

bridged_duration

long

да

Суммарная длительность в секундах вызовов со статусом bridged

busy

long

да

Количество звонков, отбитых сигналом "занято"

duration

long

да

Суммарная длительность в секундах вызовов со статусом answered

failed

long

да

Вызовы, отклоненные по другим причинам (не busy, rejected или not answered)

not answered

long

да

Количество не отвеченных вызовов

rejected

long

да

Количество вызовов, отклоненных принимающей стороной

total

long

да

Общее количество вызовов

answered elsewhere

long

да

Относится только к cdr.

diverted

long

да

Относится только к cdr.

Пример

Получить суммарные данные за первые 10 дней ноября 2019 года:

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":"метод","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":"GET"}]}]},{"type":"tableCell","attrs":{},"content":[{"type":"paragraph","content":[{"type":"text","text":"/client/@me/calls/stats/?start_datetime=2019-11-01%2000%3A00%3A00&end_datetime=2019-11-10%2000%3A00%3A00"}]}]},{"type":"tableCell","attrs":{},"content":[{"type":"paragraph","content":[]},{"type":"paragraph","content":[{"type":"text","text":" "}]}]}]}]},{"type":"paragraph","content":[]}]},"id":"a1164bfc-edfe-4604-bd55-86718a211f6c","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 \\\n-H \"Authorization: Bearer ${access_token}\" \\\n-X GET \"${url}/client/@me/calls/stats/?start_datetime=2019-11-01%2000:00:00&end_datetime=2019-11-10%2000:00:00\""}]}]},"id":"e574abcf-fe3d-4bf5-b84e-11683f2434f8","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\n\nimport requests\n\nurl = f'{URL}/client/@me/calls/stats/?start_datetime=2019-11-01%2000%3A00%3A00&end_datetime=2019-11-10%2000%3A00%3A00'\nheaders = {\n    'Authorization': f'Bearer {ACCESS_TOKEN}'\n}\nresponse = requests.get(url, headers=headers)\nprint(response.text)"}]}]},"id":"349a32fd-ad31-469e-8040-ae951e47e23d","label":"На языке Python3    ","type":"tab"}]
Expand
titleОтвет системы:
Code Block
languagejson
{
  "in": {
    "busy": 0,
    "bridged_duration": 6142,
    "answered": 15,
    "not answered": 5,
    "rejected": 0,
    "failed": 8,
    "bridged": 59,
    "duration": 6386,
    "total": 87
  },
    "out": {
    "busy": 0,
    "bridged_duration": 958,
    "answered": 0,
    "not answered": 37,
    "rejected": 0,
    "failed": 22,
    "bridged": 87,
    "duration": 958,
    "total": 146
  }
}

Ресурсы раздела “Клиент”

Expand
titleGET /client/{client_id}/calls/stats/

GET /client/{client_id}/calls/stats/

GET /client/{client_id}/cdr/stats/

Параметры URL

Имя

Тип

client_id

string

Параметры запроса

Name

Type

start_datetime

string

end_datetime

string

extension_id

Array[integer]

Поля ответа

Имя

Тип

Обязательный

Описание

in

call_stat/cdr_stat

нет

Суммарные данные по входящим вызовам

out

call_stat/cdr_stat

нет

Суммарные данные по исходящим вызовам

Ресурс cdr_stat

Имя

Тип

answered

long

bridged

long

bridged_duration

long

busy

long

duration

long

failed

long

not answered

long

rejected

long

total

long

diverted

long

answered elsewhere

long

Ресурс call_stat

Имя

Тип

answered

long

bridged

long

bridged_duration

long

busy

long

duration

long

failed

long

not answered

long

rejected

long

total

long