Работа с подразделениями

В Диадоке есть возможность настраивать структуру организации с помощью подразделений. Подразделения позволяют организовать хранение документов и ограничить доступ сотрудников к документам других подразделений.

Примечание

Добавление, обновление и удаление подразделений доступно только администраторам ящика.

Создание подразделения

Чтобы создать новое подразделение, используйте метод 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"
        }
    ]
}