GetEmployees

Примечание

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

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

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

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

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

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

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

  • 402 Payment Required – у организации с указанным идентификатором boxId закончилась подписка на API.

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

  • 404 Not Found – указанного ящика не существует.

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

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

Response Body:

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

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

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

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

Пример запроса

GET /GetEmployees?boxId=994cf191-8322-40eb-8d79-f1196f8ec357&page=2&count=10 HTTP/1.1
Host: diadoc-api.kontur.ru
Authorization: DiadocAuth ddauth_api_client_id=key, ddauth_token=token
Accept: application/json

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

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
    "Employees": [{
        "User": {
            "UserId": "5c573ff4-d336-4956-8261-26d0576c4718",
            "Login": "ivan@example.com",
            "FullName": {
                "LastName": "Иванов",
                "FirstName": "Иван",
                "MiddleName": "Иванович"
            },
            "IsRegistered": false
        },
        "Position": "Бухгалтер",
        /* ... */
    }, {
        "User": {
            "UserId": "abc8398b-71c2-4efd-9339-003af3758a58",
            "Login": "petr@example.com",
            "FullName": {
                "LastName": "Петров",
                "FirstName": "Петр",
                "MiddleName": "Петрович"
            },
            "IsRegistered": true
        },
        "Position": "Директор",
        /* ... */
    }
    /* ... */
    ],
    "TotalCount": 61
}

Пример загрузки полного списка сотрудников (C#)

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;
    }
}