Блог Горошко Андрея Bitrix24,PHP Добавить товары в лид crm.lead.productrows.set

Добавить товары в лид crm.lead.productrows.set

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

Добавить товары в лид crm.lead.productrows.set

Тут может не хватать некоторых данных — дополним в ближайшее время

  • не указаны типы параметров
  • не указана обязательность параметров
  • отсутствуют примеры (на других языках)
  • отсутствует ответ в случае успеха
  • отсутствует ответ в случае ошибки
  • не прописана ссылка на ещё не созданную страницу

> Scope: crm
>
> Кто может выполнять метод: любой пользователь

Метод crm.lead.productrows.set устанавливает (создаёт или обновляет) товарные позиции лида.

ПараметрОписание
idИдентификатор лида.
rowsТоварные позиции — массив вида array(array("поле"=>"значение"[, ...])[, ...]), где «поле» может принимать значения из возвращаемых методом crm.productrow.fields. Товарные позиции лида, существующие до момента вызова метода, будут заменены новыми. После сохранения будет произведён пересчёт суммы лида.

Практический пример и готовый код на PHP

  • JS
    try
    {
    	const id = prompt("Введите ID");
    	const response = await $b24.callMethod(
    		"crm.lead.productrows.set",
    		{
    			id: id,
    			rows:
    			[
    				{ "PRODUCT_ID": 689, "PRICE": 100.00, "QUANTITY": 2 },
    				{ "PRODUCT_ID": 690, "PRICE": 200.00, "QUANTITY": 1 }
    			]
    		}
    	);
    	
    	const result = response.getData().result;
    	if(result.error())
    		console.error(result.error());
    	else
    		console.info(result);
    }
    catch(error)
    {
    	console.error('Error:', error);
    }
  • PHP
    $id = readline("Введите ID");
    
    try {
        $response = $b24Service
            ->core
            ->call(
                'crm.lead.productrows.set',
                [
                    'id'   => $id,
                    'rows' => [
                        ['PRODUCT_ID' => 689, 'PRICE' => 100.00, 'QUANTITY' => 2],
                        ['PRODUCT_ID' => 690, 'PRICE' => 200.00, 'QUANTITY' => 1]
                    ]
                ]
            );
    
        $result = $response
            ->getResponseData()
            ->getResult();
    
        if ($result->error()) {
            error_log($result->error());
        } else {
            echo 'Success: ' . print_r($result->data(), true);
        }
    
    } catch (Throwable $e) {
        error_log($e->getMessage());
        echo 'Error setting lead product rows: ' . $e->getMessage();
    }
  • BX24.js
    var id = prompt("Введите ID");
    BX24.callMethod(
        "crm.lead.productrows.set",
        {
            id: id,
            rows:
            [
                { "PRODUCT_ID": 689, "PRICE": 100.00, "QUANTITY": 2 },
                { "PRODUCT_ID": 690, "PRICE": 200.00, "QUANTITY": 1 }
            ]
        },
        function(result)
        {
            if(result.error())
                console.error(result.error());
            else
                console.info(result.data());
        }
    );

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

Ключевые выводы по теме «Добавить товары в лид crm.lead.productrows.set»:

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

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

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

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

Related Post

Ускорение работы административной панели 1С-Битрикс при работе сотен менеджеровУскорение работы административной панели 1С-Битрикс при работе сотен менеджеров

Высокая скорость загрузки сайта и безупречная серверная безопасность — обязательные требования для успешного коммерческого проекта на 1С-Битрикс. Услуга «Ускорение работы административной панели 1С-Битрикс при работе сотен менеджеров» обеспечивает оптимизация фильтров

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

Оптимизация производительности и безопасности — залог успешного проекта на 1С-Битрикс. Данный материал посвящен практическому применению «Как использовать метод SDK crm.requisite.link.unregister в Битрикс24». Мы подготовили подробный разбор принципов работы и развернутые

Установить набор дополнительных контентных блоков в дело crm.activity.layout….Установить набор дополнительных контентных блоков в дело crm.activity.layout….

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