Работа с подразделениями
В Диадоке есть возможность настраивать структуру организации с помощью подразделений. Подразделения позволяют организовать хранение документов и ограничить доступ сотрудников к документам других подразделений.
Примечание
Добавление, обновление и удаление подразделений доступно только администраторам ящика.
Создание подразделения
Чтобы создать новое подразделение, используйте метод CreateDepartment.
Пример HTTP-запроса метода CreateDepartment:
POST /admin/CreateDepartment?boxid={{boxId}} HTTP/1.1
Host: diadoc-api.kontur.ru
Authorization: Bearer {{access_token}}
Accept: application/json; charset=utf-8
Пример тела запроса метода CreateDepartment:
{
"Name": "Бухгалтерия",
"Abbreviation": "Б",
"Kpp": "456701001",
"Routing": {
"kpp": "true"
}
}
Пример тела ответа метода CreateDepartment:
{
"Id": "79b8d436-b650-43f6-b1bb-f1f9eac05c92",
"ParentDepartmentId": "00000000-0000-0000-0000-000000000000",
"Name": "Бухгалтерия",
"Abbreviation": "Б",
"Kpp": "456701001",
"Routing": {
"Kpp": true,
"Address": false
},
"CreationTimestamp": {
"Ticks": 638833410546481606
}
}
Получение информации о подразделениях
Информация об одном подразделении организации
Получить информацию о подразделении можно с помощью метода GetDepartment (V2).
Пример HTTP-запроса метода GetDepartment:
GET /V2/GetDepartment?boxid={{boxId}}&departmentid=b651ed54-04d8-4ca8-99b5-960fba733147 HTTP/1.1
Host: diadoc-api.kontur.ru
Authorization: Bearer {{access_token}}
Accept: application/json; charset=utf-8
Пример тела ответа метода GetDepartment:
{
"DepartmentId": "b651ed54-04d8-4ca8-99b5-960fba733147",
"ParentDepartmentId": "00000000-0000-0000-0000-000000000000",
"Name": "Подразделение 1",
"Abbreviation": "П1",
"Address": {
"RussianAddress": {
"Region": "50",
"City": "Дзержинский",
"Street": "Садовая",
"Building": "2",
"Block": "",
"Apartment": "",
"OtherInformation": ""
},
"AddressCode": ""
},
"IsDisabled": false
}
Информация обо всех подразделениях организации
Получить информацию обо всех подразделениях организации можно с помощью метода GetDepartments.
Пример HTTP-запроса метода GetDepartments:
GET /admin/GetDepartments?boxid={{boxId}} HTTP/1.1
Host: diadoc-api.kontur.ru
Authorization: Bearer {{access_token}}
Accept: application/json; charset=utf-8
Пример тела ответа метода GetDepartments:
{
"Departments": [
{
"Id": "00000000-0000-0000-0000-000000000000",
"ParentDepartmentId": "",
"Name": "Головное подразделение",
"Abbreviation": "ГП",
"Routing": {
"Kpp": false,
"Address": false
},
"CreationTimestamp": {
"Ticks": 0
}
},
{
"Id": "6d710055-9b5d-4bc0-ba2f-9e54adda034e",
"ParentDepartmentId": "00000000-0000-0000-0000-000000000000",
"Name": "Дочернее подразделение",
"Abbreviation": "ДП",
"Routing": {
"Kpp": false,
"Address": false
},
"CreationTimestamp": {
"Ticks": 638568885150838885
}
},
{
"Id": "b651ed54-04d8-4ca8-99b5-960fba733147",
"ParentDepartmentId": "00000000-0000-0000-0000-000000000000",
"Name": "Подразделение 1",
"Abbreviation": "П1",
"Address": {
"RussianAddress": {
"Region": "50",
"City": "Дзержинский",
"Street": "Садовая",
"Building": "2",
"Block": "",
"Apartment": "",
"OtherInformation": ""
},
"AddressCode": ""
},
"Routing": {
"Kpp": false,
"Address": false
},
"CreationTimestamp": {
"Ticks": 638569024178105899
}
},
{
"Id": "32cb2cd3-ed3a-403a-b220-7dfd59c757db",
"ParentDepartmentId": "00000000-0000-0000-0000-000000000000",
"Name": "Подразделение 2",
"Abbreviation": "П2",
"Routing": {
"Kpp": false,
"Address": false
},
"CreationTimestamp": {
"Ticks": 638569024257522740
}
},
{
"Id": "17969b71-a3a1-4484-a4f0-5091931afc3d",
"ParentDepartmentId": "00000000-0000-0000-0000-000000000000",
"Name": "Бухгалтерия",
"Abbreviation": "Б",
"Kpp": "456701001",
"Routing": {
"Kpp": true,
"Address": false
},
"CreationTimestamp": {
"Ticks": 638833410039546296
}
}
],
"TotalCount": 5
}
Изменение данных подразделения
Чтобы обновить данные подразделения, используйте метод UpdateDepartment. Метод позволяет изменить следующие свойства подразделения:
родительское подразделение,
название подразделения,
КПП подразделения,
адрес подразделения,
тип маршрутизации.
Пример HTTP-запроса метода UpdateDepartment:
POST /admin/UpdateDepartment?boxid={{boxId}}&departmentId=6d710055-9b5d-4bc0-ba2f-9e54adda034e HTTP/1.1
Host: diadoc-api.kontur.ru
Authorization: Bearer {{access_token}}
Content-Type: application/json; charset=utf-8
Пример тела запроса метода UpdateDepartment:
{
"ParentDepartment": {
"ParentDepartmentId": "17969b71-a3a1-4484-a4f0-5091931afc3d"
},
"DepartmentNaming": {
"Name": "Отдел кадров",
"Abbreviation": "ОК"
}
}
Пример тела ответа метода UpdateDepartment:
{
"Id": "6d710055-9b5d-4bc0-ba2f-9e54adda034e",
"ParentDepartmentId": "17969b71-a3a1-4484-a4f0-5091931afc3d",
"Name": "Отдел кадров",
"Abbreviation": "ОК",
"Routing": {
"Kpp": false,
"Address": false
},
"CreationTimestamp": {
"Ticks": 638568885150838885
}
}
Удаление подразделения
Чтобы удалить подразделение, используйте метод DeleteDepartment.
Пример HTTP-запроса метода DeleteDepartment:
POST /admin/DeleteDepartment?boxid={{boxId}}&departmentid=6d710055-9b5d-4bc0-ba2f-9e54adda034e HTTP/1.1
Host: diadoc-api.kontur.ru
Authorization: Bearer {{access_token}}
Перемещение документов между подразделениями
Чтобы переместить документы из одного подразделения в другое, используйте метод MoveDocuments. В рамках одного запроса можно переместить в 1 подразделение до 1000 документов.
Пример HTTP-запроса метода MoveDocuments:
POST /V3/MoveDocuments HTTP/1.1
Host: diadoc-api.kontur.ru
Authorization: Bearer {{access_token}}
Пример тела запроса метода MoveDocuments:
{
"BoxId": "09ae254c-5cd0-4082-84de-7ccb46d86f82",
"ToDepartmentId": "022882f3-f29e-4611-8fa5-93385df7ac0f",
"DocumentIds": [
{
"MessageId": "a73ca2e3-3d5c-4207-886c-9b854c179e15",
"EntityId": "d084afd4-ec41-4fb6-9b5b-cf3e3ac5bef7"
},
{
"MessageId": "a23dac5c-9c6a-4b20-91ed-69b3a7ce6158",
"EntityId": "1ada67c0-aa8b-4f31-af8e-53660275f1b3"
},
{
"MessageId": "d94982e8-7eb9-4993-8c52-41c14e3fc3a8 ",
"EntityId": "05ea290d-9aa1-4291-a87b-d30be9ccf5b7"
}
]
}