catalog.priceType.update
Обновить тип цены
Описание
Метод изменяет значения полей типа цены.
Параметры
id
catalog_price_type.id
обязательный
Идентификатор типа цены
fields
object
обязательный
Значения полей для обновления типа цены (подробное описание)
Параметр fields
name
string
обязательный
Код типа цены
base
string
необязательный
Является ли тип цены базовым. Возможные значения:
- Y — да
- N — нет
sort
integer
необязательный
Сортировка
xmlId
string
необязательный
Внешний код.
Можно использовать для синхронизации текущего типа цены с аналогичной позицией во внешней системе
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"id":2,"fields":{"name":"Base wholesale price","base":"Y","sort":1,"xmlId":"basewholesale"}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/catalog.priceType.update
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"id":2,"fields":{"name":"Base wholesale price","base":"Y","sort":1,"xmlId":"basewholesale"},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/catalog.priceType.update
// 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, ISODate } from '@bitrix24/b24jssdk'
declare const $b24: B24Frame
// Shape of the payload returned in result (match the "response handling" section of the page)
type PriceTypeUpdateResult = {
priceType: {
base: string
createdBy: number
dateCreate: ISODate | null
id: number
modifiedBy: number
name: string
sort: number
timestampX: ISODate | null
xmlId: string
}
}
try {
const response = await $b24.actions.v2.call.make<PriceTypeUpdateResult>({
method: 'catalog.priceType.update',
params: {
id: 2,
fields: {
name: 'Base wholesale price',
base: 'Y',
sort: 1,
xmlId: 'basewholesale',
},
},
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.priceType.id, result.priceType.name)
}
} 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 updatePriceType() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
const response = await $b24.actions.v2.call.make({
method: 'catalog.priceType.update',
params: {
id: 2,
fields: {
name: 'Base wholesale price',
base: 'Y',
sort: 1,
xmlId: 'basewholesale',
},
},
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.priceType.id, result.priceType.name)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', updatePriceType)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
try:
bitrix_response = client.catalog.price_type.update(
bitrix_id=2,
fields={
"name": "Base wholesale price",
"base": "Y",
"sort": 1,
"xmlId": "basewholesale",
},
).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(
'catalog.priceType.update',
[
'id' => 2,
'fields' => [
'name' => "Base wholesale price",
'base' => "Y",
'sort' => 1,
'xmlId' => "basewholesale",
],
]
);
$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 updating price type: ' . $e->getMessage();
}
BX24.callMethod(
'catalog.priceType.update',
{
id: 2,
fields: {
name: "Base wholesale price",
base: "Y",
sort: 1,
xmlId: "basewholesale"
}
},
function(result)
{
if(result.error())
console.error(result.error());
else
console.log(result.data());
}
);
require_once('crest.php');
$result = CRest::call(
'catalog.priceType.update',
[
'id' => 2,
'fields' => [
'name' => 'Base wholesale price',
'base' => 'Y',
'sort' => 1,
'xmlId' => 'basewholesale'
]
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "catalog.priceType.update", b24.Params{
"id": 2,
"fields": b24.Params{
"name": "Base wholesale price",
"base": "Y",
"sort": 1,
"xmlId": "basewholesale",
},
})
if err != nil {
return fmt.Errorf("catalog.priceType.update: %w", err)
}
// Метод заворачивает ответ в объект с ключом "priceType".
raw, ok := b24.Unwrap(res.Result, "priceType")
if !ok {
return fmt.Errorf("в ответе нет ключа priceType")
}
var item struct {
Base string `json:"base"`
CreatedBy int `json:"createdBy"`
DateCreate string `json:"dateCreate"`
ID b24.ID `json:"id"`
ModifiedBy int `json:"modifiedBy"`
Name string `json:"name"`
}
if err := json.Unmarshal(raw, &item); err != nil {
return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println(item.Base, item.CreatedBy)
Ответ
HTTP-статус: 200
{
"result": {
"priceType": {
"base": "Y",
"createdBy": 1,
"dateCreate": "2024-10-02T17:49:44+02:00",
"id": 2,
"modifiedBy": 1,
"name": "Base wholesale price",
"sort": 1,
"timestampX": "2024-10-03T12:29:35+02:00",
"xmlId": "basewholesale"
}
},
"time": {
"start": 1712327086.69665,
"finish": 1712327086.95303,
"duration": 0.256376028060913,
"processing": 0.0112268924713135,
"date_start": "2024-10-03T12:29:35+02:00",
"date_finish": "2024-10-03T12:29:35+02:00",
"operating": 0
}
}
Возвращаемые данные
result
object
Корневой элемент ответа
priceType
catalog_price_type
Объект с информацией об обновленном типе цены
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 400
{
"error": 0,
"error_description":"Required fields: name"
}
| Код | Описание | Значение |
|---|---|---|
200040300020 |
Недостаточно прав для редактирования | |
201000000000 |
Типа цены с таким идентификатором не существует | |
100 |
Не указан параметр id |
|
100 |
Не указан или пустой параметр fields |
|
0 |
Не переданы обязательные поля структуры fields |
|
0 |
Другие ошибки (например, фатальные ошибки) |

