crm.item.delivery.list
Получить список доставок объекта CRM
Описание
Метод получает список доставок конкретного объекта crm.
Параметры
entityId
integer
обязательный
Идентификатор объекта crm
entityTypeId
integer
обязательный
Идентификатор типа объекта crm
filter
object
необязательный
Дополнительный фильтр для случаев, когда нужно получить не все доставки объекта crm, а по какому-то более специфичному фильтру.
Формат параметра filter соответствует описанному в методе sale.shipment.list
order
object
необязательный
Формат параметра order соответствует описанному в методе sale.shipment.list
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"entityId":13127,"entityTypeId":2,"filter":{"@id":[4077,4078]}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/crm.item.delivery.list
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"entityId":13127,"entityTypeId":2,"filter":{"@id":[4077,4078]},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/crm.item.delivery.list
// 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 each DeliveryItem returned in result[]
type DeliveryItem = {
id: number
accountNumber: string
deducted: string
dateDeducted: ISODate | null
deliveryId: number
priceDelivery: number
currency: string
deliveryName: string
}
try {
// crm.item.delivery.list returns a single page (max 50 records). For the whole result set
// use a list helper: $b24.actions.v2.callList.make() returns every record as one
// array, $b24.actions.v2.fetchList.make() yields them in chunks (async generator).
// NOTE: the list helpers do not accept `order` (it is excluded from their params, so
// passing it is a TS error) — keep this call.make + `start` variant when sort matters.
const response = await $b24.actions.v2.call.make<DeliveryItem[]>({
method: 'crm.item.delivery.list',
params: {
entityId: 13127,
entityTypeId: 2,
filter: {
'@id': [4077, 4078],
},
start: 0,
},
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('Deliveries fetched:', 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 listDeliveries() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
// crm.item.delivery.list returns a single page (max 50 records). For the whole result set
// use a list helper: $b24.actions.v2.callList.make() returns every record as one
// array, $b24.actions.v2.fetchList.make() yields them in chunks (async generator).
// NOTE: the list helpers do not accept `order` (it is excluded from their params, so
// passing it is a TS error) — keep this call.make + `start` variant when sort matters.
const response = await $b24.actions.v2.call.make({
method: 'crm.item.delivery.list',
params: {
entityId: 13127,
entityTypeId: 2,
filter: {
'@id': [4077, 4078],
},
start: 0,
},
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('Deliveries fetched:', result.length, result)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', listDeliveries)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
try:
bitrix_response = client.crm.item.delivery.list(
entity_id=13127,
entity_type_id=2,
filter={
"@id": [
4077,
4078,
],
},
).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}")
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
try:
bitrix_response = client.crm.item.delivery.list(
entity_id=13127,
entity_type_id=2,
filter={
"@id": [
4077,
4078,
],
},
).as_list().response
result = bitrix_response.result
for item in result:
print(item)
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}")
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
try:
bitrix_response = client.crm.item.delivery.list(
entity_id=13127,
entity_type_id=2,
filter={
"@id": [
4077,
4078,
],
},
).as_list_fast(descending=True).response
result = bitrix_response.result
for item in result:
print(item)
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(
'crm.item.delivery.list',
[
'entityId' => 13127,
'entityTypeId' => 2,
'filter' => [
'@id' => [4077, 4078]
],
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error fetching delivery list: ' . $e->getMessage();
}
BX24.callMethod(
'crm.item.delivery.list', {
entityId: 13127,
entityTypeId: 2,
filter: {
"@id": [4077, 4078]
},
},
function(result) {
if (result.error()) {
console.error(result.error());
} else {
console.log(result.data());
}
}
);
require_once('crest.php');
$result = CRest::call(
'crm.item.delivery.list',
[
'entityId' => 13127,
'entityTypeId' => 2,
'filter' => [
"@id" => [4077, 4078]
]
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "crm.item.delivery.list", b24.Params{
"entityId": 13127,
"entityTypeId": 2,
"filter": b24.Params{
"@id": []int{4077, 4078},
},
}, b24.WithIdempotent())
if err != nil {
return fmt.Errorf("crm.item.delivery.list: %w", err)
}
var items []struct {
ID b24.ID `json:"id"`
AccountNumber string `json:"accountNumber"`
Deducted string `json:"deducted"`
DeliveryID b24.ID `json:"deliveryId"`
PriceDelivery float64 `json:"priceDelivery"`
Currency string `json:"currency"`
}
if err := json.Unmarshal(res.Result, &items); err != nil {
return fmt.Errorf("разбор ответа: %w", err)
}
for _, it := range items {
fmt.Println(it.ID, it.AccountNumber)
}
// Total и Next заполняют списочные методы; для полного
// обхода списка есть client.Core().Pages и Scan.
if res.Total != nil {
fmt.Println("всего:", *res.Total)
}
Ответ
HTTP-статус: 200
{
"result":[
{
"id":4077,
"accountNumber":"3657\/2",
"deducted":"N",
"dateDeducted":null,
"deliveryId":228,
"priceDelivery":79.99,
"currency":"RUB",
"deliveryName":"Uber Taxi (Cargo)"
},
{
"id":4078,
"accountNumber":"3657\/3",
"deducted":"N",
"dateDeducted":null,
"deliveryId":228,
"priceDelivery":79.99,
"currency":"RUB",
"deliveryName":"Uber Taxi (Cargo)"
}
],
"time":{
"start":1716369036.246855,
"finish":1716369036.734466,
"duration":0.4876110553741455,
"processing":0.18442106246948242,
"date_start":"2024-05-22T12:10:36+03:00",
"date_finish":"2024-05-22T12:10:36+03:00"
}
}
Возвращаемые данные
result
sale_order_shipment_crm_simple
Массив объектов, содержащий краткую информацию о выбранных доставках
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 400
{
"error":0,
"error_description":"Недостаточно прав"
}
| Код | Описание | Значение |
|---|---|---|
0 |
Доступ запрещен | |
100 |
Не переданы обязательные поля | |
0 |
Другие ошибки (например, фатальные ошибки) |

