GetEmployees

Примечание

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

Возвращает список сотрудников организации.

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

  • page – номер страницы, начиная с 1. По умолчанию равен 1. Необязательный параметр.

  • count – максимальное количество элементов, возвращаемых на одной странице в ответе. Не влияет на общее количество найденных сотрудников EmployeeList.TotalCount. Принимает значения от 1 до 50, по умолчанию равен 50. Необязательный параметр.

Request Headers:
Status Codes:
  • 200 OK – операция успешно завершена.

  • 400 Bad Request – данные в запросе имеют неверный формат или отсутствуют обязательные параметры.

  • 401 Unauthorized – в запросе отсутствует HTTP-заголовок Authorization или в этом заголовке содержатся некорректные авторизационные данные.

  • 402 Payment Required – у указанного ящика закончилась подписка на API.

  • 403 Forbidden – доступ к ящику с предоставленным авторизационным токеном запрещен или запрос сделан не от имени администратора.

  • 404 Not Found – не найден ящик с указанным идентификатором.

  • 405 Method Not Allowed – используется неподходящий HTTP-метод.

  • 500 Internal Server Error – при обработке запроса возникла непредвиденная ошибка.

Response Body:

Тело ответа содержит список сотрудников организации, представленный структурой EmployeeList.

Список сотрудников возвращается постранично. Для навигации используйте параметр page.

Сотрудники сортируются по признаку IsRegistered струкуры UserV2: сначала выводятся сотрудники без учетной записи в системе, а затем по дате создания в прямом порядке.

Примеры использования

Пример HTTP-запроса:

GET /GetEmployee?boxid={{boxId}} HTTP/1.1
Host: diadoc-api.kontur.ru
Authorization: Bearer {{access_token}}
Accept: application/json; charset=utf-8

Пример тела ответа:

{
    "Employees": [
        {
            "User": {
                "UserId": "6dc8c481-7cec-4675-8fd3-711cbe752eaa",
                "Login": "email@example.com",
                "FullName": {
                    "LastName": "Иванов",
                    "FirstName": "Иван",
                    "MiddleName": "Иванович"
                },
                "IsRegistered": true
            },
            "Permissions": {
                "UserDepartmentId": "00000000-0000-0000-0000-000000000000",
                "IsAdministrator": false,
                "DocumentAccessLevel": "DepartmentAndSubdepartments",
                "SelectedDepartmentIds": [],
                "Actions": [
                    { "Name": "CreateDocuments", "IsAllowed": true },
                    { "Name": "DeleteRestoreDocuments", "IsAllowed": true },
                    { "Name": "SignDocuments", "IsAllowed": true },
                    { "Name": "AddResolutions", "IsAllowed": false },
                    { "Name": "RequestResolutions", "IsAllowed": false },
                    { "Name": "ManageCounteragents", "IsAllowed": true }
                ],
                "AuthorizationPermission": {
                    "IsBlocked": false
                }
            },
            "Position": "Бухгалтер",
            "CanBeInvitedForChat": false,
            "CreationTimestamp": {
                "Ticks": 638780603013048865
            }
        },
        {
            "User": {
                "UserId": "4b5a02e7-1b9a-4d97-8dc7-1c7eed1ccbfc",
                "Login": "charentoon@gmail.com",
                "FullName": {
                    "LastName": "Петров",
                    "FirstName": "Петр",
                    "MiddleName": "Петрович"
                },
                "IsRegistered": true
            },
            "Permissions": {
                "UserDepartmentId": "17969b71-a3a1-4484-a4f0-5091931afc3d",
                "IsAdministrator": true,
                "DocumentAccessLevel": "DepartmentAndSubdepartments",
                "SelectedDepartmentIds": [],
                "Actions": [
                    { "Name": "CreateDocuments", "IsAllowed": true },
                    { "Name": "DeleteRestoreDocuments", "IsAllowed": true },
                    { "Name": "SignDocuments", "IsAllowed": true },
                    { "Name": "AddResolutions", "IsAllowed": true },
                    { "Name": "RequestResolutions", "IsAllowed": true },
                    { "Name": "ManageCounteragents", "IsAllowed": true }
                ],
                "AuthorizationPermission": {
                    "IsBlocked": false
                }
            },
            "Position": "Главный бухгалтер",
            "CanBeInvitedForChat": true,
            "CreationTimestamp": {
                "Ticks": 638781280420601889
            }
        }
    ],
    "TotalCount": 9
}

Пример запроса с использованием C# SDK:

var employees = new List<Employee>();

for (var page = 1;; page++)
{
    var employeeList = api.GetEmployees(token, boxId, page, count: 10);
    employees.AddRange(employeeList.Employees);

    Console.WriteLine("{0}/{1}", employees.Count, employeeList.TotalCount);

    if (employeeList.Employees.Count == 0 || employees.Count >= employeeList.TotalCount)
    {
        break;
    }
}

См. также

Инструкции:
Методы для работы с сотрудниками:
  • CreateEmployee — добавляет в организацию сотрудника с указанными реквизитами

  • DeleteEmployee — удаляет сотрудника организации

  • GetEmployee — возвращает данные сотрудника организации по указанному идентификатору

  • GetEmployees — возвращает список сотрудников указанной организации

  • GetMyEmployee — возвращает данные сотрудника организации, от имени которого вызывается метод

  • GetSubscriptions — возвращает информацию о подписках сотрудника организации на почтовые уведомления

  • UpdateEmployee — изменяет данные сотрудника организации

  • UpdateSubscriptions — изменяет подписки сотрудника организации на почтовые уведомления