Пользователь

Доступность объекта: общедоступный объект.

Объект:

Наименование

Тип

Описание

login *

StrictEmailType

Логин (e-mail, строгая валидация; уникальный). min_length=1, max_length=100.

password *

StringType

Пароль (хранится хешем). min_length=1, max_length=512.

phone

StringType

Телефон (9–16 цифр). формат ^d{9,16}$.

email *

StrictEmailType

E-mail для уведомлений. max_length=100.

name *

StringType

Имя. min_length=1, max_length=50.

surname

StringType

Фамилия. min_length=0, max_length=50.

status *

IntType

Статус: 1 — включён, 0 — выключен. default=1, choices=[1, 0].

role_id *

ForeignKey

Ссылка на объект Роль. fk_model=Role.

domain_id

IntType

Ссылка на объект Домен (для доменных пользователей).

В ответах дополнительно возвращаются поля avatar (URL аватара из профиля) и numbers (список добавочных номеров — для доменных пользователей).

Помимо стандартных list / get / append / update / delete и показанного ниже list_with_detail, доступны действия: select, select_with_detail, export (выгрузка в XLSX), get_profile / set_profile (профиль пользователя), get_profile_verto / get_verto_qrcode (параметры WebRTC), auth / 2fa / logout / check_auth (авторизация), journal_auth / journal_auth_xlsx / journal_auth_csv (журнал входов).

Получение списка:

POST http://{{v2_host}}/api/
Content-Type: application/json
Authorization: Bearer {{auth_token}}

{
  "action": "list",
  "obj": "User",
  "action_id": "123",
  "params": {
    "domain_id": 3
  }
}

Получение расширенного списка:

POST http://{{v2_host}}/api/
Content-Type: application/json
Authorization: Bearer {{auth_token}}

{
  "action": "list_with_detail",
  "obj": "User",
  "action_id": "123",
  "params": {
    "domain_id": 3
  }
}

Получение объекта:

POST http://{{v2_host}}/api/
Content-Type: application/json
Authorization: Bearer {{auth_token}}

{
  "action": "get",
  "obj": "User",
  "action_id": "123",
  "params": {
    "id": 5
  }
}

Добавление объекта:

POST http://{{v2_host}}/api/
Content-Type: application/json
Authorization: Bearer {{auth_token}}

{
  "action": "append",
  "obj": "User",
  "action_id": "123",
  "params": {
    "login": "rita@office.runtel.ru",
    "password": "Some!password",
    "name": "Рита",
    "status": 1,
    "domain_id": 3,
    "role_id": 2
  }
}

Обновление объекта:

POST http://{{v2_host}}/api/
Content-Type: application/json
Authorization: Bearer {{auth_token}}

{
  "action": "update",
  "obj": "User",
  "action_id": "123",
  "params": {
    "id": 5,
    "login": "rita@office.runtel.ru",
    "password": "Some!password",
    "name": "Рита",
    "status": 1,
    "domain_id": 3,
    "role_id": 2
  }
}

Удаление объекта:

POST http://{{v2_host}}/api/
Content-Type: application/json
Authorization: Bearer {{auth_token}}

{
  "action": "delete",
  "obj": "User",
  "action_id": "123",
  "params": {
    "id": 5
  }
}