API: Работа с пользователями

Сущности

User

Свойство Тип Описание
id Guid
name string Уникально.
isActive bool Признак "Действующий".
created date
email
bool Уникально. Домен должен быть зарегистрирован в системе
licensed
bool Признак "Лицензируемый".
location
string
position
string
phone
string
firstWorkDay
date
lastWorkDay
date
department
navigation
resourcePool
navigation
supervisor
navigation Руководитель. Контролируется отсутствие "циклов" подчиненности.
timeOffPath
navigation
timeSheetPath
navigation
expensePath
navigation
timeSheetTemplate
navigation

Department

Свойство Тип Описание
id Guid  
name string Уникально.
isActive bool Признак "Действующий".
created date  
leadDepartment
navigation Ведущее подразделение. Контролируется отсутствие "циклов" подчиненности.

Cоздание пользователя

В момент создания выполняется проверка уникальности имени и кода, корректности email, отсутствия циклической подчиненности и пр. Также заполняются значения по умолчанию: расписание, маршруты согласования, шаблон таймшита. Обязательны к заполнению только два поля: name и email, остальные можно опустить.

[POST] https://api.workpoint.app/odata/Users
Body: 
{      
   "name": "Иван Иванов",      
   "email": "ivanov@domain.ru",      
   "supervisorId": "bcd753cc-0b80-57ae-a471-6ff7f06010e1",      
   "departmentId": "9468cd5c-ea04-4adb-a1d7-94b6b910ab2e" 
}

Response: created entity

Установка прав доступа пользователя

Наборы прав для пользователя устанавливаются отдельным действием. В теле запроса передается коллекция сущностей UserPermissionSet, включающих два свойства: userId и permissionSetId. Действие приводит к замена существующих наборов прав пользователя на новую коллекцию. 

[POST] https://api.workpoint.app/odata/Users(62512b7c-c55a-4ea5-b23a-ed52bd06ef02)/WP.UpdatePermissionSets
Body: 
{
    "permissionSets": [
        {
            "userId": "62512b7c-c55a-4ea5-b23a-ed52bd06ef02",
            "permissionSetId": "48991eef-ef27-496b-89c0-4f483f3e41c1"
        },
        {
            "userId": "62512b7c-c55a-4ea5-b23a-ed52bd06ef02",
            "permissionSetId": "0a5699af-eaf2-4f60-a00a-1e19f69afc00"
        }
    ]
}

Получение пользователя по ИД

[GET] https://api.workpoint.app/odata/Users(a5e16802-23d9-48be-99bb-02d9e34c7409)?$expand=department($select=name),$select=name

Response:
{
    "name": "Иван Агафонов",    
    "department": {
        "name": "Департамент корпоративного аудита 02"
    }
}

Поиск пользователей

[GET] https://api.workpoint.app/odata/Users?$filter=email eq 'IAgafonov@demo.ru'&$select=id

Response:
{    
    "value": [
        {
            "id": "a5e16802-23d9-48be-99bb-02d9e34c7409"
        }
    ]
}

Отключение пользователя

[PATCH] https://api.workpoint.app/odata/Users(a5e16802-23d9-48be-99bb-02d9e34c7409)
Body: 
{      
   "isActive": false
}