метод REST
scope: delivery
sale.delivery.extra.service.get
Получить информацию обо всех услугах конкретной службы доставки
Описание
Метод sale.delivery.extra.service.get получает информацию обо всех услугах конкретной службы доставки.
Параметры
DELIVERY_ID
sale_delivery_service.ID
обязательный
Идентификатор службы доставки
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"DELIVERY_ID":198}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/sale.delivery.extra.service.get
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"DELIVERY_ID":198,"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/sale.delivery.extra.service.get
// 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 each ExtraService returned in result[]
type ExtraService = {
ID: string,
CODE: string,
NAME: string,
DESCRIPTION: string,
ACTIVE: string,
SORT: string,
TYPE: string,
PRICE?: number,
ITEMS?: Array<{
TITLE: string,
CODE: string | null,
PRICE: string,
}>,
}
try {
const response = await $b24.actions.v2.call.make<ExtraService[]>({
method: 'sale.delivery.extra.service.get',
params: {
DELIVERY_ID: 198,
},
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('Extra services count:', result.length, 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 getDeliveryExtraServices() {
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.get',
params: {
DELIVERY_ID: 198,
},
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('Extra services count:', result.length, result)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', getDeliveryExtraServices)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
try:
bitrix_response = client.sale.delivery.extra.service.get(
delivery_id=198,
).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.get',
[
'DELIVERY_ID' => 198,
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
// Нужная вам логика обработки данных
processData($result);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error getting extra service for delivery: ' . $e->getMessage();
}
BX24.callMethod(
'sale.delivery.extra.service.get', {
DELIVERY_ID: 198,
},
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.get',
[
'DELIVERY_ID' => 198,
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "sale.delivery.extra.service.get", b24.Params{
"DELIVERY_ID": 198,
}, b24.WithIdempotent())
if err != nil {
return fmt.Errorf("sale.delivery.extra.service.get: %w", err)
}
var items []struct {
ID b24.ID `json:"ID"`
Code string `json:"CODE"`
Name string `json:"NAME"`
Description string `json:"DESCRIPTION"`
Active string `json:"ACTIVE"`
Sort string `json:"SORT"`
}
if err := json.Unmarshal(res.Result, &items); err != nil {
return fmt.Errorf("разбор ответа: %w", err)
}
for _, it := range items {
fmt.Println(it.ID, it.Code)
}
Ответ
HTTP-статус: 200
{
"result":[
{
"ID":"136",
"CODE":"door_delivery",
"NAME":"Door Delivery",
"DESCRIPTION":"Door Delivery Description",
"ACTIVE":"Y",
"SORT":"100",
"TYPE":"checkbox",
"PRICE":99.99
},
{
"ID":"129",
"CODE":"cargo_type",
"NAME":"Cargo Type",
"DESCRIPTION":"Cargo Type",
"ACTIVE":"Y",
"SORT":"200",
"TYPE":"enum",
"ITEMS":[
{
"TITLE":"Documents",
"CODE":null,
"PRICE":"69.99"
},
{
"TITLE":"Small Package(s)",
"CODE":null,
"PRICE":"129.99"
},
{
"TITLE":"Large Package(s)",
"CODE":null,
"PRICE":"199.99"
}
]
}
],
"time":{
"start":1714551728.295288,
"finish":1714551728.519896,
"duration":0.2246079444885254,
"processing":0.01918506622314453,
"date_start":"2024-05-01T11:22:08+03:00",
"date_finish":"2024-05-01T11:22:08+03:00"
}
}
Возвращаемые данные
result
sale_delivery_extra_service[]
Список всех услуг службы доставки
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 400
{
"error":"ERROR_DELIVERY_NOT_FOUND",
"error_description":"Delivery not found"
}
| Код | Описание | Значение |
|---|---|---|
ERROR_DELIVERY_NOT_FOUND |
Служба доставки с указанным идентификатором не найдена | 400 |
ERROR_CHECK_FAILURE |
Ошибка валидации входящих параметров (детали в описании ошибки) | 400 |
ACCESS_DENIED |
Недостаточно прав для получения списка услуг | 403 |

