Voice API позволяет управлять автоматизированными голосовыми рассылками с предзаписанной аудиозаписью или синтезированной в ходе разговора речью. Такая кампания поможет рассказать клиентам об акции, напомнить про мероприятие или сообщить о статусе заказа без помощи менеджера.
Методы Voice API для управления ресурсами голосовых SMS:
- Create — создаёт ресурс голосового SMS;
- Delete — удаляет ресурс голосового SMS;
- Update — изменяет настройки ресурса голосового SMS;
- GetList — получает список всех голосовых SMS приложения;
- GetInfo — получает информацию о ресурсе голосового SMS;
- MakeVoiceMessage — отправляет голосовое SMS абоненту;
- GetInfo — получает информацию об отправленном голосовом SMS.
Решения, где используется Voice API

Голосовые SMS

Обратный звонок
Метод Create
Голосовое SMS — услуга, позволяющая запустить автоматизированный обзвон абонентов с предзаписанной аудиозаписью. Такая рассылка поможет рассказать клиентам об акции, напомнить про мероприятие или сообщить о статусе заказа без помощи менеджера. Перед отправкой рассылки создайте ресурс голосового SMS — настроенный шаблон, к которому можно привязать аудиофайл, предварительно загруженный в аудиобиблиотеку приложения, и установить логику перевода на оператора, если абоненту нужна консультация. В результате вы получите идентификатор этого ресурса — используйте его для звонка на номера ваших абонентов с помощью метода MakeVoiceMessage
Примените метод Create для создания ресурса голосового SMS.
Точка подключения: Выполните POST-запрос с входными параметрами к точке подключения:
POST: https://api.exolve.ru/voice-message/v1/Create
Авторизация
Передайте следующие Заголовки HTTP для успешной авторизации.
| Имя | Тип | Описание |
|---|---|---|
| Authorization | string | API-ключ приложения с Bearer перед ним. Пример: Bearer e***s0, где e***s0 замените на API-ключ вашего приложения |
Входные параметры
Передайте следующие параметры в теле запроса в JSON-формате. Параметры, отмеченные жирным шрифтом, являются обязательными.
| Параметр | Тип | Описание |
|---|---|---|
| name | string | название ресурса голосового SMS |
| media_id | uint64 | идентификатор аудиофайла, загруженного в аудиобиблиотеку этого приложение — его услышит принимающий абонент после поднятия трубки |
| redirect_info | RedirectInfo | настройка переадресации вызова |
RedirectInfo
| Параметр | Тип | Описание |
|---|---|---|
| digit | uint32 | клавиша, на которую принимающему абоненту нужно нажать, чтобы соединиться с оператором: от 0 до 9 (по умолчанию: 0) |
| redirect_number | string | номер телефона, на который нужно перевести звонок после нажатия на клавишу, в формате 79999999999 (11 цифр) |
После проигрывания аудиосообщения у принимающего абонента есть 30 секунд, чтобы нажать на нужную клавишу в тональном режиме. Иначе звонок автоматически завершается
Выходные параметры
| Параметр | Тип | Описание |
|---|---|---|
| id | string | идентификатор ресурса голосового SMS |
Примеры
Входные параметры:
{
"name": "Сезонная распродажа 30%",
"media_id": "1967",
"redirect_info": {
"digit": 5,
"redirect_number": "79295800000"
}
}
Выходные параметры:
{
"id": "cal55094238-bc5f-4b2d-8a95-5a20d7cbb5bc"
}
Возможные ошибки
| Код | Статус | Пример сообщения | Описание |
|---|---|---|---|
| 400 | Bad Request | failed to parse token | неправильно указан токен (API-ключ приложения) |
| 401 | Unauthorized | error getting JWT Token claims | ошибка при парсинге JWT claims (части API-ключа, отвечающие за информацию о пользователе/приложении) |
| 403 | Forbidden | error":“Customer is not in correct status” | ошибка возникает, если не удается создать услугу голосового SMS из-за статуса аккаунта пользователя (не активирован/заблокирован) |
| 404 | Not Found | error getting media resource | не найден аудиофайл, id которого используется для создания услуги голосового SMS |
Метод GetList
Примените метод GetList для получения списка ресурсов голосовых SMS по заданным параметрам.
Точка подключения: Выполните POST-запрос с входными параметрами к точке подключения:
POST: https://api.exolve.ru/voice-message/v1/GetList
Авторизация
Передайте следующие Заголовки HTTP для успешной авторизации.
| Имя | Тип | Описание |
|---|---|---|
| Authorization | string | API-ключ приложения с Bearer перед ним. Пример: Bearer e***s0, где e***s0 замените на API-ключ вашего приложения |
Входные параметры
| Параметр | Тип | Описание |
|---|---|---|
| limit | int64 | лимит выводимых строк |
| offset | int64 | номер строки, с которой начинать выборку (начинается с 0) |
| name | string | название ресурса голосового сообщения |
| id | string | идентификатор ресурса голосового сообщения |
Выходные параметры
| Параметр | Тип | Описание |
|---|---|---|
| voice_messages | array VoiceMessages | информация об услугах голосового сообщения |
| total | unit64 | общее количество голосовых сообщений с применёнными фильтрами |
VoiceMessages
| Параметр | Тип | Описание |
|---|---|---|
| id | string | идентификатор ресурса голосового сообщения |
| name | string | название ресурса голосового сообщения |
| created_at | string | дата создания ресурса голосового сообщения в формате RFC-3339 / ISO-8601 |
Примеры
Входные параметры:
{
"limit": "10",
"offset": "0"
}
Выходные параметры:
{
"voice_messages": [
{
"id": "8ef688fb-915f-4f31-9ab7-9560b8a39280",
"name": "Голосовое сообщение 1",
"created_at": "2026-06-28T19:01:58.452Z"
},
{
"id": "9a726975-4aa3-4a48-9b05-31a0c4967eca",
"name": "Голосовое сообщение 2",
"created_at": "2026-06-28T19:30:55.107Z"
}
],
"total": "2"
}
Возможные ошибки
| Код | Статус | Пример сообщения | Описание |
|---|---|---|---|
| 400 | Bad Request | “error”: “invalid GetListRequest.Id: value length must be 36 runes; invalid GetListRequest.Id: value must be a valid UUID | caused by: invalid uuid format” |
| 401 | Unauthorized | failed to parse token | невалидный API-ключ |
Метод GetInfo
Примените метод GetInfo для получения информации о ресурсе голосового SMS по его идентификатору.
Точка подключения: Выполните POST-запрос с входными параметрами к точке подключения:
POST: https://api.exolve.ru/voice-message/v1/GetInfo
Авторизация
Передайте следующие Заголовки HTTP для успешной авторизации.
| Имя | Тип | Описание |
|---|---|---|
| Authorization | string | API-ключ приложения с Bearer перед ним. Пример: Bearer e***s0, где e***s0 замените на API-ключ вашего приложения |
Входные параметры
Передайте следующие параметры в теле запроса в JSON формате. Параметры, отмеченные жирным шрифтом, являются обязательными.
| Параметр | Тип | Описание |
|---|---|---|
| id | string | идентификатор ресурса голосового SMS |
Выходные параметры
| Параметр | Тип | Описание |
|---|---|---|
| id | string | идентификатор ресурса голосового SMS |
| name | sting | название ресурса голосового SMS |
| digit | uint32 | клавиша, на которую принимающий абонент должен нажать в тональном режиме, чтобы его перевели на оператора |
| redirect_number | string | номер оператора, на которого будет переведён абонент |
| media_id | uint64 | идентификатор аудиофайла, который услышит абонент |
| created_at | string | дата создания ресурса голосового SMS в формате RFC-3339 / ISO-8601 |
Примеры
Входные параметры:
{
"id": "14b8d7b3-5468-418f-8592-b1d2127ad36b"
}
Выходные параметры:
{
"id": "14b8d7b3-5468-418f-8592-b1d2127ad36b",
"name": "test",
"digit": 5,
"redirect_number": "79269999999",
"media_id": 1979,
"created_at": "2024-12-22T11:19:36.567Z"
}
Возможные ошибки
| Код | Статус | Пример сообщения | Описание |
|---|---|---|---|
| 400 | Bad Request | failed to parse token | неправильно указан токен (API-ключ приложения) |
| 401 | Unauthorized | error getting JWT Token claims | ошибка при парсинге JWT claims (части API-ключа, отвечающие за информацию о пользователе/приложении) |
| 403 | Forbidden | error":“Customer is not in correct status” | ошибка возникает, если не удается создать услугу голосового SMS из-за статуса аккаунта пользователя (не активирован/заблокирован) |
| 404 | Not Found | Scenario not found | ID приложения запроса не соответствует ID в API-ключе |
Метод Delete
Примените метод Delete для удаления ресурса голосового SMS.
Точка подключения: Выполните POST-запрос с входными параметрами к точке подключения:
POST: https://api.exolve.ru/voice-message/v1/Delete
Авторизация
Передайте следующие Заголовки HTTP для успешной авторизации.
| Имя | Тип | Описание |
|---|---|---|
| Authorization | string | API-ключ приложения с Bearer перед ним. Пример: Bearer e***s0, где e***s0 замените на API-ключ вашего приложения |
Входные параметры
Передайте следующие параметры в теле запроса в JSON-формате. Параметры, отмеченные жирным шрифтом, являются обязательными.
| Параметр | Тип | Описание |
|---|---|---|
| id | string | идентификатор ресурса голосового SMS |
Возможные ошибки
| Код | Статус | Пример сообщения | Описание |
|---|---|---|---|
| 400 | Bad Request | failed to parse token | неправильно указан токен (API-ключ приложения) |
| 401 | Unauthorized | error getting JWT Token claims | ошибка при парсинге JWT claims (части API-ключа, отвечающие за информацию о пользователе/приложении) |
| 403 | Forbidden | error":“Customer is not in correct status” | ошибка возникает, если не удается создать услугу голосового SMS из-за статуса аккаунта пользователя (не активирован/заблокирован) |
| 404 | Not Found | error getting application | приложение не найдено |
Выходные параметры
Пустой JSON
Примеры
Входные параметры:
{
"id": "14b8d7b3-5468-418f-8592-b1d2127ad36b"
}
Выходные параметры:
{}
Метод MakeVoiceMessage
Примените метод MakeVoiceMessage для запуска автоматизированного обзвона с предзаписанным аудиосообщением или синтезированной в режиме онлайн речью (TTS — text-to-speech).
Совет: увеличьте конверсию в дозвон и срок службы номеров с помощью услуги «Карусель». Платформа МТС Exolve будет автоматически менять номер при каждом исходящем звонке — по порядку или случайным образом. Для этого создайте карусель и передайте её авторизационный номер в параметре “source” метода MakeVoiceMessage. Подробнее — в этой инструкции.
Точка подключения: Выполните POST запрос с входными параметрами к точке подключения:
POST: https://api.exolve.ru/call/v1/MakeVoiceMessage
Авторизация
Передайте следующие Заголовки HTTP для успешной авторизации.
| Имя | Тип | Описание |
|---|---|---|
| Authorization | string | API-ключ приложения с Bearer перед ним. Пример: Bearer e***s0, где e***s0 замените на API-ключ вашего приложения |
Входные параметры
Передайте следующие параметры в теле запроса в JSON-формате. Параметры, отмеченные жирным шрифтом, являются обязательными.
ВАЖНО! Можно указать только один из параметров:
service_id— если хотите проиграть принимающим абонентам предзаписанное аудио и уже создали для него ресурс голосового SMS в Личном кабинете или с помощью API-метода Createtts— если хотите синтезировать речь по заданным параметрам в режиме онлайн
| Параметр | Тип | Описание |
|---|---|---|
| source | string | номер, с которого осуществится обзвон, или авторизационный номер карусели |
| destination | string | номер принимающего абонента |
| service_id | string | идентификатор ресурса голосового SMS (для предзаписанного аудио) |
| tts | TTS | параметры синтеза речи для аудиоинформирования абонента |
TTS
| Параметр | Тип | Описание |
|---|---|---|
| text | string | текст синтезируемой речи (от 1 до 1000 символов, кодировка не учитывается) |
| voice | Voice | голос для озвучивания текста |
| lang | Lang | язык синтезируемой речи |
| volume | int32 | нормализация громкости (от -145 до 0, где -145 — наименьшее усиление, 0 — наибольшее усиление громкости; по умолчанию -19) |
| speed | float | скорость синтезируемой речи (от 0.1 до 3.0, где 0.1 — самая медленная, 3.0 — самая быстрая; по умолчанию 1.0) |
| emotion | Emotion | эмоция для озвучивания текста |
SynthesisSettings
ВАЖНО! Каждый голос поддерживает определённые параметры языка и эмоции. При формировании API-запроса важно, чтобы выбранный голос был доступен с указанным языком и эмоцией
| Параметр | Тип | Голос (Voice) | Пол | Эмоция (Emotion) | Язык (Lang) |
|---|---|---|---|---|---|
| 1 | enum | Алёна (по умолчанию) | Ж | 1 — нейтральная (по умолчанию), 2 — добрая | 1 — русский |
| 2 | enum | Ермил | М | 1 — нейтральная (по умолчанию), 2 — радостная | 1 — русский |
| 3 | enum | Джейн | Ж | 1 — нейтральная (по умолчанию), 2 — радостная, 3 — раздраженная | 1 — русский |
| 4 | enum | Омаж | Ж | 1 — нейтральная (по умолчанию), 3 — раздраженная | 1 — русский |
| 5 | enum | Захар | М | 1 — нейтральная (по умолчанию), 2 — радостная | 1 — русский |
| 8 | enum | Даша | Ж | 1 — нейтральная (по умолчанию), 2 — радостная, 4 — дружелюбная | 1 — русский |
| 9 | enum | Юлия | Ж | 1 — нейтральная (по умолчанию), 5 — строгая | 1 — русский |
| 10 | enum | Лера | Ж | 1 — нейтральная (по умолчанию), 4 — дружелюбная | 1 — русский |
| 11 | enum | Марина | Ж | 1 — нейтральная (по умолчанию), 4 — дружелюбная, 6 — шёпот | 1 — русский |
| 12 | enum | Александр | М | 1 — нейтральная (по умолчанию), 2 — радостная | 1 — русский |
| 13 | enum | Кирилл | М | 1 — нейтральная (по умолчанию), 2 — радостная, 5 — строгая | 1 — русский |
| 14 | enum | Антон | М | 1 — нейтральная (по умолчанию), 2 — радостная | 1 — русский |
| 15 | enum | Маша | Ж | 2 — радостная (по умолчанию), 4 — дружелюбная, 5 — строгая | 1 — русский |
Выходные параметры
| Параметр | Тип | Описание |
|---|---|---|
| call_id | string | идентификатор отправленного голосового SMS (звонка) |
Примеры
Входные параметры
Звонок с предзаписанным аудиофайлом
{
"source": "74959999999",
"destination": "79999999999",
"service_id": "app24226e5c-ce2b-4aa9-aac8-317f8dd42714"
}
Звонок с синтезированием речи в режиме онлайн
{
"source": "74959999999",
"destination": "79999999999",
"tts": {
"text": "МТС Exolve — конструктор омниканальных диалогов для бизнеса",
"voice": 1,
"lang": 1,
"volume": -19,
"speed": 1.1,
"emotion": 2
}
}
Звонок с автоматической ротацией номеров (каруселью)
{
"source": "883140776902323",
"destination": "79999999999",
"service_id": "app24226e5c-ce2b-4aa9-aac8-317f8dd42714"
}
Выходные параметры:
{
"call_id": "7374422070618357761"
}
Возможные ошибки
| Код | Статус | Пример сообщения | Описание |
|---|---|---|---|
| 400 | Bad Request | the client can only call to his own confirmed number | попытка отправки голосового SMS на не подтвержденный номер во время тестового периода аккаунта |
| 400 | Bad Request | Validation error. Please enter valid parameter values. | неправильно указаны параметры запроса |
| 401 | Unauthorized | malformed token | не указан / неправильно указан API-ключ приложения |
Метод GetInfo
Примените метод GetInfo для получения статистики об отправленном голосовом SMS (звонке).
Точка подключения: Выполните POST-запрос с входными параметрами к точке подключения:
POST: https://api.exolve.ru/call/v1/GetInfo
Авторизация
Передайте следующие Заголовки HTTP для успешной авторизации.
| Имя | Тип | Описание |
|---|---|---|
| Authorization | string | API-ключ приложения с Bearer перед ним. Пример: Bearer e***s0, где e***s0 замените на API-ключ вашего приложения |
Входные параметры
Передайте следующие параметры в теле запроса в JSON-формате. Параметры, отмеченные жирным шрифтом, являются обязательными.
| Параметр | Тип | Описание |
|---|---|---|
| call_id | string | идентификатор вызова голосового сообщения (call_id из метода MakeVoiceMessage) |
Выходные параметры
| Параметр | Тип | |
|---|---|---|
| call_id | string | идентификатор вызова голосового SMS |
| created | string | время создания вызова голосового SMS |
| updated | string | время обновления вызова |
| started | string | время начала вызова |
| ended | string | время окончания вызова |
| duration | int32 | продолжительность вызова в секундах |
| timeout | int32 | ожидание ответа вызываемого абонента |
| status | Status | статус вызова |
| direction | string | направление вызова |
| source | string | номер вызывающего абонента |
| destination | string | номер вызываемого абонента |
Status
| Параметр | Тип | Описание |
|---|---|---|
| queued | вызов в очереди | |
| initiated | вызов инициирован | |
| ringing | вызов поступил на номер | |
| answered | поступил ответ на вызов | |
| play_audio_start | на вызов ответили и началось проигрывание аудиосообщения | |
| play_audio_stop | на вызов ответили и проигрывание аудио сообщения окончено | |
| talk | разговорная фаза вызова | |
| completed | вызов завершён | |
| no_answer | вызов завершён без ответа | |
| canceled | вызов отменён вызывающим абонентом | |
| busy | вызываемый абонент занят | |
| rejected | вызов отклонён вызываемым абонентом | |
| failed | вызов не может быть совершён из за недостаточности баланса или неверных настроек вызова | |
| modified | вызов модифицирован API-функцией |
Примеры
Входные параметры:
{
"call_id": "7374422070618357761"
}
Выходные параметры:
{
"call_id": "7374422070618357761",
"created": "Wed, 29 Mar 2023 10:32:45 +0000",
"updated": "Wed, 29 Mar 2023 10:33:07 +0000",
"started": "Wed, 29 Mar 2023 10:32:58 +0000",
"ended": "Wed, 29 Mar 2023 10:33:07 +0000",
"duration": 9,
"timeout": 60,
"status": "completed",
"direction": "outbound",
"source": "79990557296",
"destination": "79995556789"
}
Возможные ошибки
| Код | Статус | Пример сообщения | Описание |
|---|---|---|---|
| 400 | Bad Request | Validation error. Please enter valid parameter values | неправильный параметр в запросе (call_id) |
| 401 | Unauthorized | malformed token | не указан / неправильно указан API-ключ приложения |
| 404 | Not Found | Not Found | отсутствует аудиофайл, привязанный к ресурсу голосового SMS |