Блог Горошко Андрея Bitrix24,PHP Изменить свойство товаров crm.product.property.update

Изменить свойство товаров crm.product.property.update

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

Изменить свойство товаров crm.product.property.update

> Scope: crm
>
> Кто может выполнять метод: администратор, пользователь с правом «Разрешить изменять настройки» в CRM

Метод crm.product.property.update продолжает работать, но у него есть более актуальный аналог catalog.productProperty.update.

Метод crm.product.property.update обновляет существующее свойство товаров.

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

Название
тип
Описание
id
integer
Идентификатор свойства товаров
fields
array
Значения полей для обновления свойства товаров.

Чтобы узнать требуемый формат полей, выполните метод crm.product.property.fields и посмотрите формат пришедших значений этих полей

Примеры кода

  • cURL (Webhook)
    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"id":"your_property_id","fields":{"NAME":"New Property Name"}}' \
    https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webbhook_here**/crm.product.property.update
  • cURL (OAuth)
    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"id":"your_property_id","fields":{"NAME":"New Property Name"},"auth":"**put_access_token_here**"}' \
    https://**put_your_bitrix24_address**/rest/crm.product.property.update
  • JS
    try
    {
    	const id = prompt("Введите ID");
    	const propertyName = prompt("Введите новое название");
    
    	const response = await $b24.callMethod(
    		"crm.product.property.update",
    		{
    			id: id,
    			fields:
    			{
    				"NAME": propertyName
    			}
    		}
    	);
    
    	const result = response.getData().result;
    	console.dir(result);
    	if(response.more())
    		response.next();
    }
    catch(error)
    {
    	console.error(error);
    }
  • PHP
    $id = readline("Введите ID");
    $propertyName = readline("Введите новое название");
    
    try {
        $response = $b24Service
            ->core
            ->call(
                'crm.product.property.update',
                [
                    'id' => $id,
                    'fields' => [
                        'NAME' => $propertyName
                    ]
                ]
            );
    
        $result = $response
            ->getResponseData()
            ->getResult();
    
        if ($result->error()) {
            error_log($result->error());
        } else {
            echo 'Success: ' . print_r($result->data(), true);
            if ($result->more()) {
                $result->next();
            }
        }
    
    } catch (Throwable $e) {
        error_log($e->getMessage());
        echo 'Error updating product property: ' . $e->getMessage();
    }
  • BX24.js
    var id = prompt("Введите ID");
    var propertyName = prompt("Введите новое название");
    BX24.callMethod(
        "crm.product.property.update",
        {
            id: id,
            fields:
            {
                "NAME": propertyName
            }
        },
        function(result)
        {
            if(result.error())
                console.error(result.error());
            else
            {
                console.dir(result.data());
                if(result.more())
                    result.next();
            }
        }
    );
  • PHP CRest
    require_once('crest.php');

    $id = 'your_property_id'; // Replace 'your_property_id' with the actual property ID
    $propertyName = 'New Property Name'; // Replace 'New Property Name' with the new name

    $result = CRest::call(
        'crm.product.property.update',
        [
            'id' => $id,
            'fields' => [
                'NAME' => $propertyName
            ]
        ]
    );

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

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

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

  • Всегда используйте кэширование при частых запросах к crm.product.property.update, чтобы разгрузить базу данных.
  • Соблюдайте стандарты PSR при написании обработчиков для «Изменить свойство товаров crm.product.property.update».
  • Регулярно проводите аудит производительности системы с помощью встроенного монитора 1С-Битрикс.

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

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

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

Related Post

Зарегистрировать новый тип пользовательских полей userfieldtype.addЗарегистрировать новый тип пользовательских полей userfieldtype.add

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

Как использовать метод SDK crm.contact.fields в Битрикс24Как использовать метод SDK crm.contact.fields в Битрикс24

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

Установить валюту в качестве базовой crm.currency.base.setУстановить валюту в качестве базовой crm.currency.base.set

Оптимизация производительности и безопасности — залог успешного проекта на 1С-Битрикс. Данный материал посвящен практическому применению «Установить валюту в качестве базовой crm.currency.base.set». Мы подготовили подробный разбор принципов работы и развернутые примеры