UpdateEmployee
Примечание
Вызов метода доступен только администраторам организации.
Изменяет данные сотрудника организации.
- POST /UpdateEmployee
- Query Parameters:
boxId – идентификатор ящика организации.
userId – идентификатор пользователя.
- Request Headers:
Authorization – данные, необходимые для авторизации.
- Request Body:
Тело запроса должно содержать структуру EmployeeToUpdate.
- Status Codes:
200 OK – операция успешно завершена.
400 Bad Request – данные в запросе имеют неверный формат или отсутствуют обязательные параметры.
401 Unauthorized – в запросе отсутствует HTTP-заголовок
Authorization
или в этом заголовке содержатся некорректные авторизационные данные.402 Payment Required – у указанного ящика закончилась подписка на API.
403 Forbidden – доступ к ящику с предоставленным авторизационным токеном запрещен или запрос сделан не от имени администратора.
405 Method Not Allowed – используется неподходящий HTTP-метод.
500 Internal Server Error – при обработке запроса возникла непредвиденная ошибка.
- Response Body:
Тело ответа содержит полные данные сотрудника, представленные структурой Employee.
Примеры использования
Пример 1
Изменение уровня доступа к документам, списка доступных подразделений и должности.
Пример HTTP-запроса:
POST /UpdateEmployee?boxid={{boxid}}&userid={{userid}} HTTP/1.1
Host: diadoc-api.kontur.ru
Authorization: Bearer {{access_token}}
Content-Type: application/json; charset=utf-8
Пример тела запроса:
{
"Permissions": {
"DocumentAccessLevel": {
"DocumentAccessLevel": "SelectedDepartments"
},
"SelectedDepartments": {
"SelectedDepartmentIds": [
"b651ed54-04d8-4ca8-99b5-960fba733147",
]
},
},
"Position": {
"Position": "Главный бухгалтер"
}
}
Пример тела ответа:
{
"User": {
"UserId": "4b5a02e7-1b9a-4d97-8dc7-1c7eed1ccbfc",
"Login": "email@example.com",
"FullName": {
"LastName": "Иванов",
"FirstName": "Иван",
"MiddleName": "Иванович"
},
"IsRegistered": true
},
"Permissions": {
"UserDepartmentId": "32cb2cd3-ed3a-403a-b220-7dfd59c757db",
"IsAdministrator": false,
"DocumentAccessLevel": "SelectedDepartments",
"SelectedDepartmentIds": [
"b651ed54-04d8-4ca8-99b5-960fba733147",
"32cb2cd3-ed3a-403a-b220-7dfd59c757db"
],
"Actions": [
{
"Name": "CreateDocuments",
"IsAllowed": true
},
{
"Name": "DeleteRestoreDocuments",
"IsAllowed": false
},
{
"Name": "SignDocuments",
"IsAllowed": false
},
{
"Name": "AddResolutions",
"IsAllowed": false
},
{
"Name": "RequestResolutions",
"IsAllowed": true
},
{
"Name": "ManageCounteragents",
"IsAllowed": false
}
],
"AuthorizationPermission": {
"IsBlocked": false
}
},
"Position": "Главный бухгалтер",
"CanBeInvitedForChat": false,
"CreationTimestamp": {
"Ticks": 638781280420601889
}
}
Пример запроса с использованием C# SDK:
var employee = api.UpdateEmployee(
token,
boxId,
userId,
new EmployeeToUpdate
{
Permissions = new EmployeePermissionsPatch
{
DocumentAccessLevel = new EmployeeDocumentAccessLevelPatch
{
DocumentAccessLevel = DocumentAccessLevel.SelectedDepartments
},
SelectedDepartments = new EmployeeSelectedDepartmentsPatch
{
SelectedDepartmentIds =
{
"b651ed54-04d8-4ca8-99b5-960fba733147"
}
}
},
Position = new EmployeePositionPatch
{
Position = "Главный бухгалтер"
}
});
Пример 2
Изменение подразделения, права администрировать организацию, доступных действий и необходимости показывать в списке получателей сообщений.
Пример HTTP-запроса:
POST /UpdateEmployee?boxid={{boxid}}&userid={{userid}} HTTP/1.1
Host: diadoc-api.kontur.ru
Authorization: Bearer {{access_token}}
Content-Type: application/json; charset=utf-8
Пример тела запроса:
{
"Permissions": {
"Department": {
"DepartmentId": "11c8276b-815f-4191-adea-c0f884429624"
},
"IsAdministrator": {
"IsAdministrator": true
},
"Actions": [
{ "Name": "ManageCounteragents", "IsAllowed": true },
{ "Name": "SignDocuments", "IsAllowed": false }
]
},
"CanBeInvitedForChat": {
"CanBeInvitedForChat": true
}
}
Пример тела ответа:
{
"User": {
"UserId": "4b5a02e7-1b9a-4d97-8dc7-1c7eed1ccbfc",
"Login": "email@example.com",
"FullName": {
"LastName": "Иванов",
"FirstName": "Иван",
"MiddleName": "Иванович"
},
"IsRegistered": true
},
"Permissions": {
"UserDepartmentId": "6d710055-9b5d-4bc0-ba2f-9e54adda034e",
"IsAdministrator": true,
"DocumentAccessLevel": "SelectedDepartments",
"SelectedDepartmentIds": [
"b651ed54-04d8-4ca8-99b5-960fba733147",
"6d710055-9b5d-4bc0-ba2f-9e54adda034e"
],
"Actions": [
{
"Name": "CreateDocuments",
"IsAllowed": true
},
{
"Name": "DeleteRestoreDocuments",
"IsAllowed": true
},
{
"Name": "SignDocuments",
"IsAllowed": false
},
{
"Name": "AddResolutions",
"IsAllowed": true
},
{
"Name": "RequestResolutions",
"IsAllowed": true
},
{
"Name": "ManageCounteragents",
"IsAllowed": true
}
],
"AuthorizationPermission": {
"IsBlocked": false
}
},
"Position": "Главный бухгалтер",
"CanBeInvitedForChat": true,
"CreationTimestamp": {
"Ticks": 638781280420601889
}
}
Пример запроса с использованием C# SDK:
var employee = api.UpdateEmployee(
token,
boxId,
userId,
new EmployeeToUpdate
{
Permissions = new EmployeePermissionsPatch
{
Department = new EmployeeDepartmentPatch
{
DepartmentId = "11c8276b-815f-4191-adea-c0f884429624"
},
IsAdministrator = new EmployeeIsAdministratorPatch
{
IsAdministrator = true
},
Actions =
{
new EmployeeAction
{
Name = "ManageCounteragents",
IsAllowed = true
},
new EmployeeAction
{
Name = "SignDocuments",
IsAllowed = false
}
}
},
CanBeInvitedForChat = new EmployeeCanBeInvitedForChatPatch
{
CanBeInvitedForChat = true
}
});
См. также
- Инструкции:
- Методы для работы с сотрудниками:
CreateEmployee — добавляет в организацию сотрудника с указанными реквизитами
DeleteEmployee — удаляет сотрудника организации
GetEmployee — возвращает данные сотрудника организации по указанному идентификатору
GetEmployees — возвращает список сотрудников указанной организации
GetMyEmployee — возвращает данные сотрудника организации, от имени которого вызывается метод
GetSubscriptions — возвращает информацию о подписках сотрудника организации на почтовые уведомления
UpdateEmployee — изменяет данные сотрудника организации
UpdateSubscriptions — изменяет подписки сотрудника организации на почтовые уведомления