Получить поля, доступные для добавления в шаблон реквизитов crm.requisite.preset.field.availabletoadd

Выберите инструмент для разработки с AI-агентом:

  • используйте Битрикс24 Вайбкод, чтобы создать приложение для Битрикс24 по описанию задачи без знания языков программирования. Агент напишет код и разместит приложение на сервере без ручной настройки хостинга
  • используйте MCP-сервер, чтобы разрабатывать интеграцию через REST API в своем проекте. Агент будет обращаться к официальной REST-документации

Scope: crm

Кто может выполнять метод: любой пользователь

Метод возвращает поля, доступные для добавления в указанный шаблон реквизитов.

Параметры метода

Обязательные параметры отмечены *

Название
тип

Описание

preset*
object

Объект, содержащий значение идентификатора шаблона, для которого нужно получить список доступных для добавления настраиваемых полей.

Идентификаторы шаблонов можно получить с помощью метода crm.requisite.preset.list.

Поля с префиксом UF_ в ответе являются пользовательскими (смотрите методы для работы с пользовательскими полями реквизитов)

Примеры кода

Как использовать примеры в документации

curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"preset":{"ID":27}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/crm.requisite.preset.field.availabletoadd
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"preset":{"ID":27},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/crm.requisite.preset.field.availabletoadd
// 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

try {
  const response = await $b24.actions.v2.call.make<string[]>({
    method: 'crm.requisite.preset.field.availabletoadd',
    params: {
      preset: {
        ID: 27,
      },
    },
    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('Available fields:', result, 'Count:', result.length)
  }
} 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 getAvailablePresetFields() {
    try {
      // Initialize the SDK inside a Bitrix24 frame
      const $b24 = await B24Js.initializeB24Frame()

      const response = await $b24.actions.v2.call.make({
        method: 'crm.requisite.preset.field.availabletoadd',
        params: {
          preset: {
            ID: 27,
          },
        },
        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('Available fields:', result, 'Count:', result.length)
    } catch (error) {
      // Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
      console.error(error)
    }
  }

  document.addEventListener('DOMContentLoaded', getAvailablePresetFields)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException

try:
    bitrix_response = client.crm.requisite.preset.field.availabletoadd(
        preset={
            "ID": 27,
        },
    ).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(
            'crm.requisite.preset.field.availabletoadd',
            [
                'preset' => [
                    'ID' => 27
                ]
            ]
        );

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

    if ($result->error()) {
        error_log($result->error());
    } else {
        echo 'Success: ' . print_r($result->data(), true);
    }

} catch (Throwable $e) {
    error_log($e->getMessage());
    echo 'Error checking available fields: ' . $e->getMessage();
}
BX24.callMethod(
    "crm.requisite.preset.field.availabletoadd",
    {
        preset:
        {
            "ID": 27
        }
    },
    function(result)
    {
        if(result.error())
            console.error(result.error());
        else
            console.dir(result.data());
    }
);
require_once('crest.php');

$result = CRest::call(
    'crm.requisite.preset.field.availabletoadd',
    [
        'preset' => ['ID' => 27]
    ]
);

echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "crm.requisite.preset.field.availabletoadd", b24.Params{
	"preset": b24.Params{
		"ID": 27,
	},
})
if err != nil {
	return fmt.Errorf("crm.requisite.preset.field.availabletoadd: %w", err)
}

var items []string
if err := json.Unmarshal(res.Result, &items); err != nil {
	return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println("получено:", len(items))

Обработка ответа

HTTP-статус: 200

{
    "result": [
        "RQ_FIRST_NAME",
        "RQ_LAST_NAME",
        "RQ_SECOND_NAME",
        "RQ_COMPANY_NAME",
        "RQ_COMPANY_FULL_NAME",
        "RQ_COMPANY_REG_DATE",
        "RQ_DIRECTOR",
        "RQ_ACCOUNTANT",
        "RQ_ADDR",
        "RQ_CONTACT",
        "RQ_EMAIL",
        "RQ_PHONE",
        "RQ_FAX",
        "RQ_IDENT_DOC",
        "RQ_IDENT_DOC_SER",
        "RQ_IDENT_DOC_NUM",
        "RQ_IDENT_DOC_DATE",
        "RQ_IDENT_DOC_ISSUED_BY",
        "RQ_IDENT_DOC_DEP_CODE",
        "RQ_INN",
        "RQ_KPP",
        "RQ_IFNS",
        "RQ_OGRN",
        "RQ_OGRNIP",
        "RQ_OKPO",
        "RQ_OKTMO",
        "RQ_OKVED",
        "RQ_ST_CERT_SER",
        "RQ_ST_CERT_NUM",
        "RQ_ST_CERT_DATE",
        "RQ_SIGNATURE",
        "RQ_STAMP",
        "UF_CRM_1707997209",
        "UF_CRM_1707997236",
        "UF_CRM_1707997253",
        "UF_CRM_1708012333"
    ]
}

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

Название
тип

Описание

result
array

Массив с названиями полей, которые можно добавить в указанный шаблон реквизитов

time
time

Информация о времени выполнения запроса

Описание полей

Название
тип

Описание

RQ_FIRST_NAME
string

Имя

RQ_LAST_NAME
string

Фамилия

RQ_SECOND_NAME
string

Отчество

RQ_COMPANY_NAME
string

Сокращенное наименование организации

RQ_COMPANY_FULL_NAME
string

Полное наименование организации

RQ_COMPANY_REG_DATE
string

Дата государственной регистрации

RQ_DIRECTOR
string

Генеральный директор

RQ_ACCOUNTANT
string

Главный бухгалтер

RQ_CONTACT
string

Контактное лицо

RQ_EMAIL
string

E-Mail

RQ_PHONE
string

Телефон

RQ_FAX
string

Факс

RQ_IDENT_DOC
string

Вид документа

RQ_IDENT_DOC_SER
string

Серия

RQ_IDENT_DOC_NUM
string

Номер

RQ_IDENT_DOC_DATE
string

Дата выдачи

RQ_IDENT_DOC_ISSUED_BY
string

Кем выдан

RQ_IDENT_DOC_DEP_CODE
string

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

RQ_INN
string

ИНН

RQ_KPP
string

КПП

RQ_IFNS
string

ИФНС

RQ_OGRN
string

ОГРН

RQ_OGRNIP
string

ОГРНИП

RQ_OKPO
string

ОКПО

RQ_OKTMO
string

ОКТМО

RQ_OKVED
string

ОКВЭД

RQ_ST_CERT_SER
string

Серия свидетельства о государственной регистрации

RQ_ST_CERT_NUM
string

Номер свидетельства о государственной регистрации

RQ_ST_CERT_DATE
string

Дата свидетельства о государственной регистрации

UF_CRM_1707997209
double

Пользовательское поле типа «Число»

UF_CRM_1707997236
boolean

Пользовательское поле типа «Да/Нет»

UF_CRM_1707997253
datetime

Пользовательское поле типа «Дата»

UF_CRM_1708012333
string

Пользовательское поле типа «Строка»

Обработка ошибок

HTTP-статус: 40x, 50x

{
    "error": "",
    "error_description": "Шаблон не найден."
}

Название
тип

Описание

error
string

Строковый код ошибки. Состоит из цифр, латинских букв и знака подчеркивания. Может прийти пустым — тогда причину показывает только error_description

error_description
string

Текст ошибки для разработчика. Не показывайте его конечному пользователю без обработки

Возможные коды ошибок

Код

Описание

Шаблон не найден

Не найден шаблон, для которого нужно получить список полей, доступных для добавления

Статусы и коды системных ошибок

HTTP-статус: 4xx, 5xx

Описанные ниже ошибки возвращает сам REST API, а не логика конкретного метода. Они могут прийти в ответ на любой метод.

Статус

Код
Текст ошибки

Описание

500

INTERNAL_SERVER_ERROR
Internal server error

Возникла внутренняя ошибка сервера. Повторите вызов, а если ошибка сохраняется, обратитесь к администратору сервера или в техническую поддержку Битрикс24

500

ERROR_UNEXPECTED_ANSWER
Server returned an unexpected response

Сервер вернул неожиданный ответ. Повторите вызов, а если ошибка сохраняется, обратитесь к администратору сервера или в техническую поддержку Битрикс24

503

QUERY_LIMIT_EXCEEDED
Too many requests

Превышен лимит на интенсивность запросов

429

OPERATION_TIME_LIMIT
Method is blocked due to operation time limit

Метод заблокирован из-за превышения лимита на ресурсоемкость запросов. Блокировка снимается автоматически, когда накопленное время выполнения метода перестает превышать лимит

401

NO_AUTH_FOUND
Wrong authorization data

В запросе нет авторизационных данных: не передан ни access-токен, ни код вебхука

401

INVALID_REQUEST
Https required

Методы вызываются только по протоколу HTTPS

401

OVERLOAD_LIMIT
REST API is blocked due to overload

REST API заблокирован из-за перегрузки. Это ручная индивидуальная блокировка. Чтобы ее снять, обратитесь в техническую поддержку Битрикс24

401

ACCESS_DENIED
REST is available only on commercial plans

REST API доступен только на коммерческих тарифах. У вебхука текст ошибки другой — REST is available only by subscription

401

INVALID_CREDENTIALS
Invalid request credentials

Не найден активный вебхук с указанным идентификатором пользователя и секретным кодом

404

ERROR_METHOD_NOT_FOUND
Method not found!

Метод с таким именем не найден. Имя написано с ошибкой, метода нет в REST API или он недоступен без нужного скоупа

401

insufficient_scope
The request requires higher privileges than provided by the webhook token

Запрос требует более широких прав, чем есть у токена: у вебхука это выданные ему права, у приложения — скоуп. У приложения текст ошибки заканчивается на provided by the access token

401

expired_token
The access token provided has expired

Срок действия access-токена истек

401

user_access_error
The user does not have access to the application

Приложение установлено, но администратор Битрикс24 открыл доступ к нему только конкретным пользователям

403

PORTAL_DELETED
Portal was deleted

Публичная часть сайта закрыта. Чтобы открыть ее на коробочной установке, отключите опцию «Временное закрытие публичной части сайта». Путь к настройке: Рабочий стол > Настройки > Настройки продукта > Настройки модулей > Главный модуль > Временное закрытие публичной части сайта

Продолжите изучение