SIP API

Программный интерфейс SIP API позволяет управлять SIP ID в приложении аккаунта МТС Exolve.

SIP (Session Initiary Protocol) — это протокол установления сеанса связи через Интернет. В МТС Exolve используется для совершения и приёма звонков. SIP-протокол позволяет открывать несколько сеансов связи одновременно без потери скорости и качества обработки информации. Отличается высоким уровенем безопасности благодаря шифрованию входных и выходных каналов связи.

SIP API Exolve предлагает пользователям следующие методы для работы:

  • Create - создает SIP ID в приложении аккаунта;

  • Delete - удаляет созданный SIP ID в приложении аккаунта;

  • GetFees - получает абонентскую плату за использование SIP ID;

  • GetAttributes - получает информацию о параметрах созданного SIP ID;

  • GetSIPList - получает информацию обо всех SIP ID приложения по заданным параметрам;

  • SetDisplayNumber - устанавливает определяемый номера на SIP ID;

  • ChangePassword - меняет пароль от SIP ID.


Для звонков используются IP-адреса:

  • 80.75.130.99 — звонка с/на Static IP
  • 80.75.130.100 — звонка с/на SIP ID
  • 80.75.130.101 — переадресация на SIP-соединение

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

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

Метод Create

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

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

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

Авторизация

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

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

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

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

Параметр Тип Описание
sip_name string название ресурса SIP ID
number uint64 определяемый номер Exolve (для исходящих звонков в ТфОП)
description string описание к ресурсу SIP ID
call_record boolean запись разговора. True - включить запись разговоров, False - не включать запись разговоров

Примечание
Чтобы включить запись звонков через SIP ID, убедитесь, что соответствующая услуга уже включена в настройках приложения в Личном кабинете разработчика.

Определяемый номер используется для исходящих звонков при выходе в телефонную сеть общего пользования. В качестве такого номера можно назначить только один из номеров этого же приложения.


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

Параметр Тип Описание
sip_resource_id uint64 уникальный идентификатор ресурса SIP ID
username string юзернейм SIP ID

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

Код Статус Пример сообщения Описание
401 Unauthorized Unauthorized отсутствует/невалидный API-ключ
400 Bad Request Error adding SIP: sip name is not unique on the application SIP ID с таким именем уже есть в приложении
400 Bad Request Error adding SIP: not enough money on account попытка купить 4 SIP ID при нулевом балансе
400 Bad Request Error adding SIP: customer is not active аккаунт пользователя не активен
409 Conflict Error adding SIP: call record is disabled on the app услуга записи звонков не включена в настройках приложения
500 Internal Server Error Application [app_name] does not own resource [number] указанный номер не принадлежит приложению
400 Bad Request invalid value [value] в одном из полей невалидный формат
400 Bad Request value length must be between 3 and 40 runes, inclusive поле sip_name должно содержать от 3 до 40 символов включительно

Примеры

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

{
    "sip_name": "Test",
    "number": 74991112233,
    "description": "Test SIP ID",
    "call_record": true
}

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

{
    "sip_resource_id": "1111",
    "username": "88314011122"
}

Метод Delete

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

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

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

Авторизация

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

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

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

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

Параметр Тип Описание
sip_resource_id uint64 уникальный идентификатор ресурса SIP ID

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

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

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

Код Статус Пример сообщения Описание
401 Unauthorized Unauthorized отсутствует/не валидный API-ключ
400 Bad Request Error deleting sip: SIP is missing in the application заданный SIP ID не принадлежит приложению
400 Bad Request Error adding SIP: customer is not active аккаунт пользователя не активен
400 Bad Request invalid value for uint64 type значение в поле sip_resource_id не валидно
400 Bad Request Error adding SIP: customer is not active аккаунт пользователя не активен

Примеры

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

{
    "sip_resource_id": "111"
}

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

{}

Метод GetFees

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

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

POST: https://api.exolve.ru/sip/v1/GetFees

Авторизация

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

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

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

Передайте пустой JSON в теле запроса.

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

Параметр Тип Описание
install_fee float стоимость покупки
subscription_fee float абонентская плата

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

Код Статус Пример сообщения Описание
401 Unauthorized Unauthorized отсутствует/не валидный API-ключ
400 Bad Request invalid value [value] невалидное значение в запросе
400 Bad Request Error adding SIP: customer is not active аккаунт пользователя не активен

Примеры

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

{}

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

{
    "install_fee": 0,
    "subscription_fee": 90
}

Метод GetAttributes

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

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

POST: https://api.exolve.ru/sip/v1/GetAttributes

Авторизация

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

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

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

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

Параметр Тип Описание
sip_resource_id uint64 уникальный идентификатор ресурса SIP ID

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

Параметр Тип Описание
application_uuid string уникальный идентификатор приложения, ресурсом которого является SIP ID
sip_resource_id uint64 уникальный идентификатор ресурса SIP ID
sip_name string название ресурса SIP ID
description string описание к ресурсу SIP ID
number_code uint64 юзернейм SIP ID
attributes SipAttributes атрибуты, информация о SIP ID
create_date string дата создания SIP ID в формате RFC-3339 / ISO-8601

SipAttributes

Параметр Тип Описание
login sting логин (юзернейм) SIP ID
password string пароль SIP ID
install_fee float стоимость покупки
subscription_fee float абонентская плата
username string юзернейм SIP ID
domain string домен для подключения
call_record boolean запись разговора. True - включить запись разговоров, False - не включать запись разговоров
cli string определяемый номер Exolve (для исходящих звонков в ТфОП)

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

Код Статус Пример сообщения Описание
401 Unauthorized Unauthorized отсутствует/не валидный API-ключ
400 Bad Request Error getting sip info: SIP is missing in the application заданный SIP ID не принадлежит приложению
400 Bad Request invalid value for uint64 type [value] значение в поле sip_resource_id не валидно
400 Bad Request Error adding SIP: customer is not active аккаунт пользователя не активен

Примеры

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

{
    "sip_resource_id": 1111
}

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

{
    "application_uuid": "178ec145-6898-4b06-a92a-75f63cb57046",
    "sip_resource_id": "1111",
    "sip_name": "TEST SIP ID",
    "description": "",
    "number_code": "883140123456789",
    "attributes": {
        "login": "883140123456789",
        "password": "password123",
        "subscription_fee": 0,
        "install_fee": 0,
        "username": "883140123456789",
        "domain": "sip.exolve.ru",
        "call_record": false,
        "cli": "79991112233"
    },
    "create_date": "2023-12-20T12:35:56.122610Z"
}

Метод GetSIPList

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

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

POST: https://api.exolve.ru/number/customer/v1/GetSIPList

Авторизация

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

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

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

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

Параметр Тип Описание
search_filter_by_name string фильтр по названию ресурса SIP ID
limit uint64 лимит выводимых данных
offset uint64 номер строки, с которой начинать выборку (начинается с 0)
date_from string дата создания SIP ID в формате RFC-3339 / ISO-8601, от которой начинать выборку
date_to string дата создания SIP ID в формате RFC-3339 / ISO-8601, до которой продолжать выборку
username_filter string фильтр по имени пользователя (юзернейму)
order_by oneof OrderBy тип сортировки

OrderBy

Параметр Тип Описание
order_by_name enum OrderByName сортировка по имени
order_by_date enum OrderByDate сортировка по дате

OrderByName/OrderByDate

Параметр Тип Описание
1 enum ascending order (по возрастанию)
2 enum descending order (по убыванию) — по умолчанию для даты

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

Параметр Тип Описание
sips SIPListElement список SIP ID и информация о них

SIPListElement

Параметр Тип Описание
application_uuid string уникальный идентификатор приложения, ресурсом которого является SIP ID
sip_name string название ресурса SIP ID
subscription_fee float абонентская плата
install_fee float стоимость покупки
sip_resource_id uint64 уникальный идентификатор ресурса SIP ID
user_name string юзернейм SIP ID
domain string домен для подключения
number_code string юзернейм SIP ID
create_date string дата создания SIP ID в формате RFC-3339 / ISO-8601
cli string определяемый номер телефона

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

Код Статус Пример сообщения Описание
401 Unauthorized Unauthorized отсутствует/не валидный API-ключ
400 Bad Request invalid value [value] в одном из полей не валидный формат
400 Bad Request GetSIPListRequest.OrderByName: value must be one of the defined enum values в поле order_by_name должно быть одно из определённых значений
400 Bad Request GetSIPListRequest.OrderByDate: value must be one of the defined enum values в поле order_by_date должно быть одно из определённых значений
400 Bad Request invalid google.protobuf.Timestamp value [value] в поле date_from/date_to не валидный формат даты
400 Bad Request Error adding SIP: customer is not active аккаунт пользователя не активен

Примеры

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

{
    "search_filter_by_name": null,
    "limit": 10,
    "offset": 0,
    "date_from": "2022-12-19T12:35:56.122610Z",
    "date_to": "2023-12-21T12:35:56.122610Z",
    "username_filter": null,
    "order_by_name": 1
}

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

{
    "sips": [
        {
            "application_uuid": "178ec145-6898-4b06-a92a-75f63cb57046",
            "sip_name": "TEST SIP ID",
            "subscription_fee": 0,
            "install_fee": 0,
            "sip_resource_id": "1111",
            "user_name": "883140123456789",
            "domain": "sip.exolve.ru",
            "number_code": "883140123456789",
            "create_date": "2023-12-20T12:35:56.122610Z",
            "cli": "79991112233"
        },
        {
            "application_uuid": "178ec145-6898-4b06-a92a-75f63cb57046",
            "sip_name": "TEST SIP",
            "subscription_fee": 0,
            "install_fee": 0,
            "sip_resource_id": "2222",
            "user_name": "883140987654321",
            "domain": "sip.exolve.ru",
            "number_code": "883140987654321",
            "create_date": "2023-10-10T11:28:38.316920Z",
            "cli": "79994445566"
        }
    ]
}

Метод SetDisplayNumber

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

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

POST: https://api.exolve.ru/sip/v1/SetDisplayNumber

Авторизация

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

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

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

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

Параметр Тип Описание
sip_resource_id uint64 уникальный идентификатор ресурса SIP ID
number uint64 определяемый номер Exolve (для исходящих звонков в ТфОП)

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

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

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

Код Статус Пример сообщения Описание
401 Unauthorized Unauthorized отсутствует/невалидный API-ключ
400 Bad Request Error set sip display number: incorrect number format неправильный формат номера в поле number
400 Bad Request Error set sip display number: number is missing in the application указанный номер не принадлежит приложению
400 Bad Request Error getting sip info: SIP is missing in the application заданный SIP ID не принадлежит приложению
400 Bad Request Error adding SIP: customer is not active аккаунт пользователя неактивен

Примеры

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

{
    "sip_resource_id": 1111,
    "number": 79991112233
}

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

{}

Метод ChangePassword

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

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

POST: https://api.exolve.ru/sip/v1/ChangePassword

Авторизация

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

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

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

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

Параметр Тип Описание
sip_resource_id uint64 уникальный идентификатор ресурса SIP ID

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

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

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

Код Статус Пример сообщения Описание
401 Unauthorized Unauthorized отсутствует/не валидный API-ключ
400 Bad Request Error getting sip info: SIP is missing in the application заданный SIP ID не принадлежит приложению
400 Bad Request Error adding SIP: customer is not active аккаунт пользователя не активен
400 Bad Request invalid value [value] значение в поле sip_resource_id не валидно

Примеры

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

{
    "sip_resource_id": 1111,
}

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

{}