sale.shipmentproperty.update
Обновить свойство отгрузки
Описание
Метод sale.shipmentproperty.update обновляет свойство отгрузки.
Параметры
id
sale_shipment_property.id
обязательный
Идентификатор свойства отгрузки
fields
object
обязательный
Значения полей для обновления свойства отгрузки
Параметр fields
name
string
обязательный
Название свойства отгрузки
code
string
необязательный
Символьный код свойства отгрузки
active
string
необязательный
Индикатор активности свойства отгрузки.
Возможные значения:
- Y — да
- N — нет
Если не передано, то по умолчанию значение Y
util
string
необязательный
Индикатор, является ли свойство отгрузки служебным. Служебные свойства отгрузки не отображаются в публичной части.
Возможные значения:
- Y — да
- N — нет
Если не передано, то по умолчанию значение N
userProps
string
необязательный
Индикатор, входит ли свойство отгрузки в профиль покупателя.
Возможные значения:
- Y — да
- N — нет
Если не передано, то по умолчанию значение N
isFiltered
string
необязательный
Индикатор, доступно ли свойство отгрузки в фильтре на странице списка отгрузок.
Возможные значения:
- Y — да
- N — нет
Если не передано, то по умолчанию значение N
sort
integer
необязательный
Сортировка
description
string
необязательный
Описание свойства отгрузки
required
string
необязательный
Индикатор обязательности заполнения значения свойства отгрузки.
Возможные значения:
- Y — да
- N — нет
Если не передано, то по умолчанию значение N
multiple
string
необязательный
Индикатор, является ли свойство заказа множественным. Для множественных свойств возможно указать несколько значений.
Возможные значения:
- Y — да
- N — нет
Если не передано, то по умолчанию значение N
xmlId
string
необязательный
Внешний идентификатор свойства отгрузки
defaultValue
any
необязательный
Дефолтное значение свойства отгрузки.
Для множественных свойств отгрузки (multiple) поддерживается передача массива значений
settings
object
необязательный
Объект в формате {"field_1": "value_1", ... "field_N": "value_N"} для передачи дополнительных настроек свойства отгрузки.
Список поддерживаемых ключей этого объекта зависит от типа свойства. Для некоторых типов свойств (например, Y/N) дополнительные свойства не предусмотрены. Описание параметра settings для разных типов свойств приведено в описании метода sale.shipmentproperty.add
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"id":93,"fields":{"personTypeId":3,"propsGroupId":6,"name":"Телефон (для связи с курьером)","type":"STRING","code":"PHONE","active":"Y","util":"N","userProps":"Y","isFiltered":"N","sort":500,"description":"описание свойства","required":"Y","multiple":"N","settings":{"multiline":"Y","maxlength":100},"xmlId":"","defaultValue":"","isProfileName":"Y","isPayer":"Y","isEmail":"N","isPhone":"N","isZip":"N","isAddress":"N"},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/sale.shipmentproperty.update
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"id":93,"fields":{"personTypeId":3,"propsGroupId":6,"name":"Телефон (для связи с курьером)","type":"STRING","code":"PHONE","active":"Y","util":"N","userProps":"Y","isFiltered":"N","sort":500,"description":"описание свойства","required":"Y","multiple":"N","settings":{"multiline":"Y","maxlength":100},"xmlId":"","defaultValue":"","isProfileName":"Y","isPayer":"Y","isEmail":"N","isPhone":"N","isZip":"N","isAddress":"N"}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/sale.shipmentproperty.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 } from '@bitrix24/b24jssdk'
declare const $b24: B24Frame
// Shape of the payload returned in result (match the "response handling" section of the page)
type ShipmentPropertyUpdateResult = {
property: {
active: string
code: string
defaultValue: string
description: string
id: number
inputFieldLocation: string
isAddress: string
isAddressFrom: string
isAddressTo: string
isEmail: string
isFiltered: string
isLocation: string
isLocation4tax: string
isPayer: string
isPhone: string
isProfileName: string
isZip: string
multiple: string
name: string
personTypeId: number
propsGroupId: number
required: string
settings: Record<string, string>
sort: number
type: string
userProps: string
util: string
xmlId: string
}
}
try {
const response = await $b24.actions.v2.call.make<ShipmentPropertyUpdateResult>({
method: 'sale.shipmentproperty.update',
params: {
id: 93,
fields: {
personTypeId: 3,
propsGroupId: 6,
name: 'Phone (for courier contact)',
type: 'STRING',
code: 'PHONE',
active: 'Y',
util: 'N',
userProps: 'Y',
isFiltered: 'N',
sort: 500,
description: 'property description',
required: 'Y',
multiple: 'N',
settings: {
multiline: 'Y',
maxlength: 100,
},
xmlId: '',
defaultValue: '',
isProfileName: 'Y',
isPayer: 'Y',
isEmail: 'N',
isPhone: 'N',
isZip: 'N',
isAddress: 'N',
},
},
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('Updated property id:', result.property.id, 'name:', result.property.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 updateShipmentProperty() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
const response = await $b24.actions.v2.call.make({
method: 'sale.shipmentproperty.update',
params: {
id: 93,
fields: {
personTypeId: 3,
propsGroupId: 6,
name: 'Phone (for courier contact)',
type: 'STRING',
code: 'PHONE',
active: 'Y',
util: 'N',
userProps: 'Y',
isFiltered: 'N',
sort: 500,
description: 'property description',
required: 'Y',
multiple: 'N',
settings: {
multiline: 'Y',
maxlength: 100,
},
xmlId: '',
defaultValue: '',
isProfileName: 'Y',
isPayer: 'Y',
isEmail: 'N',
isPhone: 'N',
isZip: 'N',
isAddress: 'N',
},
},
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('Updated property id:', result.property.id, 'name:', result.property.name)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', updateShipmentProperty)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
fields = {
"personTypeId": 3,
"propsGroupId": 6,
"name": "Телефон (для связи с курьером)",
"type": "STRING",
"code": "PHONE",
"active": "Y",
"util": "N",
"userProps": "Y",
"isFiltered": "N",
"sort": 500,
"description": "описание свойства",
"required": "Y",
"multiple": "N",
"settings": {
"multiline": "Y",
"maxlength": 100,
},
"xmlId": "",
"defaultValue": "",
"isProfileName": "Y",
"isPayer": "Y",
"isEmail": "N",
"isPhone": "N",
"isZip": "N",
"isAddress": "N",
}
try:
bitrix_response = client.sale.shipmentproperty.update(
bitrix_id=93,
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.shipmentproperty.update',
[
'id' => 93,
'fields' => [
'personTypeId' => 3,
'propsGroupId' => 6,
'name' => 'Телефон (для связи с курьером)',
'type' => 'STRING',
'code' => 'PHONE',
'active' => 'Y',
'util' => 'N',
'userProps' => 'Y',
'isFiltered' => 'N',
'sort' => 500,
'description' => 'описание свойства',
'required' => 'Y',
'multiple' => 'N',
'settings' => [
'multiline' => 'Y',
'maxlength' => 100
],
'xmlId' => '',
'defaultValue' => '',
'isProfileName' => 'Y',
'isPayer' => 'Y',
'isEmail' => 'N',
'isPhone' => 'N',
'isZip' => 'N',
'isAddress' => 'N',
],
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error updating shipment property: ' . $e->getMessage();
}
BX24.callMethod(
'sale.shipmentproperty.update', {
id: 93,
fields: {
personTypeId: 3,
propsGroupId: 6,
name: 'Телефон (для связи с курьером)',
type: 'STRING',
code: 'PHONE',
active: 'Y',
util: 'N',
userProps: 'Y',
isFiltered: 'N',
sort: 500,
description: 'описание свойства',
required: 'Y',
multiple: 'N',
settings: {
multiline: 'Y',
maxlength: 100
},
xmlId: '',
defaultValue: '',
isProfileName: 'Y',
isPayer: 'Y',
isEmail: 'N',
isPhone: 'N',
isZip: 'N',
isAddress: 'N',
}
},
function(result) {
if (result.error()) {
console.error(result.error());
} else {
console.info(result.data());
}
}
);
require_once('crest.php');
$result = CRest::call(
'sale.shipmentproperty.update',
[
'id' => 93,
'fields' => [
'personTypeId' => 3,
'propsGroupId' => 6,
'name' => 'Телефон (для связи с курьером)',
'type' => 'STRING',
'code' => 'PHONE',
'active' => 'Y',
'util' => 'N',
'userProps' => 'Y',
'isFiltered' => 'N',
'sort' => 500,
'description' => 'описание свойства',
'required' => 'Y',
'multiple' => 'N',
'settings' => [
'multiline' => 'Y',
'maxlength' => 100
],
'xmlId' => '',
'defaultValue' => '',
'isProfileName' => 'Y',
'isPayer' => 'Y',
'isEmail' => 'N',
'isPhone' => 'N',
'isZip' => 'N',
'isAddress' => 'N',
]
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "sale.shipmentproperty.update", b24.Params{
"id": 93,
"fields": b24.Params{
"personTypeId": 3,
"propsGroupId": 6,
"name": "Телефон (для связи с курьером)",
"type": "STRING",
"code": "PHONE",
"active": "Y",
"util": "N",
"userProps": "Y",
"isFiltered": "N",
"sort": 500,
"description": "описание свойства",
"required": "Y",
"multiple": "N",
"settings": b24.Params{
"multiline": "Y",
"maxlength": 100,
},
"xmlId": "",
"defaultValue": "",
"isProfileName": "Y",
"isPayer": "Y",
"isEmail": "N",
"isPhone": "N",
"isZip": "N",
"isAddress": "N",
},
})
if err != nil {
return fmt.Errorf("sale.shipmentproperty.update: %w", err)
}
// Метод заворачивает ответ в объект с ключом "property".
raw, ok := b24.Unwrap(res.Result, "property")
if !ok {
return fmt.Errorf("в ответе нет ключа property")
}
var item struct {
Active string `json:"active"`
Code string `json:"code"`
DefaultValue string `json:"defaultValue"`
Description string `json:"description"`
ID b24.ID `json:"id"`
InputFieldLocation string `json:"inputFieldLocation"`
}
if err := json.Unmarshal(raw, &item); err != nil {
return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println(item.Active, item.Code)
Ответ
HTTP-статус: 200
{
"result":{
"property":{
"active":"Y",
"code":"PHONE",
"defaultValue":"",
"description":"описание свойства",
"id":96,
"inputFieldLocation":"0",
"isAddress":"N",
"isAddressFrom":"N",
"isAddressTo":"N",
"isEmail":"N",
"isFiltered":"N",
"isLocation":"N",
"isLocation4tax":"N",
"isPayer":"Y",
"isPhone":"N",
"isProfileName":"Y",
"isZip":"N",
"multiple":"N",
"name":"Телефон (для связи с курьером)",
"personTypeId":3,
"propsGroupId":6,
"required":"Y",
"settings":{
"maxlength":"100",
"multiline":"Y"
},
"sort":500,
"type":"STRING",
"userProps":"Y",
"util":"N",
"xmlId":""
}
},
"time":{
"start":1712818736.235335,
"finish":1712818736.611224,
"duration":0.3758888244628906,
"processing":0.18679594993591309,
"date_start":"2024-04-11T09:58:56+03:00",
"date_finish":"2024-04-11T09:58:56+03:00"
}
}
Возвращаемые данные
result
object
Корневой элемент ответа
property
sale_shipment_property
Объект с информацией об обновленном свойстве отгрузки
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 400
{
"error":200840400001,
"error_description":"property is not exists"
}
| Код | Описание | Значение |
|---|---|---|
200840400001 |
Обновляемое свойство отгрузки не найдено | |
200850000003 |
Внутренняя ошибка обновления свойства | |
200850000009 |
Ошибка возникает при попытке обновить свойство отгрузки со значением параметра multiple, выставленным в Y, в том случае, если не передан параметр isFiltered.Фильтрация по множественным свойствам отгрузки не поддерживается |
|
200850000010 |
Ошибка возникает при попытке обновить свойство отгрузки со значением параметра multiple, выставленным в Y, в том случае, если значение параметра isFiltered не равно N.Фильтрация по множественным свойствам отгрузки не поддерживается |
|
200850000011 |
Ошибка возникает при попытке обновить свойство отгрузки с типом LOCATION и значением параметра isLocation, выставленным в Y, в том случае, если значение параметра multiple не указано.Не поддерживается множественность у свойств отгрузки, отмеченных индикатором isLocation |
|
200850000012 |
Ошибка возникает при попытке обновить свойство отгрузки с типом LOCATION и значением параметра isLocation, выставленным в Y, в том случае, если значение параметра multiple не равноN.Не поддерживается множественность у свойств отгрузки, отмеченных индикатором isLocation |
|
200850000013 |
Ошибка возникает при попытке обновить свойство отгрузки с типом LOCATION и значением параметра isLocation4tax, выставленным в Y, в том случае, если значение параметра multiple не указано.Не поддерживается множественность у свойств отгрузки, отмеченных индикатором isLocation4tax |
|
200850000014 |
Ошибка возникает при попытке обновить свойство отгрузки с типом LOCATION и значением параметра isLocation4tax, выставленным в Y, в том случае, если значение параметра multiple не равно N.Не поддерживается множественность у свойств отгрузки, отмеченных индикатором isLocation4tax |
|
200850000015 |
Ошибка возникает при попытке обновить свойство отгрузки с типом STRING и значением параметра isProfileName, выставленным в Y, в том случае, если значение параметра required не указано.Название профиля обязательно и не может быть пустым |
|
200850000016 |
Ошибка возникает при попытке обновить свойство отгрузки с типом STRING и значением параметра isProfileName, выставленным в Y, в том случае, если значение параметра required не равно Y.Название профиля обязательно и не может быть пустым |
|
200040300020 |
Недостаточно прав для обновления свойства отгрузки | |
100 |
Не указан параметр id |
|
100 |
Не указан или пустой параметр fields |
|
0 |
Не переданы обязательные поля | |
0 |
Другие ошибки (например, фатальные ошибки) |

