CreateEmployee
Примечание
Вызов метода доступен только администраторам организации.
Добавляет в организацию сотрудника с указанными реквизитами.
Если сотрудника с указанными реквизитами не существует, то метод его создаст.
- POST /CreateEmployee
- Query Parameters:
boxId – идентификатор ящика организации.
- Request Headers:
Authorization – данные, необходимые для авторизации.
- Request Body:
Тело запроса должно содержать структуру EmployeeToCreate.
- Status Codes:
200 OK – операция успешно завершена.
400 Bad Request – данные в запросе имеют неверный формат или отсутствуют обязательные параметры.
401 Unauthorized – в запросе отсутствует HTTP-заголовок
Authorization
или в этом заголовке содержатся некорректные авторизационные данные.402 Payment Required – у указанного ящика закончилась подписка на API.
403 Forbidden – доступ к ящику с предоставленным авторизационным токеном запрещен или запрос сделан не от имени администратора.
405 Method Not Allowed – используется неподходящий HTTP-метод.
409 Conflict – указанный сотрудник уже добавлен в ящик.
500 Internal Server Error – при обработке запроса возникла непредвиденная ошибка.
- Response Body:
Тело ответа содержит структуру Employee с информацией о добавленном или созданном сотруднике.
Метод отправляет добавляемому сотруднику уведомление на электронную почту.
Если сотрудник был создан по сертификату, то после добавления его в ящик нужно отправить заявление участника ЭДО методом SendFnsRegistrationMessage.
Примеры использования
Создание сотрудника по логину
Пример HTTP-запроса:
POST /CreateEmployee?boxId={{boxid}} HTTP/1.1
Host: diadoc-api.kontur.ru
Authorization: Bearer {{access_token}}
Content-Type: application/json; charset=utf-8
Пример тела запроса:
{
"Credentials": {
"Login": {
"Login": "email@example.com",
"FullName": {
"LastName": "Иванов",
"FirstName": "Иван",
"MiddleName": "Иванович"
}
}
},
"Position": "Бухгалтер",
"CanBeInvitedForChat": false,
"Permissions": {
"UserDepartmentId": "00000000-0000-0000-0000-000000000000",
"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 },
]
}
}
Пример тела ответа:
{
"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": 638791852178971102
}
}
Пример запроса с использованием 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 }
}
}
});
Создание сотрудника по сертификату
Пример HTTP-запроса:
POST /CreateEmployee?boxId={{boxid}} HTTP/1.1
Host: diadoc-api.kontur.ru
Authorization: Bearer {{access_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": [
"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 }
]
}
}
Пример тела ответа:
{
"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": true,
"DocumentAccessLevel": "SelectedDepartments",
"SelectedDepartmentIds": [
"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
}
],
"AuthorizationPermission": {
"IsBlocked": false
}
},
"Position": "Директор",
"CanBeInvitedForChat": false,
"CreationTimestamp": {
"Ticks": 638791835404680580
}
}
Пример запроса с использованием 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 =
{
"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 }
}
}
});
См. также
- Инструкции:
- Методы для работы с сотрудниками:
CreateEmployee — добавляет в организацию сотрудника с указанными реквизитами
DeleteEmployee — удаляет сотрудника организации
GetEmployee — возвращает данные сотрудника организации по указанному идентификатору
GetEmployees — возвращает список сотрудников указанной организации
GetMyEmployee — возвращает данные сотрудника организации, от имени которого вызывается метод
GetSubscriptions — возвращает информацию о подписках сотрудника организации на почтовые уведомления
UpdateEmployee — изменяет данные сотрудника организации
UpdateSubscriptions — изменяет подписки сотрудника организации на почтовые уведомления