crm.item.payment.list
Получить список оплат
Описание
Метод получает список оплат конкретного объекта CRM.
Параметры
entityId
integer
обязательный
Идентификатор объекта CRM
entityTypeId
integer
обязательный
Идентификатор типа объекта CRM
filter
object
необязательный
Дополнительный фильтр для случаев, когда нужно получить не все оплаты сущности, а по какому-то более специфичному фильтру.
Описание формата приведено в параметре filter метода sale.payment.list
order
object
необязательный
Описание формата приведено в параметре order метода sale.payment.list
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"entityId":13123,"entityTypeId":2,"filter":{"@id":[1036,1037]}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/crm.item.payment.list
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"entityId":13123,"entityTypeId":2,"filter":{"@id":[1036,1037]},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/crm.item.payment.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 payment item returned in result[]
type PaymentItem = {
id: number
accountNumber: string
paid: 'Y' | 'N'
datePaid: ISODate | null
empPaidId: number | null
paySystemId: number
sum: number
currency: string
paySystemName: string
}
try {
// crm.item.payment.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<PaymentItem[]>({
method: 'crm.item.payment.list',
params: {
entityId: 13123,
entityTypeId: 2,
filter: {
'@id': [1036, 1037],
},
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('Payments:', 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 loadPaymentList() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
// crm.item.payment.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.payment.list',
params: {
entityId: 13123,
entityTypeId: 2,
filter: {
'@id': [1036, 1037],
},
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('Payments:', result.length, result)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', loadPaymentList)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
try:
bitrix_response = client.crm.item.payment.list(
entity_id=13123,
entity_type_id=2,
filter={
"@id": [
1036,
1037,
],
},
).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.payment.list(
entity_id=13123,
entity_type_id=2,
filter={
"@id": [
1036,
1037,
],
},
).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.payment.list(
entity_id=13123,
entity_type_id=2,
filter={
"@id": [
1036,
1037,
],
},
).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.payment.list',
[
'entityId' => 13123,
'entityTypeId' => 2,
'filter' => [
"@id" => [1036, 1037]
],
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error fetching payment list: ' . $e->getMessage();
}
BX24.callMethod(
'crm.item.payment.list', {
entityId: 13123,
entityTypeId: 2,
filter: {
"@id": [1036, 1037]
},
},
function(result) {
if (result.error()) {
console.error(result.error());
} else {
console.log(result.data());
}
}
);
require_once('crest.php');
$result = CRest::call(
'crm.item.payment.list',
[
'entityId' => 13123,
'entityTypeId' => 2,
'filter' => [
'@id' => [1036, 1037]
]
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "crm.item.payment.list", b24.Params{
"entityId": 13123,
"entityTypeId": 2,
"filter": b24.Params{
"@id": []int{1036, 1037},
},
}, b24.WithIdempotent())
if err != nil {
return fmt.Errorf("crm.item.payment.list: %w", err)
}
var items []struct {
ID b24.ID `json:"id"`
AccountNumber string `json:"accountNumber"`
Paid string `json:"paid"`
DatePaid string `json:"datePaid"`
EmpPaidID b24.ID `json:"empPaidId"`
PaySystemID b24.ID `json:"paySystemId"`
}
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":1036,
"accountNumber":"3653\/1",
"paid": "Y",
"datePaid":"2024-05-20T12:32:02+03:00",
"empPaidId":1,
"paySystemId":6,
"sum":0,
"currency":"RUB",
"paySystemName":"Наличные"
},
{
"id":1037,
"accountNumber":"3653\/2",
"paid": "N",
"datePaid":null,
"empPaidId":null,
"paySystemId":6,
"sum":0,
"currency":"RUB",
"paySystemName":"Наличные"
}
],
"time":{
"start":1716205783.285524,
"finish":1716205783.702053,
"duration":0.41652917861938477,
"processing":0.15817594528198242,
"date_start":"2024-05-20T14:49:43+03:00",
"date_finish":"2024-05-20T14:49:43+03:00"
}
}
Возвращаемые данные
result
sale_order_payment_crm_simple[]
Массив объектов, содержащий краткую информацию о выбранных оплатах
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 400
{
"error":0,
"error_description":"Недостаточно прав"
}
| Код | Описание | Значение |
|---|---|---|
0 |
Доступ запрещен | |
100 |
Не переданы обязательные поля | |
0 |
Другие ошибки (например, фатальные ошибки) |

