метод REST
scope: crm
Устаревший
crm.productrow.list
Получить список свойств заказа
Устаревший метод.
Развитие метода остановлено. Используйте crm.item.productrow.list.
Описание
Метод возвращает список товарных позиций по фильтру. Является реализацией списочного метода для товарных позиций. Владелец товарных позиций определяется обязательными полями OWNER_TYPE и OWNER_ID, где OWNER_TYPE - односимвольный код типа ("D" - сделка, "L" - лид), OWNER_ID - идентификатор.
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"filter":{"OWNER_TYPE":"D","OWNER_ID":"1"}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/crm.productrow.list
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"filter":{"OWNER_TYPE":"D","OWNER_ID":"1"},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/crm.productrow.list
// callListMethod: Получает все данные сразу. Используйте только для небольших выборок (< 1000 элементов) из-за высокой нагрузки на память.
var ownerType = prompt("Введите тип владельца (D, L)");
var ownerId = prompt("Введите ID владельца");
try {
const response = await $b24.callListMethod(
'crm.productrow.list',
{
filter: {
"OWNER_TYPE": ownerType,
"OWNER_ID": ownerId
}
},
(progress) => {
if(progress.error())
console.error(progress.error());
else
{
console.dir(progress.data());
if(progress.more())
progress.next();
}
}
);
} catch (error) {
console.error('Request failed', error);
}
// fetchListMethod: Выбирает данные по частям с помощью итератора. Используйте для больших объемов данных для эффективного потребления памяти.
var ownerType = prompt("Введите тип владельца (D, L)");
var ownerId = prompt("Введите ID владельца");
try {
const generator = $b24.fetchListMethod('crm.productrow.list', {
filter: {
"OWNER_TYPE": ownerType,
"OWNER_ID": ownerId
}
}, 'ID');
for await (const page of generator) {
for (const entity of page) {
console.log('Entity:', entity);
}
}
} catch (error) {
console.error('Request failed', error);
}
// callMethod: Ручное управление постраничной навигацией через параметр start. Используйте для точного контроля над пакетами запросов. Для больших данных менее эффективен, чем fetchListMethod.
var ownerType = prompt("Введите тип владельца (D, L)");
var ownerId = prompt("Введите ID владельца");
try {
const response = await $b24.callMethod('crm.productrow.list', {
filter: {
"OWNER_TYPE": ownerType,
"OWNER_ID": ownerId
}
}, 0);
const result = response.getData().result || [];
for (const entity of result) {
console.log('Entity:', entity);
}
} catch (error) {
console.error('Request failed', error);
}
$ownerType = readline("Введите тип владельца (D, L): ");
$ownerId = readline("Введите ID владельца: ");
try {
$response = $b24Service
->core
->call(
'crm.productrow.list',
[
'filter' => [
'OWNER_TYPE' => $ownerType,
'OWNER_ID' => $ownerId,
],
]
);
$result = $response
->getResponseData()
->getResult();
if ($result->error()) {
error_log($result->error());
} else {
echo 'Data: ' . print_r($result->data(), true);
if ($result->more()) {
$result->next();
}
}
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error: ' . $e->getMessage();
}
var ownerType = prompt("Введите тип владельца (D, L)");
var ownerId = prompt("Введите ID владельца");
BX24.callMethod(
"crm.productrow.list",
{
filter:
{
"OWNER_TYPE": ownerType,
"OWNER_ID": ownerId
}
},
function(result)
{
if(result.error())
console.error(result.error());
else
{
console.dir(result.data());
if(result.more())
result.next();
}
}
);
require_once('crest.php');
$ownerType = 'D'; // Replace 'D' with the desired owner type
$ownerId = 1; // Replace 1 with the actual owner ID
$result = CRest::call(
'crm.productrow.list',
[
'filter' =>
[
'OWNER_TYPE' => $ownerType,
'OWNER_ID' => $ownerId
]
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "crm.productrow.list", b24.Params{
"filter": b24.Params{
"OWNER_TYPE": "D",
"OWNER_ID": "1",
},
}, b24.WithIdempotent())
if err != nil {
return fmt.Errorf("crm.productrow.list: %w", err)
}
// Ответ приходит как json.RawMessage — разберите его
// в структуру под форму ответа, показанную ниже на этой странице.
fmt.Printf("%s\n", res.Result)

