Блог Горошко Андрея 1C-Битрикс,Bitrix24 Получить поля элементов свойств корзины sale.basketproperties.getFields

Получить поля элементов свойств корзины sale.basketproperties.getFields

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

Получить поля элементов свойств корзины sale.basketproperties.getFields

> Scope: sale
>
> Кто может выполнять метод: менеджер магазина

Метод возвращает список полей свойства. Каждое поле описывается в виде структуры настроек (rest_field_description).

Без параметров.

Примеры кода

  • cURL (Webhook)
    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{}' \
    https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webbhook_here**/sale.basketproperties.getFields
  • cURL (OAuth)
    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"auth":"**put_access_token_here**"}' \
    https://**put_your_bitrix24_address**/rest/sale.basketproperties.getFields
  • JS
    try
    {
    	const response = await $b24.callMethod(
    		"sale.basketproperties.getFields",
    		{}
    	);
    	
    	const result = response.getData().result;
    	console.log(result);
    }
    catch( error )
    {
    	console.error(error);
    }
  • PHP
    try {
        $response = $b24Service
            ->core
            ->call(
                'sale.basketproperties.getFields',
                []
            );
    
        $result = $response
            ->getResponseData()
            ->getResult();
    
        if ($result->error()) {
            echo 'Error: ' . $result->error();
        } else {
            echo 'Success: ' . print_r($result->data(), true);
        }
    
    } catch (Throwable $e) {
        error_log($e->getMessage());
        echo 'Error getting basket properties fields: ' . $e->getMessage();
    }
  • BX24.js
    BX24.callMethod(
        "sale.basketproperties.getFields",
        {},
    )
        .then(
            function(result)
            {
                if (result.error())
                {
                    console.error(result.error());
                }
                else
                {
                    console.log(result.data());
                }
            },
            function(error)
            {
                console.info(error);
            }
        );
  • PHP CRest
    require_once('crest.php');

    $result = CRest::call(
        'sale.basketproperties.getFields',
        []
    );

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

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

HTTP-статус: 200

{
    "result": {
        "basketProperties": {
            "basketId": {
                "isImmutable": true,
                "isReadOnly": false,
                "isRequired": true,
                "type": "integer"
            },
            "code": {
                "isImmutable": false,
                "isReadOnly": false,
                "isRequired": true,
                "type": "string"
            },
            "id": {
                "isImmutable": false,
                "isReadOnly": true,
                "isRequired": false,
                "type": "integer"
            },
            "name": {
                "isImmutable": false,
                "isReadOnly": false,
                "isRequired": true,
                "type": "string"
            },
            "sort": {
                "isImmutable": false,
                "isReadOnly": false,
                "isRequired": false,
                "type": "integer"
            },
            "value": {
                "isImmutable": false,
                "isReadOnly": false,
                "isRequired": true,
                "type": "string"
            },
            "xmlId": {
                "isImmutable": false,
                "isReadOnly": false,
                "isRequired": false,
                "type": "string"
            }
        }
    },
    "time": {
        "start": 1714036549.130012,
        "finish": 1714036550.38785,
        "duration": 1.2578380107879639,
        "processing": 0.042649030685424805,
        "date_start": "2024-04-25T11:15:49+02:00",
        "date_finish": "2024-04-25T11:15:50+02:00",
        "operating": 0
    }
}

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

Название
тип
Описание
result
object
Корневой элемент ответа
basketProperties
object
Объект в формате {"field_1": "value_1", ... "field_N": "value_N"}. Где field — идентификатор поля объекта sale_basket_item_property, а value — объект типа rest_field_description
time
time
Информация о времени выполнения запроса

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

HTTP-статус: 400

{
    "error":0,
    "error_description":"error"
}

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

КодОписание
200040300010Недостаточно прав для чтения
0Другие ошибки (например, фатальные ошибки)
  • [](./index)
  • [](./sale-basket-properties-add)
  • [](./sale-basket-properties-update)
  • [](./sale-basket-properties-get)
  • [](./sale-basket-properties-list)
  • [](./sale-basket-properties-delete)

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

Ключевые выводы по теме «Получить поля элементов свойств корзины sale.basketproperties.getFields»:

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

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

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

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

Related Post

Получить настройки платежной системы для конкретной оплаты sale.paysystem.set…Получить настройки платежной системы для конкретной оплаты sale.paysystem.set…

Эффективная интеграция и кастомизация функционала в Битрикс24 часто требует работы на уровне API. Сегодня мы подробно рассмотрим «Получить настройки платежной системы для конкретной оплаты sale.paysystem.set…». Вы узнаете экспертные методики работы

Обновить стадию канбана или «Моего плана» task.stages.updateОбновить стадию канбана или «Моего плана» task.stages.update

Каждый PHP-разработчик, работающий с экосистемой Bitrix Framework, должен глубоко понимать работу её ключевых компонентов. В этой статье мы проведем подробный аудит темы «Обновить стадию канбана или «Моего плана» task.stages.update», проанализируем

Копировать файл в указанную папку disk.file.copytoКопировать файл в указанную папку disk.file.copyto

При разработке и поддержке проектов на платформе 1С-Битрикс критически важно использовать современные стандарты D7 API. В этом руководстве мы детально изучим тему «Копировать файл в указанную папку disk.file.copyto», разберем архитектурные