Учетные записи провайдеров SIP-телефонии (providers)

Обзор

Производит управление учетными записями провайдеров телефонии.

Пароль учетной записи (поле 'pwd') при чтении выдается только администраторам не выдается другим пользователям с ролями, дающими право чтения коллекции.

Запросы

HTTP verb Endpoint Описание

POST

/rest/v1/uc/providers

Создание новой учетной записи провайдера

GET

/rest/v1/uc/providers

Получение списка учетных записей провайдеров

GET

/rest/v1/uc/providers/<id>

Получение данных учетной записи провайдера

PATCH

/rest/v1/uc/providers/<id>

Изменение данных учетной записи провайдера

DELETE

/rest/v1/uc/providers/<id>

Удаление учетной записи провайдера

LOOKUP

/rest/v1/uc/providers

Поиск идентификатора учетной записи провайдера


Создание новой учетной записи провайдера

Запрос

Описание полей: provider entity

Пример запроса
POST /rest/v1/uc/providers HTTP/1.1
Content-Type: application/json; charset=utf-8

provider entity

Ответ

Описание полей: provider entity

Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "id": "c581b67c-016c-d219-b121-50e54938780c",
  "code": "3528769",
  "enabled": 1,
  "username": "aaa",
  "login": "3528769",
  "pwd": "bbb",
  "domain": "sipnet.ru",
  "proxyaddr": "212.53.40.40",
  "proxyport": 0,
  "transport": "tcp",
  "alternative_proxies": "",
  "extaddrs": "",
  "serveridx": 11,
  "reg": 1,
  "expires": 600,
  "pingmode": "rn",
  "pingsrv": "",
  "pingtimeout": 10,
  "localdomain": "",
  "media": 0,
  "reinvite": 1,
  "translit": 0,
  "lic": {
    "siptrunks": 5
  },
  "trunksout": 3,
  "opts": {
    "title": "",
    "comment": ""
  },
  "ext": {
    "ct": "2019-08-27T08:03:14.84Z",
    "lwt": "2019-08-27T08:03:14.84Z"
  }
}

Получение списка учетных записей провайдеров

Запрос

Table 1. Параметры запроса
Имя Тип Описание

filter

object

Фильтр по значениям полей.

mask

str

Список полей для вывода. Доступные поля для выдачи: id, code, enabled, username, login, domain, proxyaddr, proxyport, transport, alternative_proxies, extaddrs, serveridx, reg, expires, pingmode, pingsrv, pingtimeout, localdomain, media, reinvite, translit, lic, trunksout, opts.title, ext.ct, ext.lwt..

offset

int

Смещение в списке ресурсов, подлежащих выдаче.

limit

int

Максимальное количество ресурсов в списке.

order

array<object|str>

Порядок сортировки ресурсов в списке.

flat

bool

Преобразование в плоский вид составных полей.

Пример запроса
GET /rest/v1/uc/providers?offset=0&limit=2 HTTP/1.1

Ответ

Описание полей: provider entity

Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

[
  {
    "id": "c581b67c-016c-d219-b121-50e54938780c",
    "code": "3528769",
    "enabled": 1,
    "username": "MyAccount",
    "login": "3528769",
    "domain": "sipnet.ru",
    "proxyaddr": "212.53.40.40",
    "proxyport": 5060,
    "transport": "tcp",
    "alternative_proxies": "tcp:212.53.40.41:5060,tcp:212.53.40.42:5060",
    "extaddrs": "sipnet.ru,212.53.40.41,212.53.40.42",
    "serveridx": 11,
    "reg": 1,
    "expires": 600,
    "pingmode": "rn",
    "pingsrv": "",
    "pingtimeout": 10,
    "localdomain": "",
    "media": 0,
    "reinvite": 1,
    "translit": 0,
    "lic": {
      "siptrunks": 5
    },
    "trunksout": 3,
    "opts": {
      "title": ""
    },
    "ext": {
      "ct": "2019-08-27T08:03:14.84Z",
      "lwt": "2019-08-27T08:03:14.84Z"
    }
  },
  {
    "id": "58563833-016c-d21b-070f-50e54938780c",
    "code": "Oktell",
    "enabled": 1,
    "username": "testuser11",
    "login": "testuser11",
    "domain": "test.oktell.ru",
    "proxyaddr": "",
    "proxyport": 5060,
    "transport": "udp",
    "alternative_proxies": "",
    "extaddrs": "",
    "serveridx": 11,
    "reg": 1,
    "expires": 180,
    "pingmode": "none",
    "pingsrv": "",
    "pingtimeout": 10,
    "localdomain": "",
    "media": 1,
    "reinvite": 0,
    "translit": 0,
    "lic": {
      "siptrunks": 1000
    },
    "trunksout": 9999,
    "opts": {
      "title": ""
    },
    "ext": {
      "ct": "2019-08-27T08:04:42.38Z",
      "lwt": "2019-08-27T08:04:42.38Z"
    }
  }
]

Получение данных учетной записи провайдера

Запрос

Table 2. Параметры запроса
Имя Тип Описание

mask

str

Список полей для вывода.

flat

bool

Преобразование в плоский вид составных полей.

Пример запроса
GET /rest/v1/uc/providers/c581b67c-016c-d219-b121-50e54938780c HTTP/1.1

Ответ

Описание полей: provider entity

Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "id": "c581b67c-016c-d219-b121-50e54938780c",
  "code": "3528769",
  "enabled": 1,
  "username": "MyAccount",
  "login": "3528769",
  "pwd": "VeryStrongPassword",
  "domain": "sipnet.ru",
  "proxyaddr": "212.53.40.40",
  "proxyport": 5060,
  "transport": "tcp",
  "alternative_proxies": "tcp:212.53.40.41:5060,tcp:212.53.40.42:5060",
  "extaddrs": "sipnet.ru,212.53.40.41,212.53.40.42",
  "serveridx": 11,
  "reg": 1,
  "expires": 600,
  "pingmode": "rn",
  "pingsrv": "",
  "pingtimeout": 10,
  "localdomain": "",
  "media": 0,
  "reinvite": 1,
  "translit": 0,
  "lic": {
    "siptrunks": 5
  },
  "trunksout": 3,
  "opts": {
    "title": "",
    "comment": ""
  },
  "ext": {
    "ct": "2019-08-27T08:03:14.84Z",
    "lwt": "2019-08-27T08:03:14.84Z"
  }
}

Изменение данных учетной записи провайдера

Поля запрещенные для изменения: id

Запрос

Описание полей: provider entity

Пример запроса
PATCH /rest/v1/uc/providers/c581b67c-016c-d219-b121-50e54938780c HTTP/1.1
Content-Type: application/json; charset=utf-8

provider entity

Ответ

Описание полей: provider entity

Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "id": "c581b67c-016c-d219-b121-50e54938780c",
  "code": "3528769",
  "enabled": 1,
  "username": "MyAccount",
  "login": "3528769",
  "pwd": "VeryStrongPassword",
  "domain": "sipnet.ru",
  "proxyaddr": "212.53.40.40",
  "proxyport": 5060,
  "transport": "tcp",
  "alternative_proxies": "tcp:212.53.40.41:5060,tcp:212.53.40.42:5060",
  "extaddrs": "sipnet.ru,212.53.40.41,212.53.40.42",
  "serveridx": 11,
  "reg": 1,
  "expires": 600,
  "pingmode": "rn",
  "pingsrv": "",
  "pingtimeout": 10,
  "localdomain": "",
  "media": 0,
  "reinvite": 1,
  "translit": 0,
  "lic": {
    "siptrunks": 5
  },
  "trunksout": 3,
  "opts": {
    "title": "",
    "comment": ""
  },
  "ext": {
    "ct": "2019-08-27T08:03:14.84Z",
    "lwt": "2019-08-27T08:03:14.84Z"
  }
}

Удаление учетной записи провайдера

Запрос

Пример запроса
DELETE /rest/v1/uc/providers/c581b67c-016c-d219-b121-50e54938780c HTTP/1.1

Ответ

Пример ответа
HTTP/1.1 204 No Content

Поиск идентификатора учетной записи провайдера

Производит поиск ресурса по указанному ключу, возвращает идентификатор(ы) для построения endpoint.

Ключевые поля для поиска: id, code

Запрос

Пример запроса
LOOKUP /rest/v1/uc/providers HTTP/1.1
Content-Type: application/json; charset=utf-8

"Oktell"

Ответ

Пример успешного ответа
HTTP/1.1 200 OK
content-type: application/json; charset=utf-8

[
  "58563833-016c-d21b-070f-50e54938780c"
]
Пример неуспешного ответа
HTTP/1.1 404 Not Found
Content-Type: application/json; charset=utf-8

{
  "error_code": 1404,
  "error_message": "Lookup failed"
}