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

Получить доступные поля элемента (позиции) корзины sale.basketitem.getFields

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

Получить доступные поля элемента (позиции) корзины sale.basketitem.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.basketitem.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.basketitem.getFields
  • JS
    try
    {
    	const response = await $b24.callMethod(
    		"sale.basketitem.getFields",
    		{}
    	);
    	
    	const result = response.getData().result;
    	console.log(result);
    }
    catch( error )
    {
    	console.error(error);
    }
  • PHP
    try {
        $response = $b24Service
            ->core
            ->call(
                'sale.basketitem.getFields',
                []
            );
    
        $result = $response
            ->getResponseData()
            ->getResult();
    
        if ($result->error()) {
            echo 'Error: ' . $result->error();
        } else {
            echo 'Data: ' . print_r($result->data(), true);
        }
    
    } catch (Throwable $e) {
        error_log($e->getMessage());
        echo 'Error getting basket item fields: ' . $e->getMessage();
    }
  • BX24.js
    BX24.callMethod(
        "sale.basketitem.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.basketitem.getFields',
        []
    );

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

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

HTTP-статус: 200

{
    "result": {
        "basketItem": {
            "basePrice": {
                "isImmutable": false,
                "isReadOnly": false,
                "isRequired": false,
                "type": "double"
            },
            "canBuy": {
                "isImmutable": false,
                "isReadOnly": false,
                "isRequired": false,
                "type": "string"
            },
            "catalogXmlId": {
                "isImmutable": true,
                "isReadOnly": false,
                "isRequired": false,
                "type": "string"
            },
        ...
        }
    },
    "time": {
        "start": 1713798193.845268,
        "finish": 1713798194.725574,
        "duration": 0.8803060054779053,
        "processing": 0.005295991897583008,
        "date_start": "2024-04-22T17:03:13+02:00",
        "date_finish": "2024-04-22T17:03:14+02:00",
        "operating": 0
    }
}

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

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

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

HTTP-статус: 400

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

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

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

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

Советы эксперта по интеграции:

  • Всегда используйте кэширование при частых запросах к sale.basketitem.getFields, чтобы разгрузить базу данных.
  • Соблюдайте стандарты PSR при написании обработчиков для «Получить доступные поля элемента (позиции) корзины sale.basketitem.getFields».
  • Регулярно проводите аудит производительности системы с помощью встроенного монитора 1С-Битрикс.

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

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

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

Related Post

Получить свойство заказа sale.property.getПолучить свойство заказа sale.property.get

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

Получить список полей товаров для документа складского учета catalog.document…Получить список полей товаров для документа складского учета catalog.document…

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

Получить список компаний по фильтру crm.company.listПолучить список компаний по фильтру crm.company.list

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