Эффективная интеграция и кастомизация функционала в Битрикс24 часто требует работы на уровне API. Сегодня мы подробно рассмотрим «Добавить реквизит crm.requisite.add». Вы узнаете экспертные методики работы с crm.requisite.add и научитесь избегать типичных ошибок начинающих разработчиков.
Добавить реквизит crm.requisite.add
> Scope: crm
>
> Кто может выполнять метод: любой пользователь
Метод добавляет новый реквизит.
Параметры метода
Названиетип | Описание |
|---|---|
fieldsobject | Набор полей — объект вида {"поле": "значение"[, ...]} для добавления реквизита |
Параметр fields
Названиетип | Описание |
|---|---|
ENTITY_TYPE_IDinteger | Идентификатор типа родительской сущности. Сейчас это может быть только: Идентификаторы всех типов сущностей CRM отдает метод crm.enum.ownertype |
ENTITY_IDinteger | Идентификатор родительской сущности (контакта либо компании). Идентификатор можно получить методом crm.company.list для компании и методом crm.contact.list для контакта |
PRESET_IDinteger | Идентификатор шаблона реквизитов. Идентификаторы шаблонов можно получить методом crm.requisite.preset.list |
NAME*string | Название реквизита |
CODEstring | Символьный код реквизита |
XML_IDstring | Внешний ключ, используется для операций обмена. Идентификатор объекта внешней информационной базы. Назначение поля может меняться конечным разработчиком |
ORIGINATOR_IDstring | Идентификатор внешней информационной базы. Назначение поля может меняться конечным разработчиком |
ACTIVEchar | Признак активности. Используются значения Сейчас поле фактически ни на что не влияет |
ADDRESS_ONLYchar | Признак состояния, когда реквизит используется только для хранения адреса. Используются значения |
SORTinteger | Сортировка. Порядок в списке реквизитов сущности, когда их несколько |
RQ_NAMEstring | ФИО |
RQ_FIRST_NAMEstring | Имя |
RQ_LAST_NAMEstring | Фамилия |
RQ_SECOND_NAMEstring | Отчество |
RQ_COMPANY_IDstring | Идентификатор организации |
RQ_COMPANY_NAMEstring | Сокращенное наименование организации |
RQ_COMPANY_FULL_NAMEstring | Полное наименование организации |
RQ_COMPANY_REG_DATEstring | Дата государственной регистрации |
RQ_DIRECTORstring | Генеральный директор |
RQ_ACCOUNTANTstring | Главный бухгалтер |
RQ_CEO_NAMEstring | ФИО первого руководителя |
RQ_CEO_WORK_POSstring | Должность первого руководителя |
RQ_CONTACTstring | Контактное лицо |
RQ_EMAILstring | |
RQ_PHONEstring | Телефон |
RQ_FAXstring | Факс |
RQ_IDENT_TYPEcrm_status | Способ идентификации |
RQ_IDENT_DOCstring | Вид документа |
RQ_IDENT_DOC_SERstring | Серия |
RQ_IDENT_DOC_NUMstring | Номер |
RQ_IDENT_DOC_PERS_NUMstring | Личный номер |
RQ_IDENT_DOC_DATEstring | Дата выдачи |
RQ_IDENT_DOC_ISSUED_BYstring | Кем выдан |
RQ_IDENT_DOC_DEP_CODEstring | Код подразделения |
RQ_INNstring | ИНН |
RQ_KPPstring | КПП |
RQ_USRLEstring | Handelsregisternummer (для страны DE) |
RQ_IFNSstring | ИФНС |
RQ_OGRNstring | ОГРН |
RQ_OGRNIPstring | ОГРНИП |
RQ_OKPOstring | ОКПО |
RQ_OKTMOstring | ОКТМО |
RQ_OKVEDstring | ОКВЭД |
RQ_EDRPOUstring | ЄДРПОУ |
RQ_DRFOstring | ДРФО |
RQ_KBEstring | КБЕ |
RQ_IINstring | ИИН |
RQ_BINstring | БИН |
RQ_ST_CERT_SERstring | Серия свидетельства о государственной регистрации |
RQ_ST_CERT_NUMstring | Номер свидетельства о государственной регистрации |
RQ_ST_CERT_DATEstring | Дата свидетельство о государственной регистрации |
RQ_VAT_PAYERchar | Платник ПДВ (для страны UA). Используются значения |
RQ_VAT_IDstring | VAT ID (идентификационный номер (плательщика) НДС) |
RQ_VAT_CERT_SERstring | Серия свидетельства по НДС |
RQ_VAT_CERT_NUMstring | Номер свидетельства по НДС |
RQ_VAT_CERT_DATEstring | Дата свидетельства по НДС |
RQ_RESIDENCE_COUNTRYstring | Страна резидента |
RQ_BASE_DOCstring | Основание действия |
RQ_REGONstring | REGON (для страны PL) |
RQ_KRSstring | KRS (для страны PL) |
RQ_PESELstring | PESEL (для страны PL) |
RQ_LEGAL_FORMstring | Forme juridique (для страны FR) |
RQ_SIRETstring | Numéro Siret (для страны FR) |
RQ_SIRENstring | Numéro Siren (для страны FR) |
RQ_CAPITALstring | Capital social (для страны FR) |
RQ_RCSstring | RCS (для страны FR) |
RQ_CNPJstring | CNPJ (для страны BR) |
RQ_STATE_REGstring | Inscrição Estadual (IE) (для страны BR) |
RQ_MNPL_REGstring | Inscrição Municipal (IM) (для страны BR) |
RQ_CPFstring | CPF (для страны BR) |
| UF_CRM_… | Пользовательские поля. Например, UF_CRM_1694526604.У реквизитов может быть набор пользовательских полей с типами: Добавить пользовательское поле реквизитов можно методом crm.requisite.userfield.add |
При создании реквизита указываются только те поля с префиксом RQ_, которые есть в шаблоне реквизитов, привязанном к создаваемому реквизиту (смотрите поле PRESET_ID). Значения остальных полей будут сохранены, но не будут видны пользователю.
Примеры кода
- cURL (Webhook)
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"fields":{"ENTITY_TYPE_ID":4,"ENTITY_ID":1,"PRESET_ID":1,"NAME":"Организация","ACTIVE":"Y","ADDRESS_ONLY":"N","SORT":500,"RQ_COMPANY_NAME":"ООО \"1С-БИТРИКС\"","RQ_COMPANY_FULL_NAME":"ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ \"1С-БИТРИКС\"","RQ_COMPANY_REG_DATE":"06.04.2007","RQ_DIRECTOR":"РЫЖИКОВ СЕРГЕЙ ВЛАДИМИРОВИЧ","RQ_INN":"7717586110","RQ_KPP":"770501001","RQ_OGRN":"5077746476209","UF_CRM_1707997209":"56","UF_CRM_1708012333":"Категория 1","XML_ID":"5e4641fd-1dd9-11e6-b2f2-005056c00008"}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webbhook_here**/crm.requisite.add- cURL (OAuth)
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"fields":{"ENTITY_TYPE_ID":4,"ENTITY_ID":1,"PRESET_ID":1,"NAME":"Организация","ACTIVE":"Y","ADDRESS_ONLY":"N","SORT":500,"RQ_COMPANY_NAME":"ООО \"1С-БИТРИКС\"","RQ_COMPANY_FULL_NAME":"ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ \"1С-БИТРИКС\"","RQ_COMPANY_REG_DATE":"06.04.2007","RQ_DIRECTOR":"РЫЖИКОВ СЕРГЕЙ ВЛАДИМИРОВИЧ","RQ_INN":"7717586110","RQ_KPP":"770501001","RQ_OGRN":"5077746476209","UF_CRM_1707997209":"56","UF_CRM_1708012333":"Категория 1","XML_ID":"5e4641fd-1dd9-11e6-b2f2-005056c00008","auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/crm.requisite.add- JS
try
{
const response = await $b24.callMethod(
"crm.requisite.add",
{
fields:
{
"ENTITY_TYPE_ID": 4,
"ENTITY_ID": 1,
"PRESET_ID": 1,
"NAME": "Организация",
"ACTIVE": "Y",
"ADDRESS_ONLY": "N",
"SORT": 500,
"RQ_COMPANY_NAME": "ООО \"1С-БИТРИКС\"",
"RQ_COMPANY_FULL_NAME": "ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ \"1С-БИТРИКС\"",
"RQ_COMPANY_REG_DATE": "06.04.2007",
"RQ_DIRECTOR": "РЫЖИКОВ СЕРГЕЙ ВЛАДИМИРОВИЧ",
"RQ_INN": "7717586110",
"RQ_KPP": "770501001",
"RQ_OGRN": "5077746476209",
"UF_CRM_1707997209": "56",
"UF_CRM_1708012333": "Категория 1",
"XML_ID": "5e4641fd-1dd9-11e6-b2f2-005056c00008"
}
}
);
const result = response.getData().result;
console.info("Создан реквизит с ID " + result);
}
catch(error)
{
console.error(error);
}- PHP
try {
$response = $b24Service
->core
->call(
'crm.requisite.add',
[
'fields' => [
'ENTITY_TYPE_ID' => 4,
'ENTITY_ID' => 1,
'PRESET_ID' => 1,
'NAME' => 'Организация',
'ACTIVE' => 'Y',
'ADDRESS_ONLY' => 'N',
'SORT' => 500,
'RQ_COMPANY_NAME' => 'ООО "1С-БИТРИКС"',
'RQ_COMPANY_FULL_NAME' => 'ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ "1С-БИТРИКС"',
'RQ_COMPANY_REG_DATE' => '06.04.2007',
'RQ_DIRECTOR' => 'РЫЖИКОВ СЕРГЕЙ ВЛАДИМИРОВИЧ',
'RQ_INN' => '7717586110',
'RQ_KPP' => '770501001',
'RQ_OGRN' => '5077746476209',
'UF_CRM_1707997209' => '56',
'UF_CRM_1708012333' => 'Категория 1',
'XML_ID' => '5e4641fd-1dd9-11e6-b2f2-005056c00008',
],
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Создан реквизит с ID ' . $result;
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error creating requisite: ' . $e->getMessage();
}- BX24.js
BX24.callMethod(
"crm.requisite.add",
{
fields:
{
"ENTITY_TYPE_ID": 4,
"ENTITY_ID": 1,
"PRESET_ID": 1,
"NAME": "Организация",
"ACTIVE": "Y",
"ADDRESS_ONLY": "N",
"SORT": 500,
"RQ_COMPANY_NAME": "ООО \"1С-БИТРИКС\"",
"RQ_COMPANY_FULL_NAME": "ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ \"1С-БИТРИКС\"",
"RQ_COMPANY_REG_DATE": "06.04.2007",
"RQ_DIRECTOR": "РЫЖИКОВ СЕРГЕЙ ВЛАДИМИРОВИЧ",
"RQ_INN": "7717586110",
"RQ_KPP": "770501001",
"RQ_OGRN": "5077746476209",
"UF_CRM_1707997209": "56",
"UF_CRM_1708012333": "Категория 1",
"XML_ID": "5e4641fd-1dd9-11e6-b2f2-005056c00008"
}
},
function(result)
{
if(result.error())
console.error(result.error());
else
console.info("Создан реквизит с ID " + result.data());
}
);- PHP CRest
require_once('crest.php');
$result = CRest::call(
'crm.requisite.add',
[
'fields' => [
"ENTITY_TYPE_ID" => 4,
"ENTITY_ID" => 1,
"PRESET_ID" => 1,
"NAME" => "Организация",
"ACTIVE" => "Y",
"ADDRESS_ONLY" => "N",
"SORT" => 500,
"RQ_COMPANY_NAME" => "ООО \"1С-БИТРИКС\"",
"RQ_COMPANY_FULL_NAME" => "ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ \"1С-БИТРИКС\"",
"RQ_COMPANY_REG_DATE" => "06.04.2007",
"RQ_DIRECTOR" => "РЫЖИКОВ СЕРГЕЙ ВЛАДИМИРОВИЧ",
"RQ_INN" => "7717586110",
"RQ_KPP" => "770501001",
"RQ_OGRN" => "5077746476209",
"UF_CRM_1707997209" => "56",
"UF_CRM_1708012333" => "Категория 1",
"XML_ID" => "5e4641fd-1dd9-11e6-b2f2-005056c00008"
]
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';Ответ в случае успеха
HTTP-статус: 200
{
"result": 27,
"time": {
"start": 1716998748.040801,
"finish": 1716998749.444508,
"duration": 1.4037070274353027,
"processing": 0.32904696464538574,
"date_start": "2024-05-29T18:05:48+02:00",
"date_finish": "2024-05-29T18:05:49+02:00",
"operating": 0.32897305488586426
}
}Возвращаемые данные
Названиетип | Описание |
|---|---|
resultinteger | Идентификатор созданного реквизита |
timetime | Информация о времени выполнения запроса |
Ответ в случае ошибки
HTTP-статус: 400
{
"error": "",
"error_description": "ENTITY_TYPE_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. | Идентификатор шаблона реквизитов не определён или имеет недопустимое значение |
| Пустая строка | Entity not found. | Не найдена сущность, для которой создаётся реквизит |
| Пустая строка | Access denied. | Недостаточно прав доступа для добавления реквизита |
- [](./index)
- [](./crm-requisite-update)
- [](./crm-requisite-get)
- [](./crm-requisite-list)
- [](./crm-requisite-delete)
- [](./crm-requisite-fields)
- [](../../../../tutorials/crm/how-to-add-crm-objects/how-to-add-company-with-requisite)
- [](../../../../tutorials/crm/how-to-add-crm-objects/how-to-add-contact-with-requisite)
- [](../../../../tutorials/crm/how-to-add-crm-objects/how-to-add-deal-with-choice-of-requisite)
💡 Экспертное мнение и рекомендации
Советы эксперта по интеграции:
- Всегда используйте кэширование при частых запросах к crm.requisite.add, чтобы разгрузить базу данных.
- Соблюдайте стандарты PSR при написании обработчиков для «Добавить реквизит crm.requisite.add».
- Регулярно проводите аудит производительности системы с помощью встроенного монитора 1С-Битрикс.
Похожая задача в бизнесе?
Помогу автоматизировать процессы и внедрить ИИ
Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.
или на почту: gorandvas@yandex.ru