# Voximplant Management API: Автообзвон по списку номеров

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

Напоминания, опросы, информирование — сценарий звонит по каждому номеру из CSV с повторными попытками.

1. Подготовь CSV с разделителем «;»: первая строка — названия колонок (например, phone;name), дальше — по строке на номер. Данные строки доступны в сценарии.
2. Создай список: CreateCallList с rule_id, priority, max_simultaneous (сколько звонков одновременно), num_attempts (1–5), name и file_content — содержимым CSV. Обзвон стартует сразу или в start_at.
3. Между попытками задай паузу interval_seconds. В ответе — list_id.
4. Следи за ходом: GetCallLists с list_id. Остановить обзвон — StopCallListProcessing с list_id.

```python
csv_content = "phone;name\n79991234567;Иван\n79991234568;Анна\n"
r = vox("CreateCallList", rule_id=123456, priority=0, max_simultaneous=5, num_attempts=3,
        interval_seconds=600, name="reminders-2026-10-25.csv", file_content=csv_content)
print(r["list_id"])
print(vox("GetCallLists", list_id=r["list_id"]))
```

## Базовые 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 — CreateCallList: создание списка обзвона

Загружает CSV и сразу запускает правило. Файл передаётся в теле запроса или multipart. В ответе: `result`, `count`, `list_id`, `batch_id`.

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `cmd` | body | string | да | CreateCallList |
| `rule_id` | body | integer | да | ID правила |
| `priority` | body | integer | да | Приоритет 0…2^31, 0 — наивысший |
| `max_simultaneous` | body | integer | да | Число одновременно обрабатываемых задач |
| `num_attempts` | body | integer | да | Число попыток, 1–5 |
| `name` | body | string | да | Имя файла, до 255 символов, без / и \ |
| `file_content` | body | file | да | CSV-файл со списком |
| `list_custom_data` | body | string | нет | Пользовательские данные списка |
| `interval_seconds` | body | integer | нет | Интервал между попытками, по умолчанию 0 |
| `encoding` | body | string | нет | Кодировка файла, по умолчанию UTF-8 |
| `delimiter` | body | string | нет | Разделитель, по умолчанию ; |
| `call_list_type` | body | string | нет | automatic, predictive, progressive |
| `queue_id` | body | integer | нет | ID очереди ACD (для predictive/progressive) |
| `start_at` | body | integer | нет | Время старта, Unix timestamp (UTC) |
| `task_priority_strategy` | body | string | нет | first_attempts (по умолчанию) или repeated_attempts |

### POST /platform_api — GetCallLists: списки обзвона

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `cmd` | body | string | да | GetCallLists |
| `list_id` | body | string | нет | ID через ; или all |
| `name` | body | string | нет | Поиск по имени |
| `is_active` | body | boolean | нет | Только активные |
| `from_date` | body | string | нет | Дата от, UTC YYYY-MM-DD HH:mm:ss |
| `to_date` | body | string | нет | Дата до |
| `count` | body | integer | нет | До 1000 записей |
| `offset` | body | integer | нет | Пропустить N записей |

### POST /platform_api — StopCallListProcessing: остановка обзвона

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `cmd` | body | string | да | StopCallListProcessing |
| `list_id` | body | integer | да | ID списка |

## Нюансы

- Параметры передаются формой (`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)
- [Отправить SMS с номера Voximplant](https://mcp-everything.ru/integrations/voximplant/scenarios/otpravit-sms-s-nomera-voximplant.md)
- [Выгрузить историю звонков](https://mcp-everything.ru/integrations/voximplant/scenarios/vygruzit-istoriyu-zvonkov.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
