sale.delivery.extra.service.update
Обновить услугу службы доставки
Описание
Метод sale.delivery.extra.service.update обновляет услугу службы доставки.
Параметры
ID
sale_delivery_extra_service.ID
обязательный
Идентификатор услуги.
Получить идентификаторы услуг службы доставки можно с помощью метода sale.delivery.extra.service.get
NAME
string
необязательный
Название услуги
ACTIVE
string
необязательный
Индикатор активности услуги. Возможные значения:
- Y — да
- N — нет
CODE
string
необязательный
Символьный код услуги
SORT
integer
необязательный
Сортировка
DESCRIPTION
string
необязательный
Описание услуги
PRICE
double
необязательный
Стоимость услуги в валюте службы доставки.
Поле актуально только для услуг типа единичная услуга (checkbox) и количественная услуга (quantity)
ITEMS
object[]
необязательный
Список доступных для выбора опций (подробное описание приведено ниже).
Поле актуально только для услуг типа список (enum)
Параметр ITEMS
TITLE
string
обязательный
Название опции списка
CODE
string
обязательный
Символьный код опции списка
PRICE
double
необязательный
Стоимость услуги при выборе данной опции в валюте службы доставки
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"ID":128,"ACTIVE":"N","CODE":"door_delivery","NAME":"Door Delivery New Name","DESCRIPTION":"Door Delivery New Description","SORT":200,"PRICE":399.99}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/sale.delivery.extra.service.update
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"ID":128,"ACTIVE":"N","CODE":"door_delivery","NAME":"Door Delivery New Name","DESCRIPTION":"Door Delivery New Description","SORT":200,"PRICE":399.99,"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/sale.delivery.extra.service.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
try {
const response = await $b24.actions.v2.call.make<boolean>({
method: 'sale.delivery.extra.service.update',
params: {
ID: 128,
ACTIVE: 'N',
CODE: 'door_delivery',
NAME: 'Door Delivery New Name',
DESCRIPTION: 'Door Delivery New Description',
SORT: 200,
PRICE: 399.99,
},
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:', result)
}
} 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 updateExtraService() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
const response = await $b24.actions.v2.call.make({
method: 'sale.delivery.extra.service.update',
params: {
ID: 128,
ACTIVE: 'N',
CODE: 'door_delivery',
NAME: 'Door Delivery New Name',
DESCRIPTION: 'Door Delivery New Description',
SORT: 200,
PRICE: 399.99,
},
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:', result)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', updateExtraService)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
try:
bitrix_response = client.sale.delivery.extra.service.update(
bitrix_id=128,
name='Door Delivery New Name',
active=False,
code='door_delivery',
sort=200,
description='Door Delivery New Description',
price=399.99,
items='[{',
).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.delivery.extra.service.update',
[
'ID' => 128,
'ACTIVE' => "N",
'CODE' => "door_delivery",
'NAME' => "Door Delivery New Name",
'DESCRIPTION' => "Door Delivery New Description",
'SORT' => 200,
'PRICE' => 399.99,
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
// Нужная вам логика обработки данных
processData($result);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error updating delivery service: ' . $e->getMessage();
}
BX24.callMethod(
'sale.delivery.extra.service.update', {
ID: 128,
ACTIVE: "N",
CODE: "door_delivery",
NAME: "Door Delivery New Name",
DESCRIPTION: "Door Delivery New Description",
SORT: 200,
PRICE: 399.99,
},
function(result) {
if (result.error()) {
console.error(result.error());
} else {
console.info(result.data());
}
}
);
require_once('crest.php');
$result = CRest::call(
'sale.delivery.extra.service.update',
[
'ID' => 128,
'ACTIVE' => "N",
'CODE' => "door_delivery",
'NAME' => "Door Delivery New Name",
'DESCRIPTION' => "Door Delivery New Description",
'SORT' => 200,
'PRICE' => 399.99,
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "sale.delivery.extra.service.update", b24.Params{
"ID": 128,
"ACTIVE": "N",
"CODE": "door_delivery",
"NAME": "Door Delivery New Name",
"DESCRIPTION": "Door Delivery New Description",
"SORT": 200,
"PRICE": 399.99,
})
if err != nil {
return fmt.Errorf("sale.delivery.extra.service.update: %w", err)
}
var ok bool
if err := json.Unmarshal(res.Result, &ok); err != nil {
return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println("выполнено:", ok)
Ответ
HTTP-статус: 200
{
"result":true,
"time":{
"start":1714549724.272976,
"finish":1714549724.479944,
"duration":0.20696806907653809,
"processing":0.02615499496459961,
"date_start":"2024-05-01T10:48:44+03:00",
"date_finish":"2024-05-01T10:48:44+03:00"
}
}
Возвращаемые данные
result
boolean
Результат обновления услуги
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 400
{
"error":"ERROR_EXTRA_SERVICE_NOT_FOUND",
"error_description":"Extra service not found"
}
| Код | Описание | Значение |
|---|---|---|
ERROR_CHECK_FAILURE |
Ошибка валидации входящих параметров (детали в описании ошибки) | 400 |
ERROR_EXTRA_SERVICE_UPDATE |
Ошибка при попытке обновления услуги | 400 |
ERROR_EXTRA_SERVICE_NOT_FOUND |
Услуга с указанным идентификатором (ID) не найдена | 400 |
ACCESS_DENIED |
Недостаточно прав для добавления услуги | 403 |

