# Voximplant Management API: Отправить SMS с номера Voximplant

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

SMS клиенту с купленного в Voximplant номера.

1. Найди номер с поддержкой SMS: GetPhoneNumbers — у подходящего номера is_sms_supported = true.
2. Включи SMS на номере (один раз): ControlSms с phone_number и command = enable.
3. Отправь: SendSmsMessage с source (твой номер), destination и sms_body — до 765 символов (сегменты по 70 символов кириллицы). В ответе message_id и fragments_count.

```python
vox("ControlSms", phone_number="74951234567", command="enable")
print(vox("SendSmsMessage", source="74951234567", destination="79991234567",
          sms_body="Ваша запись подтверждена: 25.10 в 14:00"))
```

## Базовые 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 — SendSmsMessage: отправка SMS

Номер-отправитель должен быть куплен в Voximplant, поддерживать SMS (`is_sms_supported` в `GetPhoneNumbers`) и SMS должны быть включены через `ControlSms`. В ответе: `result`, `message_id`, `fragments_count`.

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `cmd` | body | string | да | SendSmsMessage |
| `source` | body | string | да | Номер отправителя |
| `destination` | body | string | да | Номер получателя |
| `sms_body` | body | string | да | Текст до 765 символов; сегменты по 160 GSM-7 или 70 UTF-16 |
| `store_body` | body | boolean | нет | Хранить текст исходящих (по умолчанию false) |

### POST /platform_api — ControlSms: включение SMS на номере

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `cmd` | body | string | да | ControlSms |
| `phone_number` | body | string | да | Номер |
| `command` | body | string | да | enable или disable |

### POST /platform_api — GetPhoneNumbers: номера аккаунта

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `cmd` | body | string | да | GetPhoneNumbers |
| `phone_id` | body | string | нет | ID номера |
| `phone_number` | body | string | нет | Номера через ; |
| `activation_status` | body | string | нет | Статусы через ;, например ACTIVE |
| `application_id` | body | integer | нет | ID приложения |
| `is_bound_to_application` | body | boolean | нет | Привязан ли к приложению |
| `country_code` | body | string | нет | Коды стран через ; |

## Нюансы

- Параметры передаются формой (`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)
- [Выгрузить историю звонков](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
