Обновить реквизит crm.requisite.update

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

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

Scope: crm

Кто может выполнять метод: пользователь с правом на изменение контакта или компании — владельца реквизита

Метод обновляет существующий реквизит.

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

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

Название
тип

Описание

id*
integer

Идентификатор реквизита, можно получить методом crm.requisite.list

fields*
object

Набор полей реквизита — объект вида "поле": "значение"[, ...]}, значения которых нужно изменить

Параметр fields

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

Название
тип

Описание

NAME*
string

Название реквизита

CODE
string

Символьный код реквизита

XML_ID
string

Внешний ключ, используется для операций обмена.

Идентификатор объекта внешней информационной базы.

Назначение поля может меняться конечным разработчиком

ORIGINATOR_ID
string

Идентификатор внешней информационной базы.

Назначение поля может меняться конечным разработчиком

ACTIVE
char

Признак активности.

Используются значения Y или N.

Сейчас поле фактически ни на что не влияет

ADDRESS_ONLY
char

Признак состояния, когда реквизит используется только для хранения адреса.

Используются значения Y или N. При значении Y реквизиты не показываются в карточке сущности, но отображается адрес

SORT
integer

Сортировка.

Порядок в списке реквизитов сущности, когда их несколько

RQ_NAME
string

ФИО

RQ_FIRST_NAME
string

Имя

RQ_LAST_NAME
string

Фамилия

RQ_SECOND_NAME
string

Отчество

RQ_COMPANY_ID
string

Идентификатор организации

RQ_COMPANY_NAME
string

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

RQ_COMPANY_FULL_NAME
string

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

RQ_COMPANY_REG_DATE
string

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

RQ_DIRECTOR
string

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

RQ_ACCOUNTANT
string

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

RQ_CEO_NAME
string

ФИО первого руководителя

RQ_CEO_WORK_POS
string

Должность первого руководителя

RQ_CONTACT
string

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

RQ_EMAIL
string

E-Mail

RQ_PHONE
string

Телефон

RQ_FAX
string

Факс

RQ_IDENT_TYPE
crm_status

Способ идентификации

RQ_IDENT_DOC
string

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

RQ_IDENT_DOC_SER
string

Серия

RQ_IDENT_DOC_NUM
string

Номер

RQ_IDENT_DOC_PERS_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_USRLE
string

Handelsregisternummer (для страны DE)

RQ_IFNS
string

ИФНС

RQ_OGRN
string

ОГРН

RQ_OGRNIP
string

ОГРНИП

RQ_OKPO
string

ОКПО

RQ_OKTMO
string

ОКТМО

RQ_OKVED
string

ОКВЭД

RQ_EDRPOU
string

ЄДРПОУ

RQ_DRFO
string

ДРФО

RQ_KBE
string

КБЕ

RQ_IIN
string

ИИН

RQ_BIN
string

БИН

RQ_ST_CERT_SER
string

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

RQ_ST_CERT_NUM
string

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

RQ_ST_CERT_DATE
string

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

RQ_VAT_PAYER
char

Платник ПДВ (для страны UA).

Используются значения Y или N

RQ_VAT_ID
string

VAT ID (идентификационный номер (плательщика) НДС)

RQ_VAT_CERT_SER
string

Серия свидетельства по НДС

RQ_VAT_CERT_NUM
string

Номер свидетельства по НДС

RQ_VAT_CERT_DATE
string

Дата свидетельства по НДС

RQ_RESIDENCE_COUNTRY
string

Страна резидента

RQ_BASE_DOC
string

Основание действия

RQ_REGON
string

REGON (для страны PL)

RQ_KRS
string

KRS (для страны PL)

RQ_PESEL
string

PESEL (для страны PL)

RQ_LEGAL_FORM
string

Forme juridique (для страны FR)

RQ_SIRET
string

Numéro Siret (для страны FR)

RQ_SIREN
string

Numéro Siren (для страны FR)

RQ_CAPITAL
string

Capital social (для страны FR)

RQ_RCS
string

RCS (для страны FR)

RQ_CNPJ
string

CNPJ (для страны BR)

RQ_STATE_REG
string

Inscrição Estadual (IE) (для страны BR)

RQ_MNPL_REG
string

Inscrição Municipal (IM) (для страны BR)

RQ_CPF
string

CPF (для страны BR)

UF_CRM_...

Пользовательские поля. Например, UF_CRM_1694526604.

У реквизитов может быть набор пользовательских полей с типами: string, boolean, double, datetime.

Добавить пользовательское поле реквизитов можно методом crm.requisite.userfield.add

Примеры кода

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

curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"id":27,"fields":{"RQ_OKPO":"80715150","RQ_OKTMO":"45381000000","UF_CRM_1707997209":"78","UF_CRM_1708012333":"Категория 3"}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/crm.requisite.update
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"id":27,"fields":{"RQ_OKPO":"80715150","RQ_OKTMO":"45381000000","UF_CRM_1707997209":"78","UF_CRM_1708012333":"Категория 3"},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/crm.requisite.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.requisite.update',
    params: {
      id: 27,
      fields: {
        RQ_OKPO: '80715150',
        RQ_OKTMO: '45381000000',
        UF_CRM_1707997209: '78',
        UF_CRM_1708012333: 'Category 3',
      },
    },
    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('Requisite updated:', 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 updateRequisite() {
    try {
      // Initialize the SDK inside a Bitrix24 frame
      const $b24 = await B24Js.initializeB24Frame()

      const response = await $b24.actions.v2.call.make({
        method: 'crm.requisite.update',
        params: {
          id: 27,
          fields: {
            RQ_OKPO: '80715150',
            RQ_OKTMO: '45381000000',
            UF_CRM_1707997209: '78',
            UF_CRM_1708012333: 'Category 3',
          },
        },
        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('Requisite updated:', result)
    } catch (error) {
      // Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
      console.error(error)
    }
  }

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

try:
    bitrix_response = client.crm.requisite.update(
        bitrix_id=27,
        fields={
            "RQ_OKPO": "80715150",
            "RQ_OKTMO": "45381000000",
            "UF_CRM_1707997209": "78",
            "UF_CRM_1708012333": "Категория 3",
        },
    ).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.update',
            [
                'id' => 27,
                'fields' => [
                    'RQ_OKPO'         => '80715150',
                    'RQ_OKTMO'        => '45381000000',
                    'UF_CRM_1707997209' => '78',
                    'UF_CRM_1708012333' => 'Категория 3',
                ],
            ]
        );

    $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 updating requisite: ' . $e->getMessage();
}
BX24.callMethod(
    "crm.requisite.update",
    {
        id: 27,
        fields:
        {
            "RQ_OKPO": "80715150",
            "RQ_OKTMO": "45381000000",
            "UF_CRM_1707997209": "78",
            "UF_CRM_1708012333": "Категория 3"
        }
    },
    function(result)
    {
        if(result.error())
            console.error(result.error());
        else
        {
            console.info(result.data());
        }
    }
);
require_once('crest.php');

$result = CRest::call(
    'crm.requisite.update',
    [
        'id' => 27,
        'fields' => [
            'RQ_OKPO' => '80715150',
            'RQ_OKTMO' => '45381000000',
            'UF_CRM_1707997209' => '78',
            'UF_CRM_1708012333' => 'Категория 3'
        ]
    ]
);

echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "crm.requisite.update", b24.Params{
	"id": 27,
	"fields": b24.Params{
		"RQ_OKPO":           "80715150",
		"RQ_OKTMO":          "45381000000",
		"UF_CRM_1707997209": "78",
		"UF_CRM_1708012333": "Категория 3",
	},
})
if err != nil {
	return fmt.Errorf("crm.requisite.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": 1717163055.335685,
        "finish": 1717163055.892722,
        "duration": 0.5570368766784668,
        "processing": 0.17116189002990723,
        "date_start": "2024-05-31T15:44:15+02:00",
        "date_finish": "2024-05-31T15:44:15+02:00",
        "operating": 0.17112517356872559
    }
}

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

Название
тип

Описание

result
boolean

Вовзращает значение:

  • true — реквизит изменен
  • false — реквизит не изменен

time
time

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

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

HTTP-статус: 400

{
    "error": "",
    "error_description": "The Requisite with ID '57' is not found"
}

Название
тип

Описание

error
string

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

error_description
string

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

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

Код

Текст ошибки

Описание

Пустая строка

The Requisite with ID '57' is not found

Реквизит с указанным идентификатором не найден

Пустая строка

ID is not defined or invalid.

Идентификатор реквизита не указан или имеет неопустимое значение

Пустая строка

ENTITY_TYPE_ID is not defined or invalid.

Идентификатор типа родительской сущности не указан или имеет недопустимое значение

Пустая строка

ENTITY_ID is not defined or invalid.

Идентификатор родительской сущности не указан или имеет недопустимое значение

Пустая строка

PRESET_ID is not defined or invalid.

Идентификатор шаблона реквизитов не указан или имеет недопустимое значение

Пустая строка

Access denied.

Недостаточно прав доступа для изменения реквизита

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

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

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

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