API: Пример работы с пользователем

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

В момент создания выполняется проверка уникальности имени и кода, корректности 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)

Response:
{
    "@odata.context": "https://wpapi-test-master.azurewebsites.net/odata/$metadata#Users(department(name))/$entity",
    "code": "001",
    "resourcePoolId": "1c2c94fb-7f00-4616-8192-aa5781d4bc69",
    "resourceType": "User",
    "name": "Иван Агафонов",
    "rowVersion": "AAAAAAAA3Mo=",
    "id": "a5e16802-23d9-48be-99bb-02d9e34c7409",
    "created": "2019-11-21T05:40:03.4651775Z",
    "isActive": true,
    "firstWorkDay": "2020-09-01",
    "lastWorkDay": null,   
    "email": "IAgafonov@demo.ru",
    "location": "Москва, центральный офис",
    "position": null,
    "phone": "+7 925 529-82-70",
    "departmentId": "cdf82273-e771-4453-8eb2-f5ace3e2e227",
    "supervisorId": "bcd753cc-0b80-57ae-a471-6ff7f06010e1",
    "restrictActivities": false,
    "timeSheetTemplateId": "e590d1c1-50e8-467b-a9b5-787cca869446",
    "timeSheetPathId": "237df579-9712-4fa5-b6d6-f7d2ee97b688",
    "timeOffPathId": "1dd3cd4b-84a4-44ce-ab97-1d5494f2ab05",
    "expensePathId": "438a827d-1007-4ce5-a668-4680a0a6737f"
    "editAllowed": true,
    "deleteAllowed": true,
    "department": {
        "name": "Департамент корпоративного аудита 02"
    }
}

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

[GET] https://api.workpoint.app/odata/Users(a5e16802-23d9-48be-99bb-02d9e34c7409)?$filter=email eq 'IAgafonov@demo.ru'&$select=id

Response:
{
    "@odata.context": "https://wpapi-test-master.azurewebsites.net/odata/$metadata#Users(id)",
    "value": [
        {
            "id": "a5e16802-23d9-48be-99bb-02d9e34c7409"
        }
    ]
}

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

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