# Voximplant Management API: Выгрузить историю звонков

Сценарий из mcp-everything. Актуально на 2026-10-24.

Длительность, стоимость, записи разговоров — для отчётов и контроля качества.

1. Запроси историю: GetCallHistory с from_date и to_date в формате YYYY-MM-DD HH:mm:ss и timezone. Без дат вернётся последний месяц.
2. Чтобы получить отдельные звонки и записи разговоров, передай with_calls = true и with_records = true.
3. За запрос — до 1000 сессий (count), дальше листай через offset.
4. Фильтры по номерам клиентов — remote_number, по приложению — application_id; несколько значений — через «;».

```python
h = vox("GetCallHistory", from_date="2026-10-01 00:00:00", to_date="2026-10-24 23:59:59",
        timezone="Europe/Moscow", with_calls="true", with_records="true", count=1000, offset=0)
for session in h["result"]:
    print(session["call_session_history_id"], session.get("duration"))
```

## Базовые URL

- Боевой: `https://api.voximplant.com`

## Авторизация

Тип: Bearer-токен

Сервисный аккаунт: JSON-файл с ключом (`account_id`, `key_id`, `private_key`) создаётся в панели управления (`https://manage.voximplant.com/settings/service_accounts`) или методом `CreateKey`. Клиент подписывает JWT алгоритмом RS256 (`iss` — ID аккаунта, `iat`, `exp`; в заголовке токена `kid` — `key_id`) и передаёт его в заголовке `Authorization: Bearer <token>`. Токен короткоживущий (в библиотеках — около минуты), его генерируют на каждый запрос.

## Методы сценария

### POST /platform_api — GetCallHistory: история звонков

Длительность, стоимость, логи и др. Без дат — интервал по умолчанию (месяц).

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `cmd` | body | string | да | GetCallHistory |
| `from_date` | body | string | нет | Начало, YYYY-MM-DD HH:mm:ss |
| `to_date` | body | string | нет | Конец |
| `timezone` | body | string | нет | Часовой пояс дат |
| `call_session_history_id` | body | string | нет | ID сессий через ;, до 1000 |
| `application_id` | body | integer | нет | ID приложения |
| `user_id` | body | string | нет | ID пользователей через ; |
| `remote_number` | body | string | нет | Номера клиентов через ; |
| `local_number` | body | string | нет | Номера платформы через ; |
| `with_calls` | body | boolean | нет | Включить звонки внутри сессий |
| `with_records` | body | boolean | нет | Включить записи |
| `desc_order` | body | boolean | нет | Обратный порядок |
| `count` | body | integer | нет | До 1000 записей |
| `offset` | body | integer | нет | Пропуск, до 10000 |

## Нюансы

- Параметры передаются формой (`multipart/form-data`); списки — строкой через `;`.
- Даты — `YYYY-MM-DD HH:mm:ss`.
- При ошибке в ответе объект `error` с полями `code` и `msg`.
- Некоторые методы (отчёты, детали списков в CSV) возвращают файл `application/octet-stream`.
- Всего в API около 400 методов: правила и сценарии, очереди ACD и SmartQueue, ключи и роли, KV-хранилище, SIP, push-учётки, дочерние аккаунты, счета.

## Другие сценарии

- [Позвонить клиенту из своей системы](https://mcp-everything.ru/integrations/voximplant/scenarios/pozvonit-klientu-iz-svoey-sistemy.md)
- [Автообзвон по списку номеров](https://mcp-everything.ru/integrations/voximplant/scenarios/avtoobzvon-po-spisku-nomerov.md)
- [Отправить SMS с номера Voximplant](https://mcp-everything.ru/integrations/voximplant/scenarios/otpravit-sms-s-nomera-voximplant.md)
- [Создать приложение и пользователя для звонков из браузера или приложения](https://mcp-everything.ru/integrations/voximplant/scenarios/sozdat-prilozhenie-i-polzovatelya-dlya.md)

---

Если этого недостаточно — официальная документация: https://voximplant.com/docs/references/httpapi
Вся интеграция одним документом: https://mcp-everything.ru/integrations/voximplant.md
