Получить список реквизитов по фильтру crm.requisite.list
Выберите инструмент для разработки с AI-агентом:
- используйте Битрикс24 Вайбкод, чтобы создать приложение для Битрикс24 по описанию задачи без знания языков программирования. Агент напишет код и разместит приложение на сервере без ручной настройки хостинга
- используйте MCP-сервер, чтобы разрабатывать интеграцию через REST API в своем проекте. Агент будет обращаться к официальной REST-документации
Scope:
crmКто может выполнять метод: любой пользователь
Метод получает список реквизитов по фильтру.
Параметры метода
|
Название |
Описание |
|
select |
Массив содержит список полей, которые необходимо выбрать (смотрите поля реквизита). Если не передан или передан пустой массив, то будут выбраны все доступные поля реквизитов |
|
filter |
Объект для фильтрации выбранных реквизитов в формате Возможные значения для Ключу может быть задан дополнительный префикс, уточняющий поведение фильтра. Возможные значения префикса:
|
|
order |
Объект для сортировки выбранных реквизитов в формате Возможные значения для Возможные значения для
|
|
start |
Параметр используется для управления постраничной навигацией. Размер страницы результатов всегда статичный: 50 записей. Чтобы выбрать вторую страницу результатов, необходимо передавать значение Формула расчета значения параметра
|
Пример кода
Как использовать примеры в документации
-
Получение реквизитов по идентификатору шаблона
cURL (Webhook)cURL (OAuth)JS (TS)JS (UMD)PHPPythoncurl -X POST \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{"order":{"DATE_CREATE":"ASC"},"filter":{"PRESET_ID":"1"},"select":["ENTITY_TYPE_ID","ENTITY_ID","ID","NAME"]}' \ https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/crm.requisite.listcurl -X POST \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{"order":{"DATE_CREATE":"ASC"},"filter":{"PRESET_ID":"1"},"select":["ENTITY_TYPE_ID","ENTITY_ID","ID","NAME"],"auth":"**put_access_token_here**"}' \ https://**put_your_bitrix24_address**/rest/crm.requisite.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 } from '@bitrix24/b24jssdk' declare const $b24: B24Frame // Shape of each RequisiteResult returned in result[] type RequisiteResult = { ENTITY_TYPE_ID: string ENTITY_ID: string ID: string NAME: string } try { // crm.requisite.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<RequisiteResult[]>({ method: 'crm.requisite.list', params: { order: { DATE_CREATE: 'ASC' }, filter: { PRESET_ID: '1' }, select: ['ENTITY_TYPE_ID', 'ENTITY_ID', 'ID', 'NAME'], start: 0, }, 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('Requisites:', 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 getRequisiteList() { try { // Initialize the SDK inside a Bitrix24 frame const $b24 = await B24Js.initializeB24Frame() // crm.requisite.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: 'crm.requisite.list', params: { order: { DATE_CREATE: 'ASC' }, filter: { PRESET_ID: '1' }, select: ['ENTITY_TYPE_ID', 'ENTITY_ID', 'ID', 'NAME'], start: 0, }, 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('Requisites:', result.length, result) } catch (error) { // Thrown on transport or SDK failures (AjaxError, SdkError, etc.) console.error(error) } } document.addEventListener('DOMContentLoaded', getRequisiteList) </script>require_once('crest.php'); $result = CRest::call( 'crm.requisite.list', [ 'order' => ["DATE_CREATE" => "ASC"], 'filter' => ["PRESET_ID" => "1"], 'select' => ["ENTITY_TYPE_ID", "ENTITY_ID", "ID", "NAME"] ] ); echo '<PRE>'; print_r($result); echo '</PRE>';Пример
from b24pysdk.client import BaseClient from b24pysdk.errors import BitrixAPIError, BitrixSDKException client: BaseClient try: bitrix_response = client.crm.requisite.list( order={"DATE_CREATE": "ASC"}, filter={"PRESET_ID": "1"}, select=["ENTITY_TYPE_ID", "ENTITY_ID", "ID", "NAME"], 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}")Пример
as_listfrom b24pysdk.client import BaseClient from b24pysdk.errors import BitrixAPIError, BitrixSDKException client: BaseClient try: bitrix_response = client.crm.requisite.list( order={"DATE_CREATE": "ASC"}, filter={"PRESET_ID": "1"}, select=["ENTITY_TYPE_ID", "ENTITY_ID", "ID", "NAME"], ).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}")Пример
as_list_fastfrom b24pysdk.client import BaseClient from b24pysdk.errors import BitrixAPIError, BitrixSDKException client: BaseClient try: bitrix_response = client.crm.requisite.list( filter={"PRESET_ID": "1"}, select=["ENTITY_TYPE_ID", "ENTITY_ID", "ID", "NAME"], order={"ID": "DESC"}, ).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}") -
Получение значения пользовательского поля в реквизитах
cURL (Webhook)cURL (OAuth)JS (TS)JS (UMD)PHPPythoncurl -X POST \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{"order":{},"filter":{"ID":"51"},"select":["UF_CRM_1707997209"]}' \ https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/crm.requisite.listcurl -X POST \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{"order":{},"filter":{"ID":"51"},"select":["UF_CRM_1707997209"],"auth":"**put_access_token_here**"}' \ https://**put_your_bitrix24_address**/rest/crm.requisite.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 } from '@bitrix24/b24jssdk' declare const $b24: B24Frame // Shape of each RequisiteUserField returned in result[] type RequisiteUserField = { UF_CRM_1707997209: string } try { // crm.requisite.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<RequisiteUserField[]>({ method: 'crm.requisite.list', params: { order: {}, filter: { ID: '51' }, // Requisite ID select: ['UF_CRM_1707997209'], // User-defined field ID start: 0, }, 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('User field value:', result[0]?.UF_CRM_1707997209) } } 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 getRequisiteUserField() { try { // Initialize the SDK inside a Bitrix24 frame const $b24 = await B24Js.initializeB24Frame() // crm.requisite.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: 'crm.requisite.list', params: { order: {}, filter: { ID: '51' }, // Requisite ID select: ['UF_CRM_1707997209'], // User-defined field ID start: 0, }, 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('User field value:', result[0]?.UF_CRM_1707997209) } catch (error) { // Thrown on transport or SDK failures (AjaxError, SdkError, etc.) console.error(error) } } document.addEventListener('DOMContentLoaded', getRequisiteUserField) </script>require_once('crest.php'); $result = CRest::call( 'crm.requisite.list', [ 'order' => [], 'filter' => ['ID' => '51'], 'select' => ['UF_CRM_1707997209'] ] ); echo '<PRE>'; print_r($result); echo '</PRE>';from b24pysdk.client import BaseClient from b24pysdk.errors import BitrixAPIError, BitrixSDKException client: BaseClient try: bitrix_response = client.crm.requisite.list( order={}, filter={"ID": "51"}, select=["UF_CRM_1707997209"], ).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}")
Ответ в случае успеха
HTTP-статус: 200
-
Ответ из примера 1:
{ "result": [ { "ENTITY_TYPE_ID": "4", "ENTITY_ID": "3027", "ID": "40", "NAME": "Организация" }, { "ENTITY_TYPE_ID": "4", "ENTITY_ID": "3028", "ID": "41", "NAME": "Реквизиты головного офиса" }, { "ENTITY_TYPE_ID": "4", "ENTITY_ID": "3028", "ID": "42", "NAME": "Филиал в г. Черняховск" } ], "total": 3, "time": { "start": 1717150154.197056, "finish": 1717150154.505106, "duration": 0.30804991722106934, "processing": 0.030454158782958984, "date_start": "2024-05-31T12:09:14+02:00", "date_finish": "2024-05-31T12:09:14+02:00", "operating": 0 } } -
Ответ из примера 2:
{ "result": [ { "UF_CRM_1707997209": "45" } ], "total": 1, "time": { "start": 1717151052.551011, "finish": 1717151052.94743, "duration": 0.39641880989074707, "processing": 0.028468847274780273, "date_start": "2024-05-31T12:24:12+02:00", "date_finish": "2024-05-31T12:24:12+02:00", "operating": 0 } }
Возвращаемые данные
|
Название |
Описание |
|
result |
Массив объектов с информацией из выбранных реквизитов. Каждый элемент содержит выбранные поля реквизита |
|
total |
Общее количество найденных записей |
|
time |
Информация о времени выполнения запроса |
Ответ в случае ошибки
HTTP-статус: 400
{
"error": 0,
"error_description": "Access denied."
}
|
Название |
Описание |
|
error |
Строковый код ошибки. Может состоять из цифр, латинских букв и знака подчеркивания |
|
error_description |
Текстовое описание ошибки. Описание не предназначено для показа конечному пользователю в необработанном виде |
Возможные ошибки
|
Код |
Текст ошибки |
Описание |
|
|
Access denied. |
Недостаточно прав доступа для получения списка реквизитов |
Статусы и коды системных ошибок
HTTP-статус: 20x, 40x, 50x
Описанные ниже ошибки могут возникнуть при вызове любого метода
|
Статус |
Код |
Описание |
|
|
|
Возникла внутренняя ошибка сервера, обратитесь к администратору сервера или в техническую поддержку Битрикс24 |
|
|
|
Возникла внутренняя ошибка сервера, обратитесь к администратору сервера или в техническую поддержку Битрикс24 |
|
|
|
Превышен лимит на интенсивность запросов |
|
|
|
Метод заблокирован из-за превышения лимита на ресурсоемкость запросов. Блокировка снимается автоматически через 10 минут |
|
|
|
Текущий метод не разрешен для вызова с помощью batch |
|
|
|
Превышена максимальная длина параметров, переданных в метод batch |
|
|
|
Неверный access-токен или код вебхука |
|
|
|
Для вызовов методов требуется использовать протокол HTTPS |
|
|
|
REST API заблокирован из-за перегрузки. Это ручная индивидуальная блокировка, для снятия необходимо обращаться в техническую поддержку Битрикс24 |
|
|
|
REST API доступен только на коммерческих планах |
|
|
|
У пользователя, с чьим access-токеном или вебхуком был вызван метод, не хватает прав |
|
|
|
Манифест недоступен |
|
|
|
Запрос требует более высоких привилегий, чем предоставляет токен вебхука |
|
|
|
Предоставленный access-токен доступа истек |
|
|
|
Пользователь не имеет доступа к приложению. Это означает, что приложение установлено, но администратор портала разрешил доступ к этому приложению только конкретным пользователям |
|
|
|
Публичная часть сайта закрыта. Чтобы открыть публичную часть сайта на коробочной установке отключите опцию «Временное закрытие публичной части сайта». Путь к настройке: Рабочий стол > Настройки > Настройки продукта > Настройки модулей > Главный модуль > Временное закрытие публичной части сайта |