im.search.department.list
Найти подразделения
Описание
Метод im.search.department.list выполняет поиск подразделений по полному названию.
Параметры
FIND
string
обязательный
Поисковая фраза для поиска по началу слов в полном названии подразделения (поле full_name).
Если параметр не передать, метод вернет ошибку FIND_SHORT. Пустая или очень короткая фраза ошибки не вызывает: фильтр отключается и метод отдает весь список подразделений
USER_DATA
string
необязательный
Возвращать данные руководителя подразделения в поле manager_user_data.
Доступные значения:
- Y — да
- N — нет
Значение по умолчанию — N
OFFSET
integer
необязательный
Смещение выборки подразделений. По умолчанию 0
LIMIT
integer
необязательный
Количество элементов в выборке. По умолчанию 10. Максимальное значение 50
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"FIND":"Отдел","USER_DATA":"Y","OFFSET":0,"LIMIT":10}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/im.search.department.list
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"FIND":"Отдел","USER_DATA":"Y","OFFSET":0,"LIMIT":10,"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/im.search.department.list
// This snippet is an ES module: top-level await requires type="module" or a bundler.
// $b24 is an already-initialized SDK instance (see the SDK "Get started" guide).
import { Text } from '@bitrix24/b24jssdk'
import type { B24Frame, ISODate } from '@bitrix24/b24jssdk'
declare const $b24: B24Frame
type ManagerUserData = {
id: number
active: boolean
name: string
first_name: string
last_name: string
work_position: string
color: string
avatar: string
avatar_hr: string
gender: string
birthday: string
extranet: boolean
network: boolean
bot: boolean
connector: boolean
external_auth_id: string
status: string
idle: ISODate | false
last_activity_date: ISODate
mobile_last_date: ISODate | false
desktop_last_date: ISODate | false
absent: ISODate | false
departments: number[]
phones: { work_phone?: string; inner_phone?: string } | false
bot_data: object | null
type: string
website: string
email: string
}
// Shape of each department item returned in result[]
type DepartmentItem = {
id: number
name: string
full_name: string
manager_user_id: number
manager_user_data?: ManagerUserData
}
try {
// im.search.department.list returns a single page (max 50 records). For the whole result set
// use a list helper: $b24.actions.v2.callList.make() returns every record as one
// array, $b24.actions.v2.fetchList.make() yields them in chunks (async generator).
// NOTE: the list helpers do not accept `order` (it is excluded from their params, so
// passing it is a TS error) — keep this call.make + `start` variant when sort matters.
const response = await $b24.actions.v2.call.make<DepartmentItem[]>({
method: 'im.search.department.list',
params: {
FIND: 'Department',
USER_DATA: 'Y',
OFFSET: 0,
LIMIT: 10,
},
requestId: Text.getUuidRfc4122()
})
// The payload is available only on a successful response
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
} else {
const result = response.getData()!.result
console.info('Found departments:', result.length, result)
}
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
<!-- Load the SDK (UMD build); it is exposed as the global B24Js -->
<script src="https://unpkg.com/@bitrix24/b24jssdk@1/dist/umd/index.min.js"></script>
<script>
async function searchDepartmentList() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
// im.search.department.list returns a single page (max 50 records). For the whole result set
// use a list helper: $b24.actions.v2.callList.make() returns every record as one
// array, $b24.actions.v2.fetchList.make() yields them in chunks (async generator).
// NOTE: the list helpers do not accept `order` (it is excluded from their params, so
// passing it is a TS error) — keep this call.make + `start` variant when sort matters.
const response = await $b24.actions.v2.call.make({
method: 'im.search.department.list',
params: {
FIND: 'Department',
USER_DATA: 'Y',
OFFSET: 0,
LIMIT: 10,
},
requestId: B24Js.Text.getUuidRfc4122()
})
// The payload is available only on a successful response
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
return
}
const result = response.getData().result
console.info('Found departments:', result.length, result)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', searchDepartmentList)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
try:
bitrix_response = client.im.search.department.list(
find="отдел",
user_data=True,
offset=0,
limit=10,
).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}")
try {
$response = $b24Service->core->call(
'im.search.department.list',
[
'FIND' => 'Отдел',
'USER_DATA' => 'Y',
'OFFSET' => 0,
'LIMIT' => 10,
]
);
$result = $response->getResponseData()->getResult();
if ($result->error()) {
echo 'Error: ' . $result->error();
} else {
var_dump($result->data());
}
} catch (Throwable $exception) {
echo $exception->getMessage();
}
BX24.callMethod(
'im.search.department.list',
{
FIND: 'Отдел',
USER_DATA: 'Y',
OFFSET: 0,
LIMIT: 10,
},
function(result) {
if (result.error()) {
console.error(result.error().ex);
} else {
console.log(result.data(), result.total(), result.next());
}
}
);
require_once('crest.php');
$result = CRest::call(
'im.search.department.list',
[
'FIND' => 'Отдел',
'USER_DATA' => 'Y',
'OFFSET' => 0,
'LIMIT' => 10,
]
);
if (!empty($result['error'])) {
echo 'Error: ' . $result['error_description'];
} else {
var_dump($result['result']);
}
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "im.search.department.list", b24.Params{
"FIND": "Отдел",
"USER_DATA": "Y",
"OFFSET": 0,
"LIMIT": 10,
}, b24.WithIdempotent())
if err != nil {
return fmt.Errorf("im.search.department.list: %w", err)
}
// Ответ приходит как json.RawMessage — разберите его
// в структуру под форму ответа, показанную ниже на этой странице.
fmt.Printf("%s\n", res.Result)
Ответ
HTTP-статус: 200
{
"result": [
{
"id": 9,
"name": "Отдел маркетинга и рекламы",
"full_name": "Отдел маркетинга и рекламы / Моя компания",
"manager_user_id": 3,
"manager_user_data": {
"id": 3,
"active": true,
"name": "Елена Иванова",
"first_name": "Елена",
"last_name": "Иванова",
"work_position": "",
"color": "#1eb4aa",
"avatar": "https://example.bitrix24.ru/upload/main/avatar.png",
"avatar_hr": "https://example.bitrix24.ru/upload/main/avatar.png",
"gender": "F",
"birthday": "06-04",
"extranet": false,
"network": false,
"bot": false,
"connector": false,
"external_auth_id": "socservices",
"status": "online",
"idle": false,
"last_activity_date": "2026-03-04T22:08:29+03:00",
"mobile_last_date": false,
"desktop_last_date": false,
"absent": false,
"departments": [1],
"phones": {
"work_phone": "7495111111",
"inner_phone": "222"
},
"bot_data": null,
"type": "user",
"website": "example.ru",
"email": "user@example.ru"
}
}
],
"total": 2,
"time": {
"start": 1772651443,
"finish": 1772651443.378436,
"duration": 0.3784360885620117,
"processing": 0,
"date_start": "2026-03-04T22:10:43+03:00",
"date_finish": "2026-03-04T22:10:43+03:00",
"operating_reset_at": 1772652043,
"operating": 0
}
}
Возвращаемые данные
result
array
Список найденных подразделений.
Структура объекта подразделения подробно описана ниже
total
integer
Общее количество найденных подразделений
next
integer
Смещение следующей страницы. Поле возвращается, если есть следующая страница
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 400
{
"error": "FIND_SHORT",
"error_description": "Too short a search phrase."
}
| Код | Описание | Значение |
|---|---|---|
FIND_SHORT |
Too short a search phrase | Не передан параметр FIND |

