# department.get

URL: https://chugunov.pro/api-bitrix24/departments/department-get/
Проверено на Битрикс24 REST API, обновлено 11.09.2026 (ревизия источника fb39d6c).
Источник: официальная документация Битрикс24 (bitrix-tools/b24-rest-docs, лицензия MIT, © Bitrix). Справочник независимый, официальной документацией не является.

Получить список подразделений
Scope: `department`
Кто может выполнять метод: любой пользователь

## Описание

Метод `department.get` предназначен для получения списка подразделений.

## Параметры

- `sort` `string` — необязательный. Название поля, по которому нужна сортировка. Сортировка работает по полям: 
  - `ID` — идентификатор подразделения 
  - `NAME` — название подразделения
  - `SORT` — порядок сортировки
  - `PARENT` —  идентификатор родительского отдела
  - `UF_HEAD` — идентификатор пользователя-руководителя отдела
- `order` `string` — необязательный. Направление сортировки:
  - `ASC` — по возрастанию
  - `DESC` — по убыванию
- `ID` `integer` — необязательный. Фильтр по идентификатору подразделения
- `NAME` `string` — необязательный. Фильтр по имени подразделения. Указывается полное название подразделения
- `SORT` `integer` — необязательный. Фильтр по полю сортировки
- `PARENT` `integer` — необязательный. Фильтр по идентификатору родительского подразделения
- `UF_HEAD` `integer` — необязательный. Фильтр по идентификатору руководителя подразделения
- `START` `integer` — необязательный. Параметр используется для управления постраничной навигацией.
  Размер страницы результатов всегда статичный: 50 записей.
  Чтобы выбрать вторую страницу результатов, необходимо передавать значение `50`. Чтобы выбрать третью страницу результатов — значение `100` и так далее.
  Формула расчета значения параметра `start`:
  `start = (N-1) * 50`, где `N` — номер нужной страницы.
  Подробности в статье [List methods pecularities](https://apidocs.bitrix24.ru/settings/how-to-call-rest-api/list-methods-pecularities.html)

## Ответ

HTTP-статус: 200

```json
{
  "result": [
    {
      "ID": "15",
      "NAME": "R\u0026D",
      "SORT": 500,
      "PARENT": "1"
    },
    {
      "ID": "2",
      "NAME": "Бухгалтерия",
      "SORT": 500,
      "PARENT": "1"
    },
    {
      "ID": "4",
      "NAME": "Отдел маркетинга и рекламы",
      "SORT": 500,
      "PARENT": "1"
    },
    {
      "ID": "3",
      "NAME": "Отдел продаж",
      "SORT": 500,
      "PARENT": "1"
    },
    {
      "ID": "17",
      "NAME": "Юр. отдел",
      "SORT": 500,
      "PARENT": "1"
    }
  ],
  "total": 5,
  "time": {
    "start": 1736924749.531017,
    "finish": 1736924749.719845,
    "duration": 0.1888279914855957,
    "processing": 0.00179290771484375,
    "date_start": "2025-01-15T07:05:49+00:00",
    "date_finish": "2025-01-15T07:05:49+00:00",
    "operating": 0
  }
}
```

### Возвращаемые данные

- `result` `department[]`. Корневой элемент ответа, который содержит отфильтрованный список подразделений
- `total` `integer`. Общее количество найденных записей
- `time` `time`. Информация о времени выполнения запроса

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

### cURL (Webhook)

```curl
-X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
    "sort": "NAME",
    "order": "DESC",
    "PARENT": 1
}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/department.get
```

### cURL (OAuth)

```curl
-X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
    "sort": "NAME",
    "order": "DESC",
    "PARENT": 1,
    "auth":"**put_access_token_here**"
}' \
https://**put_your_bitrix24_address**/rest/department.get
```

### JS

```js
try
{
	const response = await $b24.callMethod(
		"department.get", {
			"sort": "NAME",
			"order": "DESC",
			"PARENT": 1
		}
	);
	
	const result = response.getData().result;
	console.info(result);
}
catch( error )
{
	console.error(error);
}
```

### Python

```python
from b24pysdk.errors import BitrixAPIError, BitrixSDKException

try:
    bitrix_response = client.department.get(
        sort="NAME",
        order="ASC",
        parent=1,
        uf_head=1,
        start=0,
    ).response
    result = bitrix_response.result
    print(result)
except BitrixAPIError as error:
    print(
        "Ошибка Bitrix API",
        f"error: {error.error}",
        f"error_description: {error.error_description}",
        sep="\n",
    )
except BitrixSDKException as error:
    print(f"Ошибка Bitrix SDK: {error.message}")
except Exception as error:
    print(f"Непредвиденная ошибка: {error}")

from b24pysdk.errors import BitrixAPIError, BitrixSDKException

try:
    bitrix_response = client.department.get(
        sort="NAME",
        order="ASC",
        parent=1,
    ).as_list().response
    result = bitrix_response.result
    for item in result:
        print(item)
except BitrixAPIError as error:
    print(
        "Ошибка Bitrix API",
        f"error: {error.error}",
        f"error_description: {error.error_description}",
        sep="\n",
    )
except BitrixSDKException as error:
    print(f"Ошибка Bitrix SDK: {error.message}")
except Exception as error:
    print(f"Непредвиденная ошибка: {error}")

from b24pysdk.errors import BitrixAPIError, BitrixSDKException

try:
    bitrix_response = client.department.get(
        sort="ID",
        order="DESC",
        parent=1,
    ).as_list_fast(descending=True).response
    result = bitrix_response.result
    for item in result:
        print(item)
except BitrixAPIError as error:
    print(
        "Ошибка Bitrix API",
        f"error: {error.error}",
        f"error_description: {error.error_description}",
        sep="\n",
    )
except BitrixSDKException as error:
    print(f"Ошибка Bitrix SDK: {error.message}")
except Exception as error:
    print(f"Непредвиденная ошибка: {error}")
```

### PHP

```php
try {
    $response = $b24Service
        ->core
        ->call(
            'department.get',
            [
                'sort'   => 'NAME',
                'order'  => 'DESC',
                'PARENT' => 1,
            ]
        );

    $result = $response
        ->getResponseData()
        ->getResult();

    echo 'Success: ' . print_r($result, true);
    // Нужная вам логика обработки данных
    processData($result);

} catch (Throwable $e) {
    error_log($e->getMessage());
    echo 'Error getting departments: ' . $e->getMessage();
}
```

### BX24.js

```js
BX24.callMethod(
    "department.get", {
        "sort": "NAME",
        "order": "DESC",
        "PARENT": 1
    },
    function(result) {
        if (result.error()) {
            console.error(result.error());
        } else {
            console.info(result.data());
        }
    }
);
```

### PHP CRest

```php
require_once('crest.php');

$result = CRest::call(
    'department.get',
    [
        'sort' => 'NAME',
        'order' => 'DESC',
        'PARENT' => 1,
    ]
);

echo '<PRE>';
print_r($result);
echo '</PRE>';
```

### Go

```go
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "department.get", b24.Params{
	"sort":   "NAME",
	"order":  "DESC",
	"PARENT": 1,
}, b24.WithIdempotent())
if err != nil {
	return fmt.Errorf("department.get: %w", err)
}

var items []struct {
	ID     b24.ID `json:"ID"`
	Name   string `json:"NAME"`
	Sort   int    `json:"SORT"`
	Parent string `json:"PARENT"`
}
if err := json.Unmarshal(res.Result, &items); err != nil {
	return fmt.Errorf("разбор ответа: %w", err)
}
for _, it := range items {
	fmt.Println(it.ID, it.Name)
}
```

Оригинал в официальной документации: https://apidocs.bitrix24.ru/api-reference/departments/department-get.html
