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 }