Метод MakeCallBack
Примените этот метод для совершения обратного звонка: платформа позвонит абонентам (например, оператору и клиенту), затем объединит их для разговора. Обоим абонентам можно перед соединением проиграть аудиосообщение — предварительно записанное или синтезированное в режиме онлайн в рамках этого же звонка.
Точка подключения:
Выполните POST-запрос с входными параметрами к точке подключения:
POST: https://api.exolve.ru/call/v1/MakeCallback
Авторизация
Передайте следующие Заголовки HTTP для успешной авторизации.
Имя |
Тип |
Описание |
Authorization |
string |
API-ключ приложения с Bearer перед ним. Пример: Bearer e***s0 , где e***s0 замените на API-ключ вашего приложения |
Входные параметры
Передайте следующие параметры в теле запроса в JSON формате. Параметры, отмеченные жирным шрифтом, являются обязательными.
Параметр |
Тип |
Описание |
request_description |
string |
идентификатор запроса со стороны клиента |
number_code |
uint64 |
номер для создания обратного звонка |
callback_resource_id |
uint64 |
уникальный идентификатор ресурса обратного звонка. Чтобы получить идентификатор, создайте ресурс обратного звонка в приложении |
duration |
uint32 |
максимальная длительность соединенного вызова двух абонентов в секундах: от 300 до 3600 (по умолчанию: 1800) |
line_1 |
Line_x |
настройки первого плеча |
line_2 |
Line_x |
настройки второго плеча |
Line_x
Параметр |
Тип |
Описание |
destinations |
Destination |
Список абонентов плеча Х (до 10 на каждом) |
ring_logic |
enum |
Принцип обзвона. Значение 1 для последовательного обзвона, значение 2 для параллельного. Значение 1 по умолчанию |
display_number |
string |
отображаемый номер звонящего/принимающего вызов абонента |
audio |
Audio |
аудиосообщение для абонента плеча Х |
Destination
Параметр |
Тип |
Описание |
number |
string |
номер или SIP-URI абонента |
timeout |
uint32 |
максимальное время дозвона до абонента от инициации вызова в секундах: от 10 до 600 (по умолчанию: 30) |
Audio
ВАЖНО! Для одного плеча можно указать только один из параметров:
media_resource_id
— проиграть принимающим абонентам предзаписанное аудио
tts
— (Text-to-Speech) — синтезировать речь по заданным параметрам в режиме онлайн
Параметр |
Тип |
Описание |
media_resource_id |
uint64 |
уникальный идентификатор медиаресурса для аудиосообщения абоненту плеча Х |
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 |
уникальный идентификатор совершенного обратного звонка |
request_id |
string |
идентификатор запроса со стороны клиента |
Возможные ошибки
Код |
Статус |
Пример сообщения |
Описание |
401 |
Unauthorized |
malformed token |
не указан / не правильно указан API-ключ приложения |
403 |
Forbidden |
customer not active |
нет доступа к услуге обратного звонка из-за статуса аккаунта пользователя (не активирован/заблокирован) |
400 |
Bad Request |
invalid MakeCallbackRequest.Line_1: embedded message failed validation |
невалидный запрос |
504 |
Gateway Timeout |
|
нет ответа от внутренних систем Exolve |
Примеры
Входные параметры:
{
"request_description": "internal_id_148",
"number_code": 74999999999,
"callback_resource_id": 1221,
"line_1": {
"destinations": [
{
"number": "78129999999"
},
{
"number": "74959999999"
}
],
"ring_logic": 1,
"audio": {
"tts": {
"text": "МТС Exolve — конструктор омниканальных диалогов для бизнеса",
"voice": 1,
"lang": 1,
"volume": -19,
"speed": 1.1,
"emotion": 2
}
}
},
"line_2": {
"destinations": [
{
"number": "79599999999"
},
{
"number": "79999999999"
}
],
"ring_logic": 1,
"audio": {
"media_resource_id": 685
}
}
}
Выходные параметры:
{
"call_id": "1890033117915127808",
"request_description": "Идентификатор"
}