sale.basketproperties.add
Создать свойство элемента корзины
Описание
Метод sale.basketproperties.add добавляет свойство для элемента корзины в заказе.
Параметры
fields
object
обязательный
Значения полей (подробное описание приведено ниже) для создания свойства элемента (позиции) корзины:
fields: {
basketId: "значение",
name: "значение",
value: "значение",
code: "значение",
sort: "значение",
xmlId: "значение",
}Параметр fields
basketId
sale_basket_item.id
обязательный
Идентификатор элемента (позиции) корзины заказа.
Может быть получен методами sale.basketitem.get или sale.basketitem.list
name
string
обязательный
Название свойства
value
string
обязательный
Значение свойства
code
string
обязательный
Символьный код свойства
sort
integer
необязательный
Положение в списке свойств.
Если не указать, будет присвоено значение по умолчанию — 100
xmlId
string
необязательный
Внешний код свойства.
Если не указать, будет сгенерирован автоматически
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"fields":{"basketId":6806,"name":"Артикул","value":"4653-4877","code":"ARTICUL"}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/sale.basketproperties.add
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"fields":{"basketId":6806,"name":"Артикул","value":"4653-4877","code":"ARTICUL"},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/sale.basketproperties.add
// This snippet is an ES module: top-level await requires type="module" or a bundler.
// $b24 is an already-initialized SDK instance (see the SDK "Get started" guide).
import { Text } from '@bitrix24/b24jssdk'
import type { B24Frame } from '@bitrix24/b24jssdk'
declare const $b24: B24Frame
// Shape of the payload returned in result (match the "response handling" section of the page)
type BasketPropertyAddResult = {
basketProperty: {
basketId: number
code: string
id: number
name: string
value: string
xmlId: string
}
}
try {
const response = await $b24.actions.v2.call.make<BasketPropertyAddResult>({
method: 'sale.basketproperties.add',
params: {
fields: {
basketId: 6806,
name: 'SKU',
value: '4653-4877',
code: 'ARTICUL',
},
},
requestId: Text.getUuidRfc4122()
})
// The payload is available only on a successful response
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
} else {
const result = response.getData()!.result
console.info(result.basketProperty)
}
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
<!-- Load the SDK (UMD build); it is exposed as the global B24Js -->
<script src="https://unpkg.com/@bitrix24/b24jssdk@1/dist/umd/index.min.js"></script>
<script>
async function addBasketProperty() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
const response = await $b24.actions.v2.call.make({
method: 'sale.basketproperties.add',
params: {
fields: {
basketId: 6806,
name: 'SKU',
value: '4653-4877',
code: 'ARTICUL',
},
},
requestId: B24Js.Text.getUuidRfc4122()
})
// The payload is available only on a successful response
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
return
}
const result = response.getData().result
console.info(result.basketProperty)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', addBasketProperty)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
fields = {
"basketId": 6806,
"name": "Артикул",
"value": "4653-4877",
"code": "ARTICUL",
}
try:
bitrix_response = client.sale.basketproperties.add(
fields=fields,
).response
result = bitrix_response.result
print(result)
except BitrixAPIError as error:
print(
"Ошибка Bitrix API",
f"error: {error.error}",
f"error_description: {error.error_description}",
sep="\n",
)
except BitrixSDKException as error:
print(f"Ошибка Bitrix SDK: {error.message}")
except Exception as error:
print(f"Непредвиденная ошибка: {error}")
try {
$response = $b24Service
->core
->call(
'sale.basketproperties.add',
[
'fields' => [
'basketId' => 6806,
'name' => 'Артикул',
'value' => '4653-4877',
'code' => 'ARTICUL',
],
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error adding basket property: ' . $e->getMessage();
}
BX24.callMethod(
"sale.basketproperties.add",
{
fields: {
basketId: 6806,
name: 'Артикул',
value: '4653-4877',
code: 'ARTICUL',
}
},
)
.then(
function(result)
{
if (result.error())
{
console.error(result.error());
}
else
{
console.log(result);
}
},
function(error)
{
console.info(error);
}
);
require_once('crest.php');
$result = CRest::call(
'sale.basketproperties.add',
[
'fields' =>
[
'basketId' => 6806,
'name' => 'Артикул',
'value' => '4653-4877',
'code' => 'ARTICUL',
]
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "sale.basketproperties.add", b24.Params{
"fields": b24.Params{
"basketId": 6806,
"name": "Артикул",
"value": "4653-4877",
"code": "ARTICUL",
},
})
if err != nil {
return fmt.Errorf("sale.basketproperties.add: %w", err)
}
// Метод заворачивает ответ в объект с ключом "basketProperty".
raw, ok := b24.Unwrap(res.Result, "basketProperty")
if !ok {
return fmt.Errorf("в ответе нет ключа basketProperty")
}
var item struct {
BasketID b24.ID `json:"basketId"`
Code string `json:"code"`
ID b24.ID `json:"id"`
Name string `json:"name"`
Value string `json:"value"`
XmlID string `json:"xmlId"`
}
if err := json.Unmarshal(raw, &item); err != nil {
return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println(item.BasketID, item.Code)
Ответ
HTTP-статус: 200
{
"result": {
"basketProperty": {
"basketId": 6806,
"code": "ARTICUL",
"id": 17,
"name": "Артикул",
"value": "4653-4877",
"xmlId": "bx_662a44cff2b81"
}
},
"time": {
"start": 1714046159.109796,
"finish": 1714046163.282623,
"duration": 4.1728270053863525,
"processing": 3.4128189086914062,
"date_start": "2024-04-25T13:55:59+02:00",
"date_finish": "2024-04-25T13:56:03+02:00",
"operating": 0
}
}
Возвращаемые данные
result
object
Корневой элемент ответа
basketProperty
sale_basket_item_property
Объект с данными созданного свойства элемента (позиции) корзины
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 400
{
"error":0,
"error_description":"error"
}
| Код | Описание | Значение |
|---|---|---|
200040300010 |
Недостаточно прав для добавления | |
200240400004 |
Basket item id is absent Не указан идентификатор элемента (позиции) корзины |
|
200240400005 |
Basket item id is bad Неверный идентификатор элемента (позиции) корзины — например, строка ‘семьдесят’ |
|
200240400001, 200240400002 |
Не найден элемент (позиция) корзины | |
100 |
Не указан или пустой параметр fields |
|
0 |
Другие ошибки (например, фатальные ошибки) |

