Callback API

Callback API позволяет управлять и совершать обратные звонки:

  • Create — создаёт ресурс обратного звонка в приложении Личного кабинета;
  • GetList — получает информацию обо всех ресурсах обратных звонков в приложении;
  • GetInfo — получает информацию о ресурсе обратного звонка;
  • Delete — удаляет ресурс обратного звонка;
  • Update — изменяет название и описание ресурса обратного звонка;
  • MakeCallBack — совершает обратный звонок.

Решения, где используется Callback API

Click-to-call

Обратный звонок

Переадресация вызовов

Попробовать бесплатно

Метод Create

Примените этот метод для создания услуги обратного звонка в приложении. Для этого выполните POST запрос с входными параметрами к точке подключения, указанными ниже.

Точка подключения:

POST: https://api.exolve.ru/callback/v1/Create

Авторизация

Передайте следующие Заголовки HTTP для успешной авторизации.

ИмяТипОписание
AuthorizationstringAPI-ключ приложения с Bearer перед ним. Пример: Bearer e***s0, где e***s0 замените на API-ключ вашего приложения

Входные параметры

Передайте следующие параметры в теле запроса в JSON формате. Параметры, отмеченные жирным шрифтом, являются обязательными.

ПараметрТипОписание
callback_namestringнаименование ресурса обратного звонка
descriptionstringописание ресурса обратного звонка

Выходные параметры

ПараметрТипОписание
callback_resource_idstringуникальный идентификатор ресурса обратного звонка

Примеры

Входные параметры:

{
    "callback_name": "Наименование",
    "description": "Описание"
}

Выходные параметры:

{
    "callback_resource_id": "1657"
}

Возможные ошибки

КодСтатусПример сообщенияОписание
400Bad Requestproto: (line 3:20): invalid value for string type: 1невалидный запрос
401Unauthorizedmalformed tokenне указан / не правильно указан API-ключ приложения
403Forbiddencustomer not activeнет доступа к услуге обратного звонка из-за статуса аккаунта пользователя (не активирован/заблокирован)

Метод GetList

Примените этот метод для получения информации обо всех услугах обратного звонка в приложении. Для этого выполните POST запрос с входными параметрами к точке подключения, указанными ниже.

Точка подключения:

POST: https://api.exolve.ru/callback/v1/GetList

Авторизация

Передайте следующие Заголовки HTTP для успешной авторизации.

ИмяТипОписание
AuthorizationstringAPI-ключ приложения с Bearer перед ним. Пример: Bearer e***s0, где e***s0 замените на API-ключ вашего приложения

Входные параметры

Пустой JSON

Выходные параметры

ПараметрТипОписание
callback_resource_idstringуникальный идентификатор ресурса обратного звонка
callback_namestringнаименование ресурса обратного звонка
descriptionstringописание ресурса обратного звонка
created_atstringдата создания ресурса обратного звонка в формате RFC-3339 / ISO-8601

Возможные ошибки

КодСтатусПример сообщенияОписание
401Unauthorizedmalformed tokenне указан / не правильно указан API-ключ приложения
403Forbiddencustomer status blockedнет доступа к услуге обратного звонка из-за статуса аккаунта пользователя (не активирован/заблокирован)
400Bad Requestproto: (line 3:20): invalid value for string type: 1невалидный запрос
504Gateway Timeoutнет ответа от внутренних систем Exolve

Примеры

Входные параметры:

{}

Выходные параметры:

{
    "callbacks": [
        {
            "callback_resource_id": "138825",
            "callback_name": "Test",
            "description": "Test",
            "created_at": "2023-03-10T11:14:07.990035Z"
        },
        {
            "callback_resource_id": "138872",
            "callback_name": "Наименование",
            "description": "Описание",
            "created_at": "2023-03-12T12:20:08.971486Z"
        }
    ]
}

Метод GetInfo

Примените этот метод для получения информации об услуге обратного звонка в приложении. Для этого выполните POST запрос с входными параметрами к точке подключения, указанными ниже.

Точка подключения:

POST: https://api.exolve.ru/callback/v1/GetInfo

Авторизация

Передайте следующие Заголовки HTTP для успешной авторизации.

ИмяТипОписание
AuthorizationstringAPI-ключ приложения с Bearer перед ним. Пример: Bearer e***s0, где e***s0 замените на API-ключ вашего приложения

Входные параметры

Передайте следующие параметры в теле запроса в JSON формате. Параметры, отмеченные жирным шрифтом, являются обязательными.

ПараметрТипОписание
callback_resource_iduint64уникальный идентификатор ресурса обратного звонка

Выходные параметры

ПараметрТипОписание
callback_resource_idstringуникальный идентификатор ресурса обратного звонка
callback_namestringнаименование ресурса обратного звонка
descriptionstringописание ресурса обратного звонка
created_atstringдата создания ресурса обратного звонка в формате RFC-3339 / ISO-8601

Возможные ошибки

КодСтатусПример сообщенияОписание
401Unauthorizedmalformed tokenне указан / не правильно указан API-ключ приложения
403Forbiddencustomer not activeнет доступа к услуге обратного звонка из-за статуса аккаунта пользователя (не активирован/заблокирован)
400Bad Requestproto: (line 3:20): invalid value for string type: 1невалидный запрос
504Gateway Timeoutнет ответа от внутренних систем Exolve

Примеры

Входные параметры:

{
    "callback_resource_id": 138873
}

Выходные параметры:

{
    "callback": {
        "callback_resource_id": "138873",
        "callback_name": "Наименование",
        "description": "Описание",
        "created_at": "2023-03-12T12:20:41.112301Z"
    }
}

Метод Delete

Примените этот метод для удаления услуги обратного звонка в приложении. Для этого выполните POST запрос с входными параметрами к точке подключения, указанными ниже.

Точка подключения:

POST: https://api.exolve.ru/callback/v1/Delete

Авторизация

Передайте следующие Заголовки HTTP для успешной авторизации.

ИмяТипОписание
AuthorizationstringAPI-ключ приложения с Bearer перед ним. Пример: Bearer e***s0, где e***s0 замените на API-ключ вашего приложения

Входные параметры

Передайте следующие параметры в теле запроса в JSON формате. Параметры, отмеченные жирным шрифтом, являются обязательными.

ПараметрТипОписание
callback_resource_iduint64уникальный идентификатор ресурса обратного звонка

Выходные параметры

Пустой JSON с 200 OK статусом.

Возможные ошибки

КодСтатусПример сообщенияОписание
401Unauthorizedmalformed tokenне указан / не правильно указан API-ключ приложения
403Forbiddencustomer status suspendнет доступа к услуге обратного звонка из-за статуса аккаунта пользователя (не активирован/заблокирован)
400Bad Requestproto: (line 3:20): invalid value for string type: 1невалидный запрос
504Gateway Timeoutнет ответа от внутренних систем Exolve

Примеры

Входные параметры:

{
    "callback_resource_id": 1657
}

Метод Update

Примените этот метод для изменения услуги обратного звонка в приложении. Для этого выполните POST запрос с входными параметрами к точке подключения, указанными ниже.

Точка подключения:

POST: https://api.exolve.ru/callback/v1/Update

Авторизация

Передайте следующие Заголовки HTTP для успешной авторизации.

ИмяТипОписание
AuthorizationstringAPI-ключ приложения с Bearer перед ним. Пример: Bearer e***s0, где e***s0 замените на API-ключ вашего приложения

Входные параметры

Передайте следующие параметры в теле запроса в JSON формате. Параметры, отмеченные жирным шрифтом, являются обязательными.

ПараметрТипОписание
callback_resource_iduint64уникальный идентификатор ресурса обратного звонка
callback_namestringнаименование ресурса обратного звонка
descriptionstringописание ресурса обратного звонка

Выходные параметры

Пустой JSON с 200 OK статусом

Возможные ошибки

КодСтатусПример сообщенияОписание
401Unauthorizedmalformed tokenне указан / не правильно указан API-ключ приложения
403Forbiddencustomer status blockedнет доступа к услуге обратного звонка из-за статуса аккаунта пользователя (не активирован/заблокирован)
400Bad Requesterror setting callback fieldsневалидный запрос
504Gateway Timeoutнет ответа от внутренних систем Exolve

Примеры

Входные параметры:

{
    "callback_resource_id": 1212,
    "callback_name": "Новое наименование",
    "description": "Новое описание"
}

Выходные параметры:

{}

Метод MakeCallBack

Примените метод MakeCallBack для совершения обратного звонка: платформа позвонит абонентам (например, оператору и клиенту), затем объединит их для разговора. Обоим абонентам можно перед соединением проиграть аудиосообщение — предварительно записанное или синтезированное в режиме онлайн в рамках этого же звонка.

Точка подключения: Выполните POST-запрос с входными параметрами к точке подключения:

POST: https://api.exolve.ru/call/v1/MakeCallback

Авторизация

Передайте следующие Заголовки HTTP для успешной авторизации.

ИмяТипОписание
AuthorizationstringAPI-ключ приложения с Bearer перед ним. Пример: Bearer e***s0, где e***s0 замените на API-ключ вашего приложения

Входные параметры

Передайте следующие параметры в теле запроса в JSON-формате. Параметры, отмеченные жирным шрифтом, являются обязательными.

ПараметрТипОписание
request_descriptionstringидентификатор запроса со стороны клиента
number_codeuint64номер для создания обратного звонка
callback_resource_iduint64идентификатор ресурса обратного звонка. Чтобы получить идентификатор, создайте ресурс обратного звонка в приложении
durationuint32максимальная длительность соединенного вызова двух абонентов в секундах: от 300 до 3600 (по умолчанию: 1800)
line_1Line_xнастройки первого плеча
line_2Line_xнастройки второго плеча

Line_x

ПараметрТипОписание
destinationsDestinationсписок абонентов плеча Х (до 10 на каждом)
ring_logicenumлогика дозвона: значение 1 для последовательного (по умолчанию), 2 — для параллельного
display_numberstringотображаемый номер звонящего/принимающего вызов абонента
audioAudioаудиосообщение для абонента плеча Х

Destination

ПараметрТипОписание
numberstringномер или SIP-URI абонента
timeoutuint32максимальное время дозвона до абонента от инициации вызова в секундах: от 10 до 600 (по умолчанию: 30)

Audio


ВАЖНО! Для одного плеча можно указать только один из параметров:

  • media_resource_id — проиграть принимающим абонентам предзаписанное аудио
  • tts — (Text-to-Speech) — синтезировать речь по заданным параметрам в режиме онлайн

ПараметрТипОписание
media_resource_iduint64уникальный идентификатор медиаресурса для аудиосообщения абоненту плеча Х
ttsTTSпараметры синтеза речи для аудиосообщения абоненту плеча Х

TTS

ПараметрТипОписание
textstringтекст синтезируемой речи (от 1 до 1000 символов, кодировка не учитывается)
voiceVoiceголос для озвучивания текста
langLangязык синтезируемой речи
volumeint32нормализация громкости (от -145 до 0, где -145 — наименьшее усиление, 0 — наибольшее усиление громкости; по умолчанию -19)
speedfloatскорость синтезируемой речи (от 0.1 до 3.0, где 0.1 — самая медленная, 3.0 — самая быстрая; по умолчанию 1.0)
emotionEmotionэмоция для озвучивания текста

SynthesisSettings


ВАЖНО! Каждый голос поддерживает определённые параметры языка и эмоции. При формировании API-запроса важно, чтобы выбранный голос был доступен с указанным языком и эмоцией


ПараметрТипГолос (Voice)ПолЭмоция (Emotion)Язык (Lang)
1enumАлёна (по умолчанию)Ж1 — нейтральная (по умолчанию), 2 — добрая1 — русский
2enumЕрмилМ1 — нейтральная (по умолчанию), 2 — радостная1 — русский
3enumДжейнЖ1 — нейтральная (по умолчанию), 2 — радостная, 3 — раздраженная1 — русский
4enumОмажЖ1 — нейтральная (по умолчанию), 3 — раздраженная1 — русский
5enumЗахарМ1 — нейтральная (по умолчанию), 2 — радостная1 — русский
8enumДашаЖ1 — нейтральная (по умолчанию), 2 — радостная, 4 — дружелюбная1 — русский
9enumЮлияЖ1 — нейтральная (по умолчанию), 5 — строгая1 — русский
10enumЛераЖ1 — нейтральная (по умолчанию), 4 — дружелюбная1 — русский
11enumМаринаЖ1 — нейтральная (по умолчанию), 4 — дружелюбная, 6 — шёпот1 — русский
12enumАлександрМ1 — нейтральная (по умолчанию), 2 — радостная1 — русский
13enumКириллМ1 — нейтральная (по умолчанию), 2 — радостная, 5 — строгая1 — русский
14enumАнтонМ1 — нейтральная (по умолчанию), 2 — радостная1 — русский
15enumМашаЖ2 — радостная (по умолчанию), 4 — дружелюбная, 5 — строгая1 — русский

Выходные параметры

ПараметрТипОписание
call_idstringидентификатор совершённого обратного звонка

Примеры

Входные параметры:

{
    "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"
}

Возможные ошибки

КодСтатусПример сообщенияОписание
401Unauthorizedmalformed tokenне указан / неправильно указан API-ключ приложения
403Forbiddencustomer not activeнет доступа к услуге обратного звонка из-за статуса аккаунта пользователя (не активирован/заблокирован)
400Bad Requestinvalid MakeCallbackRequest.Line_1: embedded message failed validationневалидный запрос