UpdateEmployee

Примечание

Вызов метода доступен только администраторам организации.

Изменяет данные сотрудника организации.

POST /UpdateEmployee
Query Parameters:
  • boxId – идентификатор ящика организации.

  • userId – идентификатор пользователя.

Request Headers:
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 — изменяет подписки сотрудника организации на почтовые уведомления