3.1.22 Запрос статистики вызовов
Доступность запроса определяется наличием включенной услуги на продукте ВАТС API_VBPX_STAT
Для работы API v1 статистика в настройке ВАТС должен быть указан адрес внешней системы: PROD
https://api-client.mango-office.ru/api/v1
Получение статистики состоит из следующих этапов:
- Запуск формирования статистики
- Получение статистики
3.1.22.1 Запуск формирования статистики
POST /адрес/callstat/request?USER_ID={ext}&DATE={date} Header[X-Mango-API-Token, X-Mango-API-Salt]
Команда предназначена для запуска формирования статистики. Выходные данные генерируются системой API с учётом заданных параметров. Все параметры запроса обязательны.
В ответе приходит ключ, с помощью которого можно будет получить статистику по завершении ее построения.
Параметры запроса:
| Параметр | Тип | Обяза-тель-ность | Формат | Описание |
|---|---|---|---|---|
| USER_ID | string | Да | Внутренний номер сотрудника | |
| DATE | date | Да | YYYY-MM-DD | Дата формирования статистики |
Пример запроса:
POST /адрес/callstat/request?USER_ID=8000&DATE=2017-08-28
Параметры ответа:
| Параметр | Тип | Описание |
|---|---|---|
| Result | object | |
| Resultcode | integer | |
| Resultmessage | string | |
| Resultdata | object | |
| Resultdatakey | string | Ключ запроса на формирование статистики |
Возможны следующие HTTP коды ответа:
- 200 - Resultcode=0
- 400 - Ключ подписи не задан. Resultcode=103, Resultmessage="Salt not present"
- 400 - неверный ключ создания подписи. Resultcode=103, Resultmessage="Salt is incorrect"
- 400 - дата некорректная. Resultcode=103, Resultmessage="Incorrect date"
- 400 - Пользователь не найден в интеграции. Resultcode=103, Resultmessage="User not found"
- 401 - Ключ интеграции не прошел валидацию. Resultcode=103
- 500 - ошибка сервера
Пример ответа:
{
"result": {
"code": "0",
"message": "OK"
},
"data": {
"key": "
aIpiD52TBgRGvACkg0tlaKo/aVIq2eM/1W88SCvrhOOvCebb6AG9IcwtZ2DKjEWuTLvFw=="
}
}
3.1.22.2 Получение статистики
Подготовленные данные хранятся до первого обращения за ними не менее 1 минуты. API предусматривает две стратегии получения результата: ожидание получения специального события API о завершении построения и периодический опрос сервиса.
Обращаться к сервису за готовыми данными следует запросом вида:
POST /v1/callstat/result?USER_ID={ext}&PAGE_LIMIT={pageLimit}&PAGE={page}
Header[X-Mango-API-Token, X-Mango-API-Salt]
Параметры запроса:
| Параметр | Тип | Обяза-тель-ность | Формат |
|---|---|---|---|
| PAGE_LIMIT | string | Нет | Количество записей на страницу, в случае отсутствия параметра выводятся все записи |
| PAGE | string | Нет | Номер страницы с учетом PAGE_LIMIT, в случае отсутствия параметра выводятся все записи |
В теле запроса необходимо передавать следующие параметры:
| Параметр | Тип | Обяза-тель-ность | Формат | Описание |
|---|---|---|---|---|
| Key | object | Да | ||
| Keykey | string | Да | Ключ доступа к отчету |
Пример запроса:
POST /v1/callstat/result?USER_ID=8000&PAGE_LIMIT=3&PAGE=1
Параметры ответа:
| Параметр | Тип | Описание |
|---|---|---|
| Result | object | |
| Resultcode | integer | |
| Resultmessage | string | |
| Resultdata | object | |
| Resultdatacount | int | Количество записей всего |
| Resultdatapage | int | Номер страницы |
| ResultdatapageLimit | int | Количество записей на страницу |
| ResultdatapageCount | int | Количество страниц |
| Resultdatastat | array | Массив статистических данных о звонках |
| ResultdatastatindexcallDate | string | Дата поступления звонка |
| ResultdatastatindexstartDate | string | Дата, время ответа на вызов |
| ResultdatastatindexdisconectedReason | string | Код завершения вызова |
| Resultdatastatindexdid | string | Номер, на который поступил звонок (номер компании) |
| ResultdatastatindexbillSec | string | Длительность разговора |
| ResultdatastatindexfromExt | string | Идентификатор сотрудника ВАТС для вызывающего абонента. Не передается в случае, если ВАТС не удалось идентифицировать вызывающего абонента как сотрудника ВАТС, либо у сотрудника ВАТС нет идентификатора (внутреннего номера). |
| ResultdatastatindexfromNumber | string | Номер источник звонка |
| ResultdatastatindextoNumber | string | Номер назначения |
| ResultdatastatindextoExt | string | Идентификатор сотрудника ВАТС для вызываемого абонента. Опциональный параметр. Не передается в случае, если ВАТС не удалось идентифицировать вызываемого абонента как сотрудника ВАТС, либо у сотрудника ВАТС нет идентификатора (внутреннего номера). |
| Resultdatastatindextype | string | Тип звонка - входящий, исходящий, внутренний. Допустимые значения: INBOUND, OUTBOUND, INTERNAL, UNKNOWN |
| Resultdatastatindexrecords | string[] | Массив идентификаторов записей разговоров rec1,rec2,rec3 |
Возможны следующие HTTP коды ответа:
- 200 - Resultcode=0
- 400 - Ключ не найден в интеграции. Resultcode=103, Resultmessage="Key not found"
- 400 - Ключ подписи не задан. Resultcode=103, Resultmessage="Salt not present"
- 400 - неверный ключ создания подписи. Resultcode=103, Resultmessage="Salt is incorrect"
- 401 - Ключ интеграции не прошел валидацию. Resultcode=103
- 500 - ошибка сервера
Пример ответа:
{
"result": {
"code": "0",
"message": "OK"
},
"data": {
"count": 1,
"page": 1,
"pageLimit": 3,
"pageCount": 1,
"stat": [{
"callDate": "1504791513",
"startDate": "0",
"disconnectReason": "1100",
"did": "74951204609",
"billSec": "0",
"fromExt": "8000",
"fromNumber": "sip:dshi@vpbx400022984.mangosip.ru",
"toNumber": "79269226127",
"toExt": "",
"type": "OUTBOUND",
"records": [""]
}
]
}
}