CreateEmployee

Примечание

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

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

Request Headers:
Request Body:

Тело запроса должно содержать структуру EmployeeToCreate.

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

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

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

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

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

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

  • 409 Conflict – сотрудник уже есть в ящике.

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

Response Body:

Тело ответа содержит структуру Employee

Добавляет сотрудника с указанными реквизитами в организацию. В случае, если пользователя с указанными реквизитами не существует в Диадоке, создает его. Отправляет пользователю уведомление по электронной почте.

В ответе будет информация о созданном пользователе.

Если сотрудник создается по сертификату, после успешного добавления сотрудника в ящик следует отправить заявление участника ЭДО при помощи метода SendFnsRegistrationMessage.

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

Создание сотрудника с логином

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

POST /CreateEmployee?boxId=994cf191-8322-40eb-8d79-f1196f8ec357 HTTP/1.1
Host: diadoc-api.kontur.ru
Authorization: DiadocAuth ddauth_api_client_id=key, ddauth_token=token
Content-Type: application/json; charset=utf-8

{
    "Credentials": {
        "Login": {
            "Login": "email@example.com",
            "FullName": {
                "LastName": "Иванов",
                "FirstName": "Иван",
                "MiddleName": "Иванович"
            }
        }
    },
    "Position": "Бухгалтер",
    "CanBeInvitedForChat": false,
    "Permissions": {
        "UserDepartmentId": "15d57c9b-645d-4710-85fa-b166e2cfcfc8",
        "IsAdministrator": false,
        "DocumentAccessLevel": "DepartmentAndSubdepartments",
        "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 },
        ]
    }
}

С использованием C# SDK

var employee = api.CreateEmployee(
    token,
    boxId,
    new EmployeeToCreate
    {
        Credentials = new EmployeeToCreateCredentials
        {
            Login = new EmployeeToCreateByLogin
            {
                Login = "email@example.com",
                FullName = new FullName
                {
                    FirstName = "Иван",
                    MiddleName = "Иванович",
                    LastName = "Иванов"
                }
            }
        },
        Position = "Бухгалтер",
        Permissions = new EmployeePermissions
        {
            UserDepartmentId = "15d57c9b-645d-4710-85fa-b166e2cfcfc8",
            IsAdministrator = false,
            DocumentAccessLevel = DocumentAccessLevel.DepartmentAndSubdepartments,
            Actions =
            {
                new EmployeeAction { Name = "CreateDocuments", IsAllowed = true },
                new EmployeeAction { Name = "DeleteRestoreDocuments", IsAllowed = true },
                new EmployeeAction { Name = "SignDocuments", IsAllowed = true },
                new EmployeeAction { Name = "AddResolutions", IsAllowed = false },
                new EmployeeAction { Name = "RequestResolutions", IsAllowed = false },
                new EmployeeAction { Name = "ManageCounteragents", IsAllowed = true }
            }
        }
    });

Создание сотрудника с сертификатом

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

POST /CreateEmployee?boxId=994cf191-8322-40eb-8d79-f1196f8ec357 HTTP/1.1
Host: diadoc-api.kontur.ru
Authorization: DiadocAuth ddauth_api_client_id=key, ddauth_token=token
Content-Type: application/json; charset=utf-8

{
    "Credentials": {
        "Certificate": {
            "Content": "<certificateBytesBase64>",
            "AccessBasis": "Доверенность №39 от 21.08.2018",
            "Email": "email@example.com"
        }
    },
    "Position": "Директор",
    "CanBeInvitedForChat": false,
    "Permissions": {
        "UserDepartmentId": "00000000-0000-0000-0000-000000000000",
        "IsAdministrator": true,
        "DocumentAccessLevel": "SelectedDepartments",
        "SelectedDepartmentIds": [
            "e97f0026-29e2-4b0f-bcc7-ebb31511e0f9",
            "4eef75de-44f3-4df6-8599-6c3fad74e31e"
        ],
        "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 }
        ]
    }
}

С использованием C# SDK

var employee = api.CreateEmployee(
    token,
    boxId,
    new EmployeeToCreate
    {
        Credentials = new EmployeeToCreateCredentials
        {
            Certificate = new EmployeeToCreateByCertificate
            {
                Content = certificateBytes,
                AccessBasis = "Доверенность №39 от 21.08.2018",
                Email = "email@example.com"
            }
        },
        Position = "Директор",
        Permissions = new EmployeePermissions
        {
            UserDepartmentId = "00000000-0000-0000-0000-000000000000",
            IsAdministrator = true,
            DocumentAccessLevel = DocumentAccessLevel.SelectedDepartments,
            SelectedDepartmentIds =
            {
                "e97f0026-29e2-4b0f-bcc7-ebb31511e0f9",
                "4eef75de-44f3-4df6-8599-6c3fad74e31e"
            },
            Actions =
            {
                new EmployeeAction { Name = "CreateDocuments", IsAllowed = true },
                new EmployeeAction { Name = "DeleteRestoreDocuments", IsAllowed = true },
                new EmployeeAction { Name = "SignDocuments", IsAllowed = true },
                new EmployeeAction { Name = "AddResolutions", IsAllowed = true },
                new EmployeeAction { Name = "RequestResolutions", IsAllowed = true },
                new EmployeeAction { Name = "ManageCounteragents", IsAllowed = true }
            }
        }
    });