Изменить существующее пользовательское поле предложений crm.quote.userfield.update

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

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

Scope: crm

Кто может выполнять метод: пользователь с правом «Разрешить изменять настройки» в CRM

DEPRECATED

Развитие метода остановлено. Используйте метод REST 3.0 crm.quote.field.custom.update.

Метод crm.quote.userfield.update меняет параметры пользовательского поля предложений: подписи, обязательность, настройки типа и элементы списка. Значение поля в конкретном предложении задает метод crm.item.update с entityTypeId = 7.

В REST 3.0 поле меняет метод crm.quote.field.custom.update.

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

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

Название
тип

Описание

id*
integer

Идентификатор пользовательского поля.

Идентификатор можно получить с помощью методов crm.quote.userfield.add и crm.quote.userfield.list

fields*
object

Объект формата:

{
    field_1: value_1,
    field_2: value_2,
    ...,
    field_n: value_n,
}
  • field_n — название поля
  • value_n — новое значение поля

Список доступных полей описан ниже.

Некорректное поле в fields будет проигнорировано.

Передавайте в fields только параметры, которые нужно изменить.

Тип USER_TYPE_ID, код FIELD_NAME и множественность MULTIPLE изменить нельзя. Метод пропустит эти параметры без ошибки и вернет true. Чтобы получить поле с другим типом, кодом или множественностью, создайте новое поле методом crm.quote.userfield.add

Параметр fields

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

Название
тип

Описание

MANDATORY
char

Является ли поле обязательным. Возможные значения:

  • Y — да
  • N — нет

SHOW_FILTER
char

Показывать ли поле в фильтре. Возможные значения:

  • Y — да
  • N — нет

XML_ID
string

Внешний код

SETTINGS
object

Дополнительные параметры поля. Набор настроек зависит от типа поля USER_TYPE_ID, описание ниже.

Метод меняет только переданные настройки, остальные остаются прежними

LIST
uf_enum_element[]

Список возможных значений для пользовательского поля типа enumeration, описание ниже

SORT
integer

Индекс сортировки. Обязательно больше нуля

SHOW_IN_LIST
char

Показывать ли поле в списке.

В CRM параметр не используется.

Возможные значения:

  • Y — да
  • N — нет

EDIT_IN_LIST
char

Разрешать ли редактирование пользователем. Возможные значения:

  • Y — да
  • N — нет

Значение N поддерживают не все типы полей в рамках crm

IS_SEARCHABLE
char

Участвуют ли значения поля в поиске.

В CRM параметр не используется.

Возможные значения:

  • Y — да
  • N — нет

LIST_FILTER_LABEL
string|lang_map

Подпись фильтра в списке.

Новое значение полностью заменяет старое:

  • строка — одна подпись для всех языков
  • lang_map — подписи на переданных языках, на остальных — ''

Чтобы изменить подпись на одном языке и не стереть другие, передайте в lang_map и подписи на остальных языках

LIST_COLUMN_LABEL
string|lang_map

Заголовок в списке.

Новое значение полностью заменяет старое:

  • строка — одна подпись для всех языков
  • lang_map — подписи на переданных языках, на остальных — ''

Чтобы изменить подпись на одном языке и не стереть другие, передайте в lang_map и подписи на остальных языках

EDIT_FORM_LABEL
string|lang_map

Подпись в форме редактирования.

Новое значение полностью заменяет старое:

  • строка — одна подпись для всех языков
  • lang_map — подписи на переданных языках, на остальных — ''

Чтобы изменить подпись на одном языке и не стереть другие, передайте в lang_map и подписи на остальных языках

ERROR_MESSAGE
string|lang_map

Сообщение об ошибке. Строка и lang_map обрабатываются так же, как у LIST_FILTER_LABEL

HELP_MESSAGE
string|lang_map

Помощь. Строка и lang_map обрабатываются так же, как у LIST_FILTER_LABEL

Параметр SETTINGS

Набор настроек зависит от типа поля. Метод сохраняет только настройки из вкладок ниже.

Название
тип

Описание

DEFAULT_VALUE
string

Значение по умолчанию

ROWS
integer

Количество строк в поле ввода. Обязательно больше нуля

Название
тип

Описание

DEFAULT_VALUE
integer

Значение по умолчанию

Название
тип

Описание

DEFAULT_VALUE
double

Значение по умолчанию

PRECISION
integer

Точность числа. Обязательно больше или равно 0

Название
тип

Описание

DEFAULT_VALUE
integer

Значение по умолчанию: 1 — да, 0 — нет. Число от 1 и больше метод сохранит как 1, от 0 и меньше — как 0

DISPLAY
string

Внешний вид. Возможные значения:

  • CHECKBOX — флажок
  • RADIO — радиокнопки
  • DROPDOWN — выпадающий список

Название
тип

Описание

DEFAULT_VALUE
object

Значение по умолчанию.
Объект формата:

{
    VALUE: datetime|date,
    TYPE: 'NONE'|'NOW'|'FIXED',
}

где:

  • VALUE — значение по умолчанию типа datetime или date в формате ISO 8601, например 2026-10-28T10:00:00+03:00
  • TYPE — тип значения по умолчанию:
    • NONE — не выставлять значение по умолчанию
    • NOW — использовать текущее время/дату
    • FIXED — использовать время/дату из VALUE

Название
тип

Описание

DISPLAY
string

Внешний вид. Возможные значения:

  • LIST — список
  • UI — набираемый список
  • CHECKBOX — флажки
  • DIALOG — диалог выбора элементов

LIST_HEIGHT
integer

Высота списка. Обязательно больше нуля.

Доступен только при DISPLAY = LIST или DISPLAY = UI

Название
тип

Описание

IBLOCK_TYPE_ID
string

Идентификатор типа информационного блока

IBLOCK_ID
string

Идентификатор информационного блока

DEFAULT_VALUE
string

Значение по умолчанию

DISPLAY
string

Внешний вид. Возможные значения:

  • DIALOG — диалог
  • UI — набираемый список
  • LIST — список
  • CHECKBOX — флажки

LIST_HEIGHT
integer

Высота списка. Обязательно больше нуля

ACTIVE_FILTER
char

Показывать ли элементы с включенным флагом активности. Возможные значения:

  • Y — да
  • N — нет

Название
тип

Описание

ENTITY_TYPE
string

Идентификатор типа справочника.

Используйте crm.status.entity.types, чтобы узнать возможные значения

Название
тип

Описание

LEAD
char

Включена ли привязка к лидам. Возможные значения:

  • Y — да
  • N — нет

CONTACT
char

Включена ли привязка к контактам. Возможные значения:

  • Y — да
  • N — нет

COMPANY
char

Включена ли привязка к компаниям. Возможные значения:

  • Y — да
  • N — нет

DEAL
char

Включена ли привязка к сделкам. Возможные значения:

  • Y — да
  • N — нет

Параметр LIST

Важно

Метод сначала сохраняет параметры поля, потом элементы LIST. Если элементы не сохранились, например из-за повторяющегося XML_ID, метод ответит ошибкой, но остальные изменения поля уже будут сохранены. Проверьте поле методом crm.quote.userfield.get перед повторным вызовом.

Передавайте только элементы, которые нужно добавить, изменить или удалить. Элементы, которых нет в LIST, остаются без изменений. Чтобы изменить или удалить существующий элемент, передайте ID элемента из ответа crm.quote.userfield.get. Элемент без ID добавляется как новый.

Название
тип

Описание

ID
integer

Идентификатор существующего элемента списка

VALUE
string

Значение элемента списка.

Если передать пустой VALUE вместе с ID, элемент будет удален

DEL
char

Чтобы удалить элемент с переданным ID, передайте Y

SORT
integer

Индекс сортировки. Если не передан или меньше единицы, новый элемент получает 500

DEF
char

Является ли элемент списка значением по умолчанию. Возможные значения:

  • Y — да
  • N — нет

У множественного поля значений по умолчанию может быть несколько. У поля с MULTIPLE = N значением по умолчанию станет первый переданный элемент с DEF = Y

XML_ID
string

Внешний код значения. Обязательно уникальный в рамках элементов списка пользовательского поля

Примеры кода

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

Пример изменения пользовательского поля типа Строка

curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"id":536,"fields":{"MANDATORY":"N","SHOW_FILTER":"N","SETTINGS":{"DEFAULT_VALUE":"Привет, мир! Значение по умолчанию (изменено)","ROWS":10},"SORT":2000,"EDIT_IN_LIST":"N","LIST_FILTER_LABEL":"Привет, мир! Фильтр (изменено)","LIST_COLUMN_LABEL":{"en":"Hello, World! Column (changed)","ru":"Привет, мир! Колонка (изменено)","de":"Hallo, Welt! Spalte (geändert)"},"EDIT_FORM_LABEL":{"en":"Hello, World! Edit (changed)","ru":"Привет, мир! Редактировать (изменено)","de":"Hallo, Welt! Bearbeiten (geändert)"},"ERROR_MESSAGE":{"en":"Hello, World! Error (changed)","ru":"Привет, мир! Ошибка (изменено)","de":"Hallo, Welt! Fehler (geändert)"},"HELP_MESSAGE":{"en":"Hello, World! Help (changed)","ru":"Привет, мир! Помощь (изменено)","de":"Hallo, Welt! Hilfe (geändert)"}}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/crm.quote.userfield.update
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"id":536,"fields":{"MANDATORY":"N","SHOW_FILTER":"N","SETTINGS":{"DEFAULT_VALUE":"Привет, мир! Значение по умолчанию (изменено)","ROWS":10},"SORT":2000,"EDIT_IN_LIST":"N","LIST_FILTER_LABEL":"Привет, мир! Фильтр (изменено)","LIST_COLUMN_LABEL":{"en":"Hello, World! Column (changed)","ru":"Привет, мир! Колонка (изменено)","de":"Hallo, Welt! Spalte (geändert)"},"EDIT_FORM_LABEL":{"en":"Hello, World! Edit (changed)","ru":"Привет, мир! Редактировать (изменено)","de":"Hallo, Welt! Bearbeiten (geändert)"},"ERROR_MESSAGE":{"en":"Hello, World! Error (changed)","ru":"Привет, мир! Ошибка (изменено)","de":"Hallo, Welt! Fehler (geändert)"},"HELP_MESSAGE":{"en":"Hello, World! Help (changed)","ru":"Привет, мир! Помощь (изменено)","de":"Hallo, Welt! Hilfe (geändert)"}},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/crm.quote.userfield.update
// 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<boolean>({
    method: 'crm.quote.userfield.update',
    params: {
      id: 536,
      fields: {
        MANDATORY: 'N',
        SHOW_FILTER: 'N',
        SETTINGS: {
          DEFAULT_VALUE: 'Привет, мир! Значение по умолчанию (изменено)',
          ROWS: 10,
        },
        SORT: 2000,
        EDIT_IN_LIST: 'N',
        LIST_FILTER_LABEL: 'Привет, мир! Фильтр (изменено)',
        LIST_COLUMN_LABEL: {
          en: 'Hello, World! Column (changed)',
          ru: 'Привет, мир! Колонка (изменено)',
          de: 'Hallo, Welt! Spalte (geändert)',
        },
        EDIT_FORM_LABEL: {
          en: 'Hello, World! Edit (changed)',
          ru: 'Привет, мир! Редактировать (изменено)',
          de: 'Hallo, Welt! Bearbeiten (geändert)',
        },
        ERROR_MESSAGE: {
          en: 'Hello, World! Error (changed)',
          ru: 'Привет, мир! Ошибка (изменено)',
          de: 'Hallo, Welt! Fehler (geändert)',
        },
        HELP_MESSAGE: {
          en: 'Hello, World! Help (changed)',
          ru: 'Привет, мир! Помощь (изменено)',
          de: 'Hallo, Welt! Hilfe (geändert)',
        },
      },
    },
    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 updated successfully:', 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 updateQuoteUserField() {
    try {
      // Initialize the SDK inside a Bitrix24 frame
      const $b24 = await B24Js.initializeB24Frame()

      const response = await $b24.actions.v2.call.make({
        method: 'crm.quote.userfield.update',
        params: {
          id: 536,
          fields: {
            MANDATORY: 'N',
            SHOW_FILTER: 'N',
            SETTINGS: {
              DEFAULT_VALUE: 'Привет, мир! Значение по умолчанию (изменено)',
              ROWS: 10,
            },
            SORT: 2000,
            EDIT_IN_LIST: 'N',
            LIST_FILTER_LABEL: 'Привет, мир! Фильтр (изменено)',
            LIST_COLUMN_LABEL: {
              en: 'Hello, World! Column (changed)',
              ru: 'Привет, мир! Колонка (изменено)',
              de: 'Hallo, Welt! Spalte (geändert)',
            },
            EDIT_FORM_LABEL: {
              en: 'Hello, World! Edit (changed)',
              ru: 'Привет, мир! Редактировать (изменено)',
              de: 'Hallo, Welt! Bearbeiten (geändert)',
            },
            ERROR_MESSAGE: {
              en: 'Hello, World! Error (changed)',
              ru: 'Привет, мир! Ошибка (изменено)',
              de: 'Hallo, Welt! Fehler (geändert)',
            },
            HELP_MESSAGE: {
              en: 'Hello, World! Help (changed)',
              ru: 'Привет, мир! Помощь (изменено)',
              de: 'Hallo, Welt! Hilfe (geändert)',
            },
          },
        },
        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 updated successfully:', result)
    } catch (error) {
      // Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
      console.error(error)
    }
  }

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

try:
    bitrix_response = client.crm.quote.userfield.update(
        bitrix_id=536,
        fields={
            "MANDATORY": "N",
            "SHOW_FILTER": "N",
            "SETTINGS": {
                "DEFAULT_VALUE": "Привет, мир! Значение по умолчанию (изменено)",
                "ROWS": 10,
            },
            "SORT": 2000,
            "EDIT_IN_LIST": "N",
            "LIST_FILTER_LABEL": "Привет, мир! Фильтр (изменено)",
            "LIST_COLUMN_LABEL": {
                "en": "Hello, World! Column (changed)",
                "ru": "Привет, мир! Колонка (изменено)",
                "de": "Hallo, Welt! Spalte (geändert)",
            },
            "EDIT_FORM_LABEL": {
                "en": "Hello, World! Edit (changed)",
                "ru": "Привет, мир! Редактировать (изменено)",
                "de": "Hallo, Welt! Bearbeiten (geändert)",
            },
            "ERROR_MESSAGE": {
                "en": "Hello, World! Error (changed)",
                "ru": "Привет, мир! Ошибка (изменено)",
                "de": "Hallo, Welt! Fehler (geändert)",
            },
            "HELP_MESSAGE": {
                "en": "Hello, World! Help (changed)",
                "ru": "Привет, мир! Помощь (изменено)",
                "de": "Hallo, Welt! Hilfe (geändert)",
            },
        },
    ).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 {
    $result = $serviceBuilder
        ->getCRMScope()
        ->quoteUserfield()
        ->update(
            536,
            [
                'MANDATORY' => 'N',
                'SHOW_FILTER' => 'N',
                'SETTINGS' => [
                    'DEFAULT_VALUE' => 'Привет, мир! Значение по умолчанию (изменено)',
                    'ROWS' => 10,
                ],
                'SORT' => 2000,
                'EDIT_IN_LIST' => 'N',
                'LIST_FILTER_LABEL' => 'Привет, мир! Фильтр (изменено)',
                'LIST_COLUMN_LABEL' => [
                    'en' => 'Hello, World! Column (changed)',
                    'ru' => 'Привет, мир! Колонка (изменено)',
                    'de' => 'Hallo, Welt! Spalte (geändert)',
                ],
                'EDIT_FORM_LABEL' => [
                    'en' => 'Hello, World! Edit (changed)',
                    'ru' => 'Привет, мир! Редактировать (изменено)',
                    'de' => 'Hallo, Welt! Bearbeiten (geändert)',
                ],
                'ERROR_MESSAGE' => [
                    'en' => 'Hello, World! Error (changed)',
                    'ru' => 'Привет, мир! Ошибка (изменено)',
                    'de' => 'Hallo, Welt! Fehler (geändert)',
                ],
                'HELP_MESSAGE' => [
                    'en' => 'Hello, World! Help (changed)',
                    'ru' => 'Привет, мир! Помощь (изменено)',
                    'de' => 'Hallo, Welt! Hilfe (geändert)',
                ],
            ]
        );

    print($result->isSuccess() ? 'Updated' : 'Failed');
} catch (Throwable $e) {
    print('Error: ' . $e->getMessage());
}
BX24.callMethod(
    'crm.quote.userfield.update',
    {
        id: 536,
        fields: {
            MANDATORY: 'N',
            SHOW_FILTER: 'N',
            SETTINGS: {
                DEFAULT_VALUE: 'Привет, мир! Значение по умолчанию (изменено)',
                ROWS: 10,
            },
            SORT: 2000,
            EDIT_IN_LIST: 'N',
            LIST_FILTER_LABEL: 'Привет, мир! Фильтр (изменено)',
            LIST_COLUMN_LABEL: {
                en: 'Hello, World! Column (changed)',
                ru: 'Привет, мир! Колонка (изменено)',
                de: 'Hallo, Welt! Spalte (geändert)',
            },
            EDIT_FORM_LABEL: {
                en: 'Hello, World! Edit (changed)',
                ru: 'Привет, мир! Редактировать (изменено)',
                de: 'Hallo, Welt! Bearbeiten (geändert)',
            },
            ERROR_MESSAGE: {
                en: 'Hello, World! Error (changed)',
                ru: 'Привет, мир! Ошибка (изменено)',
                de: 'Hallo, Welt! Fehler (geändert)',
            },
            HELP_MESSAGE: {
                en: 'Hello, World! Help (changed)',
                ru: 'Привет, мир! Помощь (изменено)',
                de: 'Hallo, Welt! Hilfe (geändert)',
            },
        },
    },
    (result) => {
        result.error()
            ? console.error(result.error())
            : console.info(result.data());
    }
);
require_once('crest.php');

$result = CRest::call(
    'crm.quote.userfield.update',
    [
        'id' => 536,
        'fields' => [
            'MANDATORY' => 'N',
            'SHOW_FILTER' => 'N',
            'SETTINGS' => [
                'DEFAULT_VALUE' => 'Привет, мир! Значение по умолчанию (изменено)',
                'ROWS' => 10,
            ],
            'SORT' => 2000,
            'EDIT_IN_LIST' => 'N',
            'LIST_FILTER_LABEL' => 'Привет, мир! Фильтр (изменено)',
            'LIST_COLUMN_LABEL' => [
                'en' => 'Hello, World! Column (changed)',
                'ru' => 'Привет, мир! Колонка (изменено)',
                'de' => 'Hallo, Welt! Spalte (geändert)',
            ],
            'EDIT_FORM_LABEL' => [
                'en' => 'Hello, World! Edit (changed)',
                'ru' => 'Привет, мир! Редактировать (изменено)',
                'de' => 'Hallo, Welt! Bearbeiten (geändert)',
            ],
            'ERROR_MESSAGE' => [
                'en' => 'Hello, World! Error (changed)',
                'ru' => 'Привет, мир! Ошибка (изменено)',
                'de' => 'Hallo, Welt! Fehler (geändert)',
            ],
            'HELP_MESSAGE' => [
                'en' => 'Hello, World! Help (changed)',
                'ru' => 'Привет, мир! Помощь (изменено)',
                'de' => 'Hallo, Welt! Hilfe (geändert)',
            ],
        ]
    ]
);

echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "crm.quote.userfield.update", b24.Params{
	"id": 536,
	"fields": b24.Params{
		"MANDATORY":   "N",
		"SHOW_FILTER": "N",
		"SETTINGS": b24.Params{
			"DEFAULT_VALUE": "Привет, мир! Значение по умолчанию (изменено)",
			"ROWS":          10,
		},
		"SORT":              2000,
		"EDIT_IN_LIST":      "N",
		"LIST_FILTER_LABEL": "Привет, мир! Фильтр (изменено)",
		"LIST_COLUMN_LABEL": b24.Params{
			"en": "Hello, World! Column (changed)",
			"ru": "Привет, мир! Колонка (изменено)",
			"de": "Hallo, Welt! Spalte (geändert)",
		},
		"EDIT_FORM_LABEL": b24.Params{
			"en": "Hello, World! Edit (changed)",
			"ru": "Привет, мир! Редактировать (изменено)",
			"de": "Hallo, Welt! Bearbeiten (geändert)",
		},
		"ERROR_MESSAGE": b24.Params{
			"en": "Hello, World! Error (changed)",
			"ru": "Привет, мир! Ошибка (изменено)",
			"de": "Hallo, Welt! Fehler (geändert)",
		},
		"HELP_MESSAGE": b24.Params{
			"en": "Hello, World! Help (changed)",
			"ru": "Привет, мир! Помощь (изменено)",
			"de": "Hallo, Welt! Hilfe (geändert)",
		},
	},
})
if err != nil {
	return fmt.Errorf("crm.quote.userfield.update: %w", err)
}

var ok bool
if err := json.Unmarshal(res.Result, &ok); err != nil {
	return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println("выполнено:", ok)

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

HTTP-статус: 200

{
    "result": true,
    "time": {
        "start": 1753790234.592207,
        "finish": 1753790234.762644,
        "duration": 0.17043709754943848,
        "processing": 0.11566615104675293,
        "date_start": "2025-07-29T14:57:14+03:00",
        "date_finish": "2025-07-29T14:57:14+03:00",
        "operating_reset_at": 1753790834,
        "operating": 0.11564803123474121
    }
}

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

Название
тип

Описание

result
boolean

Корневой элемент ответа, содержит true в случае успеха

time
time

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

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

HTTP-статус: 400

{
    "error": "",
    "error_description": "Access denied."
}

Название
тип

Описание

error
string

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

error_description
string

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

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

Статус

Код

Описание

Значение

400

Пустое значение

Parameter 'fields' must be array.

Переданный fields не является объектом

400

Пустое значение

ID is not defined or invalid.

id не передан или меньше единицы

400

Пустое значение

Access denied.

Возникает в случаях, когда:

  • у пользователя нет права «Разрешить изменять настройки» в CRM
  • поле с переданным id принадлежит другому объекту, например лидам

400

ERROR_NOT_FOUND

The entity with ID 'id' is not found.

Пользовательского поля с переданным id нет

400

ERROR_CORE

Элемент списка со значением XML_ID=xml_id уже существует.

Битрикс24 не смог сохранить поле или элементы списка, например XML_ID элемента уже есть у другого элемента этого поля

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

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

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

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