Блог Горошко Андрея Bitrix24 Создать элемент универсального списка lists.element.add

Создать элемент универсального списка lists.element.add

Эффективная интеграция и кастомизация функционала в Битрикс24 часто требует работы на уровне API. Сегодня мы подробно рассмотрим «Создать элемент универсального списка lists.element.add». Вы узнаете экспертные методики работы с lists.element.add и научитесь избегать типичных ошибок начинающих разработчиков.

Создать элемент универсального списка lists.element.add

> Scope: lists
>
> Кто может выполнять метод: пользователь с правом «Добавление» или «Изменение» для нужного списка

Метод lists.element.add создает элемент списка.

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

Название
тип
Описание
IBLOCK_TYPE_ID
string
Идентификатор типа инфоблока. Возможные значения:
— lists — тип инфоблока списка
— bitrix_processes — тип инфоблока процессов
— lists_socnet — тип инфоблока списков групп
IBLOCK_ID
integer
Идентификатор инфоблока.

Идентификатор можно получить с помощью метода lists.get

IBLOCK_CODE
string
Cимвольный код инфоблока.

Код можно получить с помощью метода lists.get

Необходимо указать хотя бы один из параметров: IBLOCK_ID или IBLOCK_CODE

ELEMENT_CODE
string
Символьный код элемента
FIELDS
array
Массив полей.

Подробное описание

IBLOCK_SECTION_ID
integer
Идентификатор раздела, в который добавляется элемент.

Если параметр не передается, элемент создается в корне списка. Значение по умолчанию — 0.

Идентификатор можно получить с помощью метода lists.section.get

LIST_ELEMENT_URL
string
Шаблон адреса к элементам списка.

Поддерживает замены: #list_id#, #section_id#, #element_id#, #group_id#

Параметр FIELDS {#parametr-fields}

Название
тип
Описание
NAME
string
Название элемента
PROPERTY_PropertyIdПользовательские свойства.

Любое свойство элемента можно настроить как множественное. Для множественных свойств передавайте массив, даже если значение только одно.

Чтобы передать значение в поле типа Файл укажите:
— для типа Файл — base64 или массив с названием и base64
— для типа Файл (Диск) — идентификатор файла с Диска

Получить данные о полях списка можно с помощью метода lists.field.get

Примеры кода

  • cURL (Webhook)
    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"IBLOCK_TYPE_ID":"lists","IBLOCK_ID":47,"ELEMENT_CODE":"test_element","LIST_ELEMENT_URL":"#list_id#/element/#section_id#/#element_id#/","FIELDS":{"NAME":"Тестовый элемент","PROPERTY_951":["1269","1271"],"PROPERTY_1003":"2024-12-31 23:59:59"}}' \
    https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webbhook_here**/lists.element.add
  • cURL (OAuth)
    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"IBLOCK_TYPE_ID":"lists","IBLOCK_ID":47,"ELEMENT_CODE":"test_element","LIST_ELEMENT_URL":"#list_id#/element/#section_id#/#element_id#/","FIELDS":{"NAME":"Тестовый элемент","PROPERTY_951":["1269","1271"],"PROPERTY_1003":"2024-12-31 23:59:59"},"auth":"**put_access_token_here**"}' \
    https://**put_your_bitrix24_address**/rest/lists.element.add
  • JS
    try {
        const response = await $b24.callMethod(
            'lists.element.add',
            {
                IBLOCK_TYPE_ID: 'lists',
                IBLOCK_ID: 47,
                ELEMENT_CODE: 'test_element',
                LIST_ELEMENT_URL: '#list_id#/element/#section_id#/#element_id#/',
                FIELDS: {
                    NAME: 'Тестовый элемент',
                    PROPERTY_951: ["1269", "1271"],
                    PROPERTY_1003: "2024-12-31 23:59:59"
                }
            }
        );

        const result = response.getData().result;
        console.log('Created element with ID:', result);
        processResult(result);
    } catch (error) {
        console.error('Error:', error);
    }
  • PHP
    try {
        $response = $b24Service
            ->core
            ->call(
                'lists.element.add',
                [
                    'IBLOCK_TYPE_ID' => 'lists',
                    'IBLOCK_ID' => 47,
                    'ELEMENT_CODE' => 'test_element',
                    'LIST_ELEMENT_URL' => '#list_id#/element/#section_id#/#element_id#/',
                    'FIELDS' => [
                        'NAME' => 'Тестовый элемент',
                        'PROPERTY_951' => ["1269", "1271"],
                        'PROPERTY_1003' => "2024-12-31 23:59:59"
                    ]
                ]
            );

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

        echo 'Success: ' . print_r($result, true);
        processData($result);

    } catch (Throwable $e) {
        error_log($e->getMessage());
        echo 'Error adding element: ' . $e->getMessage();
    }
  • BX24.js
    BX24.callMethod(
        'lists.element.add',
        {
            IBLOCK_TYPE_ID: 'lists',
            IBLOCK_ID: 47,
            ELEMENT_CODE: 'test_element',
            LIST_ELEMENT_URL: '#list_id#/element/#section_id#/#element_id#/',
            FIELDS: {
                NAME: 'Тестовый элемент',
                PROPERTY_951: ["1269", "1271"], // Пользовательское свойство типа Строка (множественное)
                PROPERTY_1003: "2024-12-31 23:59:59" // Пользовательское свойство типа Дата/Время
            }
        },
        function(res) {
            if (res.error()) {
                console.error(res.error());
            } else {
                console.log(res.data());
            }
        }
    );
  • PHP CRest
    require_once('crest.php');

    $result = CRest::call(
        'lists.element.add',
        [
            'IBLOCK_TYPE_ID' => 'lists',
            'IBLOCK_ID' => 47,
            'ELEMENT_CODE' => 'test_element',
            'LIST_ELEMENT_URL' => '#list_id#/element/#section_id#/#element_id#/',
            'FIELDS' => [
                'NAME' => 'Тестовый элемент',
                'PROPERTY_951' => ["1269", "1271"],
                'PROPERTY_1003' => "2024-12-31 23:59:59"
            ]
        ]
    );

    echo '<PRE>';
    print_r($result);
    echo '</PRE>';

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

HTTP-статус: 200

{
    "result": 6999,
    "time": {
        "start": 1763654360,
        "finish": 1763654360.814629,
        "duration": 0.814629077911377,
        "processing": 0,
        "date_start": "2025-11-19T13:59:20+03:00",
        "date_finish": "2025-11-19T13:59:20+03:00",
        "operating_reset_at": 1763654960,
        "operating": 0
    }
}

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

Название
тип
Описание
result
integer
Идентификатор созданного элемента
time
time
Информация о времени выполнения запроса

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

HTTP-статус: 400

{
    "error":"ERROR_ELEMENT_FIELD_VALUE",
    "error_description":"Writing file values by ID is not supported"
}

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

КодОписаниеЗначение
ERROR_REQUIRED_PARAMETERS_MISSINGRequired parameter X is missingОбязательный параметр не передан
ERROR_IBLOCK_NOT_FOUNDIblock not foundИнфоблок не найден
ERROR_ELEMENT_ALREADY_EXISTSElement already existsЭлемент с таким CODE уже существует
ERROR_ADD_ELEMENT—Ошибка при добавлении элемента
ERROR_ELEMENT_FIELD_VALUEWriting file values by ID is not supportedОшибка валидации значения поля
ACCESS_DENIEDAccess deniedНедостаточно прав для добавления элемента
  • [](./lists-element-update)
  • [](./lists-element-get)
  • [](./lists-element-delete)
  • [](./lists-element-get-file-url)

💡 Экспертное мнение и рекомендации

Ключевые выводы по теме «Создать элемент универсального списка lists.element.add»:

Использование современных стандартов D7 при работе с lists.element.add позволяет писать чистый, масштабируемый и безопасный код. Не забывайте обрабатывать исключения (try/catch) и проверять права доступа текущего пользователя перед выполнением критических операций.

Похожая задача в бизнесе?

Помогу автоматизировать процессы и внедрить ИИ

Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.

Related Post

Получить список документов documentgenerator.document.listПолучить список документов documentgenerator.document.list

Каждый PHP-разработчик, работающий с экосистемой Bitrix Framework, должен глубоко понимать работу её ключевых компонентов. В этой статье мы проведем подробный аудит темы «Получить список документов documentgenerator.document.list», проанализируем лучшие практики и

Как использовать метод SDK voximplant.user.activatePhone в Битрикс24Как использовать метод SDK voximplant.user.activatePhone в Битрикс24

Эффективная интеграция и кастомизация функционала в Битрикс24 часто требует работы на уровне API. Сегодня мы подробно рассмотрим «Как использовать метод SDK voximplant.user.activatePhone в Битрикс24». Вы узнаете экспертные методики работы с

Разработка B2B-кабинета с интеграцией системы электронного документооборота Диадок / СБИСРазработка B2B-кабинета с интеграцией системы электронного документооборота Диадок / СБИС

Разработка и внедрение профессионального B2B-портала и дилерского кабинета на 1С-Битрикс позволяет кардинально сократить издержки отдела оптовых продаж, перевести дилеров на самообслуживание 24/7 и исключить ошибки ручного ввода заказов. Услуга «Разработка