SIP-пользователи (sipusers)

Обзор

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

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

Запросы

HTTP verb Endpoint Описание

POST

/rest/v1/uc/sipusers

Создание нового SIP-пользователя

GET

/rest/v1/uc/sipusers

Получение списка SIP-пользователей

GET

/rest/v1/uc/sipusers/<id>

Получение данных SIP-пользователя

PATCH

/rest/v1/uc/sipusers/<id>

Изменение данных SIP-пользователя

DELETE

/rest/v1/uc/sipusers/<id>

Удаление SIP-пользователя

LOOKUP

/rest/v1/uc/sipusers

Поиск идентификатора SIP-пользователя


Создание нового SIP-пользователя

Запрос

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

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

sipuser entity

Ответ

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

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

{
  "id": "0007f945-016c-b373-2772-50e54938780c",
  "name": "sip4",
  "login": "sip4",
  "pwd": "pwd_sip4",
  "phonenumber": "14",
  "reg": 1,
  "devices": [],
  "iduser": "00000000-0000-0000-0000-000000000000",
  "lic": {
    "devices": 2
  },
  "timezone": "default",
  "opts": {
    "title": "",
    "comment": "",
    "ap_device_model": "Yealink SIP-T21P_E2",
    "ap_mac_address": "805EC0D525CA",
    "calltimesec": 30,
    "dlgtimesec": 0,
    "trunks": -1,
    "maxexpires": 3600,
    "minexpires": 30,
    "modextin": "",
    "modextout": "",
    "parallel": ["898765432100"]
  },
  "ext": {
    "ct": "2019-08-21T09:12:44.14Z",
    "lwt": "2019-08-21T09:12:44.14Z"
  }
}

Получение списка SIP-пользователей

Запрос

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

filter

object

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

mask

str

Список полей для вывода. Доступные поля для выдачи: id, name, login, phonenumber, reg, iduser, opts.modextin, opts.modextout, opts.trunks, ext.lwt, ext.ct.

offset

int

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

limit

int

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

order

array<object|str>

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

flat

bool

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

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

Ответ

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

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

[
  {
    "id": "b6edc9b1-016c-b372-63a5-50e54938780c",
    "name": "SIP1-{D}",
    "login": "sip1",
    "phonenumber": "11",
    "reg": 1,
    "iduser": "00000000-0000-0000-0000-000000000000",
    "opts": {
      "trunks": -1,
      "modextin": "",
      "modextout": "",
      "parallel": ["89274137274","*9311"]
    },
    "ext": {
      "ct": "2019-08-21T09:11:54.20Z",
      "lwt": "2019-08-21T09:11:54.20Z"
    }
  },
  {
    "id": "610e09f3-016c-b372-b4da-50e54938780c",
    "name": "sip2",
    "login": "SIP2-{D}",
    "phonenumber": "12",
    "reg": 1,
    "iduser": "00000000-0000-0000-0000-000000000000",
    "opts": {
      "ap_mac_address": "805EC0D524E1",
      "trunks": -1,
      "modextin": "",
      "modextout": "",
      "parallel": []
    },
    "ext": {
      "ct": "2019-08-21T09:12:14.81Z",
      "lwt": "2019-08-21T09:12:14.81Z"
    }
  }
]

Получение данных SIP-пользователя

Запрос

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

mask

str

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

flat

bool

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

Пример запроса
GET /rest/v1/uc/sipusers/0007f945-016c-b373-2772-50e54938780c HTTP/1.1

Ответ

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

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

{
  "id": "0007f945-016c-b373-2772-50e54938780c",
  "name": "sip4",
  "login": "sip4",
  "pwd": "pwd_sip4",
  "phonenumber": "14",
  "reg": 1,
  "devices": [],
  "iduser": "00000000-0000-0000-0000-000000000000",
  "lic": {
    "devices": 2
  },
  "timezone": "default",
  "opts": {
    "title": "",
    "comment": "",
    "ap_device_model": "Yealink SIP-T21P_E2",
    "ap_mac_address": "805EC0D525CA",
    "calltimesec": 30,
    "dlgtimesec": 0,
    "trunks": -1,
    "maxexpires": 3600,
    "minexpires": 30,
    "modextin": "",
    "modextout": "",
    "parallel": ["898765432100"]
  },
  "ext": {
    "ct": "2019-08-21T09:12:44.14Z",
    "lwt": "2019-08-21T09:12:44.14Z"
  }
}

Изменение данных SIP-пользователя

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

Запрос

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

Пример запроса
PATCH /rest/v1/uc/sipusers/0007f945-016c-b373-2772-50e54938780c HTTP/1.1
Content-Type: application/json; charset=utf-8

sipuser entity

Ответ

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

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

{
  "id": "0007f945-016c-b373-2772-50e54938780c",
  "name": "sip4",
  "login": "sip4",
  "pwd": "pwd_sip4",
  "phonenumber": "14",
  "reg": 1,
  "devices": [],
  "iduser": "00000000-0000-0000-0000-000000000000",
  "lic": {
    "devices": 2
  },
  "timezone": "default",
  "opts": {
    "title": "",
    "comment": "",
    "ap_device_model": "Yealink SIP-T21P_E2",
    "ap_mac_address": "805EC0D525CA",
    "calltimesec": 30,
    "dlgtimesec": 0,
    "trunks": -1,
    "maxexpires": 3600,
    "minexpires": 30,
    "modextin": "",
    "modextout": "",
    "parallel": ["898765432100"]
  },
  "ext": {
    "ct": "2019-08-21T09:12:44.14Z",
    "lwt": "2019-09-07T16:25:03.01Z"
  }
}

Удаление SIP-пользователя

Запрос

Пример запроса
DELETE /rest/v1/uc/sipusers/0007f945-016c-b373-2772-50e54938780c HTTP/1.1

Ответ

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

Поиск идентификатора SIP-пользователя

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

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

Запрос

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

"11"

Ответ

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

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

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